Home | History | Annotate | Line # | Download | only in lint1
decl_struct_member.c revision 1.6
      1  1.6  rillig /*	$NetBSD: decl_struct_member.c,v 1.6 2021/07/14 20:39:13 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.6  rillig struct cover_begin_type_noclass_declspecs {
     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.6  rillig struct cover_begin_type_noclass_declmods {
     28  1.6  rillig 	const m1;
     29  1.6  rillig 	const volatile m2;
     30  1.6  rillig };
     31  1.6  rillig 
     32  1.1  rillig /*
     33  1.1  rillig  * Before cgram.y 1.228 from 2021-06-19, lint ran into an assertion failure:
     34  1.1  rillig  *
     35  1.1  rillig  * "is_struct_or_union(dcs->d_type->t_tspec)" at cgram.y:846
     36  1.1  rillig  */
     37  1.1  rillig struct {
     38  1.1  rillig 	char;			/* expect: syntax error 'unnamed member' */
     39  1.1  rillig };
     40  1.2  rillig 
     41  1.2  rillig /*
     42  1.2  rillig  * Before decl.c 1.188 from 2021-06-20, lint ran into a segmentation fault.
     43  1.2  rillig  */
     44  1.2  rillig struct {
     45  1.2  rillig 	char a(_)0		/* expect: syntax error '0' */
     46  1.2  rillig }				/* expect: ';' after last */
     47  1.2  rillig /*
     48  1.2  rillig  * FIXME: adding a semicolon here triggers another assertion:
     49  1.2  rillig  *
     50  1.3  rillig  * assertion "t == NOTSPEC" failed in end_type at decl.c:774
     51  1.2  rillig  */
     52  1.2  rillig /* expect+1: cannot recover from previous errors */
     53