[flang-commits] [clang] [flang] [Clang] Remove ARCMigrate (PR #119269)

via flang-commits flang-commits at lists.llvm.org
Mon Dec 9 12:46:35 PST 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: None (Sirraide)

<details>
<summary>Changes</summary>

In the discussion around #<!-- -->116792, @<!-- -->rjmccall mentioned that ARCMigrate has been obsoleted and that we could go ahead and remove it from Clang, so this patch does just that.

I searched for every mention of ‘ARCMT’/‘ARCMigrate’/‘ObjCRewrite’ and removed everything that seemed related to what I was able to find. I also had to touch a bunch of bazel and gn build scripts as part of this, neither of which I’m familiar with so it’s possible that I missed something there.

---

Patch is 1.49 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/119269.diff


383 Files Affected:

- (modified) clang/CMakeLists.txt (-9) 
- (modified) clang/cmake/caches/Android.cmake (-1) 
- (modified) clang/cmake/caches/Fuchsia-stage2.cmake (-1) 
- (modified) clang/cmake/caches/Fuchsia.cmake (-1) 
- (modified) clang/docs/ReleaseNotes.rst (+2) 
- (modified) clang/include/clang-c/Index.h (-60) 
- (removed) clang/include/clang/ARCMigrate/ARCMT.h (-130) 
- (removed) clang/include/clang/ARCMigrate/ARCMTActions.h (-76) 
- (removed) clang/include/clang/ARCMigrate/FileRemapper.h (-84) 
- (modified) clang/include/clang/Basic/DiagnosticCommonKinds.td (-10) 
- (modified) clang/include/clang/Config/config.h.cmake (-2) 
- (modified) clang/include/clang/Driver/Action.h (-12) 
- (modified) clang/include/clang/Driver/Options.td (+1-109) 
- (modified) clang/include/clang/Frontend/FrontendOptions.h (+8-84) 
- (modified) clang/include/clang/Rewrite/Frontend/FrontendActions.h (-6) 
- (removed) clang/lib/ARCMigrate/ARCMT.cpp (-616) 
- (removed) clang/lib/ARCMigrate/ARCMTActions.cpp (-59) 
- (removed) clang/lib/ARCMigrate/CMakeLists.txt (-48) 
- (removed) clang/lib/ARCMigrate/FileRemapper.cpp (-274) 
- (removed) clang/lib/ARCMigrate/Internals.h (-180) 
- (removed) clang/lib/ARCMigrate/ObjCMT.cpp (-2262) 
- (removed) clang/lib/ARCMigrate/PlistReporter.cpp (-124) 
- (removed) clang/lib/ARCMigrate/TransAPIUses.cpp (-107) 
- (removed) clang/lib/ARCMigrate/TransARCAssign.cpp (-77) 
- (removed) clang/lib/ARCMigrate/TransAutoreleasePool.cpp (-435) 
- (removed) clang/lib/ARCMigrate/TransBlockObjCVariable.cpp (-146) 
- (removed) clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp (-249) 
- (removed) clang/lib/ARCMigrate/TransGCAttrs.cpp (-350) 
- (removed) clang/lib/ARCMigrate/TransGCCalls.cpp (-76) 
- (removed) clang/lib/ARCMigrate/TransProperties.cpp (-379) 
- (removed) clang/lib/ARCMigrate/TransProtectedScope.cpp (-203) 
- (removed) clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp (-459) 
- (removed) clang/lib/ARCMigrate/TransUnbridgedCasts.cpp (-466) 
- (removed) clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp (-77) 
- (removed) clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp (-224) 
- (removed) clang/lib/ARCMigrate/TransformActions.cpp (-700) 
- (removed) clang/lib/ARCMigrate/Transforms.cpp (-594) 
- (removed) clang/lib/ARCMigrate/Transforms.h (-224) 
- (modified) clang/lib/CMakeLists.txt (-3) 
- (modified) clang/lib/Driver/Action.cpp (+2-7) 
- (modified) clang/lib/Driver/Driver.cpp (+2-4) 
- (modified) clang/lib/Driver/ToolChain.cpp (-1) 
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (-76) 
- (modified) clang/lib/Driver/ToolChains/Darwin.cpp (-14) 
- (modified) clang/lib/Frontend/CompilerInstance.cpp (-4) 
- (modified) clang/lib/Frontend/CompilerInvocation.cpp (-13) 
- (modified) clang/lib/Frontend/InitPreprocessor.cpp (+1-2) 
- (modified) clang/lib/Frontend/Rewrite/CMakeLists.txt (-2) 
- (modified) clang/lib/Frontend/Rewrite/FrontendActions.cpp (-21) 
- (removed) clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp (-7531) 
- (removed) clang/lib/Frontend/Rewrite/RewriteObjC.cpp (-5866) 
- (modified) clang/lib/FrontendTool/CMakeLists.txt (-6) 
- (modified) clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp (+3-44) 
- (modified) clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp (-3) 
- (removed) clang/test/ARCMT/Common.h (-110) 
- (removed) clang/test/ARCMT/GC-check-warn-nsalloc.m (-10) 
- (removed) clang/test/ARCMT/GC-check.m (-19) 
- (removed) clang/test/ARCMT/GC-no-arc-runtime.m (-80) 
- (removed) clang/test/ARCMT/GC-no-arc-runtime.m.result (-72) 
- (removed) clang/test/ARCMT/GC-no-finalize-removal.m (-88) 
- (removed) clang/test/ARCMT/GC-no-finalize-removal.m.result (-96) 
- (removed) clang/test/ARCMT/GC.h (-6) 
- (removed) clang/test/ARCMT/GC.m (-93) 
- (removed) clang/test/ARCMT/GC.m.result (-88) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h (-5) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Headers/Buried/Treasure.h (-1) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Headers/Module.h (-28) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Headers/NotInModule.h (-1) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Headers/Sub.h (-3) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Headers/Sub2.h (-1) 
- (removed) clang/test/ARCMT/Inputs/Module.framework/Module () 
- (removed) clang/test/ARCMT/Inputs/Module.framework/PrivateHeaders/ModulePrivate.h (-1) 
- (removed) clang/test/ARCMT/Inputs/module.modulemap (-309) 
- (removed) clang/test/ARCMT/Inputs/test.h (-15) 
- (removed) clang/test/ARCMT/Inputs/test.h.result (-13) 
- (removed) clang/test/ARCMT/Inputs/test1.m.in (-16) 
- (removed) clang/test/ARCMT/Inputs/test1.m.in.result (-15) 
- (removed) clang/test/ARCMT/Inputs/test2.m.in (-6) 
- (removed) clang/test/ARCMT/Inputs/test2.m.in.result (-5) 
- (removed) clang/test/ARCMT/Inputs/with space/test.h (-15) 
- (removed) clang/test/ARCMT/Inputs/with space/test.h.result (-13) 
- (removed) clang/test/ARCMT/Inputs/with space/test1.m.in (-6) 
- (removed) clang/test/ARCMT/Inputs/with space/test1.m.in.result (-5) 
- (removed) clang/test/ARCMT/Inputs/with space/test2.m.in (-6) 
- (removed) clang/test/ARCMT/Inputs/with space/test2.m.in.result (-5) 
- (removed) clang/test/ARCMT/allowlisted/Inputs/header1.h (-1) 
- (removed) clang/test/ARCMT/allowlisted/header1.h (-8) 
- (removed) clang/test/ARCMT/allowlisted/header1.h.result (-7) 
- (removed) clang/test/ARCMT/allowlisted/header2.h (-8) 
- (removed) clang/test/ARCMT/allowlisted/header2.h.result (-7) 
- (removed) clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m (-18) 
- (removed) clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m.result (-18) 
- (removed) clang/test/ARCMT/allowlisted/objcmt-with-allowlist.m (-12) 
- (removed) clang/test/ARCMT/api.m (-9) 
- (removed) clang/test/ARCMT/api.m.result (-9) 
- (removed) clang/test/ARCMT/assign-prop-no-arc-runtime.m (-15) 
- (removed) clang/test/ARCMT/assign-prop-no-arc-runtime.m.result (-15) 
- (removed) clang/test/ARCMT/assign-prop-with-arc-runtime.m (-72) 
- (removed) clang/test/ARCMT/assign-prop-with-arc-runtime.m.result (-72) 
- (removed) clang/test/ARCMT/atautorelease-2.m (-29) 
- (removed) clang/test/ARCMT/atautorelease-2.m.result (-28) 
- (removed) clang/test/ARCMT/atautorelease-3.m (-40) 
- (removed) clang/test/ARCMT/atautorelease-3.m.result (-31) 
- (removed) clang/test/ARCMT/atautorelease-check.m (-144) 
- (removed) clang/test/ARCMT/atautorelease.m (-61) 
- (removed) clang/test/ARCMT/atautorelease.m.result (-60) 
- (removed) clang/test/ARCMT/autoreleases.m (-75) 
- (removed) clang/test/ARCMT/autoreleases.m.result (-69) 
- (removed) clang/test/ARCMT/block_copy_release.m (-17) 
- (removed) clang/test/ARCMT/block_copy_release.m.result (-15) 
- (removed) clang/test/ARCMT/check-api.m (-43) 
- (removed) clang/test/ARCMT/check-with-pch.m (-15) 
- (removed) clang/test/ARCMT/check-with-serialized-diag.m (-55) 
- (removed) clang/test/ARCMT/checking-in-arc.m (-50) 
- (removed) clang/test/ARCMT/checking.m (-351) 
- (removed) clang/test/ARCMT/cxx-checking.mm (-100) 
- (removed) clang/test/ARCMT/cxx-rewrite.mm (-33) 
- (removed) clang/test/ARCMT/cxx-rewrite.mm.result (-31) 
- (removed) clang/test/ARCMT/dealloc.m (-24) 
- (removed) clang/test/ARCMT/dealloc.m.result (-20) 
- (removed) clang/test/ARCMT/designated-init-in-header/designated-init-in-header.m (-3) 
- (removed) clang/test/ARCMT/designated-init-in-header/file1.m.in (-2) 
- (removed) clang/test/ARCMT/designated-init-in-header/file2.m.in (-14) 
- (removed) clang/test/ARCMT/designated-init-in-header/file2.m.in.result (-14) 
- (removed) clang/test/ARCMT/designated-init-in-header/header1.h (-14) 
- (removed) clang/test/ARCMT/designated-init-in-header/header1.h.result (-13) 
- (removed) clang/test/ARCMT/dispatch.m (-18) 
- (removed) clang/test/ARCMT/dispatch.m.result (-14) 
- (removed) clang/test/ARCMT/driver-migrate.m (-15) 
- (removed) clang/test/ARCMT/init.m (-39) 
- (removed) clang/test/ARCMT/init.m.result (-39) 
- (removed) clang/test/ARCMT/lit.local.cfg (-2) 
- (removed) clang/test/ARCMT/migrate-emit-errors.m (-12) 
- (removed) clang/test/ARCMT/migrate-on-pch-and-module.m (-12) 
- (removed) clang/test/ARCMT/migrate-plist-output.m (-51) 
- (removed) clang/test/ARCMT/migrate-space-in-path.m (-5) 
- (removed) clang/test/ARCMT/migrate-with-pch.m (-6) 
- (removed) clang/test/ARCMT/migrate.m (-5) 
- (removed) clang/test/ARCMT/no-canceling-bridge-to-bridge-cast.m (-41) 
- (removed) clang/test/ARCMT/nonobjc-to-objc-cast-2.m (-63) 
- (removed) clang/test/ARCMT/nonobjc-to-objc-cast.m (-83) 
- (removed) clang/test/ARCMT/nonobjc-to-objc-cast.m.result (-83) 
- (removed) clang/test/ARCMT/objcmt-arc-cf-annotations.m (-2017) 
- (removed) clang/test/ARCMT/objcmt-arc-cf-annotations.m.result (-2063) 
- (removed) clang/test/ARCMT/objcmt-atomic-property.m (-227) 
- (removed) clang/test/ARCMT/objcmt-atomic-property.m.result (-200) 
- (removed) clang/test/ARCMT/objcmt-boxing.m (-106) 
- (removed) clang/test/ARCMT/objcmt-boxing.m.result (-106) 
- (removed) clang/test/ARCMT/objcmt-designated-initializer.m (-44) 
- (removed) clang/test/ARCMT/objcmt-designated-initializer.m.result (-44) 
- (removed) clang/test/ARCMT/objcmt-instancetype-2.m (-103) 
- (removed) clang/test/ARCMT/objcmt-instancetype-2.m.result (-103) 
- (removed) clang/test/ARCMT/objcmt-instancetype-unnecessary-diff.m (-10) 
- (removed) clang/test/ARCMT/objcmt-instancetype.m (-111) 
- (removed) clang/test/ARCMT/objcmt-instancetype.m.result (-111) 
- (removed) clang/test/ARCMT/objcmt-invalid-code.mm (-19) 
- (removed) clang/test/ARCMT/objcmt-invalid-code.mm.result (-19) 
- (removed) clang/test/ARCMT/objcmt-migrate-all.m (-133) 
- (removed) clang/test/ARCMT/objcmt-migrate-all.m.result (-132) 
- (removed) clang/test/ARCMT/objcmt-ns-enum-crash.m (-14) 
- (removed) clang/test/ARCMT/objcmt-ns-enum-crash.m.result (-14) 
- (removed) clang/test/ARCMT/objcmt-ns-macros.m (-379) 
- (removed) clang/test/ARCMT/objcmt-ns-macros.m.result (-355) 
- (removed) clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m (-233) 
- (removed) clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result (-206) 
- (removed) clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m (-128) 
- (removed) clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result (-128) 
- (removed) clang/test/ARCMT/objcmt-numeric-literals.m (-502) 
- (removed) clang/test/ARCMT/objcmt-numeric-literals.m.result (-502) 
- (removed) clang/test/ARCMT/objcmt-property-availability.m (-45) 
- (removed) clang/test/ARCMT/objcmt-property-availability.m.result (-42) 
- (removed) clang/test/ARCMT/objcmt-property-dot-syntax.m (-117) 
- (removed) clang/test/ARCMT/objcmt-property-dot-syntax.m.result (-117) 
- (removed) clang/test/ARCMT/objcmt-property.m (-243) 
- (removed) clang/test/ARCMT/objcmt-property.m.result (-215) 
- (removed) clang/test/ARCMT/objcmt-protocol-conformance.m (-129) 
- (removed) clang/test/ARCMT/objcmt-protocol-conformance.m.result (-129) 
- (removed) clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m (-108) 
- (removed) clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m.result (-108) 
- (removed) clang/test/ARCMT/objcmt-subscripting-literals.m (-230) 
- (removed) clang/test/ARCMT/objcmt-subscripting-literals.m.result (-230) 
- (removed) clang/test/ARCMT/objcmt-subscripting-unavailable.m (-79) 
- (removed) clang/test/ARCMT/objcmt-subscripting-unavailable.m.result (-79) 
- (removed) clang/test/ARCMT/objcmt-undefined-ns-macros.m (-22) 
- (removed) clang/test/ARCMT/objcmt-undefined-ns-macros.m.result (-24) 
- (removed) clang/test/ARCMT/objcmt-with-pch.m (-17) 
- (removed) clang/test/ARCMT/objcmt-with-pch.m.result (-17) 
- (removed) clang/test/ARCMT/protected-scope.m (-36) 
- (removed) clang/test/ARCMT/protected-scope.m.result (-38) 
- (removed) clang/test/ARCMT/releases-driver.m (-67) 
- (removed) clang/test/ARCMT/releases-driver.m.result (-58) 
- (removed) clang/test/ARCMT/releases.m (-98) 
- (removed) clang/test/ARCMT/releases.m.result (-87) 
- (removed) clang/test/ARCMT/remap-applying.c (-4) 
- (removed) clang/test/ARCMT/remap-applying.c.result (-4) 
- (removed) clang/test/ARCMT/remove-dealloc-method.m (-26) 
- (removed) clang/test/ARCMT/remove-dealloc-method.m.result (-20) 
- (removed) clang/test/ARCMT/remove-dealloc-zerouts.m (-44) 
- (removed) clang/test/ARCMT/remove-dealloc-zerouts.m.result (-39) 
- (removed) clang/test/ARCMT/remove-statements.m (-45) 
- (removed) clang/test/ARCMT/remove-statements.m.result (-38) 
- (removed) clang/test/ARCMT/retains.m (-71) 
- (removed) clang/test/ARCMT/retains.m.result (-65) 
- (removed) clang/test/ARCMT/rewrite-block-var.m (-45) 
- (removed) clang/test/ARCMT/rewrite-block-var.m.result (-45) 
- (removed) clang/test/ARCMT/safe-arc-assign.m (-14) 
- (removed) clang/test/ARCMT/safe-arc-assign.m.result (-14) 
- (removed) clang/test/ARCMT/verify.m (-17) 
- (removed) clang/test/ARCMT/with-arc-mode-modify.m (-13) 
- (removed) clang/test/ARCMT/with-arc-mode-modify.m.result (-12) 
- (modified) clang/test/CMakeLists.txt (+1-9) 
- (modified) clang/test/ClangScanDeps/strip-input-args.m (+2-7) 
- (removed) clang/test/Driver/objc-sdk-migration-options.m (-8) 
- (modified) clang/test/Misc/warning-flags.c (+1-3) 
- (removed) clang/test/Rewriter/blockcast3.mm (-25) 
- (removed) clang/test/Rewriter/blockstruct.m (-16) 
- (removed) clang/test/Rewriter/crash.m (-23) 
- (removed) clang/test/Rewriter/finally.m (-43) 
- (removed) clang/test/Rewriter/func-in-impl.m (-30) 
- (removed) clang/test/Rewriter/id-test-3.m (-14) 
- (removed) clang/test/Rewriter/inner-block-helper-funcs.mm (-31) 
- (removed) clang/test/Rewriter/instancetype-test.mm (-77) 
- (removed) clang/test/Rewriter/ivar-encoding-1.m (-15) 
- (removed) clang/test/Rewriter/ivar-encoding-2.m (-12) 
- (removed) clang/test/Rewriter/line-generation-test.m (-39) 
- (removed) clang/test/Rewriter/lit.local.cfg (-3) 
- (removed) clang/test/Rewriter/metadata-test-1.m (-12) 
- (removed) clang/test/Rewriter/metadata-test-2.m (-15) 
- (removed) clang/test/Rewriter/method-encoding-1.m (-18) 
- (removed) clang/test/Rewriter/modern-write-bf-abi.mm (-119) 
- (removed) clang/test/Rewriter/no-integrated-preprocessing-64bit.m (-25) 
- (removed) clang/test/Rewriter/no-integrated-preprocessing.m (-25) 
- (removed) clang/test/Rewriter/objc-bool-literal-check-modern.mm (-28) 
- (removed) clang/test/Rewriter/objc-bool-literal-modern-1.mm (-32) 
- (removed) clang/test/Rewriter/objc-bool-literal-modern.mm (-22) 
- (removed) clang/test/Rewriter/objc-encoding-bug-1.m (-19) 
- (removed) clang/test/Rewriter/objc-ivar-receiver-1.m (-24) 
- (removed) clang/test/Rewriter/objc-modern-StretAPI-2.mm (-29) 
- (removed) clang/test/Rewriter/objc-modern-StretAPI-3.mm (-57) 
- (removed) clang/test/Rewriter/objc-modern-StretAPI.mm (-44) 
- (removed) clang/test/Rewriter/objc-modern-boxing.mm (-72) 
- (removed) clang/test/Rewriter/objc-modern-class-init-hooks.mm (-35) 
- (removed) clang/test/Rewriter/objc-modern-class-init.mm (-22) 
- (removed) clang/test/Rewriter/objc-modern-container-subscript.mm (-48) 
- (removed) clang/test/Rewriter/objc-modern-fast-enumeration.mm (-24) 
- (removed) clang/test/Rewriter/objc-modern-getclass-proto.mm (-9) 
- (removed) clang/test/Rewriter/objc-modern-implicit-cast.mm (-32) 
- (removed) clang/test/Rewriter/objc-modern-ivar-receiver-1.mm (-30) 
- (removed) clang/test/Rewriter/objc-modern-linkage-spec.mm (-20) 
- (removed) clang/test/Rewriter/objc-modern-metadata-visibility.mm (-39) 
- (removed) clang/test/Rewriter/objc-modern-numeric-literal.mm (-68) 
- (removed) clang/test/Rewriter/objc-modern-property-attributes.mm (-55) 
- (removed) clang/test/Rewriter/objc-modern-property-bitfield.m (-42) 
- (removed) clang/test/Rewriter/objc-string-concat-1.m (-14) 
- (removed) clang/test/Rewriter/objc-super-test.m (-18) 
- (removed) clang/test/Rewriter/objc-synchronized-1.m (-20) 
- (removed) clang/test/Rewriter/properties.m (-57) 
- (removed) clang/test/Rewriter/property-dot-syntax.mm (-44) 
- (removed) clang/test/Rewriter/protocol-rewrite-1.m (-70) 
- (removed) clang/test/Rewriter/protocol-rewrite-2.m (-6) 
- (removed) clang/test/Rewriter/rewrite-anonymous-union.m (-29) 
- (removed) clang/test/Rewriter/rewrite-api-bug.m (-11) 
- (removed) clang/test/Rewriter/rewrite-block-argument.m (-32) 
- (removed) clang/test/Rewriter/rewrite-block-consts.mm (-18) 
- (removed) clang/test/Rewriter/rewrite-block-ivar-call.mm (-12) 
- (removed) clang/test/Rewriter/rewrite-block-literal-1.mm (-36) 
- (removed) clang/test/Rewriter/rewrite-block-literal.mm (-76) 
- (removed) clang/test/Rewriter/rewrite-block-pointer.mm (-106) 
- (removed) clang/test/Rewriter/rewrite-block-property.m (-14) 
- (removed) clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm (-28) 
- (removed) clang/test/Rewriter/rewrite-byref-vars.mm (-56) 
- (removed) clang/test/Rewriter/rewrite-captured-nested-bvar.c (-34) 
- (removed) clang/test/Rewriter/rewrite-cast-ivar-access.mm (-51) 
- (removed) clang/test/Rewriter/rewrite-cast-ivar-modern-access.mm (-45) 
- (removed) clang/test/Rewriter/rewrite-cast-to-bool.mm (-16) 
- (removed) clang/test/Rewriter/rewrite-category-property.mm (-14) 
- (removed) clang/test/Rewriter/rewrite-constructor-init.mm (-23) 
- (removed) clang/test/Rewriter/rewrite-eh.m (-19) 
- (removed) clang/test/Rewriter/rewrite-elaborated-type.mm (-39) 
- (removed) clang/test/Rewriter/rewrite-extern-c.mm (-7) 
- (removed) clang/test/Rewriter/rewrite-foreach-1.m (-37) 
- (removed) clang/test/Rewriter/rewrite-foreach-2.m (-34) 
- (removed) clang/test/Rewriter/rewrite-foreach-3.m (-29) 
- (removed) clang/test/Rewriter/rewrite-foreach-4.m (-32) 
- (removed) clang/test/Rewriter/rewrite-foreach-5.m (-51) 
- (removed) clang/test/Rewriter/rewrite-foreach-6.m (-16) 
- (removed) clang/test/Rewriter/rewrite-foreach-7.m (-7) 
- (removed) clang/test/Rewriter/rewrite-foreach-in-block.mm (-31) 
- (removed) clang/test/Rewriter/rewrite-foreach-protocol-id.m (-28) 
- (removed) clang/test/Rewriter/rewrite-forward-class.m (-34) 
- (removed) clang/test/Rewriter/rewrite-forward-class.mm (-53) 
- (removed) clang/test/Rewriter/rewrite-function-decl.mm (-31) 
- (removed) clang/test/Rewriter/rewrite-implementation.mm (-15) 
- (removed) clang/test/Rewriter/rewrite-interface-locals.mm (-19) 
- (removed) clang/test/Rewriter/rewrite-ivar-use.m (-26) 
- (removed) clang/test/Rewriter/rewrite-line-directive.m (-17) 
- (removed) clang/test/Rewriter/rewrite-local-externs-in-block.mm (-22) 
- (removed) clang/test/Rewriter/rewrite-local-static-id.mm (-23) 
- (removed) clang/test/Rewriter/rewrite-message-expr.mm (-24) 
- (removed) clang/test/Rewriter/rewrite-modern-array-literal.mm (-26) 
- (removed) clang/test/Rewriter/rewrite-modern-atautoreleasepool.mm (-31) 
- (removed) clang/test/Rewriter/rewrite-modern-block-consts.mm (-20) 
- (removed) clang/test/Rewriter/rewrite-modern-block-ivar-call.mm (-17) 
- (removed) clang/test/Rewriter/rewrite-modern-block.mm (-63) 
- (removed) clang/test/Rewriter/rewrite-modern-captured-nested-bvar.mm (-34) 
- (removed) clang/test/Rewriter/rewrite-modern-catch.m (-31) 
- (removed) clang/test/Rewriter/rewrite-modern-class.mm (-70) 
- (removed) clang/test/Rewriter/rewrite-modern-container-literal.mm (-54) 
- (removed) clang/test/Rewriter/rewrite-modern-default-property-synthesis.mm (-79) 
- (removed) clang/test/Rewriter/rewrite-modern-extern-c-func-decl.mm (-91) 
- (removed) clang/test/Rewriter/rewrite-modern-ivar-access.mm (-98) 
- (removed) clang/test/Rewriter/rewrite-modern-ivar-use.mm (-25) 
- (removed) clang/test/Rewriter/rewrite-modern-ivars-1.mm (-124) 
- (removed) clang/test/Rewriter/rewrite-modern-ivars-2.mm (-99) 
- (removed) clang/test/Rewriter/rewrite-modern-ivars.mm (-64) 
- (removed) clang/test/Rewriter/rewrite-modern-nested-ivar.mm (-33) 
- (removed) clang/test/Rewriter/rewrite-modern-private-ivars.mm (-52) 
- (removed) clang/test/Rewriter/rewrite-modern-protocol-1.mm (-13) 
- (removed) clang/test/Rewriter/rewrite-modern-protocol.mm (-31) 
- (removed) clang/test/Rewriter/rewrite-modern-qualified-type.mm (-10) 
- (removed) clang/test/Rewriter/rewrite-modern-struct-ivar-1.mm (-47) 
- (removed) clang/test/Rewriter/rewrite-modern-struct-ivar.mm (-51) 
- (removed) clang/test/Rewriter/rewrite-modern-super.mm (-22) 
- (removed) clang/test/Rewriter/rewrite-modern-synchronized.m (-45) 
- (removed) clang/test/Rewriter/rewrite-modern-throw.m (-92) 
- (removed) clang/test/Rewriter/rewrite-modern-try-catch-finally.m (-63) 
- (removed) clang/test/Rewriter/rewrite-modern-try-finally.m (-40) 


``````````diff
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index 27e8095534a65c..7050746e3a0380 100644
--- a/clang/CMakeLists.txt
+++ b/clang/CMakeLists.txt
@@ -432,20 +432,11 @@ if(NOT LLVM_STATIC_LINK_CXX_STDLIB)
   set(HAVE_CLANG_REPL_SUPPORT ON)
 endif()
 
-option(CLANG_ENABLE_ARCMT "Build ARCMT." ON)
 option(CLANG_ENABLE_STATIC_ANALYZER
   "Include static analyzer in clang binary." ON)
 
 option(CLANG_ENABLE_PROTO_FUZZER "Build Clang protobuf fuzzer." OFF)
 
-if(NOT CLANG_ENABLE_STATIC_ANALYZER AND CLANG_ENABLE_ARCMT)
-  message(FATAL_ERROR "Cannot disable static analyzer while enabling ARCMT or Z3")
-endif()
-
-if(CLANG_ENABLE_ARCMT)
-  set(CLANG_ENABLE_OBJC_REWRITER ON)
-endif()
-
 # This option is a stop-gap, we should commit to removing this as
 # soon as possible. See discussion:
 # https://discourse.llvm.org/t/rationale-for-removing-versioned-libclang-middle-ground-to-keep-it-behind-option/
diff --git a/clang/cmake/caches/Android.cmake b/clang/cmake/caches/Android.cmake
index d5ca6b50d4ada7..c89e31f67cc9b1 100644
--- a/clang/cmake/caches/Android.cmake
+++ b/clang/cmake/caches/Android.cmake
@@ -2,7 +2,6 @@
 
 set(LLVM_TARGETS_TO_BUILD X86 CACHE STRING "")
 
-set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "")
 set(CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "")
 set(CLANG_TIDY_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "")
 set(CLANG_VENDOR Android CACHE STRING "")
diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake
index 784a883a3bf916..3db19c36acc581 100644
--- a/clang/cmake/caches/Fuchsia-stage2.cmake
+++ b/clang/cmake/caches/Fuchsia-stage2.cmake
@@ -44,7 +44,6 @@ set(CLANG_DEFAULT_LINKER lld CACHE STRING "")
 set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "")
 set(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "")
 set(CLANG_DEFAULT_UNWINDLIB libunwind CACHE STRING "")
-set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "")
 set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "")
 set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
 
diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake
index 07637cd0ed08f0..83336589da305d 100644
--- a/clang/cmake/caches/Fuchsia.cmake
+++ b/clang/cmake/caches/Fuchsia.cmake
@@ -84,7 +84,6 @@ set(CLANG_DEFAULT_LINKER lld CACHE STRING "")
 set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "")
 set(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "")
 set(CLANG_DEFAULT_UNWINDLIB libunwind CACHE STRING "")
-set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "")
 set(CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "")
 set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
 
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 3f58e64cf0ccbc..c168606af609ed 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -58,6 +58,8 @@ code bases.
   containing strict-aliasing violations. The new default behavior can be
   disabled using ``-fno-pointer-tbaa``.
 
+- The Objective-C ARC migrator (ARCMigrate) has been removed.
+
 C/C++ Language Potentially Breaking Changes
 -------------------------------------------
 
diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h
index 8fc06328f0bcef..ee9e159b6dad76 100644
--- a/clang/include/clang-c/Index.h
+++ b/clang/include/clang-c/Index.h
@@ -5850,66 +5850,6 @@ CINDEX_LINKAGE const char *clang_EvalResult_getAsStr(CXEvalResult E);
  * Disposes the created Eval memory.
  */
 CINDEX_LINKAGE void clang_EvalResult_dispose(CXEvalResult E);
-/**
- * @}
- */
-
-/** \defgroup CINDEX_REMAPPING Remapping functions
- *
- * @{
- */
-
-/**
- * A remapping of original source files and their translated files.
- */
-typedef void *CXRemapping;
-
-/**
- * Retrieve a remapping.
- *
- * \param path the path that contains metadata about remappings.
- *
- * \returns the requested remapping. This remapping must be freed
- * via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
- */
-CINDEX_LINKAGE CXRemapping clang_getRemappings(const char *path);
-
-/**
- * Retrieve a remapping.
- *
- * \param filePaths pointer to an array of file paths containing remapping info.
- *
- * \param numFiles number of file paths.
- *
- * \returns the requested remapping. This remapping must be freed
- * via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
- */
-CINDEX_LINKAGE
-CXRemapping clang_getRemappingsFromFileList(const char **filePaths,
-                                            unsigned numFiles);
-
-/**
- * Determine the number of remappings.
- */
-CINDEX_LINKAGE unsigned clang_remap_getNumFiles(CXRemapping);
-
-/**
- * Get the original and the associated filename from the remapping.
- *
- * \param original If non-NULL, will be set to the original filename.
- *
- * \param transformed If non-NULL, will be set to the filename that the original
- * is associated with.
- */
-CINDEX_LINKAGE void clang_remap_getFilenames(CXRemapping, unsigned index,
-                                             CXString *original,
-                                             CXString *transformed);
-
-/**
- * Dispose the remapping.
- */
-CINDEX_LINKAGE void clang_remap_dispose(CXRemapping);
-
 /**
  * @}
  */
