diff options
author | Eric Christopher <echristo@gmail.com> | 2012-12-18 00:31:10 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2012-12-18 00:31:10 +0000 |
commit | 45f2e71571570d46328e91953183de2795bc5c56 (patch) | |
tree | a69295c9a6ac57436ea89a1329a0de820b1a3dfb /clang/tools/driver/cc1as_main.cpp | |
parent | 906da23229af3e8f11694f6feb125682f02c93dc (diff) | |
download | bcm5719-llvm-45f2e71571570d46328e91953183de2795bc5c56.tar.gz bcm5719-llvm-45f2e71571570d46328e91953183de2795bc5c56.zip |
Add support for passing the main file name down to the assembler
for location information.
Part of PR14624
llvm-svn: 170391
Diffstat (limited to 'clang/tools/driver/cc1as_main.cpp')
-rw-r--r-- | clang/tools/driver/cc1as_main.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp index 73be56c2b4c..f01d97d1c5b 100644 --- a/clang/tools/driver/cc1as_main.cpp +++ b/clang/tools/driver/cc1as_main.cpp @@ -84,6 +84,7 @@ struct AssemblerInvocation { unsigned GenDwarfForAssembly : 1; std::string DwarfDebugFlags; std::string DebugCompilationDir; + std::string MainFileName; /// @} /// @name Frontend Options @@ -183,6 +184,7 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts, Opts.GenDwarfForAssembly = Args->hasArg(OPT_g); Opts.DwarfDebugFlags = Args->getLastArgValue(OPT_dwarf_debug_flags); Opts.DebugCompilationDir = Args->getLastArgValue(OPT_fdebug_compilation_dir); + Opts.MainFileName = Args->getLastArgValue(OPT_main_file_name); // Frontend Options if (Args->hasArg(OPT_INPUT)) { @@ -309,6 +311,8 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, Ctx.setDwarfDebugFlags(StringRef(Opts.DwarfDebugFlags)); if (!Opts.DebugCompilationDir.empty()) Ctx.setCompilationDir(Opts.DebugCompilationDir); + if (!Opts.MainFileName.empty()) + Ctx.setMainFileName(StringRef(Opts.MainFileName)); // Build up the feature string from the target feature list. std::string FS; |