OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [20030711-1.c] - Blame information for rev 329

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O1 -fdump-tree-dom2" } */
3
 
4
extern void abort (void);
5
 
6
union tree_node;
7
typedef union tree_node *tree;
8
struct tree_vec
9
{
10
          int length;
11
            tree a[1];
12
};
13
struct tree_type
14
{
15
          tree binfo;
16
};
17
union tree_node
18
{
19
          struct tree_type type;
20
            struct tree_vec vec;
21
};
22
 
23
void
24
record_component_aliases (type)
25
     tree type;
26
{
27
  int i;
28
  if (4 >= type->type.binfo->vec.length)
29
    abort ();
30
  for (; i < ((
31
                {
32
                const tree __t = type->type.binfo;
33
                if (4 >= __t->vec.length)
34
                abort (); type->type.binfo->vec.a[4];}
35
              )->vec.length);)
36
    {
37
      if (4 >= type->type.binfo->vec.length)
38
        abort ();
39
      blah ();
40
    }
41
}
42
 
43
/* The call to blah can not be eliminated.  */
44
/* { dg-final { scan-tree-dump-times "blah \\(\\)" 1 "dom2" } } */
45
 
46
/* There should be four IF conditionals.  */
47
/* { dg-final { scan-tree-dump-times "if " 4 "dom2"} } */
48
 
49
/* There should be two loads of type.binfo.  */
50
/* { dg-final { scan-tree-dump-times "type\\.binfo" 2 "dom2"} } */
51
 
52
/* There should be four loads of vec.length.  */
53
/* { dg-final { scan-tree-dump-times "vec.length" 4 "dom2"} } */
54
 
55
/* { dg-final { cleanup-tree-dump "dom2" } } */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.