Commit Graph

20 Commits

Author SHA1 Message Date
Doug Gregor
71882c6516 [API Notes] Use API notes rather than overlays to make error enums bridge.
The Clang attribute allows one to state that a particular enumeration
type describes an error, and associates it with a particular domain
constant. However, due to lack of API notes support, this attribute
wasn't actually getting used. Instead, we had a number of explicit
extensions to enum types to make them conform to the _BridgedNSError
protocol explicitly.

Now that we have API notes, use them to make these enums into error
enums with the appropriate domain, so that the Clang importer will
synthesize the _BridgedNSError conformances. Then, remove all of the
explicit conformances---and with them, the overlays for 12 frameworks.

There is a small fix to more eagerly consider these conformances as
"used" if an expression is formed with the error enum as a value
type. This better ensures that the conformances will be available at
runtime when needed.

This cleanup is needed to implement SE-0112 (NSError bridging),
although it is useful by itself.
2016-07-06 09:54:59 -07:00
Mishal Shah
87b7bcfd3e Update master to build with Xcode 8 beta 1, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs. 2016-06-14 14:53:55 -07:00
Manav Gabhawala
7928140f79 [SE-0046] Implements consistent function parameter labels by discarding extraneous parameter names and adding _ where necessary 2016-04-06 20:21:58 -04:00
Jordan Rose
9eb3580796 Update the WatchKit overlay for 40103ce62. 2016-04-05 14:15:21 -07:00
Saleem Abdulrasool
4abcd1da3f stdlib: update syntax for @availability
The iPhoneOS SDK was not updated with the associated syntax change in the
language.  This cleans up the deprecation warnings in the iPhoneOS stdlib build.
NFC.
2016-03-30 11:17:09 -07:00
Dmitri Gribenko
00c5d6368e Port iOS and watchOS SDK overlays to the latest Clang importer rules 2016-03-09 18:58:13 -08:00
Jordan Rose
81905be8dd Rename _BridgedNSError._NSErrorDomain to _nsErrorDomain.
This isn't strictly necessary, since it's an implementation detail, but
it's consistent with the following changes.
2016-02-24 17:46:10 -08:00
Mishal Awadah
86d1629f1f [gardening] Remove tab characters. 2016-02-23 10:38:00 -08:00
Mishal Awadah
ad2a309ee2 Revert "Revert "[stdlib] Fix API renaming build failures""
This reverts commit 7e7da9eda5.

The original commit has been reviewed.
2016-02-23 10:37:14 -08:00
mawadah
7e7da9eda5 Revert "[stdlib] Fix API renaming build failures"
Instead, using a PR to merge.

This reverts commit 9bf2a86cf8.
2016-02-23 08:24:47 -08:00
mawadah
9bf2a86cf8 [stdlib] Fix API renaming build failures 2016-02-23 08:23:06 -08:00
Zach Panzarino
e3a4147ac9 Update copyright date 2015-12-31 23:28:40 +00:00
Jordan Rose
6e1bf0d10d Rename @exported to @_exported for now.
At some point I want to propose a revised model for exports, but for now
just mark that support for '@exported' is still experimental and subject
to change. (Thanks, Max.)
2015-11-05 11:59:00 -08:00
Jordan Rose
99768eb346 Revert "Switch overlays from using @exported to -import-underlying-module."
This reverts r29441 because it breaks the Linux build. I'll talk to Dmitri
about this tomorrow.

See rdar://problem/21254367

Swift SVN r29444
2015-06-17 05:02:21 +00:00
Jordan Rose
c8bfc87c4e Switch overlays from using @exported to -import-underlying-module.
Some day we'll close the hole for @exported in the previous commit.

Swift SVN r29441
2015-06-17 04:48:06 +00:00
Devin Coughlin
d6b3a2d75e WatchKit Overlay: Add availability and temporarily disable availability checking
The <Redacted>13A261 iOS SDK adds an availability attribute marking the imported
WatchKitErrorCode enum as available only on iOS 8.2 and newer. The WatchKit overlay
has a protocol extension for WatchKitErrorCode, so mark the extension as only available
on 8.2 and newer. On <Redacted>13A261 this silences a diagnostic complaining that
WatchKitErrorCode is only available on 8.2 and newer.

However, on <Redacted>13A254 this new annotation itself causes an error because on that
SDK WatchKitErrorCode claims to be available on all iOS versions and yet the conformance
would only hold on 8.2 and newer. To make this second diagnostic go away, this
commit temporarily disables availability checking for the WatchKit overlay.
rdar://problem/21099550 tracks re-enabling availability checking when we update the bots,
etc. to <Redacted>13A261.

rdar://problem/21098396

Swift SVN r29026
2015-05-26 05:47:56 +00:00
Dmitri Hrybenko
891ac31b43 Remove availability information from WatchKitErrorCode because
The SDK does not have it either, and the compiler does not handle
conditionally-available conformances.

Swift SVN r28657
2015-05-16 01:20:38 +00:00
Dmitri Hrybenko
6048306d3d Add availability information to the WatchKit overlay
Swift SVN r28656
2015-05-16 01:04:10 +00:00
Dmitri Hrybenko
a2096f187c Add the WatchKit overlay
rdar://20438380

Swift SVN r28654
2015-05-16 00:32:42 +00:00
Doug Gregor
3561cfc8bd Bridge 15 NSError error domains into their corresponding enums.
Introduce a number of small overlays to bridge the NSError domains for
a number of frameworks into existing imported enums. This batch only
covers cases where there is an existing NS_ENUM describing the codes
for the domain, so we need only extend that enum to provide the
appropriate _BridgedNSError conformance.

This is the bulk of rdar://problem/20536610.

Swift SVN r28585
2015-05-14 22:34:29 +00:00