Index: lib/Driver/ToolChains/FreeBSD.h =================================================================== --- lib/Driver/ToolChains/FreeBSD.h +++ lib/Driver/ToolChains/FreeBSD.h @@ -70,7 +70,7 @@ 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 { return 3; } // 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; } Index: test/CodeGen/dwarf-version.c =================================================================== --- test/CodeGen/dwarf-version.c +++ test/CodeGen/dwarf-version.c @@ -12,7 +12,7 @@ // RUN: %clang -target x86_64-apple-darwin14 -g -S -emit-llvm -o - %s -isysroot %t | FileCheck %s --check-prefix=VER2 // RUN: %clang -target powerpc-unknown-openbsd -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER2 -// RUN: %clang -target powerpc-unknown-freebsd -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER2 +// RUN: %clang -target powerpc-unknown-freebsd -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER3 // RUN: %clang -target i386-pc-solaris -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER2 // // Test what -gcodeview and -gdwarf do on Windows. Index: test/Driver/clang-g-opts.c =================================================================== --- test/Driver/clang-g-opts.c +++ test/Driver/clang-g-opts.c @@ -8,7 +8,7 @@ // RUN: %clang -### -S %s -g -target i686-pc-openbsd 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s // RUN: %clang -### -S %s -g -target x86_64-pc-freebsd10.0 2>&1 \ -// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s +// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF3 %s // 'g0' is the default. Just sanity-test that it does nothing // RUN: %clang -### -S %s -g0 2>&1 | FileCheck --check-prefix=CHECK-WITHOUT-G %s @@ -26,7 +26,7 @@ // RUN: %clang -### -S %s -g0 -g -target i686-pc-openbsd 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s // RUN: %clang -### -S %s -g0 -g -target x86_64-pc-freebsd10.0 2>&1 \ -// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s +// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF3 %s // RUN: %clang -### -S %s -g0 -g -target i386-pc-solaris 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s @@ -34,6 +34,7 @@ // CHECK-WITH-G: "-debug-info-kind=limited" // CHECK-WITH-G: "-dwarf-version=4" // CHECK-WITH-G-DWARF2: "-dwarf-version=2" +// CHECK-WITH-G-DWARF3: "-dwarf-version=3" // CHECK-WITH-G-STANDALONE: "-debug-info-kind=standalone" // CHECK-WITH-G-STANDALONE: "-dwarf-version=2" Index: test/Driver/debug-options.c =================================================================== --- test/Driver/debug-options.c +++ test/Driver/debug-options.c @@ -105,7 +105,7 @@ // RUN: %clang -### -c -gline-tables-only %s -target i686-pc-openbsd 2>&1 \ // RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF2 %s // RUN: %clang -### -c -gline-tables-only %s -target x86_64-pc-freebsd10.0 2>&1 \ -// RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF2 %s +// RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF3 %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-darwin16 2>&1 \ @@ -113,7 +113,7 @@ // RUN: %clang -### -c -gline-tables-only -g %s -target i686-pc-openbsd 2>&1 \ // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-pc-freebsd10.0 2>&1 \ -// RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s +// RUN: | FileCheck -check-prefix=G_ONLY_DWARF3 %s // RUN: %clang -### -c -gline-tables-only -g %s -target i386-pc-solaris 2>&1 \ // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s // RUN: %clang -### -c -gline-tables-only -g0 %s 2>&1 \ @@ -195,6 +195,10 @@ // GLTO_ONLY_DWARF2: "-debug-info-kind=line-tables-only" // GLTO_ONLY_DWARF2: "-dwarf-version=2" // +// GLTO_ONLY_DWARF3: "-cc1" +// GLTO_ONLY_DWARF3: "-debug-info-kind=line-tables-only" +// GLTO_ONLY_DWARF3: "-dwarf-version=3" +// // G_ONLY: "-cc1" // G_ONLY: "-debug-info-kind=limited" // @@ -204,6 +208,10 @@ // G_ONLY_DWARF2: "-debug-info-kind={{standalone|limited}}" // G_ONLY_DWARF2: "-dwarf-version=2" // +// G_ONLY_DWARF3: "-cc1" +// G_ONLY_DWARF3: "-debug-info-kind={{standalone|limited}}" +// G_ONLY_DWARF3: "-dwarf-version=3" +// // G_STANDALONE: "-cc1" // G_STANDALONE: "-debug-info-kind=standalone" // G_DWARF4: "-dwarf-version=4"