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