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();