diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/lto/ipareference_0.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/ipareference_0.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/lto/ipareference_0.c b/gcc/testsuite/gcc.dg/lto/ipareference_0.c new file mode 100644 index 000000000..f8970f0e9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/ipareference_0.c @@ -0,0 +1,26 @@ +/* { dg-lto-options {{ -O1 -flto -flto-partition=1to1 }} } */ +/* { dg-lto-do run } */ + +/* Test that ipa-reference notice that get_val will not change since do_nothing does not + modify anything. This needs streaming cross file boundary summaries. */ +extern int get_val (void); +extern int set_val (void); +extern do_nothing (void); +void abort (void); +main() +{ + int a; + int b; + set_val (); + a = get_val (); + do_nothing(); + b = get_val (); + if (a==b) + { + if (!__builtin_constant_p (a==b)) + abort (); + return 0; + } + else + abort (); +} |