diff options
author | Douglas Katzman <dougk@google.com> | 2015-10-13 16:22:51 +0000 |
---|---|---|
committer | Douglas Katzman <dougk@google.com> | 2015-10-13 16:22:51 +0000 |
commit | 722bcb08f1d4af89dfc5cce06d0b0ee4fb3f4e71 (patch) | |
tree | fa9977184708bda79b4cdcb97933b90c103da243 | |
parent | e717a7195b37fa8e5042e72ab340325615e66aae (diff) | |
download | bcm5719-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.cpp | 5 | ||||
-rw-r--r-- | clang/test/Driver/as-default-dwarf.s | 15 | ||||
-rw-r--r-- | clang/tools/driver/cc1as_main.cpp | 2 |
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, |