]> granicus.if.org Git - clang/commit
block literal irgen: several improvements on naming block
authorFariborz Jahanian <fjahanian@apple.com>
Tue, 26 Jun 2012 16:06:38 +0000 (16:06 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Tue, 26 Jun 2012 16:06:38 +0000 (16:06 +0000)
commit4904bf4e84cfb48080270ebaa9005327f18ab0e5
tree2887e79ad5a24c8ba5fa803cc98ac9ebb12a5c87
parentb9d2b3b8edf7a0dc56e55acb1cf87338d5648daa
block literal irgen: several improvements on naming block
literal helper functions. All helper functions (global
and locals) use block_invoke as their prefix. Local literal
helper names are prefixed by their enclosing mangled function
names. Blocks in non-local initializers (e.g. a global variable
or a C++11 field) are prefixed by their mangled variable name.
The descriminator number added to end of the name starts off
with blank (for first block) and _<N> (for the N+2-th block).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159206 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
include/clang/AST/Mangle.h
lib/AST/Mangle.cpp
lib/CodeGen/CGBlocks.cpp
lib/CodeGen/CodeGenFunction.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
test/CodeGen/blocks.c
test/CodeGen/blocksignature.c
test/CodeGen/blockwithlocalstatic.c
test/CodeGen/capture-complex-expr-in-block.c
test/CodeGen/func-in-block.c
test/CodeGenCXX/block-in-ctor-dtor.cpp
test/CodeGenCXX/blocks.cpp
test/CodeGenCXX/global-block-literal-helpers.cpp [new file with mode: 0644]
test/CodeGenObjC/arc-blocks.m
test/CodeGenObjC/blocks-2.m
test/CodeGenObjC/blocks.m
test/CodeGenObjCXX/lambda-expressions.mm
test/CodeGenObjCXX/mangle-blocks.mm
test/CodeGenObjCXX/nrvo.mm