-
Notifications
You must be signed in to change notification settings - Fork 121
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
Don't predeclare enums with C++ #2193
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2193 +/- ##
==========================================
- Coverage 79.03% 79.03% -0.01%
==========================================
Files 612 612
Lines 106064 106066 +2
Branches 14984 14986 +2
==========================================
- Hits 83829 83826 -3
- Misses 21581 21587 +6
+ Partials 654 653 -1 ☔ View full report in Codecov by Sentry. |
Pre-push check is failing:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you update c99_gcc_test.sh to also check for C++ header compatibility (and maybe rename the file). Also double check that it's running, I'm not sure anything defines AWSLC_C99_TEST right now....
Issues:
Addresses
CryptoAlg-2693
Description of changes:
We encountered this when trying to compile Xtrabackup on gcc versions lower than 10. Apparently scoped enums are a C++11 feature, which the compiler can't understand without additional linker flags.
We also encountered this in 42a8dba, which prompted us to move it to
ssl.h
. Upon closer examination, I don't think the C++11 usage is a necessity especially with the pure C fallback that was included. Predeclaring enums reduces compilation dependencies and build times, but our build seems to work fine without it. Removing this would let us encounter less build issues with projects that aren't expecting C++ in our header files.Call-outs:
N/A
Testing:
CI
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.