1 /* This test case contains a large number of syntactic errors. We
2 believe the intent of the test is that the compiler simply not
3 crash. The set of error messages reported is different when the C
4 parser is generated with bison 1.50 than 1.35. It is not worth
5 attempting to prevent this. Instead, we use a single dg-error with
6 a regexp that will match _all_ the errors indiscriminately. The
7 old error/warning/etc markers are kept around for reference, but
10 Revisit after new (recursive descent) parser is implemented for C.
13 /* { dg-error ".*" "many syntax errors" { target *-*-* } 0 } */
15 typedef BYTE
unsigned char; /* { error "syntax error|empty decl" } */
18 struct PENT
{ caddr_t v_addr
; };/* { error "parse error|no semicolon" } */
19 typedef struct PENT prec
;
20 typedef struct PENT
*prec_t
;
22 BYTE
*mem_base
; /* { error "parse error|no type" } */
24 BYTE
*p_page
; /* { error "parse error|no semicolon" } */
26 }; /* { error "parse error" } */
27 typedef struct PTE pte
;
30 struct *PTP p_tablep
; /* { error "parse error|no semicolon" } */
32 } u
; /* { warning "no type or storage class" } */
34 }; /* { error "parse error" } */
35 typedef struct PTP (u
.p_tablep
);/* { error "parse error" } */
41 caddr_t va
; /* { error "parse error|no type" } */
44 if (mmu_base
[Level1(va
)]->valid
==0x0) {
45 l1_base
= mmu_base
[Level1(va
)]->(u
.p_tablep
) = p_alloc();
46 mmu_base
[Level1(va
)]->valid
= 0x3; /* { error "parse error" } */
47 for (idx
=0; idx
<LEVEL1_ENTRIES
; idx
++)
48 l1_base
[idx
]->valid
= 0x0;
51 l1_base
= mmu_base
[Level1(va
)]->(u
.p_tablep
);
53 if (l1_base
[Level2(va
)]->valid
==0x0) {
55 l2_base
= l1_base
[Level2(va
)]->(u
.p_tablep
) = p_alloc();
56 l1_base
[Level2(va
)]->valid
= 0x3; /* { error "parse error" } */
57 for (idx
=0; idx
<LEVEL2_ENTRIES
; idx
++)
58 l2_base
[idx
]->valid
=0x0;
61 l2_base
= mmu_base
[Level2(va
)]->(u
.p_tablep
);
63 page_addr
= l2_base
[Level2(va
)]->valid
;/* { error "undeclared|no type" } */
64 } /* { error "parse error" } */
67 a_translate(va_op
, v_addr
)
69 caddr_t v_addr
; /* { error "parse error" } */
71 register prec_t bucket
;
72 register caddr_t p_addr
; /* { error "syntax error" } */
73 bucket
= mem_hash
+((((v_addr
)>>ITEMBITS
))&hash_mask
); /* { error "undeclared|for each function" } */
75 if (bucket
->v_addr
== ((v_addr
)>>ITEMBITS
) { /* { error "incomplete type|parse error" } */
76 if(!(bucket
->perm_set
&va_op
))
78 return mem_base
+ v_addr
;
80 } while((bucket
++)->v_addr
!= ((caddr_t
)0)); /* { error "parse error" } */
83 p_addr
= (--bucket
)->p_addr
; /* { error "undeclared|pointer to" } */
86 case BUCKET_FULL
: /* { error "undeclared" } */
87 enlarge_hash_table(mem_hash
);
88 case((caddr_t
)0): /* { error "undeclared|parse error" } */
89 p_addr
= fill_item_entry(va_op
, v_addr
);
91 case((caddr_t
)1): /* { error "parse error" } */
93 ((void)(((0))?0:(__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
94 "FALSE", 327, "b.c"), 0)));
99 flush_hash(hasht
, hash_size
)
103 register prec_t bucket
;
106 for(idx
=(hash_size
*3)-1; idx
>=0; idx
--) {
107 bucket
->v_addr
= ((caddr_t
)0);/* { error "undeclared|pointer to|parse error" } */
108 bucket
->p_addr
= ((caddr_t
)0);/* { error "pointer to|parse error" } */
109 bucket
->perm_set
= VA_EMPTY
; /* { error "undeclared|pointer to" } */
113 extern void *calloc(__SIZE_TYPE__
, __SIZE_TYPE__
);
118 mem_base
= (BYTE
*) calloc(1024, (1<<13)); /* { error "undeclared|parse error" } */
119 ((void)((mem_base
!= (BYTE
*)0) /* { error "parse error" } */
121 : (__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
122 "mem_base != (BYTE *)0", 366, "b.c"),
124 hash_num
= INIT_NUM_ENTRIES
* 3; /* { error "undeclared" } */
125 mem_hash
= (prec_t
) calloc(hash_num
, sizeof(prec
)); /* { error "incomplete type" } */
126 ((void)((mem_hash
!= (prec_t
)0)
128 : (__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
129 "mem_hash != (prec_t)0", 370, "b.c"),
131 flush_hash(mem_hash
, 32);
132 build_ptables(mem_base
, 1024*(1<<13)); /* { bogus "integer overflow" "int smaller than 32 bits" } */
136 int tm_sec
; int tm_min
; int tm_hour
;
137 int tm_mday
;int tm_mon
; int tm_year
;
138 int tm_wday
;int tm_yday
;int tm_isdst
;
139 char*tm_zone
; long tm_gmtoff
;