Distinguish between withoutActuallyEscaping and passing @noescape

Objective C closures when reporting that a closure has escaped

rdar://39682865
This commit is contained in:
Arnold Schwaighofer
2018-04-30 10:04:48 -07:00
parent 9048e97e83
commit 1f65ee25f6
20 changed files with 109 additions and 32 deletions

View File

@@ -680,11 +680,13 @@ FUNCTION(IsUniquelyReferencedOrPinned_nonNull_native,
// bool swift_isEscapingClosureAtFileLocation(const struct HeapObject *object,
// const unsigned char *filename,
// int32_t filenameLength,
// int32_t line);
// int32_t line,
// int32_t col,
// unsigned type);
FUNCTION(IsEscapingClosureAtFileLocation, swift_isEscapingClosureAtFileLocation,
C_CC,
RETURNS(Int1Ty),
ARGS(RefCountedPtrTy, Int8PtrTy, Int32Ty, Int32Ty),
ARGS(RefCountedPtrTy, Int8PtrTy, Int32Ty, Int32Ty, Int32Ty, Int32Ty),
ATTRS(NoUnwind, ZExt))
// void swift_arrayInitWithCopy(opaque*, opaque*, size_t, type*);