diff options
author | Kai Tietz <ktietz@redhat.com> | 2014-02-20 17:02:24 +0100 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2014-02-20 17:02:24 +0100 |
commit | f1dbbe422e62d40b987b7e241cd571ba19dd3872 (patch) | |
tree | 2bd6247ad814d3d424edd864d683635fb0ab4ee1 /gcc | |
parent | 7f5e81887717c4fe8b89c81720b94b5e93174c38 (diff) | |
download | gcc-f1dbbe422e62d40b987b7e241cd571ba19dd3872.zip gcc-f1dbbe422e62d40b987b7e241cd571ba19dd3872.tar.gz gcc-f1dbbe422e62d40b987b7e241cd571ba19dd3872.tar.bz2 |
re PR c++/58873 ([c++11] ICE with __underlying_type for broken enum)
PR c++/58873
* parser.c (cp_parser_functional_cast): Treat NULL_TREE
valued type argument as error_mark_node.
From-SVN: r207961
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/parser.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7231155..602ab94 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 9818213..4673f78 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -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); |