Commit Graph

4650 Commits

Author SHA1 Message Date
Dave Abrahams
f8e5d28465 [stdlib] Remove needless "let"s
Simpler is better.

Swift SVN r28434
2015-05-11 19:34:26 +00:00
Dmitri Hrybenko
e63d851040 stdlib: fix up a doc comment
Patch by Alex Martini.

Swift SVN r28432
2015-05-11 18:52:25 +00:00
Slava Pestov
d2a5fbd94a Implement reflection on instances of empty and single-payload enums
This change attempts to introduce the functionality without being too
disruptive. After we branch, I want to consolidate some of the runtime
functions and implement this functionality for multi-payload enums
as well, which requires adding new runtime metadata.

Example:

(swift) enum Color { case Red, Green, Blue(Int) }
(swift) print(Color.Red)
REPL.Color.Red
(swift) print(Color.Blue(5))
REPL.Color.Blue(5)

Implements <rdar://problem/18334936>.

Swift SVN r28430
2015-05-11 18:21:39 +00:00
Slava Pestov
fd256e70e3 EmitGuaranteedSelf is always on now
NFC except for removal of flag

Swift SVN r28427
2015-05-11 18:21:37 +00:00
Slava Pestov
bfc90f1586 Runtime: nuke a bit of dead code
NFC

Swift SVN r28425
2015-05-11 18:21:34 +00:00
Dave Abrahams
918b323565 [stdlib] Suppress some new warnings
Swift SVN r28420
2015-05-11 16:18:55 +00:00
Dmitri Hrybenko
7ac7eba882 stdlib: make map() dynamically dispatched
This change tries to recover the performance regression in map() that
was caused by moving map() to a protocol extension and degrading the
static type information (when mapping a collection, we only know that it
is a sequence).  Adding map() to the witness table allows us to provide
a specialized implementation for collections, and hopefully recover the
lost performance.

Swift SVN r28416
2015-05-11 15:59:02 +00:00
Chris Lattner
39dc866eb2 tweak a couple of more files in the build to strength reduce from var -> let.
Swift SVN r28410
2015-05-11 06:06:40 +00:00
Joe Groff
0348bbccf4 Take -sil-serialize-all off of CoreGraphics overlay again.
It causes test failures: rdar://problem/20891746

Swift SVN r28407
2015-05-11 00:42:33 +00:00
Dmitri Hrybenko
0d42ed3eb2 StdlibUnittest: provide explanatory output about failing crash tests
Swift SVN r28404
2015-05-10 23:17:44 +00:00
Joe Groff
bdfc83639a CoreGraphics overlay: Provide concrete definitions of CG*Zero and CGAffineTransformIdentity.
These are opaque externs in C for no good reason.

Swift SVN r28399
2015-05-10 18:23:34 +00:00
Joe Groff
3ee5bbcb68 Build CoreGraphics overlay with -sil-serialize-all.
A more robust way to expose its definitions to inlining, for rdar://problem/20888179.

Swift SVN r28398
2015-05-10 18:23:33 +00:00
Joe Groff
0c8667f215 whitespace
Swift SVN r28396
2015-05-10 17:25:57 +00:00
Chris Lattner
934bbd0a42 more stdlib hygiene
Swift SVN r28393
2015-05-10 06:35:15 +00:00
Chris Lattner
c1df892d47 improve stdlib hygiene a bit.
Swift SVN r28392
2015-05-10 02:55:18 +00:00
Joe Groff
1968b85a03 Revert "CoreGraphics overlay: Make most CGPoint/Size/Rect operations transparent."
This reverts commit r28387. It causes SIL linkage issues on the bots, and several people have noted that -sil-serialize-all is a better approach.

Swift SVN r28391
2015-05-10 00:51:08 +00:00
Joe Groff
e910c14bc2 CoreGraphics overlay: Make most CGPoint/Size/Rect operations transparent.
Expose constructors, ==, and other operators so they can be inlined down to their underlying C struct operations. Add overlays for CG{Point,Rect,Size}Zero and CGAffineTransformIdentity as well so we avoid having to load from the opaque extern storage of the C constants. rdar://problem/20888179

