[flang-commits] [clang] [flang] [flang] Default -g to full debug info. (PR #89418)
via flang-commits
flang-commits at lists.llvm.org
Fri Apr 19 10:15:32 PDT 2024
https://github.com/abidh created https://github.com/llvm/llvm-project/pull/89418
Currently, -g defaults to line tables only. This PR changes that to full debug information. This will allow us to test/use the upcoming debug info changes.
>From e0391084e9f8fad55c08cc642079afd8923b2729 Mon Sep 17 00:00:00 2001
From: Abid Qadeer <haqadeer at amd.com>
Date: Fri, 19 Apr 2024 16:18:05 +0100
Subject: [PATCH] [flang] Default -g to full debug info.
Currently, -g defaults to line tables only. This PR changes that to
full debug information. This will allow us to test/use the upcoming
debug info changes.
---
clang/lib/Driver/ToolChains/Flang.cpp | 2 +-
flang/lib/Frontend/CompilerInvocation.cpp | 1 +
flang/test/Driver/debug-level.f90 | 7 +++++++
3 files changed, 9 insertions(+), 1 deletion(-)
create mode 100644 flang/test/Driver/debug-level.f90
diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp
index b46bac24503ce1..abe0b931676005 100644
--- a/clang/lib/Driver/ToolChains/Flang.cpp
+++ b/clang/lib/Driver/ToolChains/Flang.cpp
@@ -118,7 +118,7 @@ void Flang::addOtherOptions(const ArgList &Args, ArgStringList &CmdArgs) const {
Arg *gNArg = Args.getLastArg(options::OPT_gN_Group);
DebugInfoKind = debugLevelToInfoKind(*gNArg);
} else if (Args.hasArg(options::OPT_g_Flag)) {
- DebugInfoKind = llvm::codegenoptions::DebugLineTablesOnly;
+ DebugInfoKind = llvm::codegenoptions::FullDebugInfo;
} else {
DebugInfoKind = llvm::codegenoptions::NoDebugInfo;
}
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index e432c5a302754c..f1b7b53975398e 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -145,6 +145,7 @@ static bool parseDebugArgs(Fortran::frontend::CodeGenOptions &opts,
}
opts.setDebugInfo(val.value());
if (val != llvm::codegenoptions::DebugLineTablesOnly &&
+ val != llvm::codegenoptions::FullDebugInfo &&
val != llvm::codegenoptions::NoDebugInfo) {
const auto debugWarning = diags.getCustomDiagID(
clang::DiagnosticsEngine::Warning, "Unsupported debug option: %0");
diff --git a/flang/test/Driver/debug-level.f90 b/flang/test/Driver/debug-level.f90
new file mode 100644
index 00000000000000..bc0aee166e6a37
--- /dev/null
+++ b/flang/test/Driver/debug-level.f90
@@ -0,0 +1,7 @@
+! RUN: %flang %s -g -c -### 2>&1 | FileCheck %s --check-prefix=FULL
+! RUN: %flang %s -g1 -c -### 2>&1 | FileCheck %s --check-prefix=LINE
+! RUN: %flang %s -gline-tables-only -c -### 2>&1 | FileCheck %s --check-prefix=LINE
+
+! LINE: -debug-info-kind=line-tables-only
+! FULL: -debug-info-kind=standalone
+
More information about the flang-commits
mailing list