aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2012-08-25 09:53:30 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2012-08-25 09:53:30 +0000
commitf27a59cf8a51f4c28cec55545673405b20a02a98 (patch)
tree2800260d9c8b267b986fcfd7872938067b8bd713 /gcc/testsuite
parentcd057e3af0627c7528c19625bf972acde2b207fa (diff)
downloadgcc-f27a59cf8a51f4c28cec55545673405b20a02a98.zip
gcc-f27a59cf8a51f4c28cec55545673405b20a02a98.tar.gz
gcc-f27a59cf8a51f4c28cec55545673405b20a02a98.tar.bz2
re PR c++/51421 ([c++0x] ICE with invalid use of auto)
/cp 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51421 * decl2.c (mark_used): Consistently return false after errors about uses before deduction of auto. * semantics.c (finish_id_expression): Check mark_used return value and return error_mark_node in case of failure. /testsuite 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51421 * g++.dg/cpp0x/auto34.C: New. From-SVN: r190665
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/auto34.C18
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index eeb62dc..94b23a4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51421
+ * g++.dg/cpp0x/auto34.C: New.
+
2012-08-24 Jakub Jelinek <jakub@redhat.com>
PR c/54363
diff --git a/gcc/testsuite/g++.dg/cpp0x/auto34.C b/gcc/testsuite/g++.dg/cpp0x/auto34.C
new file mode 100644
index 0000000..3682d60
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/auto34.C
@@ -0,0 +1,18 @@
+// PR c++/51421
+// { dg-do compile { target c++11 } }
+
+int foo1(int);
+
+void bar1()
+{
+ auto i = foo1(i); // { dg-error "before deduction" }
+}
+
+struct A {};
+
+A foo2(A);
+
+void bar2()
+{
+ auto a = foo2(a); // { dg-error "before deduction" }
+}