diff --git a/clang/include/clang/ARCMigrate/ARCMT.h b/clang/include/clang/ARCMigrate/ARCMT.h
deleted file mode 100644
index 2b950e3d2cc2bf..00000000000000
--- a/clang/include/clang/ARCMigrate/ARCMT.h
+++ /dev/null
@@ -1,130 +0,0 @@
-//===-- ARCMT.h - ARC Migration Rewriter ------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ARCMIGRATE_ARCMT_H
-#define LLVM_CLANG_ARCMIGRATE_ARCMT_H
-
-#include "clang/ARCMigrate/FileRemapper.h"
-#include "clang/Basic/SourceLocation.h"
-#include "clang/Frontend/CompilerInvocation.h"
-
-namespace clang {
-  class ASTContext;
-  class DiagnosticConsumer;
-  class PCHContainerOperations;
-
-namespace arcmt {
-  class MigrationPass;
-
-/// Creates an AST with the provided CompilerInvocation but with these
-/// changes:
-///   -if a PCH/PTH is set, the original header is used instead
-///   -Automatic Reference Counting mode is enabled
-///
-/// It then checks the AST and produces errors/warning for ARC migration issues
-/// that the user needs to handle manually.
-///
-/// \param emitPremigrationARCErrors if true all ARC errors will get emitted
-/// even if the migrator can fix them, but the function will still return false
-/// if all ARC errors can be fixed.
-///
-/// \param plistOut if non-empty, it is the file path to store the plist with
-/// the pre-migration ARC diagnostics.
-///
-/// \returns false if no error is produced, true otherwise.
-bool
-checkForManualIssues(CompilerInvocation &CI, const FrontendInputFile &Input,
-                     std::shared_ptr<PCHContainerOperations> PCHContainerOps,
-                     DiagnosticConsumer *DiagClient,
-                     bool emitPremigrationARCErrors = false,
-                     StringRef plistOut = StringRef());
-
-/// Works similar to checkForManualIssues but instead of checking, it
-/// applies automatic modifications to source files to conform to ARC.
-///
-/// \returns false if no error is produced, true otherwise.
-bool
-applyTransformations(CompilerInvocation &origCI,
-                     const FrontendInputFile &Input,
-                     std::shared_ptr<PCHContainerOperations> PCHContainerOps,
-                     DiagnosticConsumer *DiagClient);
-
-/// Applies automatic modifications and produces temporary files
-/// and metadata into the \p outputDir path.
-///
-/// \param emitPremigrationARCErrors if true all ARC errors will get emitted
-/// even if the migrator can fix them, but the function will still return false
-/// if all ARC errors can be fixed.
-///
-/// \param plistOut if non-empty, it is the file path to store the plist with
-/// the pre-migration ARC diagnostics.
-///
-/// \returns false if no error is produced, true otherwise.
-bool migrateWithTemporaryFiles(
-    CompilerInvocation &origCI, const FrontendInputFile &Input,
-    std::shared_ptr<PCHContainerOperations> PCHContainerOps,
-    DiagnosticConsumer *DiagClient, StringRef outputDir,
-    bool emitPremigrationARCErrors, StringRef plistOut);
-
-/// Get the set of file remappings from the \p outputDir path that
-/// migrateWithTemporaryFiles produced.
-///
-/// \returns false if no error is produced, true otherwise.
-bool getFileRemappings(std::vector<std::pair<std::string,std::string> > &remap,
-                       StringRef outputDir,
-                       DiagnosticConsumer *DiagClient);
-
-/// Get the set of file remappings from a list of files with remapping
-/// info.
-///
-/// \returns false if no error is produced, true otherwise.
-bool getFileRemappingsFromFileList(
-                        std::vector<std::pair<std::string,std::string> > &remap,
-                        ArrayRef<StringRef> remapFiles,
-                        DiagnosticConsumer *DiagClient);
-
-typedef void (*TransformFn)(MigrationPass &pass);
-
-std::vector<TransformFn> getAllTransformations(LangOptions::GCMode OrigGCMode,
-                                               bool NoFinalizeRemoval);
-
-class MigrationProcess {
-  CompilerInvocation OrigCI;
-  std::shared_ptr<PCHContainerOperations> PCHContainerOps;
-  DiagnosticConsumer *DiagClient;
-  FileRemapper Remapper;
-
-public:
-  bool HadARCErrors;
-
-  MigrationProcess(CompilerInvocation &CI,
-                   std::shared_ptr<PCHContainerOperations> PCHContainerOps,
-                   DiagnosticConsumer *diagClient,
-                   StringRef outputDir = StringRef());
-
-  class RewriteListener {
-  public:
-    virtual ~RewriteListener();
-
-    virtual void start(ASTContext &Ctx) { }
-    virtual void finish() { }
-
-    virtual void insert(SourceLocation loc, StringRef text) { }
-    virtual void remove(CharSourceRange range) { }
-  };
-
-  bool applyTransform(TransformFn trans, RewriteListener *listener = nullptr);
-
-  FileRemapper &getRemapper() { return Remapper; }
-};
-
-} // end namespace arcmt
-
-}  // end namespace clang
-
-#endif
diff --git a/clang/include/clang/ARCMigrate/ARCMTActions.h b/clang/include/clang/ARCMigrate/ARCMTActions.h
deleted file mode 100644
index 714f4b33db446b..00000000000000
--- a/clang/include/clang/ARCMigrate/ARCMTActions.h
+++ /dev/null
@@ -1,76 +0,0 @@
-//===--- ARCMTActions.h - ARC Migrate Tool Frontend Actions -----*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ARCMIGRATE_ARCMTACTIONS_H
-#define LLVM_CLANG_ARCMIGRATE_ARCMTACTIONS_H
-
-#include "clang/ARCMigrate/FileRemapper.h"
-#include "clang/Frontend/FrontendAction.h"
-#include <memory>
-
-namespace clang {
-namespace arcmt {
-
-class CheckAction : public WrapperFrontendAction {
-protected:
-  bool BeginInvocation(CompilerInstance &CI) override;
-
-public:
-  CheckAction(std::unique_ptr<FrontendAction> WrappedAction);
-};
-
-class ModifyAction : public WrapperFrontendAction {
-protected:
-  bool BeginInvocation(CompilerInstance &CI) override;
-
-public:
-  ModifyAction(std::unique_ptr<FrontendAction> WrappedAction);
-};
-
-class MigrateSourceAction : public ASTFrontendAction {
-  FileRemapper Remapper;
-protected:
-  bool BeginInvocation(CompilerInstance &CI) override;
-  std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
-                                                 StringRef InFile) override;
-};
-
-class MigrateAction : public WrapperFrontendAction {
-  std::string MigrateDir;
-  std::string PlistOut;
-  bool EmitPremigrationARCErrors;
-protected:
-  bool BeginInvocation(CompilerInstance &CI) override;
-
-public:
-  MigrateAction(std::unique_ptr<FrontendAction> WrappedAction,
-                StringRef migrateDir,
-                StringRef plistOut,
-                bool emitPremigrationARCErrors);
-};
-
-/// Migrates to modern ObjC syntax.
-class ObjCMigrateAction : public WrapperFrontendAction {
-  std::string MigrateDir;
-  unsigned    ObjCMigAction;
-  FileRemapper Remapper;
-  CompilerInstance *CompInst;
-public:
-  ObjCMigrateAction(std::unique_ptr<FrontendAction> WrappedAction,
-                    StringRef migrateDir, unsigned migrateAction);
-
-protected:
-  std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
-                                                 StringRef InFile) override;
-  bool BeginInvocation(CompilerInstance &CI) override;
-};
-
-}
-}
-
-#endif
diff --git a/clang/include/clang/ARCMigrate/FileRemapper.h b/clang/include/clang/ARCMigrate/FileRemapper.h
deleted file mode 100644
index afcee363516a21..00000000000000
--- a/clang/include/clang/ARCMigrate/FileRemapper.h
+++ /dev/null
@@ -1,84 +0,0 @@
-//===-- FileRemapper.h - File Remapping Helper ------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ARCMIGRATE_FILEREMAPPER_H
-#define LLVM_CLANG_ARCMIGRATE_FILEREMAPPER_H
-
-#include "clang/Basic/FileEntry.h"
-#include "clang/Basic/LLVM.h"
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/StringRef.h"
-#include <memory>
-#include <variant>
-
-namespace llvm {
-  class MemoryBuffer;
-  class MemoryBufferRef;
-}
-
-namespace clang {
-  class FileManager;
-  class DiagnosticsEngine;
-  class PreprocessorOptions;
-
-namespace arcmt {
-
-class FileRemapper {
-  // FIXME: Reuse the same FileManager for multiple ASTContexts.
-  std::unique_ptr<FileManager> FileMgr;
-
-  using Target = std::variant<FileEntryRef, llvm::MemoryBuffer *>;
-  using MappingsTy = llvm::DenseMap<FileEntryRef, Target>;
-  MappingsTy FromToMappings;
-
-  llvm::DenseMap<const FileEntry *, FileEntryRef> ToFromMappings;
-
-public:
-  FileRemapper();
-  ~FileRemapper();
-
-  bool initFromDisk(StringRef outputDir, DiagnosticsEngine &Diag,
-                    bool ignoreIfFilesChanged);
-  bool initFromFile(StringRef filePath, DiagnosticsEngine &Diag,
-                    bool ignoreIfFilesChanged);
-  bool flushToDisk(StringRef outputDir, DiagnosticsEngine &Diag);
-  bool flushToFile(StringRef outputPath, DiagnosticsEngine &Diag);
-
-  bool overwriteOriginal(DiagnosticsEngine &Diag,
-                         StringRef outputDir = StringRef());
-
-  void remap(StringRef filePath, std::unique_ptr<llvm::MemoryBuffer> memBuf);
-
-  void applyMappings(PreprocessorOptions &PPOpts) const;
-
-  /// Iterate through all the mappings.
-  void forEachMapping(
-      llvm::function_ref<void(StringRef, StringRef)> CaptureFile,
-      llvm::function_ref<void(StringRef, const llvm::MemoryBufferRef &)>
-          CaptureBuffer) const;
-
-  void clear(StringRef outputDir = StringRef());
-
-private:
-  void remap(FileEntryRef file, std::unique_ptr<llvm::MemoryBuffer> memBuf);
-  void remap(FileEntryRef file, FileEntryRef newfile);
-
-  OptionalFileEntryRef getOriginalFile(StringRef filePath);
-  void resetTarget(Target &targ);
-
-  bool report(const Twine &err, DiagnosticsEngine &Diag);
-
-  std::string getRemapInfoFile(StringRef outputDir);
-};
-
-} // end namespace arcmt
-
-}  // end namespace clang
-
-#endif
diff --git a/clang/include/clang/Basic/DiagnosticCommonKinds.td b/clang/include/clang/Basic/DiagnosticCommonKinds.td
index f4a155bb00bb37..f26c906b46447a 100644
--- a/clang/include/clang/Basic/DiagnosticCommonKinds.td
+++ b/clang/include/clang/Basic/DiagnosticCommonKinds.td
@@ -402,16 +402,6 @@ def note_file_misc_sloc_usage : Note<
 def err_module_format_unhandled : Error<
   "no handler registered for module format '%0'">, DefaultFatal;
 
