Author: Qiongsi Wu Date: 2022-10-20T15:16:31-04:00 New Revision: f911598bd440182b1383aa570de66a574d468a42
URL: https://github.com/llvm/llvm-project/commit/f911598bd440182b1383aa570de66a574d468a42 DIFF: https://github.com/llvm/llvm-project/commit/f911598bd440182b1383aa570de66a574d468a42.diff LOG: [clang][AIX] Omitting Explicit Debugger Tuning Option On AIX, the default debugger is `dbx` so it is not necessary to explicitly set `-debugger-tuning=dbx` in the presence of `-g`. Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D136187 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 da8b715a76984..9d21975751af5 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -4187,8 +4187,10 @@ static void renderDebugOptions(const ToolChain &TC, const Driver &D, } // If a debugger tuning argument appeared, remember it. + bool HasDebuggerTuning = false; if (const Arg *A = Args.getLastArg(options::OPT_gTune_Group, options::OPT_ggdbN_Group)) { + HasDebuggerTuning = true; if (checkDebugInfoOption(A, Args, D, TC)) { if (A->getOption().matches(options::OPT_glldb)) DebuggerTuning = llvm::DebuggerKind::LLDB; @@ -4364,8 +4366,12 @@ static void renderDebugOptions(const ToolChain &TC, const Driver &D, // Adjust the debug info kind for the given toolchain. TC.adjustDebugInfoKind(DebugInfoKind, Args); + // On AIX, the debugger tuning option can be omitted if it is not explicitly + // set. RenderDebugEnablingArgs(Args, CmdArgs, DebugInfoKind, EffectiveDWARFVersion, - DebuggerTuning); + T.isOSAIX() && !HasDebuggerTuning + ? llvm::DebuggerKind::Default + : DebuggerTuning); // -fdebug-macro turns on macro debug info generation. if (Args.hasFlag(options::OPT_fdebug_macro, options::OPT_fno_debug_macro, diff --git a/clang/test/Driver/debug-options.c b/clang/test/Driver/debug-options.c index 7e33d8d393eb2..37a975da5b48d 100644 --- a/clang/test/Driver/debug-options.c +++ b/clang/test/Driver/debug-options.c @@ -116,11 +116,19 @@ // RUN: %clang -### %s -g -target x86_64-scei-ps5 2>&1 \ // RUN: | FileCheck -check-prefix=LDGARANGE %s -// On the AIX, -g defaults to -gdbx and limited debug info. +// On the AIX, -g defaults to limited debug info. // RUN: %clang -### -c -g %s -target powerpc-ibm-aix-xcoff 2>&1 \ -// RUN: | FileCheck -check-prefix=G_LIMITED -check-prefix=G_DBX %s +// RUN: | FileCheck -check-prefix=G_LIMITED %s // RUN: %clang -### -c -g %s -target powerpc64-ibm-aix-xcoff 2>&1 \ -// RUN: | FileCheck -check-prefix=G_LIMITED -check-prefix=G_DBX %s +// RUN: | FileCheck -check-prefix=G_LIMITED %s +// RUN: %clang -### -c -g %s -target powerpc-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefix=G_NOTUNING %s +// RUN: %clang -### -c -g %s -target powerpc64-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefix=G_NOTUNING %s +// RUN: %clang -### -c -g -gdbx %s -target powerpc-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefixes=G_LIMITED,G_DBX %s +// RUN: %clang -### -c -g -gdbx %s -target powerpc64-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck -check-prefixes=G_LIMITED,G_DBX %s // For DBX, -g defaults to -gstrict-dwarf. // RUN: %clang -### -c -g %s -target powerpc-ibm-aix-xcoff 2>&1 \ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits