diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-22 00:24:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-22 00:24:57 +0000 |
commit | 8b4659a973426fafb964574ecf2067e71d369257 (patch) | |
tree | bee9faf387fea7dede289cb2b89bb5b2cf72c583 /test/CodeGenObjCXX/lambda-expressions.mm | |
parent | 8450bb4c75e9d96d640a793d1be2bd1fe04e02f1 (diff) | |
download | clang-8b4659a973426fafb964574ecf2067e71d369257.tar.gz |
Emit DeferredDeclsToEmit in a DFS order.
Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that.
The advantages of the change are that
* The output order is a bit closer to the source order. The change to
test/CodeGenCXX/pod-member-memcpys.cpp is a good example.
* If we decide to deffer more, it will not cause as large changes in the
estcases as it would without this patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226751 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenObjCXX/lambda-expressions.mm')
-rw-r--r-- | test/CodeGenObjCXX/lambda-expressions.mm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/test/CodeGenObjCXX/lambda-expressions.mm b/test/CodeGenObjCXX/lambda-expressions.mm index 9129ff091e..4b1995d810 100644 --- a/test/CodeGenObjCXX/lambda-expressions.mm +++ b/test/CodeGenObjCXX/lambda-expressions.mm @@ -60,6 +60,8 @@ void take_block(void (^block)()) { block(); } } @end +// ARC-LABEL: define linkonce_odr i32 ()* @_ZZNK13StaticMembersIfE1fMUlvE_clEvENKUlvE_cvU13block_pointerFivEEv + // Check lines for BlockInLambda test below // ARC-LABEL: define internal i32 @___ZZN13BlockInLambda1X1fEvENKUlvE_clEv_block_invoke // ARC: [[Y:%.*]] = getelementptr inbounds %"struct.BlockInLambda::X"* {{.*}}, i32 0, i32 1 @@ -73,7 +75,6 @@ template<typename T> struct StaticMembers { template<typename T> fptr StaticMembers<T>::f = [] { auto f = []{return 5;}; return fptr(f); }(); template fptr StaticMembers<float>::f; -// ARC-LABEL: define linkonce_odr i32 ()* @_ZZNK13StaticMembersIfE1fMUlvE_clEvENKUlvE_cvU13block_pointerFivEEv namespace BlockInLambda { struct X { |