From: Adrian Prantl Date: Mon, 17 Feb 2014 17:40:52 +0000 (+0000) Subject: Revert "Debug info: Make DWARF4 the default for Darwin, too." X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0e27313d25f28bf8e1724536e2a7a12f4daf55b;p=clang Revert "Debug info: Make DWARF4 the default for Darwin, too." I'm holding this change to give maintainers of Darwin buildbots more time to update their toolchains. This reverts commit r201375. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201520 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index ee64d4213c..d1e58bac01 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2660,6 +2660,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // FIXME: we should support specifying dwarf version with // -gline-tables-only. CmdArgs.push_back("-gline-tables-only"); + // Default is dwarf-2 for darwin. + if (getToolChain().getTriple().isOSDarwin()) + CmdArgs.push_back("-gdwarf-2"); } else if (A->getOption().matches(options::OPT_gdwarf_2)) CmdArgs.push_back("-gdwarf-2"); else if (A->getOption().matches(options::OPT_gdwarf_3)) @@ -2667,8 +2670,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, else if (A->getOption().matches(options::OPT_gdwarf_4)) CmdArgs.push_back("-gdwarf-4"); else if (!A->getOption().matches(options::OPT_g0) && - !A->getOption().matches(options::OPT_ggdb0)) - CmdArgs.push_back("-g"); + !A->getOption().matches(options::OPT_ggdb0)) { + // Default is dwarf-2 for darwin. + if (getToolChain().getTriple().isOSDarwin()) + CmdArgs.push_back("-gdwarf-2"); + else + CmdArgs.push_back("-g"); + } } // We ignore flags -gstrict-dwarf and -grecord-gcc-switches for now. diff --git a/test/CodeGen/dwarf-version.c b/test/CodeGen/dwarf-version.c index 0756ffbb96..6c0f097a3b 100644 --- a/test/CodeGen/dwarf-version.c +++ b/test/CodeGen/dwarf-version.c @@ -11,4 +11,4 @@ int main (void) { // VER3: metadata !{i32 2, metadata !"Dwarf Version", i32 3} // VER4: metadata !{i32 2, metadata !"Dwarf Version", i32 4} // LINUX: metadata !{i32 2, metadata !"Dwarf Version", i32 4} -// DARWIN: metadata !{i32 2, metadata !"Dwarf Version", i32 4} +// DARWIN: metadata !{i32 2, metadata !"Dwarf Version", i32 2} diff --git a/test/Driver/clang-g-opts.c b/test/Driver/clang-g-opts.c index 49a5fefb36..9ca1fd38e4 100644 --- a/test/Driver/clang-g-opts.c +++ b/test/Driver/clang-g-opts.c @@ -12,5 +12,5 @@ // CHECK-WITHOUT-G-NOT: "-g" // CHECK-WITH-G: "-g" -// CHECK-WITH-G-DARWIN: "-g" +// CHECK-WITH-G-DARWIN: "-gdwarf-2" diff --git a/test/Driver/debug-options.c b/test/Driver/debug-options.c index d18c26878a..2ea4990bd0 100644 --- a/test/Driver/debug-options.c +++ b/test/Driver/debug-options.c @@ -36,11 +36,11 @@ // RUN: %clang -### -c -gline-tables-only %s 2>&1 \ // RUN: | FileCheck -check-prefix=GLTO_ONLY %s // RUN: %clang -### -c -gline-tables-only %s -target x86_64-apple-darwin 2>&1 \ -// RUN: | FileCheck -check-prefix=GLTO_ONLY %s +// RUN: | FileCheck -check-prefix=GLTO_ONLY_DARWIN %s // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-linux-gnu 2>&1 \ // RUN: | FileCheck -check-prefix=G_ONLY %s // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-apple-darwin 2>&1 \ -// RUN: | FileCheck -check-prefix=G_ONLY %s +// RUN: | FileCheck -check-prefix=G_ONLY_DARWIN %s // RUN: %clang -### -c -gline-tables-only -g0 %s 2>&1 \ // RUN: | FileCheck -check-prefix=GLTO_NO %s // @@ -76,11 +76,22 @@ // GLTO_ONLY: "-gline-tables-only" // GLTO_ONLY-NOT: "-g" // +// GLTO_ONLY_DARWIN: "-cc1" +// GLTO_ONLY_DARWIN-NOT: "-g" +// GLTO_ONLY_DARWIN: "-gline-tables-only" +// GLTO_ONLY_DARWIN: "-gdwarf-2" +// GLTO_ONLY_DARWIN-NOT: "-g" +// // G_ONLY: "-cc1" // G_ONLY-NOT: "-gline-tables-only" // G_ONLY: "-g" // G_ONLY-NOT: "-gline-tables-only" // +// G_ONLY_DARWIN: "-cc1" +// G_ONLY_DARWIN-NOT: "-gline-tables-only" +// G_ONLY_DARWIN: "-gdwarf-2" +// G_ONLY_DARWIN-NOT: "-gline-tables-only" +// // GLTO_NO: "-cc1" // GLTO_NO-NOT: "-gline-tables-only" //