mirror of
https://github.com/apple/swift.git
synced 2026-03-04 18:24:35 +01:00
We were previously marking synthesized FRT initializers as "returns_retained" unconditionally (for non-immortal types), which can cause memory errors and also suppresses diagnostics about the lack of such annotations. This patch fixes that behavior, and also adjusts the source locations of the synthesized C++ factory method to point to the actual constructor decl when its location is available, so that the diagnostics make sense when warning about the lack of annotations. rdar://163127315
105 lines
1.7 KiB
Plaintext
105 lines
1.7 KiB
Plaintext
module FRTConstructors {
|
|
header "frt-constructors.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module POD {
|
|
header "pod.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MoveOnly {
|
|
header "move-only.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Singleton {
|
|
header "singleton.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Nullable {
|
|
header "nullable.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Inheritance {
|
|
header "inheritance.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module WitnessTable {
|
|
header "witness-table.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module ReferenceCounted {
|
|
header "reference-counted.h"
|
|
}
|
|
|
|
module ReferenceCountedObjCProperty {
|
|
header "reference-counted-objc-property.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module LifetimeOperationMethods {
|
|
header "lifetime-operation-methods.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MemberLayout {
|
|
header "member-layout.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MemberInheritance {
|
|
header "member-inheritance.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module DerivedFieldGetterReturnsOwnedFRT {
|
|
header "derived-field-getter-returns-owned-frt.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module FunctionsAndMethodsReturningFRT {
|
|
header "cxx-functions-and-methods-returning-frt.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module PassAsParameter {
|
|
header "pass-as-parameter.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Printed {
|
|
header "printed.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module VirtMethodWithRvalRef {
|
|
header "virtual-methods-with-rvalue-reference.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module VirtMethodWitMoveOnly {
|
|
header "virtual-methods-move-only-type.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module LoggingFrts {
|
|
header "logging-frts.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module FRTReferenceReturns {
|
|
header "frt-reference-returns.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module RefCountedSmartPtrs {
|
|
header "refcounted-smartptrs.h"
|
|
requires cplusplus
|
|
}
|