reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaExprCXX.cpp
 6358   if (!E)
 6361   assert(!isa<CXXBindTemporaryExpr>(E) && "Double-bound temporary?");
 6364   if (!E->isRValue())
 6365     return E;
 6370       E->getType()->isObjCRetainableType()) {
 6376     if (CallExpr *Call = dyn_cast<CallExpr>(E)) {
 6401     } else if (isa<StmtExpr>(E)) {
 6406     } else if (isa<CastExpr>(E) &&
 6407                isa<BlockExpr>(cast<CastExpr>(E)->getSubExpr())) {
 6408       return E;
 6415       if (ObjCMessageExpr *Send = dyn_cast<ObjCMessageExpr>(E)) {
 6417       } else if (ObjCBoxedExpr *BoxedExpr = dyn_cast<ObjCBoxedExpr>(E)) {
 6419       } else if (ObjCArrayLiteral *ArrayLit = dyn_cast<ObjCArrayLiteral>(E)) {
 6424           return E;
 6428                                         = dyn_cast<ObjCDictionaryLiteral>(E)) {
 6433           return E;
 6445         return E;
 6449     if (!ReturnsRetained && E->getType()->isObjCARCImplicitlyUnretainedType())
 6450       return E;
 6456     return ImplicitCastExpr::Create(Context, E->getType(), ck, E, nullptr,
 6456     return ImplicitCastExpr::Create(Context, E->getType(), ck, E, nullptr,
 6461     return E;
 6465   const Type *T = Context.getCanonicalType(E->getType().getTypePtr());
 6479       return E;
 6487     return E;
 6494     MarkFunctionReferenced(E->getExprLoc(), Destructor);
 6495     CheckDestructorAccess(E->getExprLoc(), Destructor,
 6497                             << E->getType());
 6498     if (DiagnoseUseOfDecl(Destructor, E->getExprLoc()))
 6503       return E;
 6510   CXXBindTemporaryExpr *Bind = CXXBindTemporaryExpr::Create(Context, Temp, E);