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 | 9b2a7d4f2d7bbb6c9cc74dfc09ef1ce28b0e8434 (patch) | |
tree | 231b34c89dcf58ca458a39a1a1cac99075958ba8 /clang/tools/driver/cc1as_main.cpp | |
parent | f3ad23551ddf178496892c0e42d6df380ec13c89 (diff) | |
download | bcm5719-llvm-9b2a7d4f2d7bbb6c9cc74dfc09ef1ce28b0e8434.tar.gz bcm5719-llvm-9b2a7d4f2d7bbb6c9cc74dfc09ef1ce28b0e8434.zip |
Pass -gdwarf-N options to integrated assembler
llvm-svn: 209124
Diffstat (limited to 'clang/tools/driver/cc1as_main.cpp')
-rw-r--r-- | clang/tools/driver/cc1as_main.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp index debc94725fb..c4456e2f1df 100644 --- a/clang/tools/driver/cc1as_main.cpp +++ b/clang/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; |