Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / mips / wrap-delay.c
blob1332a6841fe992a21a63140f1f0b7fa938560396
1 /* { dg-do compile } */
2 /* { dg-options "-g -mframe-header-opt -mbranch-likely" } */
4 /* GCC was generating an ICE with the above options and -Os because
5 it was putting the save of $31 in two annulled delay slots but
6 there was only one restore since only one of the two saves could be
7 executed. This was correct code but it confused dwarf2cfi and
8 caused it to ICE when using the -g option. */
11 enum demangle_component_type
13 DEMANGLE_COMPONENT_TRINARY_ARG2,
15 struct demangle_component
17 enum demangle_component_type type;
19 struct d_info
21 int next_comp;
22 int num_comps;
24 struct demangle_component * d_make_empty (struct d_info *di)
26 if (di->next_comp >= di->num_comps) return ((void *)0);
27 ++di->next_comp;
29 struct demangle_component *d_make_comp (
30 struct d_info *di,
31 enum demangle_component_type type,
32 struct demangle_component *left)
34 struct demangle_component *p;
35 switch (type)
37 case DEMANGLE_COMPONENT_TRINARY_ARG2:
38 if (left == ((void *)0)) return ((void *)0);
40 p = d_make_empty (di);
41 p->type = type;