pt.c (dependent_type_p): Make sure we aren't called with global_type_node.
authorJason Merrill <jason@redhat.com>
Wed, 10 May 2017 16:32:13 +0000 (12:32 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 10 May 2017 16:32:13 +0000 (12:32 -0400)
* pt.c (dependent_type_p): Make sure we aren't called with
global_type_node.

From-SVN: r247843

gcc/cp/ChangeLog
gcc/cp/pt.c

index 45ef8d3..09caa02 100644 (file)
@@ -1,5 +1,8 @@
 2017-05-10  Jason Merrill  <jason@redhat.com>
 
+       * 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)
index 72256b3..b9e7af7 100644 (file)
@@ -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))