On Sun, Jun 16, 2019 at 12:10:37PM -0400, Marek Polacek wrote: > > Guess I will really have to make the changes to treat [[noreturn]] similarly > > to e.g. [[nodiscard]], so that cxx11_attribute_p works. > > Thus. Changes I've made: > * don't treat [[noreturn]] as an equivalent to __attribute__((noreturn)); > * for that I had to adjust decl_attributes, it wasn't preserving the > C++11 form (a list in another list); fix shadowing while at it; > * the above turned up two spots that were wrongly accessing TREE_PURPOSE > directly instead of using get_attribute_name; > * give error only for [[noreturn]] but not for __attribute__((noreturn)) > or [[gnu::noreturn]]. > > Bootstrapped/regtested on x86_64-linux, ok for trunk?
I'd prefer to defer review of this to Jason, just want to note that I don't see any testsuite coverage on mixing declarations with different forms of attributes ([[noreturn]] on one decl and __attribute__((noreturn)) or [[gnu::noreturn]] on another one or vice versa. Jakub