[cfe-commits] r160707 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td test/Analysis/delegates.m test/PCH/objc_methods.m test/Sema/warn-documentation.m test/Sema/warn-self-assign-field.mm test/SemaObjC/error-implicit-property.m test/Se

Nico Weber thakis at chromium.org
Tue Jul 31 11:21:52 PDT 2012


What's the recommended way to change code that intentionally doesn't
use a superclass? #pragma clang diagnostic?

(We have this guy in chromium:

// Deallocated objects are re-classed as |CrZombie|.  No superclass
// because then the class would have to override many/most of the
// inherited methods (|NSObject| is like a category magnet!).
@interface CrZombie {
  Class isa;
}
@end
)

On Wed, Jul 25, 2012 at 12:26 AM, Ted Kremenek <kremenek at apple.com> wrote:
> Author: kremenek
> Date: Wed Jul 25 02:26:32 2012
> New Revision: 160707
>
> URL: http://llvm.org/viewvc/llvm-project?rev=160707&view=rev
> Log:
> Turn -Wobjc-root-class on by default.  <rdar://problem/11203649>.
>
> Modified:
>     cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>     cfe/trunk/test/Analysis/delegates.m
>     cfe/trunk/test/PCH/objc_methods.m
>     cfe/trunk/test/Sema/warn-documentation.m
>     cfe/trunk/test/Sema/warn-self-assign-field.mm
>     cfe/trunk/test/SemaObjC/error-implicit-property.m
>     cfe/trunk/test/SemaObjC/iboutlet.m
>     cfe/trunk/test/SemaObjC/no-ivar-in-interface-block.m
>     cfe/trunk/test/SemaObjC/property-12.m
>     cfe/trunk/test/SemaObjC/weak-receiver-warn.m
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Wed Jul 25 02:26:32 2012
> @@ -480,7 +480,7 @@
>    "objc_root_class attribute may only be specified on a root class declaration">;
>  def warn_objc_root_class_missing : Warning<
>         "class %0 defined without specifying a base class">,
> -  InGroup<ObjCRootClass>, DefaultIgnore;
> +  InGroup<ObjCRootClass>;
>  def note_objc_needs_superclass : Note<
>    "add a super class to fix this problem">;
>  def warn_dup_category_def : Warning<
>
> Modified: cfe/trunk/test/Analysis/delegates.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/delegates.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/Analysis/delegates.m (original)
> +++ cfe/trunk/test/Analysis/delegates.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.RetainCount -analyzer-store=region -verify %s
> +// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.RetainCount -analyzer-store=region -Wno-objc-root-class -verify %s
>
>
>  //===----------------------------------------------------------------------===//
>
> Modified: cfe/trunk/test/PCH/objc_methods.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/objc_methods.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/PCH/objc_methods.m (original)
> +++ cfe/trunk/test/PCH/objc_methods.m Wed Jul 25 02:26:32 2012
> @@ -1,5 +1,5 @@
>  // Test this without pch.
> -// RUN: %clang_cc1 -include %S/objc_methods.h -fsyntax-only -verify %s
> +// RUN: %clang_cc1 -include %S/objc_methods.h -fsyntax-only -Wno-objc-root-class -verify %s
>
>  // Test with pch.
>  // RUN: %clang_cc1 -x objective-c -emit-pch -o %t %S/objc_methods.h
>
> Modified: cfe/trunk/test/Sema/warn-documentation.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-documentation.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/warn-documentation.m (original)
> +++ cfe/trunk/test/Sema/warn-documentation.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -Wdocumentation -Wdocumentation-pedantic -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -Wdocumentation -Wdocumentation-pedantic -verify %s
>
>  @class NSString;
>
>
> Modified: cfe/trunk/test/Sema/warn-self-assign-field.mm
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-self-assign-field.mm?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/warn-self-assign-field.mm (original)
> +++ cfe/trunk/test/Sema/warn-self-assign-field.mm Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -verify %s
>
>  class S {
>   public:
>
> Modified: cfe/trunk/test/SemaObjC/error-implicit-property.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/error-implicit-property.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/error-implicit-property.m (original)
> +++ cfe/trunk/test/SemaObjC/error-implicit-property.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -verify %s
> +// RUN: %clang_cc1 -Wno-objc-root-class -verify %s
>  // rdar://11273060
>
>  @interface I
>
> Modified: cfe/trunk/test/SemaObjC/iboutlet.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/iboutlet.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/iboutlet.m (original)
> +++ cfe/trunk/test/SemaObjC/iboutlet.m Wed Jul 25 02:26:32 2012
> @@ -1,5 +1,5 @@
> -// RUN: %clang_cc1 -fsyntax-only -fobjc-default-synthesize-properties  -verify %s
> -// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -fobjc-default-synthesize-properties  -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -fobjc-default-synthesize-properties -Wno-objc-root-class -verify %s
> +// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -fobjc-default-synthesize-properties -Wno-objc-root-class -verify %s
>  // rdar://11448209
>
>  #define READONLY readonly
>
> Modified: cfe/trunk/test/SemaObjC/no-ivar-in-interface-block.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/no-ivar-in-interface-block.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/no-ivar-in-interface-block.m (original)
> +++ cfe/trunk/test/SemaObjC/no-ivar-in-interface-block.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1  -fsyntax-only -verify -Wobjc-interface-ivars %s
> +// RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class -Wobjc-interface-ivars %s
>  // rdar://10763173
>
>  @interface I
>
> Modified: cfe/trunk/test/SemaObjC/property-12.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/property-12.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/property-12.m (original)
> +++ cfe/trunk/test/SemaObjC/property-12.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -Wreadonly-setter-attrs -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -Wreadonly-setter-attrs -verify %s
>
>  @protocol P0
>  @property(readonly,assign) id X; // expected-warning {{property attributes 'readonly' and 'assign' are mutually exclusive}}
>
> Modified: cfe/trunk/test/SemaObjC/weak-receiver-warn.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/weak-receiver-warn.m?rev=160707&r1=160706&r2=160707&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaObjC/weak-receiver-warn.m (original)
> +++ cfe/trunk/test/SemaObjC/weak-receiver-warn.m Wed Jul 25 02:26:32 2012
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -fobjc-runtime-has-weak -fobjc-arc -fblocks -Wreceiver-is-weak -verify %s
> +// RUN: %clang_cc1 -fsyntax-only -fobjc-runtime-has-weak -fobjc-arc -fblocks -Wno-objc-root-class -Wreceiver-is-weak -verify %s
>  // rdar://10225276
>
>  @interface Test0
>
>
> _______________________________________________
> 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