[Bug c++/53528] Support C++11 generalized attributes

ethouris at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jul 26 20:18:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53528

--- Comment #5 from Michal Malecki <ethouris at gmail dot com> 2012-07-26 20:18:36 UTC ---
Looks nice. Is that a big deal if you also make a standard [[noreturn]]
attribute simply an alias to [[gnu::noreturn]]? As far as I know the standard,
they should behave exactly the same way.

Another thing is that I think this should work, according to the standard:

void quit [[gnu::noreturn]] () { throw 0; }

And it doesn't with this patch. Of course, [[gnu::noreturn]] void quit()...
works and is more intuitive, but both are required by the standard. I guess the
difference is when you'd do this:

int quit [[noreturn]](), pass(); // pass does return!

while here both are noreturn:

[[noreturn]] int quit(), pass();



More information about the Gcc-bugs mailing list