declspec#6
Conversation
|
Original commenter: @a1-mlselibci-npi Generated Documentation |
|
Original commenter: @a1-mlselibci-npi CodeQL reportResults Summary
Full table of results
Links |
|
Original commenter: @a1-mlselibci-npi Code Coverage Report for gfx942SummaryError encountered generating coverage reportSkipped code cov for gfx942, no archived code_cov_gfx942.report found. Artifacts
Commit Hashes |
|
Original commenter: @awhittle
Short answer is yes, this is needed if we want to build our tests in Release mode. Longer answer is that I think that building in Debug mode allows the symbols to be more accessible, and I think we could be more nuanced with exports in that case. I opted not to go down the route of picking and choosing what to export right now because:
I agree that a more limited API is desirable. We could make a ticket to remove the unwanted declspecs, but... I think it might be better to do it now to avoid severe API thrash, if we have time now to do it. |
|
Original commenter: @nhenders Original review comment on Why did these change from |
|
Original commenter: @nhenders Original review comment on I always find it helpful to leave some comments for nested |
|
Original commenter: @awhittle Original review comment on The definition for this templated function was located in a .cpp file, which means that the linker couldn't figure out the symbol with our new stricter compilation setup. I think the I've decided to move the templated function definition here to Expression_impl.hpp and |
|
Original commenter: @awhittle Original review comment on Here's some documentation as to why this is an issue with templates. |
|
Original commenter: @awhittle Original review comment on Yup, I can add those |
Original author: @awhittle
PR overview
For HipBLASLt integration and general library health. This PR can be read commit by commit (the ones adding the declspecs can probably be skimmed over).
This PR:
ROCROLLER_DECLSPECmacroROCROLLER_DECLSPECmacro everywhere it is neededHere's a primer:
ROCROLLER_DECLSPECallows library symbols to be visibleROCROLLER_DECLSPECto the function declaration in the .hpp file if the following conditions are met:inlinefunctions. The user will have the function definition when including the .hpp.ROCROLLER_DECLSPECshould not appear in _impl.hpp or .cpp filesTesting
Tests should pass as before.
NB: Run
nm -CD librocroller.soto see the the symbols exposed.Commit message
Add the
ROCROLLER_DECLSPECmacroHides library symbols by default
Fix the settings unit test