aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Beard <pcbeard@mac.com>2012-04-06 18:12:22 +0000
committerPatrick Beard <pcbeard@mac.com>2012-04-06 18:12:22 +0000
commitb2f6820773aabff3c5c9e0dbb1cbbbda0d80c41f (patch)
tree69f8b2976891ffc83299227be23f82c42bc1ac97
parentaba3f0f8658b099fabd17f29f67bf6dd8ee5ddfd (diff)
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
-rw-r--r--include/clang/AST/NSAPI.h3
-rw-r--r--include/clang/Basic/Attr.td7
-rw-r--r--include/clang/Basic/DiagnosticGroups.td1
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td7
-rw-r--r--lib/AST/NSAPI.cpp1
-rw-r--r--lib/Parse/ParseObjc.cpp1
-rw-r--r--lib/Sema/SemaDeclAttr.cpp19
-rw-r--r--lib/Sema/SemaDeclObjC.cpp31
-rw-r--r--test/Analysis/CheckNSError.m4
-rw-r--r--test/Analysis/NSPanel.m4
-rw-r--r--test/Analysis/NSString.m8
-rw-r--r--test/Analysis/ObjCProperties.m4
-rw-r--r--test/Analysis/ObjCRetSigs.m2
-rw-r--r--test/Analysis/dead-stores.m2
-rw-r--r--test/Analysis/malloc.m2
-rw-r--r--test/Analysis/misc-ps-region-store.m4
-rw-r--r--test/Analysis/misc-ps.m8
-rw-r--r--test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret-region.m2
-rw-r--r--test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m6
-rw-r--r--test/Analysis/pr_2542_rdar_6793404.m2
-rw-r--r--test/Analysis/properties.m2
-rw-r--r--test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m2
-rw-r--r--test/Analysis/retain-release-gc-only.m2
-rw-r--r--test/Analysis/retain-release.m4
-rw-r--r--test/Analysis/unused-ivars.m2
-rw-r--r--test/FixIt/fixit-missing-method-return-type.m8
-rw-r--r--test/FixIt/typo.m6
-rw-r--r--test/Modules/redecl-merge.m4
-rw-r--r--test/PCH/chain-categories2.m4
-rw-r--r--test/PCH/chain-selectors.m8
-rw-r--r--test/PCH/method_pool.m6
-rw-r--r--test/Parser/missing-end-4.m2
-rw-r--r--test/Parser/objc-forcollection-neg-2.m2
-rw-r--r--test/Parser/objc-forcollection-neg.m2
-rw-r--r--test/Parser/objc-foreach-syntax.m2
-rw-r--r--test/Parser/objc-init.m4
-rw-r--r--test/Parser/objc-property-syntax.m2
-rw-r--r--test/Parser/objc-synthesized-recover.m2
-rw-r--r--test/SemaObjC/ClassPropertyNotObject.m4
-rw-r--r--test/SemaObjC/ContClassPropertyLookup.m2
-rw-r--r--test/SemaObjC/DoubleMethod.m2
-rw-r--r--test/SemaObjC/alias-test-2.m2
-rw-r--r--test/SemaObjC/arc-decls.m2
-rw-r--r--test/SemaObjC/arc-jump-block.m2
-rw-r--r--test/SemaObjC/arc-no-runtime.m2
-rw-r--r--test/SemaObjC/arc-objc-lifetime.m4
-rw-r--r--test/SemaObjC/arc-property-lifetime.m2
-rw-r--r--test/SemaObjC/arc-property.m2
-rw-r--r--test/SemaObjC/arc-readonly-property-ivar-1.m4
-rw-r--r--test/SemaObjC/arc-readonly-property-ivar.m2
-rw-r--r--test/SemaObjC/arc-retain-block-property.m2
-rw-r--r--test/SemaObjC/arc-setter-property-match.m2
-rw-r--r--test/SemaObjC/arc-unavailable-for-weakref.m2
-rw-r--r--test/SemaObjC/arc-unsafe-assigns.m2
-rw-r--r--test/SemaObjC/arc.m2
-rw-r--r--test/SemaObjC/assign-rvalue-message.m4
-rw-r--r--test/SemaObjC/atomoic-property-synnthesis-rules.m2
-rw-r--r--test/SemaObjC/attr-deprecated.m2
-rw-r--r--test/SemaObjC/attr-root-class.m16
-rw-r--r--test/SemaObjC/autoreleasepool.m2
-rw-r--r--test/SemaObjC/bad-property-synthesis-crash.m2
-rw-r--r--test/SemaObjC/block-on-method-param.m4
-rw-r--r--test/SemaObjC/block-type-safety.m2
-rw-r--r--test/SemaObjC/category-1.m2
-rw-r--r--test/SemaObjC/category-method-lookup.m2
-rw-r--r--test/SemaObjC/check-dup-objc-decls-1.m2
-rw-r--r--test/SemaObjC/class-extension-after-implementation.m2
-rw-r--r--test/SemaObjC/class-getter-using-dotsyntax.m2
-rw-r--r--test/SemaObjC/class-impl-1.m2
-rw-r--r--test/SemaObjC/class-message-protocol-lookup.m2
-rw-r--r--test/SemaObjC/class-method-self.m2
-rw-r--r--test/SemaObjC/class-protocol-method-match.m2
-rw-r--r--test/SemaObjC/compatible-protocol-qualified-types.m2
-rw-r--r--test/SemaObjC/comptypes-10.m2
-rw-r--r--test/SemaObjC/comptypes-a.m2
-rw-r--r--test/SemaObjC/conditional-expr-5.m2
-rw-r--r--test/SemaObjC/conditional-expr.m2
-rw-r--r--test/SemaObjC/conflict-nonfragile-abi2.m2
-rw-r--r--test/SemaObjC/conflicting-ivar-test-1.m2
-rw-r--r--test/SemaObjC/continuation-class-err.m2
-rw-r--r--test/SemaObjC/custom-atomic-property.m2
-rw-r--r--test/SemaObjC/default-synthesize-1.m2
-rw-r--r--test/SemaObjC/default-synthesize-2.m4
-rw-r--r--test/SemaObjC/default-synthesize-3.m4
-rw-r--r--test/SemaObjC/default-synthesize.m2
-rw-r--r--test/SemaObjC/deref-interface.m2
-rw-r--r--test/SemaObjC/direct-synthesized-ivar-access.m2
-rw-r--r--test/SemaObjC/dist-object-modifiers.m2
-rw-r--r--test/SemaObjC/enhanced-proto-2.m2
-rw-r--r--test/SemaObjC/err-ivar-access-in-class-method.m4
-rw-r--r--test/SemaObjC/error-property-gc-attr.m4
-rw-r--r--test/SemaObjC/format-strings-objc.m2
-rw-r--r--test/SemaObjC/forward-class-1.m2
-rw-r--r--test/SemaObjC/gcc-cast-ext.m2
-rw-r--r--test/SemaObjC/ibaction.m2
-rw-r--r--test/SemaObjC/idiomatic-parentheses.m2
-rw-r--r--test/SemaObjC/incomplete-implementation.m2
-rw-r--r--test/SemaObjC/interface-scope-2.m2
-rw-r--r--test/SemaObjC/invalid-code.m2
-rw-r--r--test/SemaObjC/ivar-access-tests.m2
-rw-r--r--test/SemaObjC/ivar-in-class-extension.m2
-rw-r--r--test/SemaObjC/ivar-in-implementations.m2
-rw-r--r--test/SemaObjC/ivar-lookup-resolution-builtin.m2
-rw-r--r--test/SemaObjC/ivar-lookup.m2
-rw-r--r--test/SemaObjC/ivar-ref-misuse.m2
-rw-r--r--test/SemaObjC/legacy-implementation-1.m2
-rw-r--r--test/SemaObjC/message.m2
-rw-r--r--test/SemaObjC/method-attributes.m2
-rw-r--r--test/SemaObjC/method-bad-param.m2
-rw-r--r--test/SemaObjC/method-conflict-1.m2
-rw-r--r--test/SemaObjC/method-conflict-2.m2
-rw-r--r--test/SemaObjC/method-conflict.m2
-rw-r--r--test/SemaObjC/method-def-1.m2
-rw-r--r--test/SemaObjC/method-lookup.m2
-rw-r--r--test/SemaObjC/method-prototype-scope.m2
-rw-r--r--test/SemaObjC/method-typecheck-1.m2
-rw-r--r--test/SemaObjC/method-undef-extension-warn-1.m2
-rw-r--r--test/SemaObjC/method-undefined-warn-1.m2
-rw-r--r--test/SemaObjC/method-unused-attribute.m2
-rw-r--r--test/SemaObjC/missing-atend-metadata.m2
-rw-r--r--test/SemaObjC/missing-method-return-type.m2
-rw-r--r--test/SemaObjC/nested-typedef-decl.m4
-rw-r--r--test/SemaObjC/newproperty-class-method-1.m2
-rw-r--r--test/SemaObjC/no-gc-weak-test.m2
-rw-r--r--test/SemaObjC/no-ivar-access-control.m4
-rw-r--r--test/SemaObjC/no-protocol-option-tests.m2
-rw-r--r--test/SemaObjC/no-warn-qual-mismatch.m2
-rw-r--r--test/SemaObjC/no-warn-synth-protocol-meth.m2
-rw-r--r--test/SemaObjC/no-warning-unavail-unimp.m2
-rw-r--r--test/SemaObjC/nonnull.m2
-rw-r--r--test/SemaObjC/nsobject-attribute-1.m2
-rw-r--r--test/SemaObjC/nsobject-attribute.m2
-rw-r--r--test/SemaObjC/objc-buffered-methods.m2
-rw-r--r--test/SemaObjC/objc-cstyle-args-in-methods.m2
-rw-r--r--