diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2014-05-19 13:39:13 +0000 |
---|---|---|
committer | Oliver Stannard <oliver.stannard@arm.com> | 2014-05-19 13:39:13 +0000 |
commit | 066aa1a0953ec99d7624e3922d07fb3edfb50ad7 (patch) | |
tree | 2ce5bea247086cb82a6157d6e2928a0e8f65cfd7 /tools | |
parent | 608c7f7626c589860ef77bd712d3768e5d1dee61 (diff) | |
download | clang-066aa1a0953ec99d7624e3922d07fb3edfb50ad7.tar.gz clang-066aa1a0953ec99d7624e3922d07fb3edfb50ad7.tar.bz2 clang-066aa1a0953ec99d7624e3922d07fb3edfb50ad7.tar.xz |
Pass -gdwarf-N options to integrated assembler
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209124 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/driver/cc1as_main.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/driver/cc1as_main.cpp b/tools/driver/cc1as_main.cpp index debc94725f..c4456e2f1d 100644 --- a/tools/driver/cc1as_main.cpp +++ b/tools/driver/cc1as_main.cpp @@ -87,6 +87,7 @@ struct AssemblerInvocation { unsigned SaveTemporaryLabels : 1; unsigned GenDwarfForAssembly : 1; unsigned CompressDebugSections : 1; + unsigned DwarfVersion; std::string DwarfDebugFlags; std::string DwarfDebugProducer; std::string DebugCompilationDir; @@ -137,6 +138,7 @@ public: ShowEncoding = 0; RelaxAll = 0; NoExecStack = 0; + DwarfVersion = 3; } static bool CreateFromArgs(AssemblerInvocation &Res, const char **ArgBegin, @@ -189,6 +191,12 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts, Opts.SaveTemporaryLabels = Args->hasArg(OPT_msave_temp_labels); Opts.GenDwarfForAssembly = Args->hasArg(OPT_g); Opts.CompressDebugSections = Args->hasArg(OPT_compress_debug_sections); + if (Args->hasArg(OPT_gdwarf_2)) + Opts.DwarfVersion = 2; + if (Args->hasArg(OPT_gdwarf_3)) + Opts.DwarfVersion = 3; + if (Args->hasArg(OPT_gdwarf_4)) + Opts.DwarfVersion = 4; Opts.DwarfDebugFlags = Args->getLastArgValue(OPT_dwarf_debug_flags); Opts.DwarfDebugProducer = Args->getLastArgValue(OPT_dwarf_debug_producer); Opts.DebugCompilationDir = Args->getLastArgValue(OPT_fdebug_compilation_dir); @@ -327,6 +335,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, Ctx.setCompilationDir(Opts.DebugCompilationDir); if (!Opts.MainFileName.empty()) Ctx.setMainFileName(StringRef(Opts.MainFileName)); + Ctx.setDwarfVersion(Opts.DwarfVersion); // Build up the feature string from the target feature list. std::string FS; |