[clang] d505d20 - Revert "[LLVM][OHOS] Clang toolchain and targets"
Daniel Thornburgh via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 14 13:46:28 PDT 2023
Author: Daniel Thornburgh
Date: 2023-03-14T13:46:21-07:00
New Revision: d505d20a62f4838d8ecb9385af8b8ccce9db67da
URL: https://github.com/llvm/llvm-project/commit/d505d20a62f4838d8ecb9385af8b8ccce9db67da
DIFF: https://github.com/llvm/llvm-project/commit/d505d20a62f4838d8ecb9385af8b8ccce9db67da.diff
LOG: Revert "[LLVM][OHOS] Clang toolchain and targets"
This change had tests that break whenever LLVM_ENABLE_LINKER_BUILD_ID is
set, as is the case in the Fuchsia target.
This reverts commits:
f81317a54586dbcef0c14cf512a0770e8ecaab3d
72474afa27570a0a1307f3260f0187b703aa6d84
Added:
Modified:
clang/include/clang/Basic/Attr.td
clang/include/clang/Driver/ToolChain.h
clang/lib/Basic/TargetInfo.cpp
clang/lib/Basic/Targets.cpp
clang/lib/Basic/Targets/ARM.cpp
clang/lib/Basic/Targets/OSTargets.h
clang/lib/Basic/Targets/X86.h
clang/lib/CodeGen/ABIInfo.h
clang/lib/CodeGen/TargetInfo.cpp
clang/lib/Driver/CMakeLists.txt
clang/lib/Driver/Driver.cpp
clang/lib/Driver/ToolChains/Arch/AArch64.cpp
clang/lib/Driver/ToolChains/Arch/ARM.cpp
clang/lib/Driver/ToolChains/CommonArgs.cpp
clang/lib/Driver/ToolChains/Gnu.cpp
clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
Removed:
clang/lib/Driver/ToolChains/OHOS.cpp
clang/lib/Driver/ToolChains/OHOS.h
clang/test/Driver/Inputs/ohos_native_tree/llvm/bin/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/include/c++/v1/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_soft/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_hard_neon-vfpv4/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_soft/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_softfp_neon-vfpv4/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/libc++.so
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtbegin.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtend.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.profile.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtbegin.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtend.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.profile.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtbegin.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtend.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.profile.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtbegin.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtend.o
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.builtins.a
clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.profile.a
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/arm-liteos-ohos/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_soft/.keep
clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep
clang/test/Driver/ohos.c
clang/test/Driver/ohos.cpp
clang/test/Preprocessor/ohos.c
################################################################################
diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td
index 4192b28ce13eb..8858bb6bec850 100644
--- a/clang/include/clang/Basic/Attr.td
+++ b/clang/include/clang/Basic/Attr.td
@@ -918,7 +918,6 @@ def Availability : InheritableAttr {
.Case("maccatalyst_app_extension", "macCatalyst (App Extension)")
.Case("swift", "Swift")
.Case("shadermodel", "HLSL ShaderModel")
- .Case("ohos", "OpenHarmony OS")
.Default(llvm::StringRef());
}
static llvm::StringRef getPlatformNameSourceSpelling(llvm::StringRef Platform) {
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
index 4d66e577b107f..989e631a187e8 100644
--- a/clang/include/clang/Driver/ToolChain.h
+++ b/clang/include/clang/Driver/ToolChain.h
@@ -494,7 +494,7 @@ class ToolChain {
// Returns <ResourceDir>/lib/<OSName>/<arch>. This is used by runtimes (such
// as OpenMP) to find arch-specific libraries.
- virtual std::string getArchSpecificLibPath() const;
+ std::string getArchSpecificLibPath() const;
// Returns <OSname> part of above.
virtual StringRef getOSLibName() const;
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp
index 86faae7e15cb0..07af6c07031bd 100644
--- a/clang/lib/Basic/TargetInfo.cpp
+++ b/clang/lib/Basic/TargetInfo.cpp
@@ -98,8 +98,7 @@ TargetInfo::TargetInfo(const llvm::Triple &T) : Triple(T) {
// https://www.gnu.org/software/libc/manual/html_node/Malloc-Examples.html.
// This alignment guarantee also applies to Windows and Android. On Darwin
// and OpenBSD, the alignment is 16 bytes on both 64-bit and 32-bit systems.
- if (T.isGNUEnvironment() || T.isWindowsMSVCEnvironment() || T.isAndroid() ||
- T.isOHOSFamily())
+ if (T.isGNUEnvironment() || T.isWindowsMSVCEnvironment() || T.isAndroid())
NewAlign = Triple.isArch64Bit() ? 128 : Triple.isArch32Bit() ? 64 : 0;
else if (T.isOSDarwin() || T.isOSOpenBSD())
NewAlign = 128;
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 7e687c119c1c4..6f504e7867325 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -148,12 +148,7 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
case llvm::Triple::Fuchsia:
return new FuchsiaTargetInfo<AArch64leTargetInfo>(Triple, Opts);
case llvm::Triple::Linux:
- switch (Triple.getEnvironment()) {
- default:
- return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, Opts);
- case llvm::Triple::OpenHOS:
- return new OHOSTargetInfo<AArch64leTargetInfo>(Triple, Opts);
- }
+ return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, Opts);
case llvm::Triple::NetBSD:
return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts);
case llvm::Triple::OpenBSD:
@@ -193,14 +188,7 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
case llvm::Triple::CloudABI:
return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts);
case llvm::Triple::Linux:
- switch (Triple.getEnvironment()) {
- default:
- return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts);
- case llvm::Triple::OpenHOS:
- return new OHOSTargetInfo<ARMleTargetInfo>(Triple, Opts);
- }
- case llvm::Triple::LiteOS:
- return new OHOSTargetInfo<ARMleTargetInfo>(Triple, Opts);
+ return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts);
case llvm::Triple::FreeBSD:
return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
case llvm::Triple::NetBSD:
@@ -275,12 +263,7 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
case llvm::Triple::mipsel:
switch (os) {
case llvm::Triple::Linux:
- switch (Triple.getEnvironment()) {
- default:
- return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
- case llvm::Triple::OpenHOS:
- return new OHOSTargetInfo<MipsTargetInfo>(Triple, Opts);
- }
+ return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
case llvm::Triple::RTEMS:
return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts);
case llvm::Triple::FreeBSD:
@@ -440,12 +423,7 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
case llvm::Triple::Fuchsia:
return new FuchsiaTargetInfo<RISCV64TargetInfo>(Triple, Opts);
case llvm::Triple::Linux:
- switch (Triple.getEnvironment()) {
- default:
- return new LinuxTargetInfo<RISCV64TargetInfo>(Triple, Opts);
- case llvm::Triple::OpenHOS:
- return new OHOSTargetInfo<RISCV64TargetInfo>(Triple, Opts);
- }
+ return new LinuxTargetInfo<RISCV64TargetInfo>(Triple, Opts);
default:
return new RISCV64TargetInfo(Triple, Opts);
}
@@ -583,8 +561,6 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
return new LinuxTargetInfo<X86_64TargetInfo>(Triple, Opts);
case llvm::Triple::Android:
return new AndroidX86_64TargetInfo(Triple, Opts);
- case llvm::Triple::OpenHOS:
- return new OHOSX86_64TargetInfo(Triple, Opts);
}
}
case llvm::Triple::DragonFly:
diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp
index 18f14244944c2..b85d5dc2d3478 100644
--- a/clang/lib/Basic/Targets/ARM.cpp
+++ b/clang/lib/Basic/Targets/ARM.cpp
@@ -310,7 +310,6 @@ ARMTargetInfo::ARMTargetInfo(const llvm::Triple &Triple,
case llvm::Triple::GNUEABIHF:
case llvm::Triple::MuslEABI:
case llvm::Triple::MuslEABIHF:
- case llvm::Triple::OpenHOS:
setABI("aapcs-linux");
break;
case llvm::Triple::EABIHF:
diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
index ea21f7eafaba1..0280129b3c950 100644
--- a/clang/lib/Basic/Targets/OSTargets.h
+++ b/clang/lib/Basic/Targets/OSTargets.h
@@ -1007,68 +1007,6 @@ class LLVM_LIBRARY_VISIBILITY EmscriptenTargetInfo
}
};
-// OHOS target
-template <typename Target>
-class LLVM_LIBRARY_VISIBILITY OHOSTargetInfo : public OSTargetInfo<Target> {
-protected:
- void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
- MacroBuilder &Builder) const override {
- // Linux defines; list based off of gcc output
- DefineStd(Builder, "unix", Opts);
-
- Builder.defineMacro("__ELF__");
-
- // Generic OHOS target defines
- if (Triple.isOHOSFamily()) {
- Builder.defineMacro("__OHOS_FAMILY__", "1");
-
- auto Version = Triple.getEnvironmentVersion();
- this->PlatformName = "ohos";
- this->PlatformMinVersion = Version;
- Builder.defineMacro("__OHOS_Major__", Twine(Version.getMajor()));
- if (auto Minor = Version.getMinor())
- Builder.defineMacro("__OHOS_Minor__", Twine(*Minor));
- if (auto Subminor = Version.getSubminor())
- Builder.defineMacro("__OHOS_Micro__", Twine(*Subminor));
- }
-
- if (Triple.isOpenHOS())
- Builder.defineMacro("__OHOS__");
-
- if (Triple.isOSLinux()) {
- DefineStd(Builder, "linux", Opts);
- } else if (Triple.isOSLiteOS()) {
- Builder.defineMacro("__LITEOS__");
- }
-
- if (Opts.POSIXThreads)
- Builder.defineMacro("_REENTRANT");
- if (Opts.CPlusPlus)
- Builder.defineMacro("_GNU_SOURCE");
- if (this->HasFloat128)
- Builder.defineMacro("__FLOAT128__");
- }
-
-public:
- OHOSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
- : OSTargetInfo<Target>(Triple, Opts) {
- this->WIntType = TargetInfo::UnsignedInt;
-
- switch (Triple.getArch()) {
- default:
- break;
- case llvm::Triple::x86:
- case llvm::Triple::x86_64:
- this->HasFloat128 = true;
- break;
- }
- }
-
- const char *getStaticInitSectionSpecifier() const override {
- return ".text.startup";
- }
-};
-
} // namespace targets
} // namespace clang
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_OSTARGETS_H
diff --git a/clang/lib/Basic/Targets/X86.h b/clang/lib/Basic/Targets/X86.h
index 89cb33bf6c1e4..ef41195a5c096 100644
--- a/clang/lib/Basic/Targets/X86.h
+++ b/clang/lib/Basic/Targets/X86.h
@@ -963,28 +963,6 @@ class LLVM_LIBRARY_VISIBILITY AndroidX86_64TargetInfo
LongDoubleFormat = &llvm::APFloat::IEEEquad();
}
};
-
-// x86_32 OHOS target
-class LLVM_LIBRARY_VISIBILITY OHOSX86_32TargetInfo
- : public OHOSTargetInfo<X86_32TargetInfo> {
-public:
- OHOSX86_32TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
- : OHOSTargetInfo<X86_32TargetInfo>(Triple, Opts) {
- SuitableAlign = 32;
- LongDoubleWidth = 64;
- LongDoubleFormat = &llvm::APFloat::IEEEdouble();
- }
-};
-
-// x86_64 OHOS target
-class LLVM_LIBRARY_VISIBILITY OHOSX86_64TargetInfo
- : public OHOSTargetInfo<X86_64TargetInfo> {
-public:
- OHOSX86_64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
- : OHOSTargetInfo<X86_64TargetInfo>(Triple, Opts) {
- LongDoubleFormat = &llvm::APFloat::IEEEquad();
- }
-};
} // namespace targets
} // namespace clang
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_X86_H
diff --git a/clang/lib/CodeGen/ABIInfo.h b/clang/lib/CodeGen/ABIInfo.h
index 1dffa41c57c58..755d2aaa7beb8 100644
--- a/clang/lib/CodeGen/ABIInfo.h
+++ b/clang/lib/CodeGen/ABIInfo.h
@@ -81,7 +81,6 @@ namespace CodeGen {
QualType Ty) const = 0;
bool isAndroid() const;
- bool isOHOSFamily() const;
/// Emit the target dependent code to load a value of
/// \arg Ty from the \c __builtin_ms_va_list pointed to by \arg VAListAddr.
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 39e64a140aae1..ba7a51c8ba77c 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -236,10 +236,6 @@ const CodeGenOptions &ABIInfo::getCodeGenOpts() const {
bool ABIInfo::isAndroid() const { return getTarget().getTriple().isAndroid(); }
-bool ABIInfo::isOHOSFamily() const {
- return getTarget().getTriple().isOHOSFamily();
-}
-
bool ABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
return false;
}
@@ -5737,7 +5733,7 @@ ABIArgInfo AArch64ABIInfo::coerceIllegalVector(QualType Ty) const {
uint64_t Size = getContext().getTypeSize(Ty);
// Android promotes <2 x i8> to i16, not i32
- if ((isAndroid() || isOHOSFamily()) && (Size <= 16)) {
+ if (isAndroid() && (Size <= 16)) {
llvm::Type *ResType = llvm::Type::getInt16Ty(getVMContext());
return ABIArgInfo::getDirect(ResType);
}
@@ -6344,7 +6340,7 @@ class ARMABIInfo : public ABIInfo {
case llvm::Triple::MuslEABIHF:
return true;
default:
- return getTarget().getTriple().isOHOSFamily();
+ return false;
}
}
diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt
index 3d83c86100bec..e0bf3efc44c20 100644
--- a/clang/lib/Driver/CMakeLists.txt
+++ b/clang/lib/Driver/CMakeLists.txt
@@ -76,7 +76,6 @@ add_clang_library(clangDriver
ToolChains/Myriad.cpp
ToolChains/NaCl.cpp
ToolChains/NetBSD.cpp
- ToolChains/OHOS.cpp
ToolChains/OpenBSD.cpp
ToolChains/PS4CPU.cpp
ToolChains/RISCVToolchain.cpp
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 1e7c1daeed7f3..6533d4e49cbbe 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -40,7 +40,6 @@
#include "ToolChains/Myriad.h"
#include "ToolChains/NaCl.h"
#include "ToolChains/NetBSD.h"
-#include "ToolChains/OHOS.h"
#include "ToolChains/OpenBSD.h"
#include "ToolChains/PPCFreeBSD.h"
#include "ToolChains/PPCLinux.h"
@@ -6074,8 +6073,7 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
Args);
else if (Target.getArch() == llvm::Triple::ve)
TC = std::make_unique<toolchains::VEToolChain>(*this, Target, Args);
- else if (Target.isOHOSFamily())
- TC = std::make_unique<toolchains::OHOS>(*this, Target, Args);
+
else
TC = std::make_unique<toolchains::Linux>(*this, Target, Args);
break;
@@ -6139,9 +6137,6 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
case llvm::Triple::Hurd:
TC = std::make_unique<toolchains::Hurd>(*this, Target, Args);
break;
- case llvm::Triple::LiteOS:
- TC = std::make_unique<toolchains::OHOS>(*this, Target, Args);
- break;
case llvm::Triple::ZOS:
TC = std::make_unique<toolchains::ZOS>(*this, Target, Args);
break;
diff --git a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
index f3bc00188c784..0b2ee72f7868e 100644
--- a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
@@ -606,7 +606,7 @@ void aarch64::getAArch64TargetFeatures(const Driver &D,
Features.push_back("+fix-cortex-a53-835769");
else
Features.push_back("-fix-cortex-a53-835769");
- } else if (Triple.isAndroid() || Triple.isOHOSFamily()) {
+ } else if (Triple.isAndroid()) {
// Enabled A53 errata (835769) workaround by default on android
Features.push_back("+fix-cortex-a53-835769");
} else if (Triple.isOSFuchsia()) {
diff --git a/clang/lib/Driver/ToolChains/Arch/ARM.cpp b/clang/lib/Driver/ToolChains/Arch/ARM.cpp
index 1ba4252b4cef7..e75f8a474410c 100644
--- a/clang/lib/Driver/ToolChains/Arch/ARM.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/ARM.cpp
@@ -275,11 +275,6 @@ void arm::setArchNameInTriple(const Driver &D, const ArgList &Args,
void arm::setFloatABIInTriple(const Driver &D, const ArgList &Args,
llvm::Triple &Triple) {
- if (Triple.isOSLiteOS()) {
- Triple.setEnvironment(llvm::Triple::OpenHOS);
- return;
- }
-
bool isHardFloat =
(arm::getARMFloatABI(D, Triple, Args) == arm::FloatABI::Hard);
@@ -299,8 +294,6 @@ void arm::setFloatABIInTriple(const Driver &D, const ArgList &Args,
Triple.setEnvironment(isHardFloat ? llvm::Triple::MuslEABIHF
: llvm::Triple::MuslEABI);
break;
- case llvm::Triple::OpenHOS:
- break;
default: {
arm::FloatABI DefaultABI = arm::getDefaultFloatABI(Triple);
if (DefaultABI != arm::FloatABI::Invalid &&
@@ -370,8 +363,6 @@ arm::FloatABI arm::getDefaultFloatABI(const llvm::Triple &Triple) {
return FloatABI::SoftFP;
default:
- if (Triple.isOHOSFamily())
- return FloatABI::Soft;
switch (Triple.getEnvironment()) {
case llvm::Triple::GNUEABIHF:
case llvm::Triple::MuslEABIHF:
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 1c13df62f7231..bc32b8d8cac8d 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -957,7 +957,7 @@ void tools::linkSanitizerRuntimeDeps(const ToolChain &TC,
CmdArgs.push_back(getAsNeededOption(TC, false));
// There's no libpthread or librt on RTEMS & Android.
if (TC.getTriple().getOS() != llvm::Triple::RTEMS &&
- !TC.getTriple().isAndroid() && !TC.getTriple().isOHOSFamily()) {
+ !TC.getTriple().isAndroid()) {
CmdArgs.push_back("-lpthread");
if (!TC.getTriple().isOSOpenBSD())
CmdArgs.push_back("-lrt");
@@ -1381,10 +1381,6 @@ tools::ParsePICArgs(const ToolChain &ToolChain, const ArgList &Args) {
}
}
- // OHOS-specific defaults for PIC/PIE
- if (Triple.isOHOSFamily() && Triple.getArch() == llvm::Triple::aarch64)
- PIC = true;
-
// OpenBSD-specific defaults for PIE
if (Triple.isOSOpenBSD()) {
switch (ToolChain.getArch()) {
@@ -1671,12 +1667,6 @@ static LibGccType getLibGccType(const ToolChain &TC, const Driver &D,
static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
ArgStringList &CmdArgs, const ArgList &Args) {
ToolChain::UnwindLibType UNW = TC.GetUnwindLibType(Args);
- // By default OHOS binaries are linked statically to libunwind.
- if (TC.getTriple().isOHOSFamily() && UNW == ToolChain::UNW_CompilerRT) {
- CmdArgs.push_back("-l:libunwind.a");
- return;
- }
-
// Targets that don't use unwind libraries.
if ((TC.getTriple().isAndroid() && UNW == ToolChain::UNW_Libgcc) ||
TC.getTriple().isOSIAMCU() || TC.getTriple().isOSBinFormatWasm() ||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 7e72a1d1433da..24fbdcffc07ba 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -405,7 +405,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
const llvm::Triple::ArchType Arch = ToolChain.getArch();
- const bool isOHOSFamily = ToolChain.getTriple().isOHOSFamily();
const bool isAndroid = ToolChain.getTriple().isAndroid();
const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
const bool IsVE = ToolChain.getTriple().isVE();
@@ -456,7 +455,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
// Most Android ARM64 targets should enable the linker fix for erratum
// 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
- if (Arch == llvm::Triple::aarch64 && (isAndroid || isOHOSFamily)) {
+ if (Arch == llvm::Triple::aarch64 && isAndroid) {
std::string CPU = getCPUName(D, Args, Triple);
if (CPU.empty() || CPU == "generic" || CPU == "cortex-a53")
CmdArgs.push_back("--fix-cortex-a53-843419");
@@ -642,9 +641,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("--pop-state");
}
- // We don't need libpthread neither for bionic (Android) nor for musl,
- // (used by OHOS as runtime library).
- if (WantPthread && !isAndroid && !isOHOSFamily)
+ if (WantPthread && !isAndroid)
CmdArgs.push_back("-lpthread");
if (Args.hasArg(options::OPT_fsplit_stack))
diff --git a/clang/lib/Driver/ToolChains/OHOS.cpp b/clang/lib/Driver/ToolChains/OHOS.cpp
deleted file mode 100644
index 71a4ccd042ac8..0000000000000
--- a/clang/lib/Driver/ToolChains/OHOS.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-//===--- OHOS.cpp - OHOS ToolChain Implementations --------*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "OHOS.h"
-#include "Arch/ARM.h"
-#include "CommonArgs.h"
-#include "clang/Config/config.h"
-#include "clang/Driver/Compilation.h"
-#include "clang/Driver/Driver.h"
-#include "clang/Driver/DriverDiagnostic.h"
-#include "clang/Driver/Options.h"
-#include "clang/Driver/SanitizerArgs.h"
-#include "llvm/Option/ArgList.h"
-#include "llvm/ProfileData/InstrProf.h"
-#include "llvm/Support/FileSystem.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/VirtualFileSystem.h"
-#include "llvm/Support/ScopedPrinter.h"
-
-using namespace clang::driver;
-using namespace clang::driver::toolchains;
-using namespace clang::driver::tools;
-using namespace clang;
-using namespace llvm::opt;
-using namespace clang::driver::tools::arm;
-
-using tools::addMultilibFlag;
-using tools::addPathIfExists;
-
-static bool findOHOSMuslMultilibs(const Multilib::flags_list &Flags,
- DetectedMultilibs &Result) {
- MultilibSet Multilibs;
- Multilibs.push_back(Multilib());
- // -mcpu=cortex-a7
- // -mfloat-abi=soft -mfloat-abi=softfp -mfloat-abi=hard
- // -mfpu=neon-vfpv4
- Multilibs.push_back(Multilib("/a7_soft", {}, {}, 1,
- {"+mcpu=cortex-a7", "+mfloat-abi=soft"}));
-
- Multilibs.push_back(Multilib("/a7_softfp_neon-vfpv4", {}, {}, 1,
- {"+mcpu=cortex-a7", "+mfloat-abi=softfp", "+mfpu=neon-vfpv4"}));
-
- Multilibs.push_back(Multilib("/a7_hard_neon-vfpv4", {}, {}, 1,
- {"+mcpu=cortex-a7", "+mfloat-abi=hard", "+mfpu=neon-vfpv4"}));
-
- if (Multilibs.select(Flags, Result.SelectedMultilib)) {
- Result.Multilibs = Multilibs;
- return true;
- }
- return false;
-}
-
-static bool findOHOSMultilibs(const Driver &D,
- const ToolChain &TC,
- const llvm::Triple &TargetTriple,
- StringRef Path, const ArgList &Args,
- DetectedMultilibs &Result) {
- Multilib::flags_list Flags;
- bool IsA7 = false;
- if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ))
- IsA7 = A->getValue() == StringRef("cortex-a7");
- addMultilibFlag(IsA7, "mcpu=cortex-a7", Flags);
-
- bool IsMFPU = false;
- if (const Arg *A = Args.getLastArg(options::OPT_mfpu_EQ))
- IsMFPU = A->getValue() == StringRef("neon-vfpv4");
- addMultilibFlag(IsMFPU, "mfpu=neon-vfpv4", Flags);
-
- tools::arm::FloatABI ARMFloatABI = getARMFloatABI(D, TargetTriple, Args);
- addMultilibFlag((ARMFloatABI == tools::arm::FloatABI::Soft),
- "mfloat-abi=soft", Flags);
- addMultilibFlag((ARMFloatABI == tools::arm::FloatABI::SoftFP),
- "mfloat-abi=softfp", Flags);
- addMultilibFlag((ARMFloatABI == tools::arm::FloatABI::Hard),
- "mfloat-abi=hard", Flags);
-
- return findOHOSMuslMultilibs(Flags, Result);
-}
-
-std::string OHOS::getMultiarchTriple(const llvm::Triple &T) const {
- // For most architectures, just use whatever we have rather than trying to be
- // clever.
- switch (T.getArch()) {
- default:
- break;
-
- // We use the existence of '/lib/<triple>' as a directory to detect some
- // common linux triples that don't quite match the Clang triple for both
- // 32-bit and 64-bit targets. Multiarch fixes its install triples to these
- // regardless of what the actual target triple is.
- case llvm::Triple::arm:
- case llvm::Triple::thumb:
- return T.isOSLiteOS() ? "arm-liteos-ohos" : "arm-linux-ohos";
- case llvm::Triple::riscv32:
- return "riscv32-linux-ohos";
- case llvm::Triple::riscv64:
- return "riscv64-linux-ohos";
- case llvm::Triple::mipsel:
- return "mipsel-linux-ohos";
- case llvm::Triple::x86:
- return "i686-linux-ohos";
- case llvm::Triple::x86_64:
- return "x86_64-linux-ohos";
- case llvm::Triple::aarch64:
- return "aarch64-linux-ohos";
- }
- return T.str();
-}
-
-std::string OHOS::getMultiarchTriple(const Driver &D,
- const llvm::Triple &TargetTriple,
- StringRef SysRoot) const {
- return getMultiarchTriple(TargetTriple);
-}
-
-static std::string makePath(const std::initializer_list<std::string> &IL) {
- SmallString<128> P;
- for (const auto &S : IL)
- llvm::sys::path::append(P, S);
- return static_cast<std::string>(P.str());
-}
-
-/// OHOS Toolchain
-OHOS::OHOS(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
- : Generic_ELF(D, Triple, Args) {
- std::string SysRoot = computeSysRoot();
-
- // Select the correct multilib according to the given arguments.
- DetectedMultilibs Result;
- findOHOSMultilibs(D, *this, Triple, "", Args, Result);
- Multilibs = Result.Multilibs;
- SelectedMultilib = Result.SelectedMultilib;
-
- getFilePaths().clear();
- std::string CandidateLibPath = getArchSpecificLibPath();
- if (getVFS().exists(CandidateLibPath))
- getFilePaths().push_back(CandidateLibPath);
-
- getLibraryPaths().clear();
- for (auto &Path : getRuntimePaths())
- if (getVFS().exists(Path))
- getLibraryPaths().push_back(Path);
-
- // OHOS sysroots contain a library directory for each supported OS
- // version as well as some unversioned libraries in the usual multiarch
- // directory. Support --target=aarch64-linux-ohosX.Y.Z or
- // --target=aarch64-linux-ohosX.Y or --target=aarch64-linux-ohosX
- path_list &Paths = getFilePaths();
- std::string SysRootLibPath = makePath({SysRoot, "usr", "lib"});
- std::string MultiarchTriple = getMultiarchTriple(getTriple());
- addPathIfExists(D, makePath({SysRootLibPath, SelectedMultilib.gccSuffix()}),
- Paths);
- addPathIfExists(D,
- makePath({D.Dir, "..", "lib", MultiarchTriple,
- SelectedMultilib.gccSuffix()}),
- Paths);
-
- addPathIfExists(
- D,
- makePath({SysRootLibPath, MultiarchTriple, SelectedMultilib.gccSuffix()}),
- Paths);
-}
-
-ToolChain::RuntimeLibType OHOS::GetRuntimeLibType(
- const ArgList &Args) const {
- if (Arg *A = Args.getLastArg(clang::driver::options::OPT_rtlib_EQ)) {
- StringRef Value = A->getValue();
- if (Value != "compiler-rt")
- getDriver().Diag(clang::diag::err_drv_invalid_rtlib_name)
- << A->getAsString(Args);
- }
-
- return ToolChain::RLT_CompilerRT;
-}
-
-ToolChain::CXXStdlibType
-OHOS::GetCXXStdlibType(const ArgList &Args) const {
- if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
- StringRef Value = A->getValue();
- if (Value != "libc++")
- getDriver().Diag(diag::err_drv_invalid_stdlib_name)
- << A->getAsString(Args);
- }
-
- return ToolChain::CST_Libcxx;
-}
-
-void OHOS::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
- ArgStringList &CC1Args) const {
- const Driver &D = getDriver();
- const llvm::Triple &Triple = getTriple();
- std::string SysRoot = computeSysRoot();
-
- if (DriverArgs.hasArg(options::OPT_nostdinc))
- return;
-
- if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
- SmallString<128> P(D.ResourceDir);
- llvm::sys::path::append(P, "include");
- addSystemInclude(DriverArgs, CC1Args, P);
- }
-
- if (DriverArgs.hasArg(options::OPT_nostdlibinc))
- return;
-
- // Check for configure-time C include directories.
- StringRef CIncludeDirs(C_INCLUDE_DIRS);
- if (CIncludeDirs != "") {
- SmallVector<StringRef, 5> dirs;
- CIncludeDirs.split(dirs, ":");
- for (StringRef dir : dirs) {
- StringRef Prefix =
- llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : "";
- addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir);
- }
- return;
- }
-
- addExternCSystemInclude(DriverArgs, CC1Args,
- SysRoot + "/usr/include/" +
- getMultiarchTriple(Triple));
- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
-}
-
-void OHOS::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
- ArgStringList &CC1Args) const {
- if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
- DriverArgs.hasArg(options::OPT_nostdincxx))
- return;
-
- switch (GetCXXStdlibType(DriverArgs)) {
- case ToolChain::CST_Libcxx: {
- std::string IncPath = makePath({getDriver().Dir, "..", "include"});
- std::string IncTargetPath =
- makePath({IncPath, getMultiarchTriple(getTriple()), "c++", "v1"});
- if (getVFS().exists(IncTargetPath)) {
- addSystemInclude(DriverArgs, CC1Args, makePath({IncPath, "c++", "v1"}));
- addSystemInclude(DriverArgs, CC1Args, IncTargetPath);
- }
- break;
- }
-
- default:
- llvm_unreachable("invalid stdlib name");
- }
-}
-
-void OHOS::AddCXXStdlibLibArgs(const ArgList &Args,
- ArgStringList &CmdArgs) const {
- switch (GetCXXStdlibType(Args)) {
- case ToolChain::CST_Libcxx:
- CmdArgs.push_back("-lc++");
- CmdArgs.push_back("-lc++abi");
- CmdArgs.push_back("-lunwind");
- break;
-
- case ToolChain::CST_Libstdcxx:
- llvm_unreachable("invalid stdlib name");
- }
-}
-
-std::string OHOS::computeSysRoot() const {
- std::string SysRoot =
- !getDriver().SysRoot.empty()
- ? getDriver().SysRoot
- : makePath({getDriver().getInstalledDir(), "..", "..", "sysroot"});
- if (!llvm::sys::fs::exists(SysRoot))
- return std::string();
-
- std::string ArchRoot = makePath({SysRoot, getMultiarchTriple(getTriple())});
- return llvm::sys::fs::exists(ArchRoot) ? ArchRoot : SysRoot;
-}
-
-ToolChain::path_list OHOS::getRuntimePaths() const {
- SmallString<128> P;
- path_list Paths;
- const Driver &D = getDriver();
- const llvm::Triple &Triple = getTriple();
-
- // First try the triple passed to driver as --target=<triple>.
- P.assign(D.ResourceDir);
- llvm::sys::path::append(P, "lib", D.getTargetTriple(), SelectedMultilib.gccSuffix());
- Paths.push_back(P.c_str());
-
- // Second try the normalized triple.
- P.assign(D.ResourceDir);
- llvm::sys::path::append(P, "lib", Triple.str(), SelectedMultilib.gccSuffix());
- Paths.push_back(P.c_str());
-
- // Third try the effective triple.
- P.assign(D.ResourceDir);
- std::string SysRoot = computeSysRoot();
- llvm::sys::path::append(P, "lib", getMultiarchTriple(Triple),
- SelectedMultilib.gccSuffix());
- Paths.push_back(P.c_str());
-
- return Paths;
-}
-
-std::string OHOS::getDynamicLinker(const ArgList &Args) const {
- const llvm::Triple &Triple = getTriple();
- const llvm::Triple::ArchType Arch = getArch();
-
- assert(Triple.isMusl());
- std::string ArchName;
- bool IsArm = false;
-
- switch (Arch) {
- case llvm::Triple::arm:
- case llvm::Triple::thumb:
- ArchName = "arm";
- IsArm = true;
- break;
- case llvm::Triple::armeb:
- case llvm::Triple::thumbeb:
- ArchName = "armeb";
- IsArm = true;
- break;
- default:
- ArchName = Triple.getArchName().str();
- }
- if (IsArm &&
- (tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard))
- ArchName += "hf";
-
- return "/lib/ld-musl-" + ArchName + ".so.1";
-}
-
-std::string OHOS::getCompilerRT(const ArgList &Args, StringRef Component,
- FileType Type) const {
- SmallString<128> Path(getDriver().ResourceDir);
- llvm::sys::path::append(Path, "lib", getMultiarchTriple(getTriple()),
- SelectedMultilib.gccSuffix());
- const char *Prefix =
- Type == ToolChain::FT_Object ? "" : "lib";
- const char *Suffix;
- switch (Type) {
- case ToolChain::FT_Object:
- Suffix = ".o";
- break;
- case ToolChain::FT_Static:
- Suffix = ".a";
- break;
- case ToolChain::FT_Shared:
- Suffix = ".so";
- break;
- }
- llvm::sys::path::append(
- Path, Prefix + Twine("clang_rt.") + Component + Suffix);
- return static_cast<std::string>(Path.str());
-}
-
-void OHOS::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
- CmdArgs.push_back("-z");
- CmdArgs.push_back("now");
- CmdArgs.push_back("-z");
- CmdArgs.push_back("relro");
- CmdArgs.push_back("-z");
- CmdArgs.push_back("max-page-size=4096");
- // .gnu.hash section is not compatible with the MIPS target
- if (getArch() != llvm::Triple::mipsel)
- CmdArgs.push_back("--hash-style=both");
-#ifdef ENABLE_LINKER_BUILD_ID
- CmdArgs.push_back("--build-id");
-#endif
- CmdArgs.push_back("--enable-new-dtags");
-}
-
-SanitizerMask OHOS::getSupportedSanitizers() const {
- SanitizerMask Res = ToolChain::getSupportedSanitizers();
- Res |= SanitizerKind::Address;
- Res |= SanitizerKind::PointerCompare;
- Res |= SanitizerKind::PointerSubtract;
- Res |= SanitizerKind::Fuzzer;
- Res |= SanitizerKind::FuzzerNoLink;
- Res |= SanitizerKind::Memory;
- Res |= SanitizerKind::Vptr;
- Res |= SanitizerKind::SafeStack;
- Res |= SanitizerKind::Scudo;
- // TODO: kASAN for liteos ??
- // TODO: Support TSAN and HWASAN and update mask.
- return Res;
-}
-
-// TODO: Make a base class for Linux and OHOS and move this there.
-void OHOS::addProfileRTLibs(const llvm::opt::ArgList &Args,
- llvm::opt::ArgStringList &CmdArgs) const {
- // Add linker option -u__llvm_profile_runtime to cause runtime
- // initialization module to be linked in.
- if (needsProfileRT(Args))
- CmdArgs.push_back(Args.MakeArgString(
- Twine("-u", llvm::getInstrProfRuntimeHookVarName())));
- ToolChain::addProfileRTLibs(Args, CmdArgs);
-}
-
-std::string OHOS::getArchSpecificLibPath() const {
- llvm::Triple Triple = getTriple();
- return makePath({getDriver().ResourceDir, "lib", getMultiarchTriple(Triple)});
-}
-
-ToolChain::UnwindLibType OHOS::GetUnwindLibType(const llvm::opt::ArgList &Args) const {
- if (const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ))
- return Generic_ELF::GetUnwindLibType(Args);
- return GetDefaultUnwindLibType();
-}
diff --git a/clang/lib/Driver/ToolChains/OHOS.h b/clang/lib/Driver/ToolChains/OHOS.h
deleted file mode 100644
index 9ce0d0c4325bf..0000000000000
--- a/clang/lib/Driver/ToolChains/OHOS.h
+++ /dev/null
@@ -1,94 +0,0 @@
-//===--- OHOS.h - OHOS ToolChain Implementations ----------*- 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_LIB_DRIVER_TOOLCHAINS_OHOS_H
-#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_OHOS_H
-
-#include "Linux.h"
-#include "clang/Driver/Tool.h"
-#include "clang/Driver/ToolChain.h"
-
-namespace clang {
-namespace driver {
-namespace toolchains {
-
-class LLVM_LIBRARY_VISIBILITY OHOS : public Generic_ELF {
-public:
- OHOS(const Driver &D, const llvm::Triple &Triple,
- const llvm::opt::ArgList &Args);
-
- bool HasNativeLLVMSupport() const override { return true; }
- bool IsIntegratedAssemblerDefault() const override { return true; }
- bool IsMathErrnoDefault() const override { return false; }
- RuntimeLibType GetDefaultRuntimeLibType() const override {
- return ToolChain::RLT_CompilerRT;
- }
- CXXStdlibType GetDefaultCXXStdlibType() const override {
- return ToolChain::CST_Libcxx;
- }
- // Not add -funwind-tables by default
- bool isPICDefault() const override { return false; }
- bool isPIEDefault(const llvm::opt::ArgList &Args) const override { return true; }
- bool isPICDefaultForced() const override { return false; }
- bool useRelaxRelocations() const override { return false; }
- UnwindLibType GetUnwindLibType(const llvm::opt::ArgList &Args) const override;
- UnwindLibType GetDefaultUnwindLibType() const override { return UNW_CompilerRT; }
-
- RuntimeLibType
- GetRuntimeLibType(const llvm::opt::ArgList &Args) const override;
- CXXStdlibType
- GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
-
- void
- AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
- llvm::opt::ArgStringList &CC1Args) const override;
- void
- AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
- llvm::opt::ArgStringList &CC1Args) const override;
- void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
- llvm::opt::ArgStringList &CmdArgs) const override;
-
- std::string computeSysRoot() const override;
- std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
-
- std::string
- getCompilerRT(const llvm::opt::ArgList &Args, StringRef Component,
- FileType Type = ToolChain::FT_Static) const override;
-
- const char *getDefaultLinker() const override {
- return "ld.lld";
- }
-
- Tool *buildLinker() const override {
- return new tools::gnutools::Linker(*this);
- }
- Tool *buildAssembler() const override {
- return new tools::gnutools::Assembler(*this);
- }
-
- path_list getRuntimePaths() const;
-
-protected:
- std::string getMultiarchTriple(const llvm::Triple &T) const;
- std::string getMultiarchTriple(const Driver &D,
- const llvm::Triple &TargetTriple,
- StringRef SysRoot) const override;
- void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
- SanitizerMask getSupportedSanitizers() const override;
- void addProfileRTLibs(const llvm::opt::ArgList &Args,
- llvm::opt::ArgStringList &CmdArgs) const override;
- std::string getArchSpecificLibPath() const override;
-private:
- Multilib SelectedMultilib;
-};
-
-} // end namespace toolchains
-} // end namespace driver
-} // end namespace clang
-
-#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_OHOS_H
diff --git a/clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c b/clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
index 3d1a2c7aceb1f..3ce5b9d122176 100644
--- a/clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
+++ b/clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
@@ -7,8 +7,6 @@
// RUN: %clang -O3 -target aarch64-android-eabi %s -S -o- \
// RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
-// RUN: %clang -O3 -target aarch64-linux-ohos %s -S -o- \
-// RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
// RUN: %clang -O3 -target aarch64-android-eabi -mfix-cortex-a53-835769 %s -S -o- \
// RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
// RUN: %clang -O3 -target aarch64-android-eabi -mno-fix-cortex-a53-835769 %s -S -o- \
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/bin/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/bin/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/include/c++/v1/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/include/c++/v1/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_soft/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_soft/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_hard_neon-vfpv4/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_hard_neon-vfpv4/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_soft/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_soft/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_softfp_neon-vfpv4/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_softfp_neon-vfpv4/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/libc++.so b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/libc++.so
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtbegin.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtbegin.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtend.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtend.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.profile.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.profile.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtbegin.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtbegin.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtend.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtend.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.profile.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.profile.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtbegin.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtbegin.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtend.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtend.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.profile.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.profile.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtbegin.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtbegin.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtend.o b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtend.o
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.builtins.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.builtins.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.profile.a b/clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.profile.a
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/arm-liteos-ohos/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/arm-liteos-ohos/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_soft/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_soft/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep b/clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/clang/test/Driver/ohos.c b/clang/test/Driver/ohos.c
deleted file mode 100644
index 86a4039c99082..0000000000000
--- a/clang/test/Driver/ohos.c
+++ /dev/null
@@ -1,241 +0,0 @@
-// UNSUPPORTED: system-windows
-// RUN: %clang %s -### -no-canonical-prefixes --target=arm-liteos \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot -fuse-ld=lld -march=armv7-a 2>&1 \
-// RUN: | FileCheck -check-prefixes=CHECK,CHECK-ARM %s
-// RUN: %clang %s -### -no-canonical-prefixes --target=arm-liteos \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot -fuse-ld=lld -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=soft 2>&1 \
-// RUN: | FileCheck -check-prefixes=CHECK,CHECK-ARM-A7-SOFT %s
-// CHECK: {{.*}}clang{{.*}}" "-cc1"
-// CHECK-NOT: "--mrelax-relocations"
-// CHECK-NOT: "-munwind-tables"
-// CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"
-// CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"
-// CHECK-NOT: "-fsanitize=safe-stack"
-// CHECK-NOT: "-stack-protector" "2"
-// CHECK-NOT: "-fno-common"
-// CHECK: {{.*}}ld.lld{{.*}}" "--sysroot=[[SYSROOT]]"
-// CHECK-NOT: "--sysroot=[[SYSROOT]]"
-// CHECK: "-pie"
-// CHECK-NOT: "--build-id"
-// CHECK: "--hash-style=both"
-// CHECK: "-dynamic-linker" "/lib/ld-musl-arm.so.1"
-// CHECK: Scrt1.o
-// CHECK: crti.o
-// CHECK: clang_rt.crtbegin.o
-// CHECK-ARM: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/"
-// CHECK-ARM-A7-SOFT: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_soft"
-// CHECK-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK-ARM-A7-SOFT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos/a7_soft{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK: "-lc"
-// CHECK: clang_rt.crtend.o
-// CHECK: crtn.o
-
-// RUN: %clang %s -### --target=arm-liteos -rtlib=libgcc -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RTLIB
-// CHECK-RTLIB: error: invalid runtime library name in argument '-rtlib=libgcc'
-
-// RUN: %clang %s -### --target=arm-liteos -static -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-STATIC
-// CHECK-STATIC: "-static"
-// CHECK-STATIC-NOT: "-Bdynamic"
-// CHECK-STATIC: "-l:libunwind.a"
-// CHECK-STATIC: "-lc"
-
-// RUN: %clang %s -### --target=arm-liteos -shared -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-SHARED
-// CHECK-SHARED-NOT: "-pie"
-// CHECK-SHARED: "-shared"
-// CHECK-SHARED: "-lc"
-// CHECK-SHARED: "-l:libunwind.a"
-
-// RUN: %clang %s -### --target=arm-linux-ohos -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RUNTIME
-// RUN: %clang %s -### --target=aarch64-linux-ohos -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RUNTIME
-// RUN: %clang %s -### --target=mipsel-linux-ohos -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RUNTIME
-// RUN: %clang %s -### --target=x86_64-linux-ohos -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RUNTIME
-// CHECK-RUNTIME: "{{.*}}/libclang_rt.builtins.a"
-// CHECK-RUNTIME: "-l:libunwind.a"
-// CHECK-LIBM: "-lm"
-
-// RUN: %clang %s -### --target=arm-liteos -r -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-RELOCATABLE
-// CHECK-RELOCATABLE-NOT: "-pie"
-// CHECK-RELOCATABLE-NOT: "--build-id"
-// CHECK-RELOCATABLE: "-r"
-
-// RUN: %clang %s -### --target=arm-liteos -nodefaultlibs -fuse-ld=lld 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: | FileCheck %s -check-prefix=CHECK-NODEFAULTLIBS
-// CHECK-NODEFAULTLIBS: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-NODEFAULTLIBS-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK-NODEFAULTLIBS-NOT: "-lc"
-
-// RUN: %clang %s -### --target=arm-liteos -nostdlib -fuse-ld=lld 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: | FileCheck %s -check-prefix=CHECK-NOSTDLIB
-// CHECK-NOSTDLIB: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-NOSTDLIB-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK-NOSTDLIB-NOT: "-lc"
-
-// RUN: %clang %s -### --target=arm-liteos -nolibc -fuse-ld=lld 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: | FileCheck %s -check-prefix=CHECK-NOLIBC
-// CHECK-NOLIBC: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-NOLIBC: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK-NOLIBC-NOT: "-lc"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=safe-stack 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-SAFESTACK
-// CHECK-SAFESTACK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-SAFESTACK: "-fsanitize=safe-stack"
-// CHECK-SAFESTACK: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.safestack.a"
-// CHECK-SAFESTACK: "__safestack_init"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=address 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-ASAN-ARM
-// CHECK-ASAN-ARM: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-ASAN-ARM: "-fsanitize=address"
-// CHECK-ASAN-ARM: "-fsanitize-address-use-after-scope"
-// CHECK-ASAN-ARM: "-dynamic-linker" "/lib/ld-musl-arm.so.1"
-// CHECK-ASAN-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.asan.a"
-// CHECK-ASAN-ARM-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.asan-preinit.a"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=address -fPIC -shared 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -shared-libsan \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-ASAN-SHARED
-// CHECK-ASAN-SHARED: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-ASAN-SHARED: "-fsanitize=address"
-// CHECK-ASAN-SHARED: "-fsanitize-address-use-after-scope"
-// CHECK-ASAN-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.asan.so"
-// CHECK-ASAN-SHARED-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.asan-preinit.a"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=fuzzer 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-FUZZER-ARM
-// CHECK-FUZZER-ARM: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-FUZZER-ARM: "-fsanitize=fuzzer,fuzzer-no-link"
-// CHECK-FUZZER-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.fuzzer.a"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=scudo 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-SCUDO-ARM
-// CHECK-SCUDO-ARM: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-SCUDO-ARM: "-fsanitize=scudo"
-// CHECK-SCUDO-ARM: "-pie"
-// CHECK-SCUDO-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.scudo_standalone.a"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fsanitize=scudo -fPIC -shared 2>&1 \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -shared-libsan \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-SCUDO-SHARED
-// CHECK-SCUDO-SHARED: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-SCUDO-SHARED: "-fsanitize=scudo"
-// CHECK-SCUDO-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.scudo_standalone.so"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -fxray-instrument -fxray-modes=xray-basic \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-XRAY-ARM
-// CHECK-XRAY-ARM: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-XRAY-ARM: "-fxray-instrument"
-// CHECK-XRAY-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.xray.a"
-// CHECK-XRAY-ARM: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.xray-basic.a"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -O3 -flto -mcpu=cortex-a53 2>&1 \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-LTO
-// CHECK-LTO: "-plugin-opt=mcpu=cortex-a53"
-// CHECK-LTO: "-plugin-opt=O3"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -flto=thin -flto-jobs=8 -mcpu=cortex-a7 2>&1 \
-// RUN: -fuse-ld=lld \
-// RUN: | FileCheck %s -check-prefix=CHECK-THINLTO
-// CHECK-THINLTO: "-plugin-opt=mcpu=cortex-a7"
-// CHECK-THINLTO: "-plugin-opt=thinlto"
-// CHECK-THINLTO: "-plugin-opt=jobs=8"
-
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mfloat-abi=soft 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=soft 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM-A7-SOFT
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM-A7-SOFTFP
-// RUN: %clang %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-HF,CHECK-MULTILIB-ARM-A7-HARD
-// CHECK-MULTILIB: {{.*}}clang{{.*}}" "-cc1"
-// CHECK-MULTILIB: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-MULTILIB: "-isysroot" "[[SYSROOT:[^"]+]]"
-// CHECK-MULTILIB: {{.*}}ld.lld{{.*}}" "--sysroot=[[SYSROOT]]"
-// CHECK-MULTILIB-SF: "-dynamic-linker" "/lib/ld-musl-arm.so.1"
-// CHECK-MULTILIB-HF: "-dynamic-linker" "/lib/ld-musl-armhf.so.1"
-
-// CHECK-MULTILIB-ARM: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/"
-
-// CHECK-MULTILIB-ARM-A7-SOFT: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_soft"
-
-// CHECK-MULTILIB-ARM-A7-SOFTFP: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4"
-
-// CHECK-MULTILIB-ARM-A7-HARD: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4"
-
-// CHECK-MULTILIB-ARM: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-SOFT: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-SOFTFP: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-HARD: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a"
-
-// RUN: %clang %s -### -no-canonical-prefixes --target=arm-linux-ohos -fprofile-instr-generate -v \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot -fuse-ld=lld -march=armv7-a 2>&1 \
-// RUN: | FileCheck -check-prefixes=CHECK-PROFILE-RTLIB %s
-
-// CHECK-PROFILE-RTLIB: -u__llvm_profile_runtime
-// CHECK-PROFILE-RTLIB: libclang_rt.profile
-
-// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-// RUN: --target=arm64-linux-ohos -pthread \
-// RUN: --gcc-toolchain="" \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -shared \
-// RUN: | FileCheck --check-prefix=CHECK-OHOS-PTHREAD %s
-
-// CHECK-OHOS-PTHREAD-NOT: -lpthread
-
diff --git a/clang/test/Driver/ohos.cpp b/clang/test/Driver/ohos.cpp
deleted file mode 100644
index 3294fc9b46a30..0000000000000
--- a/clang/test/Driver/ohos.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// UNSUPPORTED: system-windows
-// RUN: %clangxx %s -### -no-canonical-prefixes --target=arm-liteos -march=armv7-a \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot -fuse-ld=lld 2>&1 | FileCheck %s
-// CHECK: {{.*}}clang{{.*}}" "-cc1"
-// CHECK: "-triple" "armv7-unknown-liteos-ohos"
-// CHECK-NOT: "-fuse-init-array"
-// CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"
-// CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"
-// CHECK: {{.*}}ld.lld{{.*}}" "--sysroot=[[SYSROOT]]"
-// CHECK: "-pie"
-// CHECK-NOT: "--build-id"
-// CHECK: "-dynamic-linker" "/lib/ld-musl-arm.so.1"
-// CHECK: Scrt1.o
-// CHECK: crti.o
-// CHECK: clang_rt.crtbegin.o
-// CHECK: "-L{{.*[/\\]}}lib/arm-liteos-ohos/"
-// CHECK-NOT: "--push-state"
-// CHECK-NOT: "--as-needed"
-// CHECK: "-lc++"
-// CHECK: "-lm"
-// CHECK-NOT: "--pop-state"
-// CHECK: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}libclang_rt.builtins.a"
-// CHECK: "-lc"
-// CHECK: clang_rt.crtend.o
-// CHECK: crtn.o
-
-// RUN: %clangxx %s -### --target=arm-unknown-liteos -stdlib=libstdc++ \
-// RUN: -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-STDLIB
-// CHECK-STDLIB: error: invalid library name in argument '-stdlib=libstdc++'
-
-// RUN: %clangxx %s -### --target=arm-unknown-liteos -static-libstdc++ \
-// RUN: -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-STATIC
-// CHECK-STATIC-NOT: "--push-state"
-// CHECK-STATIC-NOT: "--as-needed"
-// CHECK-STATIC: "-Bstatic"
-// CHECK-STATIC: "-lc++"
-// CHECK-STATIC: "-Bdynamic"
-// CHECK-STATIC: "-lm"
-// CHECK-STATIC-NOT: "--pop-state"
-// CHECK-STATIC: "-lc"
-
-// RUN: %clangxx %s -### --target=arm-unknown-liteos -static \
-// RUN: -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-STATIC1
-// CHECK-STATIC1-NOT: "-fuse-init-array"
-// CHECK-STATIC1: "-static"
-// CHECK-STATIC1: "-lc++"
-// CHECK-STATIC1: "-lc++abi"
-// CHECK-STATIC1: "-lunwind"
-// CHECK-STATIC1: "-lm"
-// CHECK-STATIC1: "-lc"
-
-// RUN: %clangxx %s -### --target=arm-unknown-liteos -march=armv7-a -mfloat-abi=soft -static -fPIE -fPIC -fpic -pie \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-STATIC2
-// CHECK-STATIC2: "-isysroot" "[[SYSROOT:[^"]+]]"
-// CHECK-STATIC2: {{.*}}ld.lld{{.*}}" "--sysroot=[[SYSROOT]]"
-// CHECK-STATIC2: "-static"
-// CHECK-STATIC2: "-lc++"
-// CHECK-STATIC2: "-lc++abi"
-// CHECK-STATIC2: "-lunwind"
-// CHECK-STATIC2: "-lm"
-// CHECK-STATIC2: "-lc"
-
-// RUN: %clangxx %s -### --target=arm-liteos -nostdlib++ -fuse-ld=lld 2>&1 \
-// RUN: | FileCheck %s -check-prefix=CHECK-NOSTDLIBXX
-// CHECK-NOSTDLIBXX-NOT: "-lc++"
-// CHECK-NOSTDLIBXX: "-lm"
-// CHECK-NOSTDLIBXX: "-lc"
-
-// RUN: %clangxx %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mfloat-abi=soft 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM
-// RUN: %clangxx %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=soft 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM-A7-SOFT
-// RUN: %clangxx %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-SF,CHECK-MULTILIB-ARM-A7-SOFTFP
-// RUN: %clangxx %s -### --target=arm-liteos \
-// RUN: -ccc-install-dir %S/Inputs/ohos_native_tree/llvm/bin \
-// RUN: -resource-dir=%S/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z \
-// RUN: --sysroot=%S/Inputs/ohos_native_tree/sysroot \
-// RUN: -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1\
-// RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB,CHECK-MULTILIB-HF,CHECK-MULTILIB-ARM-A7-HARD
-// CHECK-MULTILIB: {{.*}}clang{{.*}}" "-cc1"
-// CHECK-MULTILIB: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
-// CHECK-MULTILIB: "-isysroot" "[[SYSROOT:[^"]+]]"
-// CHECK-MULTILIB: {{.*}}ld.lld{{.*}}" "--sysroot=[[SYSROOT]]"
-// CHECK-MULTILIB-SF: "-dynamic-linker" "/lib/ld-musl-arm.so.1"
-// CHECK-MULTILIB-HF: "-dynamic-linker" "/lib/ld-musl-armhf.so.1"
-
-// CHECK-MULTILIB-ARM: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}"
-// CHECK-MULTILIB-ARM: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/"
-
-// CHECK-MULTILIB-ARM-A7-SOFT: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}a7_soft"
-// CHECK-MULTILIB-ARM-A7-SOFT: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_soft"
-
-// CHECK-MULTILIB-ARM-A7-SOFTFP: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}a7_softfp_neon-vfpv4"
-// CHECK-MULTILIB-ARM-A7-SOFTFP: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4"
-
-// CHECK-MULTILIB-ARM-A7-HARD: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}arm-liteos-ohos{{/|\\\\}}a7_hard_neon-vfpv4"
-// CHECK-MULTILIB-ARM-A7-HARD: "-L[[SYSROOT]]/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4"
-
-// CHECK-MULTILIB-ARM: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-SOFT: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-SOFTFP: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a"
-// CHECK-MULTILIB-ARM-A7-HARD: "[[RESOURCE_DIR]]/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a"
diff --git a/clang/test/Preprocessor/ohos.c b/clang/test/Preprocessor/ohos.c
deleted file mode 100644
index 0c435c7ed5ab4..0000000000000
--- a/clang/test/Preprocessor/ohos.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=arm-linux-ohos < /dev/null | FileCheck %s -match-full-lines -check-prefix=ARM-OHOS-CXX
-// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=aarch64-linux-ohos < /dev/null | FileCheck %s -match-full-lines -check-prefix=ARM64-OHOS-CXX
-// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=riscv64-linux-ohos < /dev/null | FileCheck %s -match-full-lines -check-prefix=RISCV64-OHOS-CXX
-// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=mipsel-linux-ohos < /dev/null | FileCheck %s -match-full-lines -check-prefix=MIPSEL-OHOS-CXX
-// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=x86_64-linux-ohos < /dev/null | FileCheck %s -match-full-lines -check-prefix=X86_64-OHOS-CXX
-// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-linux-ohos < /dev/null | FileCheck %s -check-prefix=OHOS-DEFS
-
-// ARM-OHOS-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
-// ARM64-OHOS-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
-// RISCV64-OHOS-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
-// MIPSEL-OHOS-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
-// X86_64-OHOS-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
-// OHOS-DEFS: __OHOS_FAMILY__
-// OHOS-DEFS: __OHOS__
-// OHOS-DEFS-NOT: __OHOS__
More information about the cfe-commits
mailing list