Mercurial > hg > CbC > CbC_gcc
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 } |