Home | History | Annotate | Line # | Download | only in lint1
decl_struct_member.c revision 1.10
      1  1.10  rillig /*	$NetBSD: decl_struct_member.c,v 1.10 2021/07/21 21:17:57 rillig Exp $	*/
      2   1.1  rillig # 3 "decl_struct_member.c"
      3   1.1  rillig 
      4   1.4  rillig struct multi_attributes {
      5   1.4  rillig 	__attribute__((deprecated))
      6   1.4  rillig 	__attribute__((deprecated))
      7   1.4  rillig 	__attribute__((deprecated))
      8   1.4  rillig 	int deprecated;
      9   1.4  rillig };
     10   1.4  rillig 
     11  1.10  rillig struct cover_begin_type_specifier_qualifier_list {
     12   1.6  rillig 	int m1;
     13   1.6  rillig 	__attribute__((deprecated)) int m2;
     14   1.6  rillig 	const int m3;
     15   1.6  rillig 	int const m4;
     16   1.6  rillig 	int const long m5;
     17   1.6  rillig 	int __attribute__((deprecated)) m6;
     18   1.6  rillig };
     19   1.6  rillig 
     20   1.6  rillig typedef int number;
     21   1.6  rillig 
     22   1.6  rillig struct cover_begin_type_typespec {
     23   1.6  rillig 	int m1;
     24   1.6  rillig 	number m2;
     25   1.6  rillig };
     26   1.6  rillig 
     27  1.10  rillig struct cover_begin_type_qualifier_list {
     28   1.6  rillig 	const m1;
     29   1.6  rillig 	const volatile m2;
     30   1.6  rillig };
     31   1.6  rillig 
     32   1.7  rillig /* cover struct_or_union_specifier: struct_or_union error */
     33   1.7  rillig /* expect+1: error: syntax error 'goto' [249] */
     34   1.7  rillig struct goto {
     35   1.7  rillig 	/* expect+1: error: illegal type combination [4] */
     36   1.7  rillig 	int member;
     37   1.7  rillig 	/* expect+1: error: syntax error '}' [249] */
     38   1.7  rillig };
     39   1.7  rillig /* expect-1: warning: empty declaration [0] */
     40   1.7  rillig 
     41   1.1  rillig /*
     42   1.1  rillig  * Before cgram.y 1.228 from 2021-06-19, lint ran into an assertion failure:
     43   1.1  rillig  *
     44   1.1  rillig  * "is_struct_or_union(dcs->d_type->t_tspec)" at cgram.y:846
     45   1.1  rillig  */
     46   1.1  rillig struct {
     47   1.1  rillig 	char;			/* expect: syntax error 'unnamed member' */
     48   1.1  rillig };
     49   1.2  rillig 
     50   1.9  rillig struct cover_notype_struct_declarators {
     51   1.9  rillig 	const a, b;
     52   1.9  rillig };
     53   1.9  rillig 
     54   1.9  rillig struct cover_notype_struct_declarator_bit_field {
     55   1.9  rillig 	const a: 3, : 0, b: 4;
     56   1.9  rillig 	const : 0;
     57   1.9  rillig };
     58   1.9  rillig 
     59   1.2  rillig /*
     60   1.2  rillig  * Before decl.c 1.188 from 2021-06-20, lint ran into a segmentation fault.
     61   1.2  rillig  */
     62   1.2  rillig struct {
     63   1.2  rillig 	char a(_)0		/* expect: syntax error '0' */
     64   1.8  rillig }
     65   1.2  rillig /*
     66   1.2  rillig  * FIXME: adding a semicolon here triggers another assertion:
     67   1.2  rillig  *
     68   1.3  rillig  * assertion "t == NOTSPEC" failed in end_type at decl.c:774
     69   1.2  rillig  */
     70   1.2  rillig /* expect+1: cannot recover from previous errors */
     71