summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Katzman <dougk@google.com>2015-10-13 16:22:51 +0000
committerDouglas Katzman <dougk@google.com>2015-10-13 16:22:51 +0000
commit722bcb08f1d4af89dfc5cce06d0b0ee4fb3f4e71 (patch)
treefa9977184708bda79b4cdcb97933b90c103da243
parente717a7195b37fa8e5042e72ab340325615e66aae (diff)
downloadbcm5719-llvm-722bcb08f1d4af89dfc5cce06d0b0ee4fb3f4e71.tar.gz
bcm5719-llvm-722bcb08f1d4af89dfc5cce06d0b0ee4fb3f4e71.zip
Always pass a -dwarf-version argument to integrated as.
This removes the default of 3 hidden in the assembler previously. Fixes breakage caused by r249655, reported by vsukharev. llvm-svn: 250173
-rw-r--r--clang/lib/Driver/Tools.cpp5
-rw-r--r--clang/test/Driver/as-default-dwarf.s15
-rw-r--r--clang/tools/driver/cc1as_main.cpp2
3 files changed, 19 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 999231a278c..8a8904dd81b 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -5632,10 +5632,11 @@ void ClangAs::ConstructJob(Compilation &C, const JobAction &JA,
if (Arg *A = Args.getLastArg(options::OPT_g_Group)) {
WantDebug = !A->getOption().matches(options::OPT_g0);
if (WantDebug) {
- if ((DwarfVersion = DwarfVersionNum(A->getSpelling())) == 0)
- DwarfVersion = getToolChain().GetDefaultDwarfVersion();
+ DwarfVersion = DwarfVersionNum(A->getSpelling());
}
}
+ if (DwarfVersion == 0)
+ DwarfVersion = getToolChain().GetDefaultDwarfVersion();
RenderDebugEnablingArgs(Args, CmdArgs,
(WantDebug ? CodeGenOptions::LimitedDebugInfo
: CodeGenOptions::NoDebugInfo),
diff --git a/clang/test/Driver/as-default-dwarf.s b/clang/test/Driver/as-default-dwarf.s
new file mode 100644
index 00000000000..9988203c14b
--- /dev/null
+++ b/clang/test/Driver/as-default-dwarf.s
@@ -0,0 +1,15 @@
+@ REQUIRES: arm-registered-target
+@ RUN: %clang --target=armv8a--linux-gnueabi -c %s -o %t
+@ RUN: llvm-objdump -t %t | FileCheck %s
+ .text
+ .type foo,%function
+foo:
+ .fnstart
+ .cfi_startproc
+
+.Ltmp2:
+ .size foo, .Ltmp2-foo
+ .cfi_endproc
+ .fnend
+ .cfi_sections .debug_frame
+@ CHECK: foo
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp
index 54a77ed40ea..d98ba6ea423 100644
--- a/clang/tools/driver/cc1as_main.cpp
+++ b/clang/tools/driver/cc1as_main.cpp
@@ -144,7 +144,7 @@ public:
RelaxAll = 0;
NoExecStack = 0;
FatalWarnings = 0;
- DwarfVersion = 3;
+ DwarfVersion = 0;
}
static bool CreateFromArgs(AssemblerInvocation &Res,
OpenPOWER on IntegriCloud