diff options
author | Chris Lattner <sabre@nondot.org> | 2008-04-06 06:50:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-04-06 06:50:56 +0000 |
commit | 285a3e47becb1c7b50afc04895a6a1eb5ca265ea (patch) | |
tree | d67eeacb2a49b65a1aacf925c2bbdeb41d02cbd3 /clang | |
parent | 67b450cb4841ab1c0dcb36a3fcc331d6d694c6be (diff) | |
download | bcm5719-llvm-285a3e47becb1c7b50afc04895a6a1eb5ca265ea.tar.gz bcm5719-llvm-285a3e47becb1c7b50afc04895a6a1eb5ca265ea.zip |
reject 'int test(x, x) int x; {}'
llvm-svn: 49271
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 1 | ||||
-rw-r--r-- | clang/test/Parser/declarators.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index cae0cbb8ecd..0cf97d22de7 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1400,6 +1400,7 @@ void Parser::ParseFunctionDeclaratorIdentifierList(SourceLocation LParenLoc, // Tok is known to be the first identifier in the list. Remember this // identifier in ParamInfo. + ParamsSoFar.insert(Tok.getIdentifierInfo()); ParamInfo.push_back(DeclaratorChunk::ParamInfo(Tok.getIdentifierInfo(), Tok.getLocation(), 0)); diff --git a/clang/test/Parser/declarators.c b/clang/test/Parser/declarators.c index 410ac3686f1..3e0380ea878 100644 --- a/clang/test/Parser/declarators.c +++ b/clang/test/Parser/declarators.c @@ -30,3 +30,5 @@ int test3(x, atype /* expected-error {{unexpected type name 'atype': expected identifier}} */ ) int x, atype; {} +int test4(x, x) int x; {} /* expected-error {{redefinition of parameter 'x'}} */ + |