This revision was automatically updated to reflect the committed changes. Closed by commit rGf026e1f52055: [debug-info][XCOFF] set `-gno-column-info` by default for DBX (authored by shchenz).
Changed prior to commit: https://reviews.llvm.org/D99703?vs=334589&id=334879#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99703/new/ https://reviews.llvm.org/D99703 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/debug-options.c Index: clang/test/Driver/debug-options.c =================================================================== --- clang/test/Driver/debug-options.c +++ 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 // Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -3972,12 +3972,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 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.
Index: clang/test/Driver/debug-options.c =================================================================== --- clang/test/Driver/debug-options.c +++ 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 // Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -3972,12 +3972,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 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.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits