]> granicus.if.org Git - clang/commit
[codeview] omit debug locations for nested exprs unless column info enabled
authorBob Haarman <llvm@inglorion.net>
Mon, 11 Sep 2017 22:11:57 +0000 (22:11 +0000)
committerBob Haarman <llvm@inglorion.net>
Mon, 11 Sep 2017 22:11:57 +0000 (22:11 +0000)
commit4321c6686dd4eddc371b95fa2527c2432a262335
tree872dea77a1c7f92b69b88d0d58b9039b55804604
parentbc39e3ce635785bc2aa88e4d021ec8517ae26d28
[codeview] omit debug locations for nested exprs unless column info enabled

Summary:
Microsoft Visual Studio expects debug locations to correspond to
statements. We used to emit locations for expressions nested inside statements.
This would confuse the debugger, causing it to stop multiple times on the
same line and breaking the "step into specific" feature. This change inhibits
the emission of debug locations for nested expressions when emitting CodeView
debug information, unless column information is enabled.

Fixes PR34312.

Reviewers: rnk, zturner

Reviewed By: rnk

Subscribers: majnemer, echristo, aprantl, cfe-commits

Differential Revision: https://reviews.llvm.org/D37529

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@312965 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
test/CodeGenCXX/debug-info-nested-exprs.cpp [new file with mode: 0644]