/* Check that __builtin_unreachable() is a no-return function thus | |
causing the dead call to foo() to be removed. The comparison is | |
dead too, and should be removed. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized -fdump-rtl-cse1" } */ | |
void foo (void); | |
int | |
f (int i) | |
{ | |
if (i > 1) | |
__builtin_unreachable(); | |
if (i > 1) | |
foo (); | |
return 1; | |
} | |
/* { dg-final { scan-tree-dump-not "foo" "optimized" } } */ | |
/* { dg-final { scan-rtl-dump-not "\\(if_then_else" "cse1" } } */ |