(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
20030714-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O1 -fdump-tree-dom2" } */
       3     
       4  
       5  union tree_node;
       6  typedef union tree_node *tree;
       7  extern const char tree_code_type[];
       8  struct tree_common
       9  {
      10    int code;
      11    tree type;
      12  };
      13  struct tree_exp
      14  {
      15    tree operands[1];
      16  };
      17  union tree_node
      18  {
      19    struct tree_common common;
      20    struct tree_exp exp;
      21  };
      22  long
      23  get_alias_set (t)
      24       tree t;
      25  {
      26    if (tree_code_type[t->common.code] != 't' && t->common.type == 0)
      27      return 0;
      28    if (tree_code_type[t->common.code] != 't')
      29      {
      30        while (t->exp.operands[0])
      31          t = t->exp.operands[0];
      32      }
      33  }
      34  
      35  /* There should be exactly 4 IF conditionals if we thread jumps
      36     properly.  There used to be 3, but one thread was crossing
      37     loops.  */
      38  /* { dg-final { scan-tree-dump-times "if " 4 "dom2"} } */
      39