diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-06 09:40:06 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-06 09:40:06 +0000 |
commit | 7ae216c980f001de4aacab6927f9ea4a22556eda (patch) | |
tree | 5fcc360ae8bcb23e6d2dc1db58baede17b590377 | |
parent | 958d76870bf53bc866d431b5e3f5641999a348f7 (diff) | |
download | gcc-7ae216c980f001de4aacab6927f9ea4a22556eda.tar.gz |
2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_lexer_set_source_position): New.
(cp_parser_mem_initializer): Use it.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208378 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/cp/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/cp/parser.c | 29 |
2 files changed, 26 insertions, 14 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a0b87bf91af..70db35c1de9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,14 @@ +2014-03-06 Paolo Carlini <paolo.carlini@oracle.com> + + * parser.c (cp_lexer_set_source_position): New. + (cp_parser_mem_initializer): Use it. + (cp_parser_postfix_open_square_expression): Likewise. + (cp_parser_parenthesized_expression_list): Likewise. + (cp_parser_new_initializer): Likewise. + (cp_parser_jump_statement): Likewise. + (cp_parser_initializer): Likewise. + (cp_parser_functional_cast): Likewise. + 2014-03-05 Jason Merrill <jason@redhat.com> PR c++/60409 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index b56870d6225..8bc1126e238 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -844,6 +844,14 @@ cp_lexer_set_source_position_from_token (cp_token *token) } } +/* Update the globals input_location and the input file stack from LEXER. */ +static inline void +cp_lexer_set_source_position (cp_lexer *lexer) +{ + cp_token *token = cp_lexer_peek_token (lexer); + cp_lexer_set_source_position_from_token (token); +} + /* Return a pointer to the next token in the token stream, but do not consume it. */ @@ -6359,8 +6367,7 @@ cp_parser_postfix_open_square_expression (cp_parser *parser, if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE)) { bool expr_nonconst_p; - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); index = cp_parser_braced_list (parser, &expr_nonconst_p); if (flag_cilkplus @@ -6673,8 +6680,7 @@ cp_parser_parenthesized_expression_list (cp_parser* parser, if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE)) { /* A braced-init-list. */ - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); expr = cp_parser_braced_list (parser, &expr_non_constant_p); if (non_constant_p && expr_non_constant_p) @@ -7523,8 +7529,7 @@ cp_parser_new_initializer (cp_parser* parser) { tree t; bool expr_non_constant_p; - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); t = cp_parser_braced_list (parser, &expr_non_constant_p); CONSTRUCTOR_IS_DIRECT_INIT (t) = 1; @@ -10681,8 +10686,7 @@ cp_parser_jump_statement (cp_parser* parser) if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE)) { - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); expr = cp_parser_braced_list (parser, &expr_non_constant_p); } @@ -12361,8 +12365,7 @@ cp_parser_mem_initializer (cp_parser* parser) if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE)) { bool expr_non_constant_p; - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); expression_list = cp_parser_braced_list (parser, &expr_non_constant_p); CONSTRUCTOR_IS_DIRECT_INIT (expression_list) = 1; @@ -18816,8 +18819,7 @@ cp_parser_initializer (cp_parser* parser, bool* is_direct_init, } else if (token->type == CPP_OPEN_BRACE) { - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); init = cp_parser_braced_list (parser, non_constant_p); CONSTRUCTOR_IS_DIRECT_INIT (init) = 1; @@ -23253,8 +23255,7 @@ cp_parser_functional_cast (cp_parser* parser, tree type) if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_BRACE)) { - cp_token *token = cp_lexer_peek_token (parser->lexer); - cp_lexer_set_source_position_from_token (token); + cp_lexer_set_source_position (parser->lexer); maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS); expression_list = cp_parser_braced_list (parser, &nonconst_p); CONSTRUCTOR_IS_DIRECT_INIT (expression_list) = 1; |