Swift SVN r28387
2015-05-09 23:44:54 +00:00
Joe Groff
0722dd26ff stdlib: Roll the SIMD module back to C++ parity.
Committing on behalf of Steve Canon again. We'll hold off on innovating till we have a more complete story here.

Swift SVN r28385
2015-05-09 23:03:36 +00:00
Chris Lattner
47bdbfb694 fix <rdar://problem/20883147> Type annotation for 'let' condition still expected to be optional
Swift SVN r28360
2015-05-09 02:34:01 +00:00
Dmitri Hrybenko
0bca4219dd stdlib: remove workarounds from _replPrintLiteralString()
Swift SVN r28357
2015-05-09 01:34:49 +00:00
David Farler
8c2248a482 Don't embed LLVM bitcode into the XCTest overlay
With bitcode enabled, the XCTest overlay fails to link because
XCTest.framework itself was not built with bitcode. For now, we should
not build this overlay with bitcode. It isn't embedded in apps.

rdar://problem/20884313

Swift SVN r28355
2015-05-09 01:28:05 +00:00
Dmitri Hrybenko
49216037c9 Revert "Provide a Mirror for Mirror - take 2"
This reverts commit 28336.  The compiler crashes while building the
standard library.

Swift SVN r28348
2015-05-09 00:11:02 +00:00
Enrico Granata
cf30e0724e Provide a Mirror for Mirror - take 2
This time with a dictionary instead of array literal, and with a test

Unless the bots break (and I will keep a more careful eye out for that this time), this will fix rdar://problem/20861708



Swift SVN r28336
2015-05-08 23:45:54 +00:00
Dmitri Hrybenko
7776ba5a71 stdlib: clean up capitalization in doc comments
Patch by Brian Lanier and Alex Martini.

Swift SVN r28335
2015-05-08 23:44:05 +00:00
Doug Gregor
0749486302 Let unqualified lookup find members of protocols and extensions thereof.
Members of protocols found via unqualified name lookup are mapped to
their corresponding witnesses, as we do for qualified name
lookup. This is the bulk of the compiler changes for
rdar://problem/20509152. Performing this mapping for unqualified name
lookup of types will follow.

Swift SVN r28333
2015-05-08 23:22:13 +00:00
Jordan Rose
21b8312c2e [stdlib] Make a bunch of standard library functions compile faster.
The targeted functions all take over a second to type-check with my debug
compiler (found using -debug-time-function-bodies). The top two---the two
replaceRange implementations---took about a minute each; this change
knocks them down to 30-40s.

All of this is just breaking expressions apart, and the expressions aren't
even that complicated. I'm concerned that we have a serious performance
regression around the use of lazy(), and I've filed rdar://problem/20875936
so we can look into it. The test change is particularly concerning; there's
a ridiculous difference between 'lazy(...).reverse()' and
'lazy(...).reverse().reverse()'.

No intended functionality change.

Swift SVN r28325
2015-05-08 21:01:50 +00:00
Dmitri Hrybenko
d6818525b4 stdlib: remove extra 'Self.' qualifications that are not needed now
Finishes rdar://20838229

Swift SVN r28323
2015-05-08 19:12:27 +00:00
Dave Abrahams
8bd6b330b1 [stdlib] Fix DRY violation
Swift SVN r28316
2015-05-08 16:53:59 +00:00
Dmitri Hrybenko
e24c262d6e Foundation overlay: add String.stringByApplyingTransform()
This API is new in OS X 10.11 and iOS 9.0.

rdar://20645458

Swift SVN r28315
2015-05-08 08:36:44 +00:00
Dmitri Hrybenko
f46f16ae82 stdlib: implement new print() API
rdar://20775683

