Commit Graph

4650 Commits

Author SHA1 Message Date
Dmitri Hrybenko
275cfc0545 stdlib: protocol extensions: de-underscore underestimateCount()
Swift SVN r28240
2015-05-07 00:30:28 +00:00
Dmitri Hrybenko
97db2def53 stdlib: protocol extensions: de-underscore flatMap()
Swift SVN r28239
2015-05-07 00:30:27 +00:00
Dmitri Hrybenko
a474641f66 stdlib: protocol extensions: de-underscore reverse()
Swift SVN r28238
2015-05-07 00:30:26 +00:00
Dmitri Hrybenko
270ec3b67c stdlib: protocol extensions: de-underscore reduce()
Swift SVN r28237
2015-05-07 00:30:25 +00:00
Dmitri Hrybenko
035d72d5a7 stdlib: protocol extensions: de-underscore contains()
Swift SVN r28236
2015-05-07 00:30:24 +00:00
Dmitri Hrybenko
822ad74194 stdlib: protocol extensions: de-underscore lexicographicalCompare()
Swift SVN r28235
2015-05-07 00:30:23 +00:00
Dmitri Hrybenko
78d1196f33 stdlib: protocol extensions: de-underscore elementsEqual
Swift SVN r28234
2015-05-07 00:30:22 +00:00
Dmitri Hrybenko
e43ad56a1c stdlib: protocol extensions: de-underscore startsWith()
Swift SVN r28233
2015-05-07 00:30:21 +00:00
Dmitri Hrybenko
62aa1f0e7c stdlib: protocol extensions: de-underscore minElement(), maxElement()
Swift SVN r28232
2015-05-07 00:30:20 +00:00
Dmitri Hrybenko
7e9063a4af stdlib: protocol extensions: de-underscore enumerate()
Swift SVN r28231
2015-05-07 00:30:12 +00:00
Dave Abrahams
04d6928390 [stdlib] Pinging the compiler doesn't usually help
Swift SVN r28225
2015-05-06 23:06:58 +00:00
Chris Lattner
37f5452d15 require -> guard.
Swift SVN r28223
2015-05-06 22:53:38 +00:00
Joe Groff
ab09922966 Runtime/IRGen: Replace the _SwiftNativeNS*Base +load hack with a compiler hack.
Rather than swizzle the superclass of these bridging classes at +load time, have the compiler set their ObjC runtime base classes, using a "@_swift_native_objc_runtime_base" attribute that tells the compiler to use a different implicit base class from SwiftObject. This lets the runtime shed its last lingering +loads, and should overall be more robust, since it doesn't rely on static initialization order or deprecated ObjC runtime calls.

Swift SVN r28219
2015-05-06 22:00:59 +00:00
Joe Groff
d51acde8c4 Runtime: Add back +[SwiftObject initialize].
It's sent unconditionally by the ObjC runtime, so needs to exist.

Swift SVN r28218
2015-05-06 22:00:55 +00:00
Joe Groff
8b814d377e Runtime: SwiftObject doesn't need +load or +initialize.
The Swift compiler now makes sure to realize classes before any use that requires realization, so this is no longer necessary.

Swift SVN r28214
2015-05-06 19:45:54 +00:00
Doug Gregor
2105aa7394 Remove extraneous 'Self.' from constrained extension where clauses.
NFC; cleans up the standard library implementation slightly.

Swift SVN r28209
2015-05-06 17:05:29 +00:00
Joe Groff
608e84496a AST/stdlib: Stub out _OptionSetType as a known protocol.
Leave it empty for now. The implementation can be dropped in later.

Swift SVN r28205
2015-05-06 16:49:01 +00:00
Dmitri Hrybenko
cd652bf6cd stdlib: canonicalize 'x.count == 0' to x.isEmpty
Swift SVN r28202
2015-05-06 16:27:41 +00:00
Ted Kremenek
92e6051cce Revert "[stdlib] NSStringAPI: add stringByApplyingTransform"
Right now this is breaking our iOS bots.  Let's temporarily revert while we investigate.

