-
Notifications
You must be signed in to change notification settings - Fork 118
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
Fixes for building with -pedantic
#1608
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1608 +/- ##
=======================================
Coverage 78.05% 78.05%
=======================================
Files 562 562
Lines 94600 94600
Branches 13575 13575
=======================================
+ Hits 73840 73842 +2
+ Misses 20168 20165 -3
- Partials 592 593 +1 ☔ View full report in Codecov by Sentry. |
a849701
to
e5504ef
Compare
-pedantic
daa3f31
to
70a7c9e
Compare
- name: Build SSL | ||
run: cmake --build ./build --target ssl | ||
|
||
clang-18-pedantic: |
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.
do we need distinct CI jobs for pedantry? can we add these flags to existing GCC 13 / clang 18 jobs?
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.
Supporting a "pedantic" build can be very painful/restrictive. With this PR we are able to compile the "crypto" and "ssl" build targets with -pedantic
, but we can't build/run the tests against it.
Since our tests are a better indicator for the health of a build than pedantic warnings, I chose to limit the use of -pedantic
here for just helping ensure that downstream consumers aren't blocked b/c they have a build environment that requires -pedantic
.
I used only the latest versions of GCC and Clang since those would likely produce a superset of the pedantic warnings from their previous versions.
Issues:
Relates to: aws/aws-lc-rs#425
Description of changes:
-pedantic
.gcc-14-pedantic
andclang-18-pedantic
.Call-outs:
aws-lc-sys
.-Wno-c99-c11-compat
(GCC) and-Wno-c11-extensions
(Clang) are to avoid a pedantic warning related to our use of_Generic
:-Wno-newline-eof
is needed b/c Clang complains about a missing newline at the end of the s2n-bignum assembly files:-Wno-overlength-strings
parameter was needed to avoid a failure due to string literals inerr-data.c
:-pedantic
will still fail due largely to our tests using binary literals: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.