Commit Graph

5 Commits

Author SHA1 Message Date
Alexis Laferrière
69ee427532 [Sema] Fix reports on async when checking only the API availability
-check-api-availability-only limits availability checking to the API
only, ensuring that was will appear in the swiftinterface is sound but
without raising issues about implementation details. This patch ensures
it correctly ignore non-public async functions as they wouldn't appear
in the API.

rdar://86174644
2021-12-09 11:34:33 -08:00
Alexis Laferrière
c4f226e541 [Driver] Move the flag -check-api-availability-only to the driver 2021-10-26 09:28:59 -07:00
Alexis Laferrière
1a3f28500b [Sema] Don't check availability in assigned properties initializers
For a non-public property where the type is defined by an assignment, like
`internal var internalAssigned = NewStruct()`, type-checking the type's
availability is done via checking the initializer expression.

In -check-api-availaiblity-only mode, pass down a flag to not check
availability in expressions for initializer expressions of such
non-public properties.

rdar://84389825
2021-10-25 13:46:53 -07:00
LucianoAlmeida
c109366d32 [tests] Make some tests that are x86_64 hardcode that are failing on arm64 run with %target-cpu 2021-10-10 12:27:43 -03:00
Alexis Laferrière
a34953ece9 [Sema] Intro flag to limit availability checks to the API
Intro the frontend flag `-check-api-availability-only` that limits
availability checking to the API and SPI. This mode doesn't check the
availability of non-inlinable function bodies and of non-ABI-public decl
signatures.

This mode goal is to check all that is printed in the swiftinterface
file. It should be used in place of the wider
`-disable-availability-checking` when generating an interface for
platforms with no binaries.

rdar://81679692
2021-10-07 17:14:55 -07:00