Swift SVN r28201
2015-05-06 15:58:05 +00:00
Joe Groff
9b4dc24721 Runtime: (Almost) cleanse of global constructors and destructors.
Configure the runtime to build with -Wglobal-constructors, and Lazy-fy almost everything that gets flagged. (I gave "swift_isaMask" a pass since that's almost definitely hot enough to warrant a static initialization.) Make some improvements to the Lazy wrapper, using aligned_storage to ensure that it's trivially constructed and destructed.

Swift SVN r28199
2015-05-06 04:59:56 +00:00
Dmitri Hrybenko
c31330ee1a stdlib: canonicalize 'x.count == 0' to x.isEmpty
Swift SVN r28196
2015-05-06 03:04:23 +00:00
Enrico Granata
3386d89af4 When demangling as string type names that come from module names of the form __lldb_expr_<something> in a Swift program, hide the module
The __lldb_expr modules are special as in they are autogenerated by LLDB and meant to not be user-accessible, so showing them adds visual noise for no user benefit

I am open to the notion of adding a flag to swift-demangle to the same effect, but that seems much lower priority



Swift SVN r28195
2015-05-06 02:49:08 +00:00
Dmitri Hrybenko
7ab0f987bf stdlib: fix coding style
Swift SVN r28189
2015-05-06 00:06:05 +00:00
Dmitri Hrybenko
f0d5dfed97 stdlib: correct comment
Swift SVN r28188
2015-05-06 00:05:07 +00:00
Dmitri Hrybenko
0453656f31 Adapt to Foundation API modernization: NSRectEdge is now an enum
This commit adds the initializers requested in rdar://20169260.

Swift SVN r28185
2015-05-05 22:50:59 +00:00
Dave Abrahams
29e08e8814 [stdlib] Fix up Mirrors for the Linux bot
Swift SVN r28182
2015-05-05 21:44:13 +00:00
Dave Abrahams
a3270c105c [stdlib] NSStringAPI: add stringByApplyingTransform
Swift SVN r28171
2015-05-05 17:35:43 +00:00
Doug Gregor
6e114e3cfe Reinstate r26814: Allow 'var' parameters in @objc methods.
'var' parameters affect the definition of the method itself, not its
signature. Fixes rdar://problem/20543054.

Swift SVN r28167
2015-05-05 16:34:09 +00:00
Joe Groff
7b2a6e5e8d IRGen: Emit the "done" check for Builtin.once inline.
This matches how dispatch_once works in C, dramatically cutting the cost of a global accessor by avoiding the runtime call in the hot path and giving the global a unique branch for the CPU to predict away. For now, only do this for Darwin; non-ObjC platforms don't necessarily expose their "done" value as ABI like ours do.

While we're here, change "once" to take a thin function pointer. We don't ever emit global initializers with context dependencies, and this simplifies the runtime glue between swift_once and dispatch_once/std::call_once a bit.

Swift SVN r28166
2015-05-05 15:35:57 +00:00
Greg Parker
6c77b45457 [stdlib] Hide swift_ObjCMirror_count() from non-ObjC platforms.
Swift SVN r28165
2015-05-05 10:17:48 +00:00
Dave Abrahams
c5b64b3503 [stdlib] Fix another bug in _getSuperclass
When passed an existential, there is no class object and we should
return nullptr.

Swift SVN r28159
2015-05-05 06:47:54 +00:00
Dave Abrahams
a1f3ae38e8 [stdlib] Properly reflect Objective-C superclasses
We still can't do very much of use with ivars, but this works.

Swift SVN r28158
2015-05-05 06:11:25 +00:00
Chris Lattner
85d681a5b6 strength reduce some non-performance sensitive code :-)
Like the FIXME comment states, this method should probably
be changed to be:

  public func getMirror() -> MirrorType {
    return _OptionalMirror<T>(self)
  }

but I don't know how to test that change.



Swift SVN r28157
2015-05-05 05:48:54 +00:00
Dave Abrahams
f1177566d3 [stdlib] Fixes a bug in mirrors for ObjC superclasses
We had failed to recognize that legacy ObjC class mirrors have a
distinct type.  Fixes <rdar://20811737>

