Commit 117ad0be by Jason Merrill Committed by Jason Merrill

PR c++/84376 - ICE with omitted template arguments.

	* pt.c (dguide_name_p): Check for IDENTIFIER_NODE.

From-SVN: r257706
parent 8908fa3a
2018-02-15 Jason Merrill <jason@redhat.com> 2018-02-15 Jason Merrill <jason@redhat.com>
PR c++/84376 - ICE with omitted template arguments.
* pt.c (dguide_name_p): Check for IDENTIFIER_NODE.
PR c++/84368 - wrong error with local variable in variadic lambda. PR c++/84368 - wrong error with local variable in variadic lambda.
* pt.c (tsubst_pack_expansion): Fix handling of non-packs in * pt.c (tsubst_pack_expansion): Fix handling of non-packs in
local_specializations. local_specializations.
......
...@@ -25454,7 +25454,8 @@ dguide_name (tree tmpl) ...@@ -25454,7 +25454,8 @@ dguide_name (tree tmpl)
bool bool
dguide_name_p (tree name) dguide_name_p (tree name)
{ {
return (TREE_TYPE (name) return (TREE_CODE (name) == IDENTIFIER_NODE
&& TREE_TYPE (name)
&& !strncmp (IDENTIFIER_POINTER (name), dguide_base, && !strncmp (IDENTIFIER_POINTER (name), dguide_base,
strlen (dguide_base))); strlen (dguide_base)));
} }
......
// PR c++/84376
template<int> struct A {};
template<typename T> T foo() { return T(); }
template<> A foo<A>(); // { dg-error "A" }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment