Home | History | Annotate | Line # | Download | only in lint1
      1  1.11  rillig /*	$NetBSD: msg_343.c,v 1.11 2024/01/28 08:17:27 rillig Exp $	*/
      2   1.1  rillig # 3 "msg_343.c"
      3   1.1  rillig 
      4  1.10  rillig /* Test for message: static array size requires C11 or later [343] */
      5   1.1  rillig 
      6   1.9  rillig /* lint1-flags: -Sw -X 351 */
      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.10  rillig /* expect+1: error: static array size requires C11 or later [343] */
     11   1.6  rillig void takes_int_array(int[static 3]);
     12   1.7  rillig /* expect+1: error: syntax error '3' [249] */
     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.10  rillig /* expect+1: error: static array size requires C11 or later [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.7  rillig /* expect+1: error: syntax error '3' [249] */
     36   1.1  rillig returns_volatile_int_array(int a[volatile 3])
     37   1.1  rillig {
     38   1.8  rillig 	/* expect+2: error: cannot dereference non-pointer type 'int' [96] */
     39  1.11  rillig 	/* expect+1: error: function 'returns_volatile_int_array' expects to return value [214] */
     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.10  rillig /* expect+1: error: static array size requires C11 or later [343] */
     49   1.5  rillig void invalid_storage_class(int a[const typedef 3]);
     50