-
Notifications
You must be signed in to change notification settings - Fork 776
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
Ensure XXH_INLINE_ALL fully inlines all XXH32_ and XXH64_ symbols #903
base: dev
Are you sure you want to change the base?
Conversation
even though XXH_INLINE_ALL is set
even though `XXH_INLINE_ALL` is set on `gcc-11`.
@Cyan4973, some comments and suggestions:
[1] https://stackoverflow.com/questions/24589605/gcc-not-inlined-warning |
@Cyan4973 I tried a lot of Googling but could not find a good solution via gcc attributes, or pragma, or other non-intuitive / sneaky ways :-( I also played around a lot with So I came up with this Perl one-liner which collapses each function definition onto a single line which is easier for grepping:
We could consider enforcing via tests that all functions MUST have either
This technique finds both of the functions mentioned so far (please see below), plus a lot more (please see above):
Disclaimer: Yes, I know it's polarizing Perl, but the good news is that Perl is installed by default pretty much everywhere :-) |
I don't see any
The new test is run as part of Granted, some specific compilers or platforms may not work as well, but some compilers may also not support
Now that you mention, I don't think the current fix is correct. I don't remember well why We may be lacking this level of refinement in the source code. |
fix #902 with
XXH64_finalize()
, detected by @simonhfadds a corresponding test