-
Notifications
You must be signed in to change notification settings - Fork 37
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
ci: Add Github Action for codeql #524
base: master
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #524 +/- ##
==========================================
- Coverage 99.26% 99.12% -0.14%
==========================================
Files 88 85 -3
Lines 13268 13010 -258
==========================================
- Hits 13170 12896 -274
- Misses 98 114 +16
Flags with carried forward coverage won't be shown. Click here to find out more.
|
93633c5
to
7900c3f
Compare
codeql is failing, it seems to be using gcc 7.5.0:
@gumb0 @chfast do you think we can easily fix this? If it is messy, we should just mark old gcc unsupported (should also have the minimum compiler versions set in cmake). |
Looks to be a limitation of
I don't see any easy fix for this other than replacing |
I'd vote for requiring gcc 8.3 as the minimum. |
Actually this was true only till C++11, now we can define our own union constructors... I'll try something. |
@@ -446,7 +446,7 @@ T fnearest(T value) noexcept | |||
} | |||
|
|||
template <typename T> | |||
__attribute__((no_sanitize("float-divide-by-zero"))) inline constexpr T fdiv(T a, T b) noexcept | |||
[[gnu::no_sanitize("float-divide-by-zero")]] inline constexpr T fdiv(T a, T b) noexcept |
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.
@chfast is it useful merging these changes?
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.
Yes.
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.
Apparently it doesn't work as the sanitizer task reports division-by-zero.
Why not? This PR showed that fizzy was not compiling with gcc<8.3. |
If you want to do this, you need to create CI jobs with the discovered compiler version. I don't think this is worth the time right now. |
This fixes Import being not copy-constructible in GCC older than 8.3, where std::optional is not trivially constructible.
No description provided.