summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Curtis <mcurtis@codeaurora.org>2012-12-07 17:23:04 +0000
committerMatthew Curtis <mcurtis@codeaurora.org>2012-12-07 17:23:04 +0000
commite5df38120121876ebbd21e9298ed54a9bc05e8a9 (patch)
tree79852f2298ddf4fb7653059de654fc9b486e4dee
parent55c128995befbfe264a31d6c6c71867ac6090e18 (diff)
downloadbcm5719-llvm-e5df38120121876ebbd21e9298ed54a9bc05e8a9.tar.gz
bcm5719-llvm-e5df38120121876ebbd21e9298ed54a9bc05e8a9.zip
Hexagon TC: forward appropriate args to assembler
llvm-svn: 169611
-rw-r--r--clang/lib/Driver/Tools.cpp4
-rw-r--r--clang/test/Driver/hexagon-toolchain.c15
2 files changed, 19 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 13f859da541..634e0206eeb 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3506,6 +3506,10 @@ void hexagon::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back(
Args.MakeArgString(std::string("-G") + SmallDataThreshold));
+ Args.AddAllArgs(CmdArgs, options::OPT_g_Group);
+ Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
+ options::OPT_Xassembler);
+
// Only pass -x if gcc will understand it; otherwise hope gcc
// understands the suffix correctly. The main use case this would go
// wrong in is for linker inputs if they happened to have an odd
diff --git a/clang/test/Driver/hexagon-toolchain.c b/clang/test/Driver/hexagon-toolchain.c
index 106eabca4ee..53c034d8885 100644
--- a/clang/test/Driver/hexagon-toolchain.c
+++ b/clang/test/Driver/hexagon-toolchain.c
@@ -531,3 +531,18 @@
// CHECK028: "-Wreturn-type"
// CHECK028-NEXT: "{{.*}}/bin/hexagon-as"
// CHECK028-NEXT: "{{.*}}/bin/hexagon-ld"
+
+// -----------------------------------------------------------------------------
+// Test Assembler related args
+// -----------------------------------------------------------------------------
+// RUN: %clang -### -target hexagon-unknown-linux \
+// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/qc/bin \
+// RUN: -gdwarf-2 \
+// RUN: -Wa,--noexecstack,--trap \
+// RUN: -Xassembler --keep-locals \
+// RUN: %s 2>&1 \
+// RUN: | FileCheck -check-prefix=CHECK029 %s
+// CHECK029: "{{.*}}clang{{.*}}" "-cc1"
+// CHECK029-NEXT: "{{.*}}/bin/hexagon-as"
+// CHECK029: "-gdwarf-2" "--noexecstack" "--trap" "--keep-locals"
+// CHECK029-NEXT: "{{.*}}/bin/hexagon-ld"
OpenPOWER on IntegriCloud