]> granicus.if.org Git - clang/commit
Added a new attribute, objc_root_class, which informs the compiler when a root class...
authorPatrick Beard <pcbeard@mac.com>
Fri, 6 Apr 2012 18:12:22 +0000 (18:12 +0000)
committerPatrick Beard <pcbeard@mac.com>
Fri, 6 Apr 2012 18:12:22 +0000 (18:12 +0000)
commitb2f6820773aabff3c5c9e0dbb1cbbbda0d80c41f
tree69f8b2976891ffc83299227be23f82c42bc1ac97
parentaba3f0f8658b099fabd17f29f67bf6dd8ee5ddfd
Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154187 91177308-0d34-0410-b5e6-96231b3b80d8
209 files changed:
include/clang/AST/NSAPI.h
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticGroups.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/AST/NSAPI.cpp
lib/Parse/ParseObjc.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaDeclObjC.cpp
test/Analysis/CheckNSError.m
test/Analysis/NSPanel.m
test/Analysis/NSString.m
test/Analysis/ObjCProperties.m
test/Analysis/ObjCRetSigs.m
test/Analysis/dead-stores.m
test/Analysis/malloc.m
test/Analysis/misc-ps-region-store.m
test/Analysis/misc-ps.m
test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret-region.m
test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
test/Analysis/pr_2542_rdar_6793404.m
test/Analysis/properties.m
test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
test/Analysis/retain-release-gc-only.m
test/Analysis/retain-release.m
test/Analysis/unused-ivars.m
test/FixIt/fixit-missing-method-return-type.m
test/FixIt/typo.m
test/Modules/redecl-merge.m
test/PCH/chain-categories2.m
test/PCH/chain-selectors.m
test/PCH/method_pool.m
test/Parser/missing-end-4.m
test/Parser/objc-forcollection-neg-2.m
test/Parser/objc-forcollection-neg.m
test/Parser/objc-foreach-syntax.m
test/Parser/objc-init.m
test/Parser/objc-property-syntax.m
test/Parser/objc-synthesized-recover.m
test/SemaObjC/ClassPropertyNotObject.m
test/SemaObjC/ContClassPropertyLookup.m
test/SemaObjC/DoubleMethod.m
test/SemaObjC/alias-test-2.m
test/SemaObjC/arc-decls.m
test/SemaObjC/arc-jump-block.m
test/SemaObjC/arc-no-runtime.m
test/SemaObjC/arc-objc-lifetime.m
test/SemaObjC/arc-property-lifetime.m
test/SemaObjC/arc-property.m
test/SemaObjC/arc-readonly-property-ivar-1.m
test/SemaObjC/arc-readonly-property-ivar.m
test/SemaObjC/arc-retain-block-property.m
test/SemaObjC/arc-setter-property-match.m
test/SemaObjC/arc-unavailable-for-weakref.m
test/SemaObjC/arc-unsafe-assigns.m
test/SemaObjC/arc.m
test/SemaObjC/assign-rvalue-message.m
test/SemaObjC/atomoic-property-synnthesis-rules.m
test/SemaObjC/attr-deprecated.m
test/SemaObjC/attr-root-class.m [new file with mode: 0644]
test/SemaObjC/autoreleasepool.m
test/SemaObjC/bad-property-synthesis-crash.m
test/SemaObjC/block-on-method-param.m
test/SemaObjC/block-type-safety.m
test/SemaObjC/category-1.m
test/SemaObjC/category-method-lookup.m
test/SemaObjC/check-dup-objc-decls-1.m
test/SemaObjC/class-extension-after-implementation.m
test/SemaObjC/class-getter-using-dotsyntax.m
test/SemaObjC/class-impl-1.m
test/SemaObjC/class-message-protocol-lookup.m
test/SemaObjC/class-method-self.m
test/SemaObjC/class-protocol-method-match.m
test/SemaObjC/compatible-protocol-qualified-types.m
test/SemaObjC/comptypes-10.m
test/SemaObjC/comptypes-a.m
test/SemaObjC/conditional-expr-5.m
test/SemaObjC/conditional-expr.m
test/SemaObjC/conflict-nonfragile-abi2.m
test/SemaObjC/conflicting-ivar-test-1.m
test/SemaObjC/continuation-class-err.m
test/SemaObjC/custom-atomic-property.m
test/SemaObjC/default-synthesize-1.m
test/SemaObjC/default-synthesize-2.m
test/SemaObjC/default-synthesize-3.m
test/SemaObjC/default-synthesize.m
test/SemaObjC/deref-interface.m
test/SemaObjC/direct-synthesized-ivar-access.m
test/SemaObjC/dist-object-modifiers.m
test/SemaObjC/enhanced-proto-2.m
test/SemaObjC/err-ivar-access-in-class-method.m
test/SemaObjC/error-property-gc-attr.m
test/SemaObjC/format-strings-objc.m
test/SemaObjC/forward-class-1.m
test/SemaObjC/gcc-cast-ext.m
test/SemaObjC/ibaction.m
test/SemaObjC/idiomatic-parentheses.m
test/SemaObjC/incomplete-implementation.m
test/SemaObjC/interface-scope-2.m
test/SemaObjC/invalid-code.m
test/SemaObjC/ivar-access-tests.m
test/SemaObjC/ivar-in-class-extension.m
test/SemaObjC/ivar-in-implementations.m
test/SemaObjC/ivar-lookup-resolution-builtin.m
test/SemaObjC/ivar-lookup.m
test/SemaObjC/ivar-ref-misuse.m
test/SemaObjC/legacy-implementation-1.m
test/SemaObjC/message.m
test/SemaObjC/method-attributes.m
test/SemaObjC/method-bad-param.m
test/SemaObjC/method-conflict-1.m
test/SemaObjC/method-conflict-2.m
test/SemaObjC/method-conflict.m
test/SemaObjC/method-def-1.m
test/SemaObjC/method-lookup.m
test/SemaObjC/method-prototype-scope.m
test/SemaObjC/method-typecheck-1.m
test/SemaObjC/method-undef-extension-warn-1.m
test/SemaObjC/method-undefined-warn-1.m
test/SemaObjC/method-unused-attribute.m
test/SemaObjC/missing-atend-metadata.m
test/SemaObjC/missing-method-return-type.m
test/SemaObjC/nested-typedef-decl.m
test/SemaObjC/newproperty-class-method-1.m
test/SemaObjC/no-gc-weak-test.m
test/SemaObjC/no-ivar-access-control.m
test/SemaObjC/no-protocol-option-tests.m
test/SemaObjC/no-warn-qual-mismatch.m
test/SemaObjC/no-warn-synth-protocol-meth.m
test/SemaObjC/no-warning-unavail-unimp.m
test/SemaObjC/nonnull.m
test/SemaObjC/nsobject-attribute-1.m
test/SemaObjC/nsobject-attribute.m
test/SemaObjC/objc-buffered-methods.m
test/SemaObjC/objc-cstyle-args-in-methods.m
test/SemaObjC/objc-qualified-property-lookup.m
test/SemaObjC/pedantic-dynamic-test.m
test/SemaObjC/pragma-pack.m
test/SemaObjC/property-2.m
test/SemaObjC/property-9.m
test/SemaObjC/property-and-ivar-use.m
test/SemaObjC/property-category-1.m
test/SemaObjC/property-category-3.m
test/SemaObjC/property-category-4.m
test/SemaObjC/property-category-impl.m
test/SemaObjC/property-dot-receiver.m
test/SemaObjC/property-expression-error.m
test/SemaObjC/property-impl-misuse.m
test/SemaObjC/property-in-class-extension.m
test/SemaObjC/property-ivar-mismatch.m
test/SemaObjC/property-lookup-in-id.m
test/SemaObjC/property-method-lookup-impl.m
test/SemaObjC/property-not-lvalue.m
test/SemaObjC/property-ns-returns-not-retained-attr.m
test/SemaObjC/property-redundant-decl-accessor.m
test/SemaObjC/property-typecheck-1.m
test/SemaObjC/property-user-setter.m
test/SemaObjC/property.m
test/SemaObjC/protocol-archane.m
test/SemaObjC/protocol-id-test-1.m
test/SemaObjC/protocol-id-test-2.m
test/SemaObjC/provisional-ivar-lookup.m
test/SemaObjC/qualified-protocol-method-conflicts.m
test/SemaObjC/related-result-type-inference.m
test/SemaObjC/return.m
test/SemaObjC/scope-check.m
test/SemaObjC/selector-3.m
test/SemaObjC/selector-error.m
test/SemaObjC/self-assign.m
test/SemaObjC/self-declared-in-block.m
test/SemaObjC/severe-syntax-error.m
test/SemaObjC/sizeof-interface.m
test/SemaObjC/stand-alone-implementation.m
test/SemaObjC/synchronized.m
test/SemaObjC/synth-provisional-ivars-1.m
test/SemaObjC/synth-provisional-ivars.m
test/SemaObjC/synthesize-setter-contclass.m
test/SemaObjC/synthesized-ivar.m
test/SemaObjC/transparent-union.m
test/SemaObjC/undeclared-selector.m
test/SemaObjC/undef-protocol-methods-1.m
test/SemaObjC/undef-superclass-1.m
test/SemaObjC/unimplemented-protocol-prop.m
test/SemaObjC/unused.m
test/SemaObjC/warn-deprecated-implementations.m
test/SemaObjC/warn-forward-class-attr-deprecated.m
test/SemaObjC/warn-implicit-atomic-property.m
test/SemaObjC/warn-missing-super.m
test/SemaObjC/warn-retain-cycle.m
test/SemaObjC/warn-weak-field.m
test/SemaObjC/weak-property.m
test/SemaObjCXX/arc-overloading.mm
test/SemaObjCXX/blocks.mm
test/SemaObjCXX/composite-objc-pointertype.mm
test/SemaObjCXX/cstyle-block-pointer-cast.mm
test/SemaObjCXX/cxxoperator-selector.mm
test/SemaObjCXX/fragile-abi-object-assign.m
test/SemaObjCXX/goto.mm
test/SemaObjCXX/instantiate-method-return.mm
test/SemaObjCXX/ivar-construct.mm
test/SemaObjCXX/ivar-lookup.mm
test/SemaObjCXX/message.mm
test/SemaObjCXX/objc-decls-inside-namespace.mm
test/SemaObjCXX/objc-pointer-conv.mm
test/SemaObjCXX/overload.mm
test/SemaObjCXX/propert-dot-error.mm
test/SemaObjCXX/properties.mm
test/SemaObjCXX/property-reference.mm
test/SemaObjCXX/property-synthesis-error.mm
test/SemaObjCXX/void_to_obj.mm