Home | History | Annotate | Line # | Download | only in lint1
msg_343.c revision 1.6
      1  1.6  rillig /*	$NetBSD: msg_343.c,v 1.6 2022/06/17 06:59:16 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_343.c"
      3  1.1  rillig 
      4  1.2  rillig /* Test for message: static array size is a C11 extension [343] */
      5  1.1  rillig 
      6  1.4  rillig /* lint1-flags: -Sw */
      7  1.1  rillig 
      8  1.1  rillig void takes_int_pointer(int []);
      9  1.1  rillig void takes_int_pointer_with_ignored_size(int [3]);
     10  1.6  rillig /* expect+1: error: static array size is a C11 extension [343] */
     11  1.6  rillig void takes_int_array(int[static 3]);
     12  1.4  rillig /* expect+1: syntax error '3' */
     13  1.1  rillig void takes_volatile_int_array(int[volatile 3]);
     14  1.1  rillig 
     15  1.1  rillig int
     16  1.1  rillig returns_int_pointer(int a[])
     17  1.1  rillig {
     18  1.1  rillig 	return a[0];
     19  1.1  rillig }
     20  1.1  rillig 
     21  1.1  rillig int
     22  1.1  rillig returns_int_pointer_with_ignored_size(int a[3])
     23  1.1  rillig {
     24  1.1  rillig 	return a[0];
     25  1.1  rillig }
     26  1.1  rillig 
     27  1.1  rillig int
     28  1.6  rillig /* expect+1: error: static array size is a C11 extension [343] */
     29  1.6  rillig returns_int_array(int a[static 3])
     30  1.1  rillig {
     31  1.1  rillig 	return a[0];
     32  1.1  rillig }
     33  1.1  rillig 
     34  1.1  rillig int
     35  1.4  rillig /* expect+1: syntax error '3' */
     36  1.1  rillig returns_volatile_int_array(int a[volatile 3])
     37  1.1  rillig {
     38  1.1  rillig 	/* expect+2: cannot dereference non-pointer type */
     39  1.1  rillig 	/* expect+1: expects to return value */
     40  1.1  rillig 	return a[0];
     41  1.1  rillig }
     42  1.5  rillig 
     43  1.5  rillig /*
     44  1.5  rillig  * This triggers the "Bad attribute", but for some reason, that custom error
     45  1.5  rillig  * message does not make it into the actual diagnostic.
     46  1.5  rillig  */
     47  1.5  rillig /* expect+2: error: syntax error ']' [249] */
     48  1.5  rillig /* expect+1: error: static array size is a C11 extension [343] */
     49  1.5  rillig void invalid_storage_class(int a[const typedef 3]);
     50