diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-28 04:02:39 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-28 04:02:39 +0000 |
commit | bb13c9a49d08b56b9a8f04bd76ad3a7972bcc478 (patch) | |
tree | 65d9331fbe86ec254e57c2043d96dde642427196 /clang/lib/AST/StmtPrinter.cpp | |
parent | 45015d9796c116c97510919179efdef9f18a99db (diff) | |
download | bcm5719-llvm-bb13c9a49d08b56b9a8f04bd76ad3a7972bcc478.tar.gz bcm5719-llvm-bb13c9a49d08b56b9a8f04bd76ad3a7972bcc478.zip |
Per latest drafting, switch to implementing init-captures as if by declaring
and capturing a variable declaration, and complete the implementation of them.
llvm-svn: 191605
Diffstat (limited to 'clang/lib/AST/StmtPrinter.cpp')
-rw-r--r-- | clang/lib/AST/StmtPrinter.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp index c94ffab9716..1bbd4667fc5 100644 --- a/clang/lib/AST/StmtPrinter.cpp +++ b/clang/lib/AST/StmtPrinter.cpp @@ -1460,24 +1460,18 @@ void StmtPrinter::VisitLambdaExpr(LambdaExpr *Node) { break; case LCK_ByRef: - if (Node->getCaptureDefault() != LCD_ByRef) + if (Node->getCaptureDefault() != LCD_ByRef || C->isInitCapture()) OS << '&'; OS << C->getCapturedVar()->getName(); break; case LCK_ByCopy: - if (Node->getCaptureDefault() != LCD_ByCopy) - OS << '='; OS << C->getCapturedVar()->getName(); break; - - case LCK_Init: - if (C->getInitCaptureField()->getType()->isReferenceType()) - OS << '&'; - OS << C->getInitCaptureField()->getName(); - PrintExpr(Node->getInitCaptureInit(C)); - break; } + + if (C->isInitCapture()) + PrintExpr(C->getCapturedVar()->getInit()); } OS << ']'; |