[cfe-commits] r163720 - in /cfe/trunk: include/clang/Basic/DiagnosticParseKinds.td lib/Parse/ParseObjc.cpp test/SemaObjC/warn-missing-selector-arg-name.m
Ted Kremenek
kremenek at apple.com
Wed Sep 12 09:50:35 PDT 2012
Author: kremenek
Date: Wed Sep 12 11:50:35 2012
New Revision: 163720
URL: http://llvm.org/viewvc/llvm-project?rev=163720&view=rev
Log:
Revert "objective-C: warn under a flag if missing argument"
We plan on discussing this more, but we shouldn't have it in the compiler
in an incomplete state.
Removed:
cfe/trunk/test/SemaObjC/warn-missing-selector-arg-name.m
Modified:
cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
cfe/trunk/lib/Parse/ParseObjc.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=163720&r1=163719&r2=163720&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Wed Sep 12 11:50:35 2012
@@ -357,12 +357,6 @@
def warn_cstyle_param : Warning<
"use of C-style parameters in Objective-C method declarations"
" is deprecated">, InGroup<DeprecatedDeclarations>;
-def warn_missing_argument_name : Warning<
- "no parameter name in the middle of a selector"
- " may result in incomplete selector name">,
- InGroup<DiagGroup<"missing-argument-name-in-selector">>, DefaultIgnore;
-def note_missing_argument_name : Note<
- "did you mean %0 as the selector name">;
let CategoryName = "ARC Parse Issue" in {
def err_arc_bridge_retain : Error<
Modified: cfe/trunk/lib/Parse/ParseObjc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseObjc.cpp?rev=163720&r1=163719&r2=163720&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/lib/Parse/ParseObjc.cpp Wed Sep 12 11:50:35 2012
@@ -1031,7 +1031,7 @@
Scope::FunctionPrototypeScope|Scope::DeclScope);
AttributePool allParamAttrs(AttrFactory);
- bool warnSelectorName = false;
+
while (1) {
ParsedAttributes paramAttrs(AttrFactory);
Sema::ObjCArgInfo ArgInfo;
@@ -1100,16 +1100,8 @@
// Check for another keyword selector.
SelIdent = ParseObjCSelectorPiece(selLoc);
- if (!SelIdent) {
- if (Tok.isNot(tok::colon))
- break;
- // parameter name was not followed with selector name; as in:
- // - (void) Meth: (id) Name:(id)Arg2; Issue a warning as user
- // might have meant: - (void) Meth: (id)Arg1 Name:(id)Arg2;
- Diag(Tok, diag::warn_missing_argument_name); // missing argument name.
- warnSelectorName = true;
- }
-
+ if (!SelIdent && Tok.isNot(tok::colon))
+ break;
// We have a selector or a colon, continue parsing.
}
@@ -1150,9 +1142,6 @@
Selector Sel = PP.getSelectorTable().getSelector(KeyIdents.size(),
&KeyIdents[0]);
- if (warnSelectorName)
- Diag(mLoc, diag::note_missing_argument_name) << Sel.getAsString();
-
Decl *Result
= Actions.ActOnMethodDeclaration(getCurScope(), mLoc, Tok.getLocation(),
mType, DSRet, ReturnType,
Removed: cfe/trunk/test/SemaObjC/warn-missing-selector-arg-name.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/warn-missing-selector-arg-name.m?rev=163719&view=auto
==============================================================================
--- cfe/trunk/test/SemaObjC/warn-missing-selector-arg-name.m (original)
+++ cfe/trunk/test/SemaObjC/warn-missing-selector-arg-name.m (removed)
@@ -1,22 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class -Wmissing-argument-name-in-selector %s
-// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify -Wno-objc-root-class -Wmissing-argument-name-in-selector %s
-// rdar://12263549
-
- at interface Super @end
- at interface INTF : Super
--(void) Name1:(id)Arg1 Name2:(id)Arg2; // Name1:Name2:
--(void) Name1:(id) Name2:(id)Arg2; // expected-warning {{no parameter name in the middle of a selector may result in incomplete selector name}} \
- // expected-note {{did you mean Name1:: as the selector name}}
--(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3; // Name1:Name2:Name3:
--(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3; // expected-warning {{no parameter name in the middle of a selector may result in incomplete selector name}} \
- // expected-note {{did you mean Name1:Name2:: as the selector name}}
- at end
-
- at implementation INTF
--(void) Name1:(id)Arg1 Name2:(id)Arg2{}
--(void) Name1:(id) Name2:(id)Arg2 {} // expected-warning {{no parameter name in the middle of a selector may result in incomplete selector name}} \
- // expected-note {{did you mean Name1:: as the selector name}}
--(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3 {}
--(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3 {} // expected-warning {{no parameter name in the middle of a selector may result in incomplete selector name}} \
- // expected-note {{did you mean Name1:Name2:: as the selector name}}
- at end
More information about the cfe-commits
mailing list