On Thu, Jan 3, 2013 at 1:30 PM, Joel Brobecker <brobec...@adacore.com> wrote:
> Hello,
>
> I happened to notice a warning while compiling GCC, and it seemed
> like an easy fix...
>
> gcc/cp/ChangeLog:
>
>         * parser.c (cp_parser_initializer_list): Move declaration
>         of variable non_const to start of lexical block.
>
> Tested against x86_64-linux, no regression.
> OK to commit? (obvious?)

Hmm?  We compile with a C++ compiler where this is perfectly valid ...

Richard.

> Thanks,
> --
> Joel
>
> ---
>  gcc/cp/parser.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
> index 3dc2ec6..61d93f8 100644
> --- a/gcc/cp/parser.c
> +++ b/gcc/cp/parser.c
> @@ -17932,9 +17932,10 @@ cp_parser_initializer_list (cp_parser* parser, bool* 
> non_constant_p)
>                && cp_lexer_next_token_is (parser->lexer, CPP_OPEN_SQUARE))
>         {
>           /* In C++11, [ could start a lambda-introducer.  */
> +         bool non_const = false;
> +
>           cp_parser_parse_tentatively (parser);
>           cp_lexer_consume_token (parser->lexer);
> -         bool non_const = false;
>           designator = cp_parser_constant_expression (parser, true, 
> &non_const);
>           cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE);
>           cp_parser_require (parser, CPP_EQ, RT_EQ);
> --
> 1.7.0.4
>

Reply via email to