From 415dcf965368a67599b93579848181ecec24f860 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 10 May 2017 12:32:13 -0400 Subject: [PATCH] pt.c (dependent_type_p): Make sure we aren't called with global_type_node. * pt.c (dependent_type_p): Make sure we aren't called with global_type_node. From-SVN: r247843 --- gcc/cp/ChangeLog | 3 +++ gcc/cp/pt.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 45ef8d3904c..09caa02ba70 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2017-05-10 Jason Merrill + * pt.c (dependent_type_p): Make sure we aren't called with + global_type_node. + PR c++/79549 - C++17 ICE with non-type auto template parameter pack * pt.c (convert_template_argument): Just return an argument pack. (coerce_template_parameter_pack, template_parm_to_arg) diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 72256b3bd25..b9e7af7066b 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -23436,6 +23436,10 @@ dependent_type_p (tree type) if (type == error_mark_node) return false; + /* Getting here with global_type_node means we improperly called this + function on the TREE_TYPE of an IDENTIFIER_NODE. */ + gcc_checking_assert (type != global_type_node); + /* If we have not already computed the appropriate value for TYPE, do so now. */ if (!TYPE_DEPENDENT_P_VALID (type)) -- 2.30.2