OSDN Git Service

* gcc.dg/pr34351.c: Compile for x86 targets only. Use %ebx register.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / 20031108-1.c
1 /* PR optimization/10467  */
2 /* { dg-do compile { target arm*-*-* xscale*-*-* strongarm*-*-* } } */
3 /* { dg-options "-O2 -mthumb" } */
4
5 typedef enum {Ident_1} Enumeration;
6
7 typedef struct record
8 {
9     struct record *Ptr_Comp;
10     Enumeration Discr;
11     union {
12         struct {
13             Enumeration Enum_Comp;
14             int Int_Comp;
15             char Str_Comp [31];
16         } var_1;
17     } variant;
18 } *Rec_Pointer;
19
20 Rec_Pointer Ptr_Glob;
21
22 Proc_1 (Ptr_Val_Par)
23     Rec_Pointer Ptr_Val_Par;
24 {
25     Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
26
27     *Ptr_Val_Par->Ptr_Comp = *Ptr_Glob;
28
29     if (Next_Record->Discr == Ident_1)
30     {
31         Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
32                 &Next_Record->variant.var_1.Int_Comp);
33     }
34 }
35