-// TransformActions
-// TODO: Use a custom category name to distinguish rewriter errors.
-def err_mt_message : Error<"[rewriter] %0">, SuppressInSystemHeader;
-def warn_mt_message : Warning<"[rewriter] %0">;
-def note_mt_message : Note<"[rewriter] %0">;
-
-// ARCMigrate
-def warn_arcmt_nsalloc_realloc : Warning<"[rewriter] call returns pointer to GC managed memory; it will become unmanaged in ARC">;
-def err_arcmt_nsinvocation_ownership : Error<"NSInvocation's %0 is not safe to be used with an object with ownership other than __unsafe_unretained">;
-
 // API notes
 def err_apinotes_message : Error<"%0">;
 def warn_apinotes_message : Warning<"%0">, InGroup<DiagGroup<"apinotes">>;
diff --git a/clang/include/clang/Config/config.h.cmake b/clang/include/clang/Config/config.h.cmake
index 27ed69e21562bf..805721237609b1 100644
--- a/clang/include/clang/Config/config.h.cmake
+++ b/clang/include/clang/Config/config.h.cmake
@@ -76,8 +76,6 @@
 #cmakedefine01 PPC_LINUX_DEFAULT_IEEELONGDOUBLE
 
 /* Enable each functionality of modules */
-#cmakedefine01 CLANG_ENABLE_ARCMT
-#cmakedefine01 CLANG_ENABLE_OBJC_REWRITER
 #cmakedefine01 CLANG_ENABLE_STATIC_ANALYZER
 
 /* Spawn a new process clang.exe for the CC1 tool invocation, when necessary */
