forked from OSchip/llvm-project
[Remarks][Driver] Ask for line tables when remarks are enabled
Serialized remarks contain debug locations for each remark, by storing a file path, a line, and a column. Also, remarks support being embedded in a .dSYM bundle using a separate section in object files, that is found by `dsymutil` through the debug map. In order for tools to map addresses to source and display remarks in the source, we need line tables, and in order for `dsymutil` to find the object files containing the remark section, we need to keep the debug map around. Differential Revision: https://reviews.llvm.org/D71325
This commit is contained in:
parent
d5a43ce688
commit
60590b149b
|
@ -3717,6 +3717,11 @@ static void RenderDebugOptions(const ToolChain &TC, const Driver &D,
|
|||
// Adjust the debug info kind for the given toolchain.
|
||||
TC.adjustDebugInfoKind(DebugInfoKind, Args);
|
||||
|
||||
// When emitting remarks, we need at least debug lines in the output.
|
||||
if (shouldEmitRemarks(Args) &&
|
||||
DebugInfoKind <= codegenoptions::DebugDirectivesOnly)
|
||||
DebugInfoKind = codegenoptions::DebugLineTablesOnly;
|
||||
|
||||
RenderDebugEnablingArgs(Args, CmdArgs, DebugInfoKind, DWARFVersion,
|
||||
DebuggerTuning);
|
||||
|
||||
|
|
|
@ -64,6 +64,12 @@
|
|||
// RUN: %clang -### -c -g %s -target arm64-apple-tvos9.0 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=G_STANDALONE \
|
||||
// RUN: -check-prefix=G_DWARF4 %s
|
||||
// RUN: %clang -### -c -fsave-optimization-record %s \
|
||||
// RUN: -target x86_64-apple-darwin 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GLTO_ONLY %s
|
||||
// RUN: %clang -### -c -g -fsave-optimization-record %s \
|
||||
// RUN: -target x86_64-apple-darwin 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=G_STANDALONE %s
|
||||
|
||||
// FreeBSD.
|
||||
// RUN: %clang -### -c -g %s -target x86_64-pc-freebsd11.0 2>&1 \
|
||||
|
|
Loading…
Reference in New Issue