diff options
-rw-r--r-- | clang/lib/Driver/ToolChains/FreeBSD.cpp | 6 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains/FreeBSD.h | 2 | ||||
-rw-r--r-- | clang/test/Driver/debug-options.c | 8 |
3 files changed, 13 insertions, 3 deletions
diff --git a/clang/lib/Driver/ToolChains/FreeBSD.cpp b/clang/lib/Driver/ToolChains/FreeBSD.cpp index 314a742f9ca..8b7f3693384 100644 --- a/clang/lib/Driver/ToolChains/FreeBSD.cpp +++ b/clang/lib/Driver/ToolChains/FreeBSD.cpp @@ -364,6 +364,12 @@ ToolChain::CXXStdlibType FreeBSD::GetDefaultCXXStdlibType() const { return ToolChain::CST_Libstdcxx; } +unsigned FreeBSD::GetDefaultDwarfVersion() const { + if (getTriple().getOSMajorVersion() < 12) + return 2; + return 4; +} + void FreeBSD::addLibStdCxxIncludePaths( const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const { diff --git a/clang/lib/Driver/ToolChains/FreeBSD.h b/clang/lib/Driver/ToolChains/FreeBSD.h index adfe21da372..d17b3808ffa 100644 --- a/clang/lib/Driver/ToolChains/FreeBSD.h +++ b/clang/lib/Driver/ToolChains/FreeBSD.h @@ -69,7 +69,7 @@ public: const llvm::opt::ArgList &Args) const override; bool isPIEDefault() const override; SanitizerMask getSupportedSanitizers() const override; - unsigned GetDefaultDwarfVersion() const override { return 2; } + unsigned GetDefaultDwarfVersion() const override; // Until dtrace (via CTF) and LLDB can deal with distributed debug info, // FreeBSD defaults to standalone/full debug info. bool GetDefaultStandaloneDebug() const override { return true; } diff --git a/clang/test/Driver/debug-options.c b/clang/test/Driver/debug-options.c index dce72ff17d7..154c7891f87 100644 --- a/clang/test/Driver/debug-options.c +++ b/clang/test/Driver/debug-options.c @@ -66,8 +66,12 @@ // RUN: -check-prefix=G_DWARF4 %s // FreeBSD. -// RUN: %clang -### -c -g %s -target x86_64-pc-freebsd10.0 2>&1 \ -// RUN: | FileCheck -check-prefix=G_GDB %s +// RUN: %clang -### -c -g %s -target x86_64-pc-freebsd11.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_GDB \ +// RUN: -check-prefix=G_DWARF2 %s +// RUN: %clang -### -c -g %s -target x86_64-pc-freebsd12.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_GDB \ +// RUN: -check-prefix=G_DWARF4 %s // Windows. // RUN: %clang -### -c -g %s -target x86_64-w64-windows-gnu 2>&1 \ |