/// if CFRetain has been called on the argument.
IncRef,
- /// The argument acts as if has been passed to CFMakeCollectable, which
- /// transfers the object to the Garbage Collector under GC.
- MakeCollectable,
-
/// The argument is a pointer to a retain-counted object; on exit, the new
/// value of the pointer is a +0 value or NULL.
UnretainedOutParameter,
break;
}
}
- if (AE.getKind() == MakeCollectable)
- AE = AE.withKind(DoNothing);
// Handle all use-after-releases.
if (V.getKind() == RefVal::Released) {
}
switch (AE.getKind()) {
- case MakeCollectable:
- llvm_unreachable("MakeCollectable already converted");
-
case UnretainedOutParameter:
case RetainedOutParameter:
llvm_unreachable("Applies to pointer-to-pointer parameters, which should "
case Autorelease:
case DecRefBridgedTransferred:
case IncRef:
- case MakeCollectable:
case UnretainedOutParameter:
case RetainedOutParameter:
case MayEscape:
case cfretain: Effect = Effect.withKind(IncRef); break;
case cfrelease: Effect = Effect.withKind(DecRef); break;
case cfautorelease: Effect = Effect.withKind(Autorelease); break;
- case cfmakecollectable: Effect = Effect.withKind(MakeCollectable); break;
+ case cfmakecollectable: Effect = Effect.withKind(DoNothing); break;
}
ScratchArgs = AF.add(ScratchArgs, 0, Effect);