aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@gcc.gnu.org>2001-08-11 20:21:55 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2001-08-11 20:21:55 +0000
commit598f25beb6950459ed5cd7488dad0d612e29e5d6 (patch)
tree1888d6119583c0e901f07e21946d4c48bb0632de /gcc
parentab61c93f125a616dd55959f08e81d4fa77232ccf (diff)
downloadgcc-598f25beb6950459ed5cd7488dad0d612e29e5d6.zip
gcc-598f25beb6950459ed5cd7488dad0d612e29e5d6.tar.gz
gcc-598f25beb6950459ed5cd7488dad0d612e29e5d6.tar.bz2
New test from PR #3230
From-SVN: r44807
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/warn/return-reference.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/return-reference.C b/gcc/testsuite/g++.dg/warn/return-reference.C
new file mode 100644
index 0000000..9c367ea
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/return-reference.C
@@ -0,0 +1,21 @@
+// { dg-do compile }
+
+const int* bar();
+
+const int&
+foo1()
+{
+ static int empty;
+ const int* x = bar();
+ return (x ? *x : empty);
+}
+
+const int&
+foo2()
+{
+ static int empty;
+ const int* x = bar();
+ const int& r = (x ? *x : empty);
+ return (r);
+}
+