re PR c++/58873 ([c++11] ICE with __underlying_type for broken enum)
authorKai Tietz <ktietz@redhat.com>
Thu, 20 Feb 2014 16:02:24 +0000 (17:02 +0100)
committerKai Tietz <ktietz@gcc.gnu.org>
Thu, 20 Feb 2014 16:02:24 +0000 (17:02 +0100)
PR c++/58873
* parser.c (cp_parser_functional_cast): Treat NULL_TREE
valued type argument as error_mark_node.

From-SVN: r207961

gcc/cp/ChangeLog
gcc/cp/parser.c

index 7231155..602ab94 100644 (file)
@@ -1,5 +1,9 @@
 2014-02-20  Kai Tietz  <ktietz@redhat.com>
 
+       PR c++/58873
+       * parser.c (cp_parser_functional_cast): Treat NULL_TREE
+       valued type argument as error_mark_node.
+
        PR c++/58835
        * semantics.c (finish_fname): Handle error_mark_node.
 
index 9818213..4673f78 100644 (file)
@@ -23165,6 +23165,9 @@ cp_parser_functional_cast (cp_parser* parser, tree type)
   tree cast;
   bool nonconst_p;
 
+  if (!type)
+    type = error_mark_node;
+
   if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE))
     {
       maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS);