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

--- Comment #2 from Akim Demaille <akim.demaille at gmail dot com> ---
Hi Paolo,

I have tried to put it in about every possible place, and the one I used in the
attached example is the one from
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf which is
cited in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53528 .


$ cat /tmp/foo.cc
void die0 () { throw 0; } [[noreturn]]
void die1 () [[noreturn]] { throw 1; }
void die2 [[noreturn]] () { throw 2; }
void [[noreturn]] die3 () { throw 3; }
[[noreturn]] void die4 () { throw 4; }
$ g++-mp-4.8 -Wall -Wsuggest-attribute=noreturn -c -std=c++11 /tmp/foo.cc
/tmp/foo.cc:2:25: warning: 'noreturn' attribute directive ignored
[-Wattributes]
 void die1 () [[noreturn]] { throw 1; }
                         ^
/tmp/foo.cc:2:25: warning: 'noreturn' attribute directive ignored
[-Wattributes]
/tmp/foo.cc:3:25: warning: 'noreturn' attribute directive ignored
[-Wattributes]
 void die2 [[noreturn]] () { throw 2; }
                         ^
/tmp/foo.cc:4:6: warning: 'noreturn' attribute directive ignored [-Wattributes]
 void [[noreturn]] die3 () { throw 3; }
      ^
/tmp/foo.cc:5:25: warning: 'noreturn' attribute directive ignored
[-Wattributes]
 [[noreturn]] void die4 () { throw 4; }
                         ^
/tmp/foo.cc: In function 'void die0()':
/tmp/foo.cc:1:6: warning: function might be candidate for attribute 'noreturn'
[-Wsuggest-attribute=noreturn]
 void die0 () { throw 0; } [[noreturn]]
      ^
/tmp/foo.cc: In function 'void die1()':
/tmp/foo.cc:2:6: warning: function might be candidate for attribute 'noreturn'
[-Wsuggest-attribute=noreturn]
 void die1 () [[noreturn]] { throw 1; }
      ^
/tmp/foo.cc: In function 'void die2()':
/tmp/foo.cc:3:6: warning: function might be candidate for attribute 'noreturn'
[-Wsuggest-attribute=noreturn]
 void die2 [[noreturn]] () { throw 2; }
      ^
/tmp/foo.cc: In function 'void die3()':
/tmp/foo.cc:4:19: warning: function might be candidate for attribute 'noreturn'
[-Wsuggest-attribute=noreturn]
 void [[noreturn]] die3 () { throw 3; }
                   ^
/tmp/foo.cc: In function 'void die4()':
/tmp/foo.cc:5:19: warning: function might be candidate for attribute 'noreturn'
[-Wsuggest-attribute=noreturn]
 [[noreturn]] void die4 () { throw 4; }
                   ^

Reply via email to