From b5c16989940459f82fd7dde1a95c52cf17eb73bc Mon Sep 17 00:00:00 2001 From: Michael Wong Date: Tue, 11 Aug 2015 04:52:01 +0000 Subject: [PATCH] This patch fixes the assert in emitting captured code in the target data construct. This is on behalf of Kelvin Li. http://reviews.llvm.org/D11475 llvm-svn: 244569 --- clang/lib/CodeGen/CGStmtOpenMP.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/CodeGen/CGStmtOpenMP.cpp b/clang/lib/CodeGen/CGStmtOpenMP.cpp index 65ba486d852a..c75581f4cfdb 100644 --- a/clang/lib/CodeGen/CGStmtOpenMP.cpp +++ b/clang/lib/CodeGen/CGStmtOpenMP.cpp @@ -2156,5 +2156,7 @@ void CodeGenFunction::EmitOMPTargetDataDirective( // emit the code inside the construct for now auto CS = cast(S.getAssociatedStmt()); - EmitStmt(CS->getCapturedStmt()); + CGM.getOpenMPRuntime().emitInlinedDirective( + *this, OMPD_target_data, + [&CS](CodeGenFunction &CGF) { CGF.EmitStmt(CS->getCapturedStmt()); }); }