/cp
2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58649
* pt.c (lookup_template_class_1): Check start_enum return value
for error_mark_node.
/testsuite
2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58649
* g++.dg/template/crash117.C: New.
From-SVN: r207304
+2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58649
+ * pt.c (lookup_template_class_1): Check start_enum return value
+ for error_mark_node.
+
2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (duplicate_decls, typename_hash, typename_compare):
tsubst (ENUM_UNDERLYING_TYPE (template_type),
arglist, complain, in_decl),
SCOPED_ENUM_P (template_type), NULL);
+
+ if (t == error_mark_node)
+ return t;
}
else
{
+2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58649
+ * g++.dg/template/crash117.C: New.
+
2014-01-30 Richard Biener <rguenther@suse.de>
PR c/59905
--- /dev/null
+// PR c++/58649
+
+template<typename> void foo()
+{
+ E(); // { dg-error "declaration|declared" }
+ enum E {};
+}
+
+template void foo<int>();