]> granicus.if.org Git - clang/commit
Make -fobjc-nonfragile-abi the -cc1 default, since it's the
authorJohn McCall <rjmccall@apple.com>
Sun, 2 Oct 2011 01:16:38 +0000 (01:16 +0000)
committerJohn McCall <rjmccall@apple.com>
Sun, 2 Oct 2011 01:16:38 +0000 (01:16 +0000)
commitd1e40d5389a4382cbebc97d54792f41ee0414af4
tree2c68b244340ddc8f8f4c754b1f23882a408bf022
parent6a835dddf45922e71a87637fdfac0863de65123c
Make -fobjc-nonfragile-abi the -cc1 default, since it's the
increasingly prevailing case to the point that new features
like ARC don't even support the fragile ABI anymore.

This required a little bit of reshuffling with exceptions
because a check was assuming that ObjCNonFragileABI was
only being set in ObjC mode, and that's actually a bit
obnoxious to do.

Most, though, it involved a perl script to translate a ton
of test cases.

Mostly no functionality change for driver users, although
there are corner cases with disabling language-specific
exceptions that we should handle more correctly now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140957 91177308-0d34-0410-b5e6-96231b3b80d8
309 files changed:
include/clang/Driver/CC1Options.td
lib/CodeGen/CodeGenModule.cpp
lib/Driver/Tools.cpp
lib/Frontend/CompilerInvocation.cpp
test/ARCMT/api.m
test/ARCMT/api.m.result
test/ARCMT/assign-prop-no-arc-runtime.m
test/ARCMT/assign-prop-no-arc-runtime.m.result
test/ARCMT/assign-prop-with-arc-runtime.m
test/ARCMT/assign-prop-with-arc-runtime.m.result
test/ARCMT/atautorelease-2.m
test/ARCMT/atautorelease-2.m.result
test/ARCMT/atautorelease-3.m
test/ARCMT/atautorelease-3.m.result
test/ARCMT/atautorelease-check.m
test/ARCMT/atautorelease.m
test/ARCMT/atautorelease.m.result
test/ARCMT/autoreleases.m
test/ARCMT/autoreleases.m.result
test/ARCMT/check-api.m
test/ARCMT/checking.m
test/ARCMT/cxx-checking.mm
test/ARCMT/cxx-rewrite.mm
test/ARCMT/cxx-rewrite.mm.result
test/ARCMT/dealloc.m
test/ARCMT/dealloc.m.result
test/ARCMT/init.m
test/ARCMT/init.m.result
test/ARCMT/migrate-emit-errors.m
test/ARCMT/migrate-plist-output.m
test/ARCMT/migrate-space-in-path.m
test/ARCMT/migrate.m
test/ARCMT/nonobjc-to-objc-cast-2.m
test/ARCMT/nonobjc-to-objc-cast.m
test/ARCMT/nonobjc-to-objc-cast.m.result
test/ARCMT/releases-driver.m
test/ARCMT/releases-driver.m.result
test/ARCMT/releases.m
test/ARCMT/releases.m.result
test/ARCMT/remove-dealloc-method.m
test/ARCMT/remove-dealloc-method.m.result
test/ARCMT/remove-dealloc-zerouts.m
test/ARCMT/remove-dealloc-zerouts.m.result
test/ARCMT/remove-statements.m
test/ARCMT/remove-statements.m.result
test/ARCMT/retains.m
test/ARCMT/retains.m.result
test/ARCMT/rewrite-block-var.m
test/ARCMT/rewrite-block-var.m.result
test/ARCMT/safe-arc-assign.m
test/ARCMT/safe-arc-assign.m.result
test/ARCMT/with-arc-mode-check.m
test/ARCMT/with-arc-mode-migrate.m
test/ARCMT/with-arc-mode-migrate.m.result
test/ARCMT/with-arc-mode-modify.m
test/ARCMT/with-arc-mode-modify.m.result
test/Analysis/objc-arc.m
test/Analysis/rdar-7168531.m
test/Analysis/unused-ivars.m
test/CodeGenObjC/2008-11-12-Metadata.m
test/CodeGenObjC/2008-11-24-ConstCFStrings.m
test/CodeGenObjC/2010-03-17-StructRef.m
test/CodeGenObjC/arc-arm.m
test/CodeGenObjC/arc-block-ivar-layout.m
test/CodeGenObjC/arc-bridged-cast.m
test/CodeGenObjC/arc-compound-stmt.m
test/CodeGenObjC/arc-foreach.m
test/CodeGenObjC/arc-ivar-layout.m
test/CodeGenObjC/arc-no-runtime.m
test/CodeGenObjC/arc-related-result-type.m
test/CodeGenObjC/arc-unbridged-cast.m
test/CodeGenObjC/arc-unopt.m
test/CodeGenObjC/arc-weak-property.m
test/CodeGenObjC/arc-with-atthrow.m
test/CodeGenObjC/arc.m
test/CodeGenObjC/arm-atomic-scalar-setter-getter.m
test/CodeGenObjC/assign.m
test/CodeGenObjC/atomic-aggregate-property.m
test/CodeGenObjC/attr-availability.m
test/CodeGenObjC/autorelease.m
test/CodeGenObjC/bitfield-1.m
test/CodeGenObjC/bitfield-access.m
test/CodeGenObjC/bitfield-ivar-offsets.m
test/CodeGenObjC/bitfield_encoding.m
test/CodeGenObjC/block-6.m
test/CodeGenObjC/block-var-layout.m
test/CodeGenObjC/blocks-1.m
test/CodeGenObjC/blocks-2.m
test/CodeGenObjC/blocks-3.m
test/CodeGenObjC/blocks-4.m
test/CodeGenObjC/blocks-5.m
test/CodeGenObjC/blocks.m
test/CodeGenObjC/builtins.m
test/CodeGenObjC/category-class.m
test/CodeGenObjC/class-type.m
test/CodeGenObjC/complex-property.m
test/CodeGenObjC/constant-string-class-1.m
test/CodeGenObjC/constant-string-class.m
test/CodeGenObjC/deadcode_strip_used_var.m
test/CodeGenObjC/debug-info-block-helper.m
test/CodeGenObjC/debug-info-blocks.m
test/CodeGenObjC/debug-info-class-extension.m
test/CodeGenObjC/debug-info-class-extension2.m
test/CodeGenObjC/debug-info-class-extension3.m
test/CodeGenObjC/debug-info-crash.m
test/CodeGenObjC/debug-info-default-synth-ivar.m
test/CodeGenObjC/debug-info-getter-name.m
test/CodeGenObjC/debug-info-static-var.m
test/CodeGenObjC/default-property-synthesis.m
test/CodeGenObjC/encode-cstyle-method.m
test/CodeGenObjC/encode-test.m
test/CodeGenObjC/exceptions-nonfragile.m
test/CodeGenObjC/exceptions.m
test/CodeGenObjC/forward-class-impl-metadata.m
test/CodeGenObjC/fpret.m
test/CodeGenObjC/gc-weak-attribute.m
test/CodeGenObjC/gc.m
test/CodeGenObjC/hidden-visibility.m
test/CodeGenObjC/id-isa-codegen.m
test/CodeGenObjC/image-info.m
test/CodeGenObjC/implicit-objc_msgSend.m
test/CodeGenObjC/instance-method-metadata.m
test/CodeGenObjC/interface-layout-64.m
test/CodeGenObjC/interface.m
test/CodeGenObjC/ivar-layout-64-bitfields.m
test/CodeGenObjC/ivar-layout-64.m
test/CodeGenObjC/ivar-layout-array0-struct.m
test/CodeGenObjC/ivar-layout-no-optimize.m
test/CodeGenObjC/ivar-layout-nonfragile-abi2.m
test/CodeGenObjC/ivars.m
test/CodeGenObjC/link-errors.m
test/CodeGenObjC/local-static-block.m
test/CodeGenObjC/messages-2.m
test/CodeGenObjC/messages.m
test/CodeGenObjC/metadata-symbols-32.m
test/CodeGenObjC/metadata-symbols-64.m
test/CodeGenObjC/metadata_symbols.m
test/CodeGenObjC/misc-atomic-property.m
test/CodeGenObjC/mrr-autorelease.m
test/CodeGenObjC/nested-rethrow.m
test/CodeGenObjC/next-objc-dispatch.m
test/CodeGenObjC/no-category-class.m
test/CodeGenObjC/no-vararg-messaging.m
test/CodeGenObjC/non-lazy-classes.m
test/CodeGenObjC/nonlazy-msgSend.m
test/CodeGenObjC/ns-constant-strings.m
test/CodeGenObjC/objc-align.m
test/CodeGenObjC/objc-assign-ivar.m
test/CodeGenObjC/objc-gc-aggr-assign.m
test/CodeGenObjC/objc-read-weak-byref.m
test/CodeGenObjC/objc2-assign-global.m
test/CodeGenObjC/objc2-ivar-assign.m
test/CodeGenObjC/objc2-legacy-dispatch.m
test/CodeGenObjC/objc2-new-gc-api-strongcast.m
test/CodeGenObjC/objc2-no-write-barrier.m
test/CodeGenObjC/objc2-nonfragile-abi-impl.m
test/CodeGenObjC/objc2-retain-codegen.m
test/CodeGenObjC/objc2-strong-cast-1.m
test/CodeGenObjC/objc2-strong-cast-block-import.m
test/CodeGenObjC/objc2-weak-assign.m
test/CodeGenObjC/objc2-weak-block-call.m
test/CodeGenObjC/objc2-weak-compare.m
test/CodeGenObjC/objc2-weak-import-attribute.m
test/CodeGenObjC/objc2-weak-ivar-debug.m
test/CodeGenObjC/objc2-weak-ivar.m
test/CodeGenObjC/objc2-write-barrier-2.m
test/CodeGenObjC/objc2-write-barrier-3.m
test/CodeGenObjC/objc2-write-barrier-4.m
test/CodeGenObjC/objc2-write-barrier-5.m
test/CodeGenObjC/objc2-write-barrier.m
test/CodeGenObjC/object-incr-decr-1.m
test/CodeGenObjC/predefined-expr.m
test/CodeGenObjC/property-aggregate.m
test/CodeGenObjC/property-category-impl.m
test/CodeGenObjC/property-complex.m
test/CodeGenObjC/property-list-in-class.m
test/CodeGenObjC/property-ref-cast-to-void.m
test/CodeGenObjC/property-type-mismatch.m
test/CodeGenObjC/protocol-in-extended-class.m
test/CodeGenObjC/protocol-property-synth.m
test/CodeGenObjC/protocols-lazy.m
test/CodeGenObjC/rdr-6732143-dangling-block-reference.m
test/CodeGenObjC/simplify-exceptions.mm
test/CodeGenObjC/stand-alone-implementation.m
test/CodeGenObjC/super-dotsyntax-struct-property.m
test/CodeGenObjC/super-message-fragileabi.m
test/CodeGenObjC/synchronized.m
test/CodeGenObjC/synthesize_ivar-cont-class.m
test/CodeGenObjC/synthesize_ivar.m
test/CodeGenObjC/terminate.m
test/CodeGenObjC/variadic-sends.m
test/CodeGenObjC/x86_64-struct-return-gc.m
test/CodeGenObjCXX/arc-globals.mm
test/CodeGenObjCXX/arc-mangle.mm
test/CodeGenObjCXX/arc-move.mm
test/CodeGenObjCXX/arc-new-delete.mm
test/CodeGenObjCXX/arc-pseudo-destructors.mm
test/CodeGenObjCXX/arc-references.mm
test/CodeGenObjCXX/arc-returns-inner-reference-ptr.mm
test/CodeGenObjCXX/arc-special-member-functions.mm
test/CodeGenObjCXX/arc.mm
test/CodeGenObjCXX/block-in-template-inst.mm
test/CodeGenObjCXX/block-var-layout.mm
test/CodeGenObjCXX/blocks.mm
test/CodeGenObjCXX/catch-id-type.mm
test/CodeGenObjCXX/copy.mm
test/CodeGenObjCXX/copyable-property-object.mm
test/CodeGenObjCXX/exceptions.mm
test/CodeGenObjCXX/gc.mm
test/CodeGenObjCXX/implicit-copy-assign-operator.mm
test/CodeGenObjCXX/implicit-copy-constructor.mm
test/CodeGenObjCXX/mangle-blocks.mm
test/CodeGenObjCXX/message-reference.mm
test/CodeGenObjCXX/nrvo.mm
test/CodeGenObjCXX/property-derived-to-base-conv.mm
test/CodeGenObjCXX/property-dot-copy.mm
test/CodeGenObjCXX/property-dot-reference.mm
test/CodeGenObjCXX/property-object-conditional-exp.mm
test/CodeGenObjCXX/property-objects.mm
test/CodeGenObjCXX/property-reference.mm
test/CodeGenObjCXX/refence-assign-write-barrier.mm
test/CodeGenObjCXX/selector-expr-lvalue.mm
test/CodeGenObjCXX/write-barrier-global-assign.mm
test/Driver/darwin-objc-defaults.m
test/Driver/darwin-objc-options.m
test/Driver/rewrite-objc.m
test/FixIt/typo.m
test/Index/TestClassForwardDecl.m
test/Index/c-index-api-loadTU-test.m
test/Index/c-index-getCursor-test.m
test/Lexer/has_feature_objc_arc.m
test/PCH/arc.m
test/Parser/objc-init.m
test/Preprocessor/init.c
test/Preprocessor/non_fragile_feature.m
test/Preprocessor/non_fragile_feature1.m
test/Preprocessor/predefined-exceptions.m
test/SemaObjC/arc-bridged-cast.m
test/SemaObjC/arc-cf.m
test/SemaObjC/arc-decls.m
test/SemaObjC/arc-jump-block.m
test/SemaObjC/arc-no-runtime.m
test/SemaObjC/arc-non-pod-memaccess.m
test/SemaObjC/arc-nsconsumed-errors.m
test/SemaObjC/arc-peformselector.m
test/SemaObjC/arc-property-decl-attrs.m
test/SemaObjC/arc-property-lifetime.m
test/SemaObjC/arc-property.m
test/SemaObjC/arc-retain-block-property.m
test/SemaObjC/arc-setter-property-match.m
test/SemaObjC/arc-system-header.m
test/SemaObjC/arc-type-conversion.m
test/SemaObjC/arc-unavailable-for-weakref.m
test/SemaObjC/arc-unavailable-system-function.m
test/SemaObjC/arc-unbridged-cast.m
test/SemaObjC/arc-unsafe-assigns.m
test/SemaObjC/arc-unsafe_unretained.m
test/SemaObjC/arc.m
test/SemaObjC/assign-rvalue-message.m
test/SemaObjC/at-defs.m
test/SemaObjC/bad-property-synthesis-crash.m
test/SemaObjC/class-bitfield.m
test/SemaObjC/conflict-nonfragile-abi2.m
test/SemaObjC/conflicting-ivar-test-1.m
test/SemaObjC/default-synthesize-1.m
test/SemaObjC/default-synthesize-2.m
test/SemaObjC/default-synthesize.m
test/SemaObjC/deref-interface.m
test/SemaObjC/direct-synthesized-ivar-access.m
test/SemaObjC/duplicate-ivar-in-class-extension.m
test/SemaObjC/interface-1.m
test/SemaObjC/interface-layout.m
test/SemaObjC/ivar-in-class-extension-error.m
test/SemaObjC/ivar-in-class-extension.m
test/SemaObjC/ivar-in-implementations.m
test/SemaObjC/ivar-sem-check-2.m
test/SemaObjC/objc-buffered-methods.m
test/SemaObjC/property-and-class-extension.m
test/SemaObjC/property-and-ivar-use.m
test/SemaObjC/property-nonfragile-abi.m
test/SemaObjC/property-ns-returns-not-retained-attr.m
test/SemaObjC/property.m
test/SemaObjC/provisional-ivar-lookup.m
test/SemaObjC/self-declared-in-block.m
test/SemaObjC/sizeof-interface.m
test/SemaObjC/synth-provisional-ivars-1.m
test/SemaObjC/synth-provisional-ivars.m
test/SemaObjC/synthesized-ivar.m
test/SemaObjC/warn-implicit-atomic-property.m
test/SemaObjC/warn-missing-super.m
test/SemaObjC/warn-retain-cycle.m
test/SemaObjC/weak-property.m
test/SemaObjCXX/arc-0x.mm
test/SemaObjCXX/arc-bool-conversion.mm
test/SemaObjCXX/arc-bridged-cast.mm
test/SemaObjCXX/arc-libstdcxx.mm
test/SemaObjCXX/arc-memfunc.mm
test/SemaObjCXX/arc-non-pod.mm
test/SemaObjCXX/arc-nsconsumed-errors.mm
test/SemaObjCXX/arc-object-init-destroy.mm
test/SemaObjCXX/arc-overloading.mm
test/SemaObjCXX/arc-system-header.mm
test/SemaObjCXX/arc-templates.mm
test/SemaObjCXX/arc-type-conversion.mm
test/SemaObjCXX/arc-type-traits.mm
test/SemaObjCXX/arc-unavailable-for-weakref.mm
test/SemaObjCXX/exceptions-fragile.mm
test/SemaObjCXX/message.mm
test/SemaObjCXX/property-reference.mm