However, there's a bug in legacy mirrors that prevents all base classes
from being properly reflected: <rdar://20813711>

Swift SVN r28156
2015-05-05 05:40:22 +00:00
Dave Abrahams
6f4e1bb309 [stdlib] Fixes for _getSuperclass
This internal function is used by mirrors and thus must work correctly

Swift SVN r28154
2015-05-05 05:40:20 +00:00
Chris Lattner
6a5009e0ce implement <rdar://problem/17013042> T! <-> T? conversions should not produce a diamond
Two pieces to this: 
 - Peephole OptionalEvaluationExpr(InjectOptionalExpr(BindOptionalExpr(X))) to  bitcast x to the result type. 
 - Enhance OptionalEvaluationExpr to delete the failure block if not needed.  

This is the same as r28150, but it includes a fix for the case when a non-address-only type
is initializing a contextally-provided-and-addressible buffer, tested by the new 
testContextualInitOfNonAddrOnlyType testcase.



Swift SVN r28153
2015-05-05 05:39:17 +00:00
Chris Lattner
9eb115fadf revert r28150, the perftestsuite isn't happy.
Swift SVN r28151
2015-05-05 05:16:23 +00:00
Chris Lattner
1ffe86b327 implement <rdar://problem/17013042> T! <-> T? conversions should not produce a diamond
Two pieces to this:
 - Peephole OptionalEvaluationExpr(InjectOptionalExpr(BindOptionalExpr(X))) to 
   bitcast x to the result type.
 - Enhance OptionalEvaluationExpr to delete the failure block if not needed.

This is the same as r28111, except that we finalize the initialization in the
address-only case.  A reduced testcase for the specific issue is added to
optional-casts.swift.



Swift SVN r28150
2015-05-05 05:01:22 +00:00
Dmitri Hrybenko
61d622226a Revert "Generate an empty Mirror for Mirror itself - the internal cruft of our reflection magic is not that interesting, and looks quite ugly in playgrounds"
This reverts commit r28141.  It broke the build.

Swift SVN r28143
2015-05-05 00:40:49 +00:00
Enrico Granata
6fcc3081ac Generate an empty Mirror for Mirror itself - the internal cruft of our reflection magic is not that interesting, and looks quite ugly in playgrounds
Swift SVN r28141
2015-05-05 00:18:42 +00:00
Dmitri Hrybenko
3c30738fc1 Adjust to SpriteKit nullability annotations in the new SDKs
Swift SVN r28136
2015-05-04 23:18:14 +00:00
Dmitri Hrybenko
5d96abc4a2 Revert "Adjust SpriteKit overlay to SDK change."
This reverts commit r28117.  A complete commit (paired w/EPOCH) to
follow, to make it easier to cherry-pick the change.

Swift SVN r28135
2015-05-04 23:18:13 +00:00
John McCall
b186be429b Catch errors in top-level code.
Swift SVN r28133
2015-05-04 22:15:28 +00:00
Dmitri Hrybenko
33b74a0976 GLKit depends on simd through ModelKit
Swift SVN r28124
2015-05-04 18:28:18 +00:00
Ted Kremenek
c3302be282 Adjust SpriteKit overlay to SDK change.
Swift SVN r28117
2015-05-04 16:19:55 +00:00
Dmitri Hrybenko
b6a662726b stdlib: replace let-else by require-else
Swift SVN r28104
2015-05-04 00:29:48 +00:00
Chris Lattner
d834f44830 more let/else -> require to help out the bot.
Swift SVN r28100
2015-05-03 22:03:24 +00:00
Chris Lattner
079e8b982b move stdlib from let/else to require.
Swift SVN r28098
2015-05-03 21:45:06 +00:00
Dmitri Hrybenko
e340bf410c stdlib: fix coding style
Swift SVN r28094
2015-05-03 04:10:59 +00:00
Joe Groff
a18b016eee stdlib: Make SceneKit and SpriteKit overlays depend on simd.
Swift SVN r28090
2015-05-02 16:02:01 +00:00