Swift SVN r28309
2015-05-08 01:37:59 +00:00
Ted Kremenek
9f9bb725cf Rename '_ErrorType' to 'ErrorType'.
Swift SVN r28293
2015-05-07 21:59:29 +00:00
Dmitri Hrybenko
8b392eeea9 Revert "Remove Array.count, it is redundant with protocol extensions"
This reverts commit r28247 while we discuss the change.

Swift SVN r28292
2015-05-07 21:45:30 +00:00
Dmitri Hrybenko
10ab07ade5 Revert "Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count"
This reverts commit r28248 while we discuss the change.

Swift SVN r28291
2015-05-07 21:45:28 +00:00
Dmitri Hrybenko
4461d97a49 Revert "stdlib: some more count -> count() replacements."
This reverts commit r28256 while we discuss the change.

Swift SVN r28290
2015-05-07 21:45:21 +00:00
Joe Groff
919ae95b3f Runtime: Make Lazy defaulted initializer constexpr to satisfy is_literal_type.
Xcode (incorrectly IIUC) gave this a pass, but apparently mainline clang doesn't.

Swift SVN r28277
2015-05-07 18:33:11 +00:00
Joe Groff
38be24cd53 Runtime: Change static_asserts on Lazy to check is_literal_type.
The non-Darwin build uses std::once_flag, which has a nontrivial constexpr ctor, so it still meets the requirement we care about that it doesn't cost a global constructor.

Swift SVN r28275
2015-05-07 18:01:26 +00:00
Andrew Trick
23b1186467 Removed _swift_isUniquelyReferenced shims. Don't call these from swift.
Swift SVN r28270
2015-05-07 16:39:28 +00:00
Ted Kremenek
7a96e55cde Revert "Foundation overlay: add String.stringByApplyingTransform()"
Speculatively reverted because of iOS bot failure.

Swift SVN r28261
2015-05-07 14:00:16 +00:00
David Farler
27cbf6b39d Fix 'seealso' comment in AnyGenerator
These code blocks weren't indented enough, so they were
getting parsed as inline HTML.

rdar://problem/20843980

Swift SVN r28258
2015-05-07 08:05:02 +00:00
Dmitri Hrybenko
15a558f919 Foundation overlay: add String.stringByApplyingTransform()
This API is new in OS X 10.11 and iOS 9.0.

rdar://20645458

Swift SVN r28257
2015-05-07 06:54:15 +00:00
Erik Eckstein
94a3cf8142 stdlib: some more count -> count() replacements.
Fixes the no-asserts stdlib build.



Swift SVN r28256
2015-05-07 05:47:51 +00:00
Dmitri Hrybenko
d938b93e48 stdlib: doc comment: use monospaced font for code
rdar://20843980

Swift SVN r28255
2015-05-07 04:59:50 +00:00
Dmitri Hrybenko
8ac6c7cf8f Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count
These APIs are redundant with APIs that come from protocol extensions.

Swift SVN r28248
2015-05-07 00:30:43 +00:00
Dmitri Hrybenko
58601fafc8 Remove Array.count, it is redundant with protocol extensions
Swift SVN r28247
2015-05-07 00:30:41 +00:00
Dmitri Hrybenko
c109ec9125 stdlib: protocol extensions: de-underscore count()
Swift SVN r28246
2015-05-07 00:30:38 +00:00
Dmitri Hrybenko
e253881b02 stdlib: protocol extensions: de-underscore indices
Swift SVN r28245
2015-05-07 00:30:35 +00:00
Dmitri Hrybenko
f76ca6243e stdlib: protocol extensions: de-underscore indexOf()
Swift SVN r28244
2015-05-07 00:30:33 +00:00
Dmitri Hrybenko
25e74d21db stdlib: protocol extensions: de-underscore last
Swift SVN r28243
2015-05-07 00:30:32 +00:00
Dmitri Hrybenko
d790954154 stdlib: protocol extensions: de-underscore first
Swift SVN r28242
2015-05-07 00:30:30 +00:00
Dmitri Hrybenko
e96ade89a9 stdlib: protocol extensions: de-underscore isEmpty
Swift SVN r28241
2015-05-07 00:30:29 +00:00