https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61985
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |mpolacek at gcc dot gnu.org Resolution|--- |INVALID --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The reporter seems to complain that it is not possible to declare a function pointer as noreturn using the noreturn keyword or attribute. But the attribute should work: __attribute__ ((__noreturn__)) void (*fp1) (void); // OK _Noreturn void (*fp2) (void); // invalid You only have to be careful that if you include <stdnoreturn.h>, the "noreturn" gets expanded to _Noreturn, so you'd get "attribute directive ignored".