mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Start the implementation of a "nocapture" attribute, which is only valid on paramdecls.
This is part of rdar://16323038. Because this hasn't been fully design reviewed and implemented, I'm naming it as __nocapture for now. It is blocking finishing off the "improved let model" work. Swift SVN r24079
This commit is contained in:
@@ -2988,16 +2988,14 @@ Type ModuleFile::getType(TypeID TID) {
|
||||
TypeID inputID;
|
||||
TypeID resultID;
|
||||
uint8_t rawCallingConvention;
|
||||
bool autoClosure;
|
||||
bool thin;
|
||||
bool noreturn;
|
||||
bool blockCompatible;
|
||||
bool autoClosure, thin, noreturn, blockCompatible, nocapture;
|
||||
|
||||
decls_block::FunctionTypeLayout::readRecord(scratch, inputID, resultID,
|
||||
rawCallingConvention,
|
||||
autoClosure, thin,
|
||||
noreturn,
|
||||
blockCompatible);
|
||||
blockCompatible,
|
||||
nocapture);
|
||||
auto callingConvention = getActualCC(rawCallingConvention);
|
||||
if (!callingConvention.hasValue()) {
|
||||
error();
|
||||
@@ -3006,8 +3004,7 @@ Type ModuleFile::getType(TypeID TID) {
|
||||
|
||||
auto Info = FunctionType::ExtInfo(callingConvention.getValue(),
|
||||
getFunctionRepresentation(thin, blockCompatible),
|
||||
noreturn,
|
||||
autoClosure);
|
||||
noreturn, autoClosure, nocapture);
|
||||
|
||||
typeOrOffset = FunctionType::get(getType(inputID), getType(resultID),
|
||||
Info);
|
||||
|
||||
Reference in New Issue
Block a user