Author: Chen Zheng Date: 2021-04-01T21:29:11-04:00 New Revision: f026e1f5205562aad32e3d78b75140798b0dd60a
URL: https://github.com/llvm/llvm-project/commit/f026e1f5205562aad32e3d78b75140798b0dd60a DIFF: https://github.com/llvm/llvm-project/commit/f026e1f5205562aad32e3d78b75140798b0dd60a.diff LOG: [debug-info][XCOFF] set `-gno-column-info` by default for DBX For DBX, it does not handle column info well. Set -gno-column-info by default for DBX. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D99703 Added: Modified: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/debug-options.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index ad5dca30e0f6a..30a0b090b6922 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3972,12 +3972,15 @@ static void renderDebugOptions(const ToolChain &TC, const Driver &D, // Column info is included by default for everything except SCE and // CodeView. Clang doesn't track end columns, just starting columns, which, // in theory, is fine for CodeView (and PDB). In practice, however, the - // Microsoft debuggers don't handle missing end columns well, so it's better - // not to include any column info. + // Microsoft debuggers don't handle missing end columns well, and the AIX + // debugger DBX also doesn't handle the columns well, so it's better not to + // include any column info. if (const Arg *A = Args.getLastArg(options::OPT_gcolumn_info)) (void)checkDebugInfoOption(A, Args, D, TC); if (!Args.hasFlag(options::OPT_gcolumn_info, options::OPT_gno_column_info, - !EmitCodeView && DebuggerTuning != llvm::DebuggerKind::SCE)) + !EmitCodeView && + (DebuggerTuning != llvm::DebuggerKind::SCE && + DebuggerTuning != llvm::DebuggerKind::DBX))) CmdArgs.push_back("-gno-column-info"); // FIXME: Move backend command line options to the module. diff --git a/clang/test/Driver/debug-options.c b/clang/test/Driver/debug-options.c index d46ca8dd07263..00c748b1e936a 100644 --- a/clang/test/Driver/debug-options.c +++ b/clang/test/Driver/debug-options.c @@ -110,6 +110,16 @@ // RUN: %clang -### -c -g %s -target powerpc64-ibm-aix-xcoff 2>&1 \ // RUN: | FileCheck -check-prefix=G_LIMITED -check-prefix=G_DBX %s +// On the AIX, -g defaults to -gno-column-info. +// RUN: %clang -### -c -g %s -target powerpc-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefix=NOCI %s +// RUN: %clang -### -c -g %s -target powerpc64-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefix=NOCI %s +// RUN: %clang -### -c -g %s -target powerpc-ibm-aix-xcoff -gcolumn-info 2>&1 \ +// RUN: | FileCheck -check-prefix=CI %s +// RUN: %clang -### -c -g %s -target powerpc64-ibm-aix-xcoff -gcolumn-info \ +// RUN: 2>&1 | FileCheck -check-prefix=CI %s + // RUN: %clang -### -c -gdwarf-2 %s 2>&1 \ // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s // _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits