Commit Graph

1006 Commits

Author SHA1 Message Date
Ben Cohen
c0ecff1344 Merge pull request #6508 from airspeedswift/sprightly-look
[SDK] Change SKThings.customPlaygroundQuickLook to return a non-optional image
2017-01-07 14:27:38 -08:00
Ben Cohen
578a52627a Merge branch 'master' into se-147 2017-01-07 13:19:15 -08:00
Ben Cohen
3bdada1773 Merge pull request #6506 from airspeedswift/im-not-warning-you-again
[stdlib] Squash various warnings
2017-01-06 16:51:06 -08:00
Robert Widmann
7d427aa62e Merge pull request #6569 from mekjaer/mk-inconsistent-spacing-on-properties-and-arguments
[gardening] spacing on properties and arguments in IndexSet (stdlib)
2017-01-06 16:11:00 -07:00
Philippe Hausler
45714e6263 [Foundation] Correct sequence initializers for Data when repeating:count: is called and add a memset fast-path 2017-01-06 13:56:08 -08:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
Florent Bruneau
68bc423be3 Clang Importer: import all indirect fields.
Until now, only indirect fields that didn't belong to a C union (somewhere
between the field declaration and the type in which it is indirectly
exposed) were imported in swift. This patch tries to provide an approach
that allows all those fields to be exposed in swift. However, the downside
is that we introduce new intermediate fields and types, some of the fields
may already have been manually defined in type extension (as seen with the
GLKit overlay).

The main idea here is that we can simply expose the anonymous
struct/unions from which the indirect types are taken and then use swift
computed properties to access the content of those anonymous
struct/unions. As a consequence, each time we encounter an anonymous
struct or union, we actually expose it at __Anonymous_field<id> (where id
is the index of the field in the structure). At this point, we use the
existing mechanism to expose the type as
__Unnamed_<struct|union>_<fieldname>. Then, each indirect field is exposed
as a computed property.

The C object:

 typedef union foo_t {
     struct {
         int a;
         int b;
     };
     int c;
 } foo_t;

Is imported as

 struct foo_t {
   struct __Unnamed_struct___Anonymous_field1 {
     var a : Int32
     var b : Int32
   }
   var __Anonymous_field1 : foo_t.__Unnamed_struct___Anonymous_field1
   var a : Int32 {
     get {
       return __Anonymous_field1.a
     }
     set(newValue) {
       __Anonymous_field1.a = newValue
     }
   }
   var b : Int32 {
     get {
       return __Anonymous_field1.b
     }
     set(newValue) {
       __Anonymous_field1.b = newValue
     }
   }
   var c : Int32
 }

This has the advantage to work for both struct and union, even in case we
have several nested anonymous struct/unions. This does not require to know
the size and/or the offset of the fields in the structures and thus can be
properly implemented using front-end data.

Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
2017-01-05 22:52:25 +01:00
Ben Cohen
fefc2e40df Migrate _copyContents to be called from UnsafeMutableBufferPointer with checks for overrun. 2017-01-05 11:59:49 -08:00
Ben Cohen
4dc5eacef5 Merge branch 'master' into im-not-warning-you-again 2017-01-05 10:11:48 -08:00
mekjaer
272dfb26df Gardening spacing on properties and arguments in IndexSet (stdlib) 2017-01-04 23:09:17 +01:00
Slava Pestov
6bea9534fe Merge pull request #6523 from jpsim/jp-inconsistent-closure-spacing
[gardening] fix mismatched closure open/close spacing in stdlib source
2017-01-03 20:59:38 -08:00
JP Simard
65688bdc39 [gardening] replace unused closure parameters with '_' in stdlib source (#6522)
* replace unused closure parameters with '_' in stdlib source

* fold some _ closure arguments into line above

* fold more _ closure arguments into line above
2017-01-03 20:10:41 -07:00
Robert Widmann
fca7b66b7c Merge pull request #6521 from jpsim/jp-void-return
[gardening] prefer '-> Void' over '-> ()' in stdlib source
2017-01-03 20:10:13 -07:00
JP Simard
891729f6c2 remove redundant '-> Void' return types from functions in stdlib source
since omitting it appears to be the convention followed elsewhere in
the code base.
2017-01-03 16:38:57 -08:00
Robert Widmann
359a66488f Merge pull request #6520 from jpsim/jp-trailing-semicolon
[gardening] remove trailing semicolons in stdlib source
2017-01-03 17:31:34 -07:00
Robert Widmann
6dd2dda53e Merge pull request #6525 from jpsim/jp-omit-control-statement-parens
[gardening] remove superfluous parentheses in control statements in stdlib source
2017-01-03 17:27:23 -07:00
Robert Widmann
3828784768 Merge pull request #6526 from jpsim/jp-return-arrow-whitespace
[gardening] fix overly-spaced return arrows in XCTest.swift
2017-01-03 17:26:35 -07:00
JP Simard
83b6d3c29c remove redundant optional nil assignment in stdlib source
since this appears to be the convention followed elsewhere in the code base.
2016-12-31 18:45:01 -08:00
JP Simard
2b246893c9 fix overly-spaced return arrows in XCTest.swift 2016-12-31 18:42:52 -08:00
JP Simard
7301b79342 remove superfluous parentheses in control statements in stdlib source
since this appears to be the convention followed elsewhere in the code base.
2016-12-31 18:40:15 -08:00
JP Simard
bb0af66904 fix mismatched closure open/close spacing in stdlib source 2016-12-31 18:21:05 -08:00
JP Simard
ea5b665afa prefer '-> Void' over '-> ()'
Apple and the Swift community has settled on this style:
https://devforums.apple.com/message/1133616#1133616

> FWIW, we've recently decided to standardize on () -> Void
> (generally, () for parameters and Void for return types) across all of our
> documentation.
2016-12-31 17:55:19 -08:00
JP Simard
bd34ea5e2d remove trailing semicolons in stdlib source 2016-12-31 17:51:18 -08:00
ben-cohen
c00485a0f7 use nil coalescing on URL.quarantineProperties { set } 2016-12-29 14:37:08 -08:00
ben-cohen
3f7adc9c22 supress warning on printing out optionals (temporarily, waiting on conditional conformance) 2016-12-29 12:57:32 -08:00
ben-cohen
1fb653cd51 Fix warning on UIImage?-as-Any 2016-12-29 12:20:52 -08:00
ben-cohen
ce0d713cd6 fixed where clauses, Optional-as-Any and unused vars 2016-12-29 07:58:12 -08:00
Doug Gregor
3e7bab1b42 Clean up some uses of "as!" that were effectively just uses of "!".
We're going to start diagnosing these for bridging conversions, which
we weren't doing before.
2016-12-21 13:46:13 -08:00
Doug Gregor
255fdb1d61 Fix some bogus bridging casts that were allowed in Swift 3.
Swift 3 unintentionally allowed collection casts from, e.g.,
Set<AnyHashable> to Set<NSObject>, when in fact the object
representation of the AnyHashable might not be an NSObject. Fix up our
tests and overlays that ran afoul of this rule.
2016-12-21 13:46:13 -08:00
Philippe Hausler
b57752a67f [Foundation] Correct case of over-released data contents when specifying .none as a deallocator 2016-12-19 14:37:24 -08:00
practicalswift
16d6dce62e [gardening] Fix recently introduced typos. 2016-12-16 21:42:09 +01:00
Slava Pestov
30c81e862f Foundation overlay: Fix resilient build 2016-12-12 14:05:50 -08:00
Doug Coleman
ca9026a720 [cmake]: Allow a --darwin-overlay-target=CloudKit to build one overlay
and its transitive closure of overlay dependencies.

[utils]:find-overlay-deps-closure.sh: Add a bash script to find the
closure of all other overlays required by a target overlay.
2016-12-09 17:00:24 -08:00
Philippe Hausler
e8b19d9924 Merge pull request #6098 from phausler/additional_data_refinements
Merge the swift-corelibs-foundation version of Data
2016-12-06 15:16:51 -08:00
practicalswift
3e31a3ade4 [gardening] Fix typos. 2016-12-06 21:42:01 +01:00
Philippe Hausler
6134083d31 Merge the swift-corelibs-foundation version of Data in as a single source and correct initializers for copy variants as well as remove defers of _fixLifetime 2016-12-06 10:12:55 -08:00
Philippe Hausler
4c2d6e24ff Merge pull request #5975 from phausler/data_performance
First draft at a new inlinable version of struct Data
2016-12-02 10:44:51 -08:00
Jordan Rose
e54ec3d2d4 Merge pull request #5854 from jrose-apple/excise-silgen_name-from-Dispatch
Use an extra shims header to remove _silgen_name from Dispatch.
2016-12-02 09:20:24 -08:00
Greg Parker
5001ee4645 Revert "Test and Fix: subset and superset for empty character set" (#6021) 2016-12-01 20:26:10 -08:00
Jordan Rose
7d61a5e6a2 [SDK] Use an extra shims header to remove _silgen_name from Dispatch.
We still have a bunch of redeclarations of Dispatch functions to avoid
the automatic bridging of dispatch_data_t and dispatch_block_t, but
mostly this is a vast reduction in complexity (and increase in safety).
2016-12-01 16:06:15 -08:00
Philippe Hausler
e27b2b0923 Account for nullability issues of bytes in NSData subclasses and return a placeholder value for now 2016-12-01 15:34:04 -08:00
MuhammadAnnaqeeb
e41a29a11c Fix subset and superset for empty character set (#6000)
Fix isSubset() and isSuperset() involving the empty CharacterSet.
2016-12-01 14:43:25 -08:00
Philippe Hausler
bdafb2dac0 Handle no-copy cases and custom deallocators as inline construction of swift Data 2016-12-01 12:27:57 -08:00
Maxim Moiseev
698d25cb3d [overlay] Fixing the incorrect type of fanSpeedPercentage (#5992)
Fixes <rdar://problem/29167201>
2016-12-01 10:29:47 -08:00
Tony Parker
66a1aaa8ed Clarify a few comments on autoupdating vs current for TimeZone, Calendar, and Locale 2016-11-30 08:12:17 -08:00
Philippe Hausler
9c0951b5b2 First draft at a new inlinable version of struct Data 2016-11-29 10:53:44 -08:00
practicalswift
5bc293cc09 [gardening] Add missing licensing headers. 2016-11-28 21:40:06 +01:00
Saleem Abdulrasool
f238d65a33 stdlib: use ALL_APPLE_PLATFORMS where applicable
Convert a few instances of fully listing all apple platforms with the special
`ALL_APPLE_PLATFORMS` value for `TARGET_SDKS`.
2016-11-27 14:33:06 -08:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Jordan Rose
cc1c02f459 Merge pull request #5852 from jrose-apple/XCTest-overrelease
[SDK] Fix overrelease in the XCTest overlay, and re-enable the XCTest tests.
2016-11-18 10:54:05 -08:00