Comments
Patch
commit f9e38d8e08b8602fe0264fd381d97bff495acc32
Author: Jason Merrill <jason@redhat.com>
Date: Fri Feb 22 12:52:04 2013 -0500
PR c++/40405
* pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
if we got the wrong number of template parms.
@@ -4782,6 +4782,8 @@ push_template_decl_real (tree decl, bool is_friend)
error ("got %d template parameters for %q#T",
TREE_VEC_LENGTH (a), current);
error (" but %d required", TREE_VEC_LENGTH (t));
+ /* Avoid crash in import_export_decl. */
+ DECL_INTERFACE_KNOWN (decl) = 1;
return error_mark_node;
}
new file mode 100644
@@ -0,0 +1,10 @@
+// PR c++/40405
+
+template<int, int> struct A
+{
+ static int i;
+};
+
+template<int> int A<0,0>::i = 0; // { dg-error "" }
+
+int j = A<0,0>::i;