(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr50763-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  typedef union tree_node *tree;
       5  
       6  struct tree_base
       7  {
       8    int code;
       9  };
      10  
      11  struct tree_typed
      12  {
      13    struct tree_base base;
      14    tree type;
      15  };
      16  
      17  struct tree_common
      18  {
      19    struct tree_typed typed;
      20  };
      21  
      22  struct tree_type_common
      23  {
      24    tree main_variant;
      25  };
      26  
      27  union tree_node
      28  {
      29    struct tree_base base;
      30    struct tree_typed typed;
      31    struct tree_type_common type_common;
      32  };
      33  
      34  int std_canonical_va_list_type (tree type)
      35  {
      36    if (type->base.code)
      37      type = type->typed.type;
      38    else
      39      if (type->typed.type->base.code)
      40        type = type->typed.type;
      41  
      42    if (type->type_common.main_variant)
      43      return 1;
      44  
      45    return 0;
      46  }