From 1bc5aee63eb72b341f506ad058502cd0361f0d10 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Tue, 25 Mar 2014 22:37:19 -0700 Subject: Initial checkin of GCC 4.9.0 from trunk (r208799). Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba --- gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c | 59 ++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c') diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c b/gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c new file mode 100644 index 000000000..1c4e04b3a --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/lto/pr55703_0.c @@ -0,0 +1,59 @@ +/* { dg-lto-do run } */ +/* { dg-lto-options { { -O2 -flto -fno-tree-copy-prop -fno-tree-dce } } } */ + +int try (int num) { + __label__ lab1, lab2, lab3, lab4, lab5, lab6, default_lab; + + void *do_switch (int num) { + switch(num) { + case 1: + return &&lab1; + case 2: + return &&lab2; + case 3: + return &&lab3; + case 4: + return &&lab4; + case 5: + return &&lab5; + case 6: + return &&lab6; + default: + return &&default_lab; + } + } + + goto *do_switch (num); + + lab1: + return 1; + + lab2: + return 2; + + lab3: + return 3; + + lab4: + return 4; + + lab5: + return 5; + + lab6: + return 6; + + default_lab: + return -1; +} + +main() +{ + int i; + for (i = 1; i <= 6; i++) + { + if (try (i) != i) + __builtin_abort(); + } + __builtin_exit(0); +} -- cgit v1.2.3