On Mon, Sep 20, 2021 at 01:06:58PM -0400, Marek Polacek via Gcc-patches wrote:
Not a review, just a few nits: I think it would be useful to clarify that -Wno-attributes=list doesn't actually imply -Wno-attributes > --- a/gcc/common.opt > +++ b/gcc/common.opt > @@ -88,6 +88,9 @@ void *flag_instrument_functions_exclude_functions > Variable > void *flag_instrument_functions_exclude_files > > +Variable > +void *flag_ignored_attributes > + > ; Generic structs (e.g. templates not explicitly specialized) > ; may not have a compilation unit associated with them, and so > ; may need to be treated differently from ordinary structs. > @@ -546,6 +549,10 @@ Wattributes > Common Var(warn_attributes) Init(1) Warning > Warn about inappropriate attribute usage. > > +Wattributes= > +Common Joined > +Do not warn about specified attributes. > + So, wouldn't be this better specified as Wno-attributes= Common Joined RejectNegative (not sure if RejectNegative is actually needed for an option starting with Wno- )? > +/* { dg-additional-options "-std=c++11" { target c++ } } */ > +/* { dg-additional-options "-Wno-attributes=company::,yoyodyne::attr" } */ > +/* { dg-additional-options "-Wno-attributes=c1::attr,c1::attr,c1::__attr__" > } */ > +/* { dg-additional-options "-Wno-attributes=clang" } */ > +/* { dg-additional-options "-Wno-attributes=c2::,c2::attr" } */ > +/* { dg-additional-options "-Wno-attributes=c3::attr,c3::" } */ > +/* { dg-additional-options "-Wno-attributes=x::," } */ Should the above be accepted (I mean trailing , ?) What does that mean? > +/* { dg-additional-options "-Wno-attributes=yoyodyne::attr_new" } */ > +/* { dg-additional-options "-Wno-attributes=c4::__attr__" } */ When writing __attr__, does that imply we won't warn about both c4::attr and c4::__attr__ (and __c4__::attr and __c4__::__attr__) like it would when writing -Wno-attributes=c4::attr ? Jakub