Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr82916.c @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* PR bootstrap/82916 */ /* { dg-do run } */ /* { dg-options "-O2 -fno-tree-dse" } */ struct A { struct A *next; }; struct C { int *of; struct C *parent, *prev, *next; int depth; int min; struct C *min_occ; }; __attribute__((noipa)) struct C * foo (int *node) { struct A *p = __builtin_malloc (sizeof (struct C)); if (!p) return 0; p->next = 0; /* Originally placement new. */ struct C *nw = (struct C *)(void *)p; nw->of = node; nw->parent = 0; nw->prev = 0; nw->next = 0; nw->depth = 0; nw->min_occ = nw; nw->min = 0; return nw; } int main () { int o; struct C *p = foo (&o); if (p) { if (p->of != &o || p->parent || p->prev || p->next || p->depth || p->min || p->min_occ != p) __builtin_abort (); } __builtin_free (p); return 0; }