DebugInfo: PR19298: function local const variables duplicated in the root scope
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 4 Apr 2014 20:56:17 +0000 (20:56 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 4 Apr 2014 20:56:17 +0000 (20:56 +0000)
commita1556556d64fa6eb65cef089e26e52c09d305c6c
treeead5e6a04583957d4747d1bb52066239027d5d64
parentf4c9e49f94494154f23f20f84a79552c9f1a03fb
DebugInfo: PR19298: function local const variables duplicated in the root scope

See the comment for CodeGenFunction::tryEmitAsConstant that describes
how in some contexts (lambdas) we must not emit references to the
variable, but instead use the constant directly - because of this we end
up emitting a constant for the variable, as well as emitting the
variable itself.

Should we just skip putting the variable on the stack at all and omit
the debug info for the constant? It's not clear to me - what if the
address of the local is taken?

llvm-svn: 205651
clang/lib/CodeGen/CGDebugInfo.cpp
clang/test/CodeGenCXX/debug-info.cpp