This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53528] Support C++11 generalized attributes
- From: "ethouris at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 26 Jul 2012 20:18:36 +0000
- Subject: [Bug c++/53528] Support C++11 generalized attributes
- Auto-submitted: auto-generated
- References: <bug-53528-4@http.gcc.gnu.org/bugzilla/>
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();