summaryrefslogtreecommitdiffstats
path: root/clang/tools/driver/cc1as_main.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2014-05-19 13:39:13 +0000
committerOliver Stannard <oliver.stannard@arm.com>2014-05-19 13:39:13 +0000
commit9b2a7d4f2d7bbb6c9cc74dfc09ef1ce28b0e8434 (patch)
tree231b34c89dcf58ca458a39a1a1cac99075958ba8 /clang/tools/driver/cc1as_main.cpp
parentf3ad23551ddf178496892c0e42d6df380ec13c89 (diff)
downloadbcm5719-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.cpp9
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;
OpenPOWER on IntegriCloud