aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20040917-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20040917-1.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040917-1.c b/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
new file mode 100644
index 0000000..73bc6c6
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
@@ -0,0 +1,32 @@
+/* submitted by kenneth zadeck */
+
+static int test_var;
+
+/* the idea here is that not only is inlinable, inlinable but since it
+ is static, the cgraph node will not be marked as output. The
+ current version of the code ignores these cgraph nodes. */
+
+void not_inlinable() __attribute__((noinline));
+
+static void
+inlinable ()
+{
+ test_var = -10;
+}
+
+void
+not_inlinable ()
+{
+ inlinable();
+}
+
+main ()
+{
+ test_var = 10;
+ /* Variable test_var should be considered call-clobbered by the call
+ to not_inlinable(). */
+ not_inlinable ();
+ if (test_var == 10)
+ abort ();
+ return 0;
+}