-
Notifications
You must be signed in to change notification settings - Fork 94
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
Clang 17.0.5 build with -Wall -Wextra gives a good bunch of warnings #2536
Comments
Right... I thought we had As of right now, the policy is "no warnings in CI in our code, except on Windows". We should eventually fixup windows as well, but that will be quite a bit of work. We explicitly disable Werror in gtest, because there is some buggy code there. |
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline static, or just inline.
Merged
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline static, or just inline.
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline static, or just inline.
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline static, or just inline.
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline. Inline static doesn't really make sense it seems, and Apple mistakenly warns about it. Inline functions already have no linkage.
Riolku
added a commit
that referenced
this issue
Dec 4, 2023
As pointed out in #2536, -Wall is not enabled. -Wextra will follow in a separate PR. The main changes needed are: - Consistent use of either struct/class for a symbol, not a mix. - Don't call `std::move()` on temporaries, the compiler will elide the copy anyway. - Constructor initialization order should be the same as the member order. It turns out that C++ will always initialize the fields in the member order, regardless of the initialization list ordering. - Mark functions in header files as inline. Inline static doesn't really make sense it seems, and Apple mistakenly warns about it. Inline functions already have no linkage.
Done in #2542 . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
what is the warning policy? (i saw a all-warnings-as-errors flag in cmake)
the problem are mostly not the warnings itself but the ability to hide the evil ones :)
created with my warning_condenser: https://github.com/LowLevelMahn/warning_condenser
3rd-parties
The text was updated successfully, but these errors were encountered: