aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-02-13 16:35:44 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-02-13 16:35:44 +0000
commit2db698cefc5b7e2a66ca64d8485dd9156ee7442f (patch)
tree9916da1a3f8fdd81dda902fa0a68711721994296
parent125b98b127933b7c2d375d3471dc24afa2825993 (diff)
downloadgcc-2db698cefc5b7e2a66ca64d8485dd9156ee7442f.zip
gcc-2db698cefc5b7e2a66ca64d8485dd9156ee7442f.tar.gz
gcc-2db698cefc5b7e2a66ca64d8485dd9156ee7442f.tar.bz2
re PR c++/77304 (ICE on C++ code with invalid template parameter: in gimplify_expr, at gimplify.c:11260)
PR c++/77304 * g++.dg/cpp2a/nontype-class13.C: New test. From-SVN: r268849
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/nontype-class13.C21
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f1a8295..bda30c8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-13 Marek Polacek <polacek@redhat.com>
+
+ PR c++/77304
+ * g++.dg/cpp2a/nontype-class13.C: New test.
+
2019-02-13 Wilco Dijkstra <wdijkstr@arm.com>
PR target/89190
diff --git a/gcc/testsuite/g++.dg/cpp2a/nontype-class13.C b/gcc/testsuite/g++.dg/cpp2a/nontype-class13.C
new file mode 100644
index 0000000..14c601b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp2a/nontype-class13.C
@@ -0,0 +1,21 @@
+// PR c++/77304
+// { dg-do compile { target c++2a } }
+
+struct S {};
+
+template < typename T > struct A
+{
+ template < S > void f () {}
+
+ static void * g ()
+ {
+ return (void *) f < a >; // { dg-error "invalid" }
+ }
+
+ static S a;
+};
+
+void * f ()
+{
+ return A < int >::g ();
+}