re PR c++/54430 ([C++11] For-Loop: Scope of iterating variable begins too early)
authorVille Voutilainen <ville.voutilainen@gmail.com>
Thu, 1 Oct 2015 19:22:08 +0000 (22:22 +0300)
committerVille Voutilainen <ville@gcc.gnu.org>
Thu, 1 Oct 2015 19:22:08 +0000 (22:22 +0300)
commit55fec44def29854be875ac68c304fc0c55b538ff
treec64ed0713431721871f5a948d0649009558ae7f7
parent0d1a8f7517eaed1d38d3827248e007634475bca4
re PR c++/54430 ([C++11] For-Loop: Scope of iterating variable begins too early)

PR c++/54430

/cp
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/54430
* name-lookup.c (push_binding): Make non-static.
* name-lookup.h (push_binding): Declare it.
* parser.c (cp_parser_range_for): Use it, get the range
declaration away from the scope until the range expression
has been parsed, then restore the declaration.

/testsuite
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/54430
* g++.dg/cpp0x/range-for30.C: New.

From-SVN: r228354
gcc/cp/ChangeLog
gcc/cp/name-lookup.c
gcc/cp/name-lookup.h
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/range-for30.C [new file with mode: 0644]