diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3970,12 +3970,15 @@ // 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 bettre 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 --- 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 //