c11.c revision 1.1
11.1Srillig/* $NetBSD: c11.c,v 1.1 2023/07/12 18:13:39 rillig Exp $ */ 21.1Srillig# 3 "c11.c" 31.1Srillig 41.1Srillig/* 51.1Srillig * Test the language level C11, which adds _Generic expressions, _Noreturn 61.1Srillig * functions, anonymous struct/union members, and several more. 71.1Srillig */ 81.1Srillig 91.1Srillig/* lint1-flags: -Ac11 -w -X 236 -X 351 */ 101.1Srillig 111.1Srillig_Noreturn void exit(int); 121.1Srilligvoid _Noreturn exit(int); 131.1Srillig 141.1Srillig/* XXX: Syntactically invalid, yet lint accepts it. */ 151.1Srilligvoid _Noreturn exit(int) _Noreturn; 161.1Srillig 171.1Srillig_Noreturn void 181.1Srillignoreturn_before_type(void) 191.1Srillig{ 201.1Srillig exit(0); 211.1Srillig} 221.1Srillig 231.1Srilligvoid _Noreturn 241.1Srillignoreturn_after_type(void) 251.1Srillig{ 261.1Srillig exit(0); 271.1Srillig} 281.1Srillig 291.1Srilligstatic _Noreturn void 301.1Srillignoreturn_after_storage_class(void) 311.1Srillig{ 321.1Srillig exit(0); 331.1Srillig} 341.1Srillig 351.1Srillig_Noreturn static void 361.1Srillignoreturn_before_storage_class(void) 371.1Srillig{ 381.1Srillig exit(0); 391.1Srillig} 401.1Srillig 411.1Srillig/* C11 6.7.4p5: A function specifier may appear more than once. */ 421.1Srillig_Noreturn _Noreturn _Noreturn void 431.1Srilligthree_times(void) 441.1Srillig{ 451.1Srillig exit(0); 461.1Srillig} 47