(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
20031108-1.c
       1  /* PR optimization/10467  */
       2  /* { dg-do compile } */
       3  /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
       4  /* { dg-options "-O2 -mthumb" } */
       5  
       6  typedef enum {Ident_1} Enumeration;
       7  
       8  typedef struct record
       9  {
      10      struct record *Ptr_Comp;
      11      Enumeration Discr;
      12      union {
      13  	struct {
      14  	    Enumeration Enum_Comp;
      15  	    int Int_Comp;
      16  	    char Str_Comp [31];
      17          } var_1;
      18      } variant;
      19  } *Rec_Pointer;
      20  
      21  Rec_Pointer Ptr_Glob;
      22  
      23  extern int Proc_7 (int, int, int *);
      24  
      25  void
      26  Proc_1 (Ptr_Val_Par)
      27      Rec_Pointer Ptr_Val_Par;
      28  {
      29      Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
      30  
      31      *Ptr_Val_Par->Ptr_Comp = *Ptr_Glob;
      32  
      33      if (Next_Record->Discr == Ident_1)
      34      {
      35  	Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
      36  		&Next_Record->variant.var_1.Int_Comp);
      37      }
      38  }
      39