diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 9445a4862c6..cae0cbb8ecd 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1415,8 +1415,12 @@ void Parser::ParseFunctionDeclaratorIdentifierList(SourceLocation LParenLoc, SkipUntil(tok::r_paren); return; } - + IdentifierInfo *ParmII = Tok.getIdentifierInfo(); + + // Reject 'typedef int y; int test(x, y)', but continue parsing. + if (Actions.isTypeName(*ParmII, CurScope)) + Diag(Tok, diag::err_unexpected_typedef_ident, ParmII->getName()); // Verify that the argument identifier has not already been mentioned. if (!ParamsSoFar.insert(ParmII)) { |