aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c
new file mode 100644
index 000000000..b28ad9d00
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr48929.c
@@ -0,0 +1,32 @@
+/*{ dg-options "-findirect-inlining" }*/
+void bar ();
+
+static void
+f4 (double di, double d, double *dd)
+{
+ if (d == 0 && di == 0)
+ *dd = 0;
+ bar ();
+}
+
+static inline void
+f3 (int i, double d)
+{
+ double di = i;
+ double dd;
+ f4 (di, d, &dd);
+}
+
+static inline void
+f2 (int i, double d)
+{
+ if (d < 0)
+ f3 (i, d);
+}
+
+void
+f1 ()
+{
+ f2 (0, 1);
+}
+