1 /* $NetBSD: msg_350.c,v 1.4 2024/03/01 17:22:55 rillig Exp $ */ 2 # 3 "msg_350.c" 3 4 // Test for message: '_Atomic' requires C11 or later [350] 5 6 /* 7 * The keyword '_Atomic' was added in C11. This test ensures that in C99 8 * mode, the parser recognizes the keyword but flags it. 9 * 10 * See also: 11 * c11_atomic.c 12 */ 13 14 /* lint1-extra-flags: -X 351 */ 15 16 /* expect+1: error: '_Atomic' requires C11 or later [350] */ 17 typedef _Atomic int atomic_int; 18 19 /* expect+1: error: '_Atomic' requires C11 or later [350] */ 20 typedef _Atomic struct { 21 int field; 22 } atomic_struct; 23 24 /* expect+3: error: '_Atomic' requires C11 or later [350] */ 25 /* expect+2: error: '_Atomic' requires C11 or later [350] */ 26 double * atomic_ptr_cmpexch(_Atomic (double *)* ptr_var,_Atomic (double *)new_value)27atomic_ptr_cmpexch(_Atomic(double *)*ptr_var, _Atomic(double *)new_value) 28 { 29 double *old = *ptr_var; 30 *ptr_var = new_value; 31 return old; 32 } 33