On 6/11/21 9:37 PM, Markus Faehling wrote:
Hello,
I'm currently facing a problem where I cannot get both gcc and clang
warning-free simultaneously in my project. My code looks somewhat like
this:
class Test {
int a_;
void b() {};
};
This code gives me the(usually very useful) "-Wunused-private-field"
warning on clang. But because I have the unused member on purpose, I
would like to add the [[maybe_unused]] attribute to it:
class Test {
[[maybe_unused]] int a_;
void b() {};
};
While this version is warning-free in clang, gcc has a "-Wattributes"
warning because it ignores the [[maybe_unused]] warning. But I do not
want to disable either of these warnings because they are still very
useful in other situations.
Would it be possible to ignore the "-Wattributes" warning for
[[maybe_unused]] in places where other compilers might use the attribute?
Demonstration on godbolt.org: https://godbolt.org/z/8oT4Kr5eM
Regards,
Markus Faehling
It should be easy to solve this with some application of `#pragma GCC
diagnostic` pragmas to temporarily disable `-Wattributes` on that
specific line. I suppose it may look ugly, but it works.