Home | History | Annotate | Line # | Download | only in lint1
decl_struct_c90.c revision 1.2
      1  1.2  rillig /*	$NetBSD: decl_struct_c90.c,v 1.2 2021/07/15 20:05:49 rillig Exp $	*/
      2  1.1  rillig # 3 "decl_struct_c90.c"
      3  1.1  rillig 
      4  1.1  rillig /*
      5  1.1  rillig  * Test declaration of struct types, in C90 without any GNU extensions.
      6  1.1  rillig  */
      7  1.1  rillig 
      8  1.1  rillig /* lint1-flags: -sw */
      9  1.1  rillig 
     10  1.1  rillig /*
     11  1.1  rillig  * All of K&R, C90, C99 require that a struct member declaration is
     12  1.2  rillig  * terminated with a semicolon.
     13  1.2  rillig  *
     14  1.2  rillig  * Before cgram.y 1.328 from 2021-07-15, lint allowed the missing semicolon
     15  1.2  rillig  * in non-C90 mode, no idea why.
     16  1.1  rillig  */
     17  1.1  rillig struct missing_semicolon {
     18  1.1  rillig 	int member
     19  1.1  rillig };
     20  1.2  rillig /* expect-1: error: syntax error '}' [249] */
     21  1.2  rillig /* expect+1: error: cannot recover from previous errors [224] */
     22