summaryrefslogtreecommitdiff
path: root/test/PCH
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-10-23 04:12:23 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-10-23 04:12:23 +0000
commit80f2b2e693422f84ec3735f16a08614a527b0bc5 (patch)
tree0ca2822f1da9922c27105ce04d2855af3f924582 /test/PCH
parenta4c91afe103063e983aa9bab535e442da8629636 (diff)
downloadclang-80f2b2e693422f84ec3735f16a08614a527b0bc5.tar.gz
Revert r193223 and r193216.
They were causing CodeGenCXX/mangle-exprs.cpp to fail. Revert "Remove the circular reference to LambdaExpr in CXXRecordDecl." Revert "Again: Teach TreeTransform and family how to transform generic lambdas nested within templates and themselves." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193226 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/PCH')
-rw-r--r--test/PCH/cxx1y-lambdas.mm58
1 files changed, 0 insertions, 58 deletions
diff --git a/test/PCH/cxx1y-lambdas.mm b/test/PCH/cxx1y-lambdas.mm
deleted file mode 100644
index ee4a2ba3ec..0000000000
--- a/test/PCH/cxx1y-lambdas.mm
+++ /dev/null
@@ -1,58 +0,0 @@
-// RUN: %clang_cc1 -pedantic-errors -fblocks -std=c++1y -emit-pch %s -o %t-cxx1y
-// RUN: %clang_cc1 -ast-print -pedantic-errors -fblocks -std=c++1y -include-pch %t-cxx1y %s | FileCheck -check-prefix=CHECK-PRINT %s
-
-#ifndef HEADER_INCLUDED
-
-#define HEADER_INCLUDED
-template<typename T>
-T add_slowly(const T& x, const T &y) {
- return [](auto z, int y = 0) { return z + y; }(5);
-};
-
-inline int add_int_slowly_twice(int x, int y) {
- int i = add_slowly(x, y);
- auto lambda = [](auto z) { return z + z; };
- return i + lambda(y);
-}
-
-inline int sum_array(int n) {
- auto lambda = [](auto N) -> int {
- int sum = 0;
- int array[5] = { 1, 2, 3, 4, 5};
-
- for (unsigned I = 0; I < N; ++I)
- sum += array[N];
- return sum;
- };
-
- return lambda(n);
-}
-
-inline int to_block_pointer(int n) {
- auto lambda = [=](int m) { return n + m; };
- int (^block)(int) = lambda;
- return block(17);
-}
-
-template<typename T>
-int init_capture(T t) {
- return [&, x(t)] { return sizeof(x); };
-}
-
-#else
-
-// CHECK-PRINT: T add_slowly
-// CHECK-PRINT: return []
-template float add_slowly(const float&, const float&);
-
-int add(int x, int y) {
- return add_int_slowly_twice(x, y) + sum_array(4) + to_block_pointer(5);
-}
-
-// CHECK-PRINT: inline int add_int_slowly_twice
-// CHECK-PRINT: lambda = [] ($auto-0-0 z
-
-// CHECK-PRINT: init_capture
-// CHECK-PRINT: [&, x( t )]
-
-#endif