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