PR14296: function parameter name collisions in function try/catch
authorDavid Blaikie <dblaikie@gmail.com>
Sat, 10 Nov 2012 01:04:23 +0000 (01:04 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Sat, 10 Nov 2012 01:04:23 +0000 (01:04 +0000)
commit1c9c90495dd74f568383ffa8fc47f3addf303db8
tree63f5ad159d61c00de3062fb6589f3e21e83c730c
parentc6d2fdbbb1015b63be28618e14f20a8449e60acc
PR14296: function parameter name collisions in function try/catch

C++11 3.3.3/2 "A parameter name shall not be redeclared in the outermost block
of the function definition nor in the outermost block of any handler associated
with a function-try-block."

It's not totally clear to me whether the "FIXME" case is covered by this, but
Richard Smith thinks it probably should be. It's just a bit more involved to
fix that case.

llvm-svn: 167650
clang/include/clang/Parse/Parser.h
clang/include/clang/Sema/Scope.h
clang/lib/Parse/ParseStmt.cpp
clang/lib/Sema/IdentifierResolver.cpp
clang/test/CXX/basic/basic.scope/basic.scope.local/p2.cpp [new file with mode: 0644]