diff --git a/clang/include/clang/Driver/Action.h b/clang/include/clang/Driver/Action.h
index 04fa8b01b418f8..bb9444d2e9ccdc 100644
--- a/clang/include/clang/Driver/Action.h
+++ b/clang/include/clang/Driver/Action.h
@@ -60,7 +60,6 @@ class Action {
     PrecompileJobClass,
     ExtractAPIJobClass,
     AnalyzeJobClass,
-    MigrateJobClass,
     CompileJobClass,
     BackendJobClass,
     AssembleJobClass,
@@ -459,17 +458,6 @@ class AnalyzeJobAction : public JobAction {
   }
 };
 
-class MigrateJobAction : public JobAction {
-  void anchor() override;
-
-public:
-  MigrateJobAction(Action *Input, types::ID OutputType);
-
-  static bool classof(const Action *A) {
-    return A->getKind() == MigrateJobClass;
-  }
-};
-
 class CompileJobAction : public JobAction {
   void anchor() override;
 
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index a89a4e8f8ec985..642d2a1268a002 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -692,20 +692,6 @@ def ccc_print_phases : Flag<["-"], "ccc-print-phases">,
 def ccc_print_bindings : Flag<["-"], "ccc-print-bindings">, InternalDebugOpt,
   HelpText<"Show bindings of tools to actions">;
 
-def ccc_arcmt_check : Flag<["-"], "ccc-arcmt-check">, InternalDriverOpt,
-  HelpText<"Check for ARC migration issues that need manual handling">;
-def ccc_arcmt_modify : Flag<["-"], "ccc-arcmt-modify">, InternalDriverOpt,
-  HelpText<"Apply modifications to files to conform to ARC">;
-def ccc_arcmt_migrate : Separate<["-"], "ccc-arcmt-migrate">, InternalDriverOpt,
-  HelpText<"Apply modifications and produces temporary files that conform to ARC">;
-def arcmt_migrate_report_output : Separate<["-"], "arcmt-migrate-report-output">,
-  HelpText<"Output path for the plist report">,
-  Visibility<[ClangOption, CC1Option]>,
-  MarshallingInfoString<FrontendOpts<"ARCMTMigrateReportOut">>;
-def arcmt_migrate_emit_arc_errors : Flag<["-"], "arcmt-migrate-emit-errors">,
-  HelpText<"Emit ARC errors even if the migrator can fix them">,
-  Visibility<[ClangOption, CC1Option]>,
-  MarshallingInfoFlag<FrontendOpts<"ARCMTMigrateEmitARCErrors">>;
 def gen_reproducer_eq: Joined<["-"], "gen-reproducer=">,
   Flags<[NoArgumentUnused]>, Visibility<[ClangOption, CLOption, DXCOption]>,
   HelpText<"Emit reproducer on (option: off, crash (default), error, always)">;
@@ -721,87 +707,6 @@ def no_round_trip_args : Flag<["-"], "no-round-trip-args">,
   Visibility<[CC1Option]>,
   HelpText<"Disable command line arguments round-trip.">;
 
-def _migrate : Flag<["--"], "migrate">, Flags<[NoXarchOption]>,
-  HelpText<"Run the migrator">;
-def ccc_objcmt_migrate : Separate<["-"], "ccc-objcmt-migrate">,
-  InternalDriverOpt,
-  HelpText<"Apply modifications and produces temporary files to migrate to "
-   "modern ObjC syntax">;
-
-def objcmt_migrate_literals : Flag<["-"], "objcmt-migrate-literals">,
-  Visibility<[ClangOption, CC1Option]>,
-  HelpText<"Enable migration to modern ObjC literals">,
...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/119269


More information about the flang-commits mailing list