[cfe-commits] r158929 - in /cfe/trunk: include/clang/Basic/DiagnosticParseKinds.td lib/Parse/ParseObjc.cpp test/SemaObjC/method-prototype-scope.m test/SemaObjC/mismatched-undefined-method.m test/SemaObjC/objc-cstyle-args-in-methods.m test/SemaObjC/protocols.m test/SemaObjC/related-result-type-inference.m

Jordan Rose jordan_rose at apple.com
Thu Jun 21 13:09:07 PDT 2012


Woohoo!

(Seriously, can't believe this stuck around so long.)

On Jun 21, 2012, at 11:43 AM, Fariborz Jahanian wrote:

> Author: fjahanian
> Date: Thu Jun 21 13:43:08 2012
> New Revision: 158929
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=158929&view=rev
> Log:
> objective-c: deprecated C-like parameters in Objective-C 
> method declarations.
> // rdar://11578353.
> 
> Modified:
>    cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
>    cfe/trunk/lib/Parse/ParseObjc.cpp
>    cfe/trunk/test/SemaObjC/method-prototype-scope.m
>    cfe/trunk/test/SemaObjC/mismatched-undefined-method.m
>    cfe/trunk/test/SemaObjC/objc-cstyle-args-in-methods.m
>    cfe/trunk/test/SemaObjC/protocols.m
>    cfe/trunk/test/SemaObjC/related-result-type-inference.m
> 
> Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Thu Jun 21 13:43:08 2012
> @@ -339,6 +339,9 @@
>   "cannot cast 'super' (it isn't an expression)">;
> def err_nsnumber_nonliteral_unary : Error<
>   "@%0 must be followed by a number to form an NSNumber object">;
> +def warn_cstyle_param : Warning<
> +  "use of C-style parameters in Objective-C method declarations"
> +  " is deprecated">, InGroup<DeprecatedDeclarations>;
> 
> 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=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
> +++ cfe/trunk/lib/Parse/ParseObjc.cpp Thu Jun 21 13:43:08 2012
> @@ -1106,7 +1106,7 @@
>   }
> 
>   bool isVariadic = false;
> -
> +  bool cStyleParamWarned = false;
>   // Parse the (optional) parameter list.
>   while (Tok.is(tok::comma)) {
>     ConsumeToken();
> @@ -1115,6 +1115,10 @@
>       ConsumeToken();
>       break;
>     }
> +    if (!cStyleParamWarned) {
> +      Diag(Tok, diag::warn_cstyle_param);
> +      cStyleParamWarned = true;
> +    }
>     DeclSpec DS(AttrFactory);
>     ParseDeclarationSpecifiers(DS);
>     // Parse the declarator.
> @@ -1126,7 +1130,6 @@
>                                                     ParmDecl.getIdentifierLoc(), 
>                                                     Param,
>                                                    0));
> -
>   }
> 
>   // FIXME: Add support for optional parameter list...
> 
> Modified: cfe/trunk/test/SemaObjC/method-prototype-scope.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/method-prototype-scope.m?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/method-prototype-scope.m (original)
> +++ cfe/trunk/test/SemaObjC/method-prototype-scope.m Thu Jun 21 13:43:08 2012
> @@ -7,7 +7,7 @@
> @class NSString, NSArray;
> 
> @interface Test 
> -- Func:(int)XXXX, id object;
> +- Func:(int)XXXX, id object; // expected-warning {{use of C-style parameters in Objective-C method declarations is deprecated}}
> 
> - doSomethingElseWith:(id)object;
> 
> @@ -23,7 +23,7 @@
>     return object; // expected-warning {{incompatible pointer types returning 'NSArray *' from a function with result type 'NSString *'}}
> }
> 
> -- Func:(int)XXXX, id object { return object; }
> +- Func:(int)XXXX, id object { return object; } // expected-warning {{use of C-style parameters in Objective-C method declarations is deprecated}}
> 
> - doSomethingElseWith:(id)object { return object; }
> 
> 
> Modified: cfe/trunk/test/SemaObjC/mismatched-undefined-method.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/mismatched-undefined-method.m?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/mismatched-undefined-method.m (original)
> +++ cfe/trunk/test/SemaObjC/mismatched-undefined-method.m Thu Jun 21 13:43:08 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1  -fsyntax-only -verify %s
> +// RUN: %clang_cc1  -fsyntax-only -Wno-deprecated-declarations -verify %s
> // rdar://11460990
> 
> typedef unsigned int CGDirectDisplayID;
> 
> Modified: cfe/trunk/test/SemaObjC/objc-cstyle-args-in-methods.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/objc-cstyle-args-in-methods.m?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/objc-cstyle-args-in-methods.m (original)
> +++ cfe/trunk/test/SemaObjC/objc-cstyle-args-in-methods.m Thu Jun 21 13:43:08 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s
> +// RUN: %clang_cc1  -fsyntax-only -Wno-deprecated-declarations -verify -Wno-objc-root-class %s
> 
> @interface Foo 
> - (id)test:(id)one, id two;
> 
> Modified: cfe/trunk/test/SemaObjC/protocols.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/protocols.m?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/protocols.m (original)
> +++ cfe/trunk/test/SemaObjC/protocols.m Thu Jun 21 13:43:08 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated-declarations -verify %s
> 
> @interface INTF1
> @required  // expected-error {{directive may only be specified in protocols only}}
> 
> Modified: cfe/trunk/test/SemaObjC/related-result-type-inference.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/related-result-type-inference.m?rev=158929&r1=158928&r2=158929&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/related-result-type-inference.m (original)
> +++ cfe/trunk/test/SemaObjC/related-result-type-inference.m Thu Jun 21 13:43:08 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -verify -Wno-objc-root-class %s
> +// RUN: %clang_cc1 -verify -Wno-deprecated-declarations -Wno-objc-root-class %s
> 
> @interface Unrelated
> @end
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list