Home | History | Annotate | Download | only in Sema

Lines Matching refs:Block

566 /// expressions in a block are enumerator-like expressions of that
641 // block to be that type.
900 // A lambda-expression whose smallest enclosing scope is a block scope is a
1321 /// \brief Add a lambda's conversion to block pointer.
1329 // The function type inside the block pointer type is the same as the call
1477 llvm_unreachable("block capture in lambda");
1572 // non-explicit const conversion function to a block pointer having the
1575 // FIXME: Fix generic lambda to block conversions.
1654 // Create the new block to be returned.
1655 BlockDecl *Block = BlockDecl::Create(Context, CurContext, ConvLocation);
1658 Block->setSignatureAsWritten(CallOperator->getTypeSourceInfo());
1659 Block->setIsVariadic(CallOperator->isVariadic());
1660 Block->setBlockMissingReturnType(false);
1666 BlockParams.push_back(ParmVarDecl::Create(Context, Block,
1675 Block->setParams(BlockParams);
1677 Block->setIsConversionFromLambda(true);
1684 VarDecl *CapVar = VarDecl::Create(Context, Block, ConvLocation,
1690 Block->setCaptures(Context, Capture, /*CapturesCXXThis=*/false);
1692 // Add a fake function body to the block. IR generation is responsible
1694 Block->setBody(new (Context) CompoundStmt(ConvLocation));
1696 // Create the block literal expression.
1697 Expr *BuildBlock = new (Context) BlockExpr(Block, Conv->getConversionType());
1698 ExprCleanupObjects.push_back(Block);