[clang] ee1b2e7 - [Hexagon] Do not use init_arrays by default
Krzysztof Parzyszek via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 27 07:16:56 PST 2020
Author: Krzysztof Parzyszek
Date: 2020-02-27T09:16:25-06:00
New Revision: ee1b2e7ded12ef6e11ce35bb9929490ac9e7fa4f
URL: https://github.com/llvm/llvm-project/commit/ee1b2e7ded12ef6e11ce35bb9929490ac9e7fa4f
DIFF: https://github.com/llvm/llvm-project/commit/ee1b2e7ded12ef6e11ce35bb9929490ac9e7fa4f.diff
LOG: [Hexagon] Do not use init_arrays by default
Added:
Modified:
clang/lib/Driver/ToolChains/Hexagon.cpp
clang/test/Driver/hexagon-toolchain-elf.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp
index 25e9f1b6c222..88523cd4bb1c 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -523,6 +523,13 @@ unsigned HexagonToolChain::getOptimizationLevel(
void HexagonToolChain::addClangTargetOptions(const ArgList &DriverArgs,
ArgStringList &CC1Args,
Action::OffloadKind) const {
+ bool UseInitArrayDefault = false;
+
+ if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
+ options::OPT_fno_use_init_array,
+ UseInitArrayDefault))
+ CC1Args.push_back("-fno-use-init-array");
+
if (DriverArgs.hasArg(options::OPT_ffixed_r19)) {
CC1Args.push_back("-target-feature");
CC1Args.push_back("+reserved-r19");
diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c
index a0bf8cac9668..0a6c86424955 100644
--- a/clang/test/Driver/hexagon-toolchain-elf.c
+++ b/clang/test/Driver/hexagon-toolchain-elf.c
@@ -588,3 +588,12 @@
// RUN: | FileCheck -check-prefix=CHECK083 %s
// CHECK083: "-isysroot" "/hexagon"
// CHECK083: "-internal-externc-isystem" "/hexagon{{/|\\\\}}include"
+// -----------------------------------------------------------------------------
+// Passing -fno-use-init-array
+// -----------------------------------------------------------------------------
+// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
+// RUN: -mcpu=hexagonv60 \
+// RUN: %s 2>&1 \
+// RUN: | FileCheck -check-prefix=CHECK084 %s
+// CHECK084: "-fno-use-init-array"
More information about the cfe-commits
mailing list