Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make symbol visibility explicit in our test/demo BMI modules #602

Open
PhilMiller opened this issue Aug 4, 2023 · 2 comments
Open

Make symbol visibility explicit in our test/demo BMI modules #602

PhilMiller opened this issue Aug 4, 2023 · 2 comments

Comments

@PhilMiller
Copy link
Contributor

PhilMiller commented Aug 4, 2023

See comments here

https://gcc.gnu.org/wiki/Visibility

https://gist.github.com/ax3l/ba17f4bb1edb5885a6bd01f58de4d542

Current behavior

We're setting a compiler flag to make all symbols in the relevant modules visible

Expected behavior

Modules have the symbols actually necessary for BMI operation marked as exported, and everything else left to defaults.

@mattw-nws
Copy link
Contributor

Question... is the explicit visibility marking something that makes more sense in bmi.hxx? Would that work? Or would we have to mark the same methods explicitly in the concrete subclass anyway?

@PhilMiller
Copy link
Contributor Author

I'm pretty sure they'll be necessary in bmi.hxx and bmi.h regardless. I don't know whether that would then spare us a need to mark anything in the implementations as well. I think it would, since the only symbols that need to be exported are the ones that might get looked up by name, not those that go through virtual dispatch or function pointers, since the compiler already gave us the addresses in those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants