attr-noreturn.c revision d7d5f0223bd30dfd618762349c6209dd1d5ea3e6
1d7d5f0223bd30dfd618762349c6209dd1d5ea3e6Daniel Dunbar// RUN: clang-cc -verify -fsyntax-only %s 2d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar 3d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbarstatic void (*fp0)(void) __attribute__((noreturn)); 4d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar 5d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbarstatic void __attribute__((noreturn)) f0(void) { 6d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar fatal(); 7d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar} 8d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar 9d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar// On K&R 10d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbarint f1() __attribute__((noreturn)); 11d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar 12d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbarint g0 __attribute__((noreturn)); // expected-warning {{'noreturn' attribute only applies to function types}} 13d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbar 14d3f2c10f881311831a84114179342ff4db55e0c3Daniel Dunbarint f2() __attribute__((noreturn(1, 2))); // expected-error {{attribute requires 0 argument(s)}} 15