[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