summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclObjC.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-03-12 18:54:30 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-03-12 18:54:30 +0000
commitc677f693971f50ea664de8e75b724c17a8f4111a (patch)
tree2b54131dd8effa3a0123d616893119887fbd7df3 /clang/lib/Sema/SemaDeclObjC.cpp
parent68c1f55fdcf81e48b14878eb58d41667ff9c2e74 (diff)
downloadbcm5719-llvm-c677f693971f50ea664de8e75b724c17a8f4111a.tar.gz
bcm5719-llvm-c677f693971f50ea664de8e75b724c17a8f4111a.zip
Place duplicate argument declaration in in
method prototypes under the -Wduplicate-method-arg and turn it off by default. llvm-svn: 127552
Diffstat (limited to 'clang/lib/Sema/SemaDeclObjC.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclObjC.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp
index d34b00031df..8717385b516 100644
--- a/clang/lib/Sema/SemaDeclObjC.cpp
+++ b/clang/lib/Sema/SemaDeclObjC.cpp
@@ -1736,7 +1736,7 @@ Decl *Sema::ActOnMethodDeclaration(
ObjCArgInfo *ArgInfo,
DeclaratorChunk::ParamInfo *CParamInfo, unsigned CNumArgs, // c-style args
AttributeList *AttrList, tok::ObjCKeywordKind MethodDeclKind,
- bool isVariadic) {
+ bool isVariadic, bool MethodDefinition) {
// Make sure we can establish a context for the method.
if (!ClassDecl) {
Diag(MethodLoc, diag::error_missing_method_context);
@@ -1789,8 +1789,9 @@ Decl *Sema::ActOnMethodDeclaration(
if (R.isSingleResult()) {
NamedDecl *PrevDecl = R.getFoundDecl();
if (S->isDeclScope(PrevDecl)) {
- // FIXME. This should be an error; but will break projects.
- Diag(ArgInfo[i].NameLoc, diag::warn_method_param_redefinition)
+ Diag(ArgInfo[i].NameLoc,
+ (MethodDefinition ? diag::warn_method_param_redefinition
+ : diag::warn_method_param_declaration))
<< ArgInfo[i].Name;
Diag(PrevDecl->getLocation(),
diag::note_previous_declaration);
OpenPOWER on IntegriCloud