summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-03-30 04:25:14 +0000
committerJohn McCall <rjmccall@apple.com>2012-03-30 04:25:14 +0000
commit947c1830e4a7e620de7991dea033755f0265b15b (patch)
treee0c4bef92b89e654532dde536cf421df20a5e6be /clang/lib/CodeGen/CodeGenModule.cpp
parent8831303e4fb337d8468ec201011e6247d5d6dfc8 (diff)
downloadbcm5719-llvm-947c1830e4a7e620de7991dea033755f0265b15b.tar.gz
bcm5719-llvm-947c1830e4a7e620de7991dea033755f0265b15b.zip
When emitting a static local variable in C++, handle
the case that the variable already exists. Partly this is just protection against people making crazy declarations with custom asm labels or extern "C" names that intentionally collide with the manglings of such variables, but the main reason is that we can actually emit a static local variable twice with the requirement that it match up. There may be other cases with (e.g.) the various nested functions, but the main exemplar is with constructor variants, where we can be forced into double-emitting the function body under certain circumstances like (currently) the presence of virtual bases. llvm-svn: 153723
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud