re PR c++/59200 (ICE with invalid alias template use)
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 17 Apr 2014 21:56:46 +0000 (21:56 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 17 Apr 2014 21:56:46 +0000 (21:56 +0000)
2014-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59200
* g++.dg/cpp0x/alias-decl-42.C: New.

From-SVN: r209499

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/alias-decl-42.C [new file with mode: 0644]

index fe8f81e..52c0633 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/59200
+       * g++.dg/cpp0x/alias-decl-42.C: New.
+
 2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
 
        * gcc.target/powerpc/ti_math1.c: New.
@@ -14,7 +19,7 @@
        gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
 
 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
-       
+
        * g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
        gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-42.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-42.C
new file mode 100644 (file)
index 0000000..09a75e4
--- /dev/null
@@ -0,0 +1,18 @@
+// PR c++/59200
+// { dg-do compile { target c++11 } }
+
+struct A
+{
+  static constexpr bool value = true;
+};
+
+template<typename T>
+struct B
+{
+  template<typename U>
+    using C = A;
+};
+
+template<typename T>
+template<typename U>
+  const bool B<T>::C<U>::value;  // { dg-error "too many" }