[clang] d07062a - [Clang] Fix warning on device debugging when passing `-O0` (#175628)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 12 13:49:11 PST 2026
Author: Joseph Huber
Date: 2026-01-12T15:49:07-06:00
New Revision: d07062acd4bb10c5c5664c85af04f0822184b971
URL: https://github.com/llvm/llvm-project/commit/d07062acd4bb10c5c5664c85af04f0822184b971
DIFF: https://github.com/llvm/llvm-project/commit/d07062acd4bb10c5c5664c85af04f0822184b971.diff
LOG: [Clang] Fix warning on device debugging when passing `-O0` (#175628)
Summary:
CUDA's Toolchain doesn't support debug information with optimizations,
so we warn on this. The logic was printing this even if you pass `-O0`
yourself. Also fix not passing `-g`.
Added:
Modified:
clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
Removed:
################################################################################
diff --git a/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp b/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
index a6c7a3affa97d..3ebd4ea979322 100644
--- a/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
+++ b/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
@@ -322,13 +322,15 @@ Expected<StringRef> runPTXAs(StringRef File, const ArgList &Args) {
if (Args.hasArg(OPT_verbose))
AssemblerArgs.push_back("-v");
if (Args.hasArg(OPT_g)) {
- if (Args.hasArg(OPT_O))
+ if (Args.getLastArgValue(OPT_O, "3") != "0")
WithColor::warning(errs(), Executable)
<< "Optimized debugging not supported, overriding to '-O0'\n";
AssemblerArgs.push_back("-O0");
- } else
+ AssemblerArgs.push_back("-g");
+ } else {
AssemblerArgs.push_back(
Args.MakeArgString("-O" + Args.getLastArgValue(OPT_O, "3")));
+ }
AssemblerArgs.append({"-arch", Args.getLastArgValue(OPT_arch)});
AssemblerArgs.append({"-o", *TempFileOrErr});
More information about the cfe-commits
mailing list