https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89640
--- Comment #9 from frankhb1989 at gmail dot com --- This seems still problematic. void test1() { []() __attribute__((noreturn)) noexcept [[]] -> int{ return 0; // Warning expected. }(); } void test2() { []() noexcept [[]] __attribute__((noreturn)) -> int{ return 0; // Warning expected. }(); } Clang++ 9 accepts test1 but not test2. (However, it issues an error instead of a warning.) Both fail in trunk G++. Are they expected work?