comparison gcc/testsuite/gcc.dg/pr82916.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* PR bootstrap/82916 */
2 /* { dg-do run } */
3 /* { dg-options "-O2 -fno-tree-dse" } */
4
5 struct A { struct A *next; };
6 struct C
7 {
8 int *of;
9 struct C *parent, *prev, *next;
10 int depth;
11 int min;
12 struct C *min_occ;
13 };
14
15 __attribute__((noipa)) struct C *
16 foo (int *node)
17 {
18 struct A *p = __builtin_malloc (sizeof (struct C));
19 if (!p)
20 return 0;
21 p->next = 0;
22 /* Originally placement new. */
23 struct C *nw = (struct C *)(void *)p;
24 nw->of = node;
25 nw->parent = 0;
26 nw->prev = 0;
27 nw->next = 0;
28 nw->depth = 0;
29 nw->min_occ = nw;
30 nw->min = 0;
31 return nw;
32 }
33
34 int
35 main ()
36 {
37 int o;
38 struct C *p = foo (&o);
39 if (p)
40 {
41 if (p->of != &o || p->parent || p->prev || p->next || p->depth
42 || p->min || p->min_occ != p)
43 __builtin_abort ();
44 }
45 __builtin_free (p);
46 return 0;
47 }