diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-06-07 11:48:53 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-06-07 11:48:53 +0200 |
commit | 308dc890dd4315560088e8e012d7ebddf0d887e7 (patch) | |
tree | 11da433f9003da60ec244aa6ae8f106e9d8f099e /gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c | |
parent | 34b6bcade4167c229808658e9fd8b59088b55c11 (diff) | |
download | gcc-308dc890dd4315560088e8e012d7ebddf0d887e7.zip gcc-308dc890dd4315560088e8e012d7ebddf0d887e7.tar.gz gcc-308dc890dd4315560088e8e012d7ebddf0d887e7.tar.bz2 |
re PR gcov-profile/49299 (ICE in gimple_ic on profile feedback build)
PR gcov-profile/49299
* value-prof.c (gimple_ic): Don't assume icall has
a fallthru edge.
* gcc.dg/tree-prof/pr49299-1.c: New test.
* gcc.dg/tree-prof/pr49299-2.c: New test.
From-SVN: r174738
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c b/gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c new file mode 100644 index 0000000..dd45baf --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c @@ -0,0 +1,34 @@ +/* { dg-options "-O2" } */ + +__attribute__((noreturn)) void (*fn) (void); + +volatile int v; + +__attribute__((noreturn)) void +fn0 (void) +{ + __builtin_exit (0); +} + +__attribute__((noreturn)) void +fn1 (void) +{ + __builtin_exit (1); +} + +__attribute__((noinline, noclone)) void +setfn (__attribute__((noreturn)) void (*x) (void)) +{ + fn = x; +} + +int +main () +{ + int i; + if (v < 1) + setfn (fn0); + else + setfn (fn1); + fn (); +} |