Lines Matching full:destroyer
357 CodeGenFunction::Destroyer *destroyer,
359 : addr(addr), type(type), destroyer(destroyer),
364 CodeGenFunction::Destroyer *destroyer;
372 CGF.emitDestroy(addr, type, destroyer, useEHCleanupForArray);
497 CodeGenFunction::Destroyer *destroyer =
503 CGF.pushDestroy(cleanupKind, addr, var.getType(), destroyer,
1212 CodeGenFunction::Destroyer *destroyer = 0;
1237 // Use the imprecise destroyer by default.
1239 destroyer = CodeGenFunction::destroyARCStrongImprecise;
1246 // If we haven't chosen a more specific destroyer, use the default.
1247 if (!destroyer) destroyer = getDestroyer(dtorKind);
1252 EHStack.pushCleanup<DestroyObject>(cleanupKind, addr, type, destroyer,
1303 CodeGenFunction::Destroyer *
1306 case QualType::DK_none: llvm_unreachable("no destroyer for trivial dtor");
1339 QualType type, Destroyer *destroyer,
1342 destroyer, useEHCleanupForArray);
1347 Destroyer *destroyer, bool useEHCleanupForArray) {
1357 destroyer, useEHCleanupForArray);
1362 cleanupKind, addr, type, destroyer, useEHCleanupForArray);
1371 /// \param destroyer - the function to call to destroy individual
1377 Destroyer *destroyer,
1381 return destroyer(*this, addr, type);
1397 emitArrayDestroy(begin, end, type, destroyer,
1407 /// \param destroyer - the function to call to destroy elements
1414 Destroyer *destroyer,
1443 pushRegularPartialArrayCleanup(begin, element, type, destroyer);
1446 destroyer(*this, element, type);
1465 CodeGenFunction::Destroyer *destroyer) {
1486 CGF.emitArrayDestroy(begin, end, type, destroyer,
1498 CodeGenFunction::Destroyer *Destroyer;
1502 CodeGenFunction::Destroyer *destroyer)
1504 ElementType(elementType), Destroyer(destroyer) {}
1508 ElementType, Destroyer);
1519 CodeGenFunction::Destroyer *Destroyer;
1524 CodeGenFunction::Destroyer *destroyer)
1526 ElementType(elementType), Destroyer(destroyer) {}
1531 ElementType, Destroyer);
1545 Destroyer *destroyer) {
1548 elementType, destroyer);
1560 Destroyer *destroyer) {
1563 elementType, destroyer);