aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2018-02-07 09:35:10 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2018-02-07 09:35:10 +0000
commit07a6816e61d35c8b1a9e89e2699d47807f72e668 (patch)
tree4af23d09be78911673c53ebd98b9eeca2b5fc0d2 /gcc
parentf8e54f64262dc5a3dc03f094091eda4fe7886537 (diff)
downloadgcc-07a6816e61d35c8b1a9e89e2699d47807f72e668.zip
gcc-07a6816e61d35c8b1a9e89e2699d47807f72e668.tar.gz
gcc-07a6816e61d35c8b1a9e89e2699d47807f72e668.tar.bz2
re PR c++/71662 ([DR 1485] ICE on invalid C++11 code with unqualified name look up: in tsubst_copy, at cp/pt.c:14010)
2018-02-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/71662 * g++.dg/cpp0x/scoped_enum7.C: New. From-SVN: r257439
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/scoped_enum7.C19
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8737eef..8a0dc3c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/71662
+ * g++.dg/cpp0x/scoped_enum7.C: New.
+
2018-02-07 Christophe Lyon <christophe.lyon@linaro.org>
PR tree-optimization/83008
diff --git a/gcc/testsuite/g++.dg/cpp0x/scoped_enum7.C b/gcc/testsuite/g++.dg/cpp0x/scoped_enum7.C
new file mode 100644
index 0000000..1ba34b6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/scoped_enum7.C
@@ -0,0 +1,19 @@
+// PR c++/71662
+// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
+
+template < typename T > struct A
+{
+ enum E : T;
+ E h ();
+};
+
+A < int > a;
+A < int >::E b = a.h ();
+
+template < typename T > enum A < T >::E : T { e }; // { dg-message "enumeration" }
+
+template < typename T > typename A < T >::E A < T >::h ()
+{
+ return e; // { dg-error "declared" }
+}