Disable some C++20 warnings that break the C++20 build or are too noisy
Categories
(Firefox Build System :: General, task, P3)
Tracking
(firefox126 fixed)
| Tracking | Status | |
|---|---|---|
| firefox126 | --- | fixed |
People
(Reporter: cpeterson, Assigned: cpeterson)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
-
Stop enabling -Wdeprecated-this-capture because it has no affect when compiling as C++17 and it's enabled by default with compiling as C++20.
-
Disable -Wdeprecated-this-capture warnings by changing "-Wno-error" to "-Wno". These warnings are enabled by default when compiling as C++20 and even just logging these warnings as non-fatal messages breaks the clang-plugin tests because the messages aren't in the tests' expected compiler output. We can't fix these warnings until after we default to -std=c++20 because the code change isn't backwards compatible with C++17.
-
Stop enabling -Wc++2a-compat because it causes build errors about valid C++20 code (that isn't backwards compatible with C++17) when compiling as C++20.
-
Remove -Wno-error=deprecated. I don't remember why it was needed to compile as C++20 when I added it two years ago (in bug 1781001), but it's no longer needed.
-
Disable -Wdeprecated-anon-enum-enum-conversion and -Wdeprecated-enum-enum-conversion warnings by changing "-Wno-error" to "-Wno". There are so many warnings in common shared header files, they overwhelm the compiler output. Fixing these warnings in bug 1791958 and bug 1791955, respectively, doesn't block defaulting to -std=c++20.
-
Remove -Wno-deprecated-pragma because it's not longer needed. It warns about C++20 deprecating ATOMIC_VAR_INIT in favor of std::atomic<int>. We used to have some warnings about ATOMIC_VAR_INIT, but I guess they've been fixed because we currently have no -Wdeprecated-pragma warnings.
| Assignee | ||
Comment 1•2 years ago
|
||
-
Stop enabling -Wdeprecated-this-capture because it has no affect when compiling as C++17 and it's enabled by default with compiling as C++20.
-
Disable -Wdeprecated-this-capture warnings by changing "-Wno-error" to "-Wno". These warnings are enabled by default when compiling as C++20 and even just logging these warnings as non-fatal messages breaks the clang-plugin tests because the messages aren't in the tests' expected compiler output. We can't fix these warnings until after we default to -std=c++20 because the code change isn't backwards compatible with C++17.
-
Stop enabling -Wc++2a-compat because it causes build errors about valid C++20 code (that isn't backwards compatible with C++17) when compiling as C++20.
-
Remove -Wno-error=deprecated. I don't remember why it was needed to compile as C++20 when I added it two years ago (in bug 1781001), but it's no longer needed.
-
Disable -Wdeprecated-anon-enum-enum-conversion and -Wdeprecated-enum-enum-conversion warnings by changing "-Wno-error" to "-Wno". There are so many warnings in common shared header files, they overwhelm the compiler output. Fixing these warnings in bug 1791958 and bug 1791955, respectively, doesn't block defaulting to -std=c++20.
-
Remove -Wno-deprecated-pragma because it's not longer needed. It warns about C++20 deprecating ATOMIC_VAR_INIT in favor of std::atomic<int>. We used to have some warnings about ATOMIC_VAR_INIT, but I guess they've been fixed because we currently have no -Wdeprecated-pragma warnings.
Comment 3•2 years ago
|
||
| bugherder | ||
Description
•