diff options
Diffstat (limited to 'clang/lib/Driver/ToolChains/Clang.cpp')
| -rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index d3ab6f1..30d3e52 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -7879,10 +7879,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,                         !TC.getTriple().isAndroid() && TC.useIntegratedAs()))      CmdArgs.push_back("-faddrsig"); -  if ((Triple.isOSBinFormatELF() || Triple.isOSBinFormatMachO()) && +  const bool HasDefaultDwarf2CFIASM = +      (Triple.isOSBinFormatELF() || Triple.isOSBinFormatMachO()) &&        (EH || UnwindTables || AsyncUnwindTables || -       DebugInfoKind != llvm::codegenoptions::NoDebugInfo)) -    CmdArgs.push_back("-D__GCC_HAVE_DWARF2_CFI_ASM=1"); +       DebugInfoKind != llvm::codegenoptions::NoDebugInfo); +  if (Args.hasFlag(options::OPT_fdwarf2_cfi_asm, +                   options::OPT_fno_dwarf2_cfi_asm, HasDefaultDwarf2CFIASM)) +    CmdArgs.push_back("-fdwarf2-cfi-asm");    if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) {      std::string Str = A->getAsString(Args);  | 
