Commit Graph

1442 Commits

Author SHA1 Message Date
Xin Tong
34ac867eb7 Disable SwiftPrivateSerializationMsgPack.swift to appease the bots for now.
Issue tracked in rdar://23456019. Will enable once problem fixed.
2015-11-08 09:11:39 -08:00
Erik Eckstein
6cca63cc67 Prevent dead code elimination in fixed point arithmetic trap test.
This is needed after commit [2504257] DeadCodeElimination: remove dead overflow producing operations together with the cond_fail which handles the overflow.
2015-11-04 15:01:11 -08:00
spestov@apple.com
5d88b04e67 Forgot to update some tests for Linux reference counting changes 2015-11-03 15:25:52 -07:00
Ben Langmuir
d119d6e3b0 [CodeCompletion] Update validation-test/IDE after keyword changes 2015-11-02 14:35:09 -08:00
David Farler
4ac9c80809 Add back remaining files for building and testing in Open Source 2015-10-31 00:19:20 -07:00
David Farler
a759ca9141 Disallow 'var' bindings in case patterns
Make the following illegal:

switch thing {
  case .A(var x):
    modify(x0
}

And provide a replacement 'var' -> 'let' fix-it.

rdar://problem/23172698

Swift SVN r32883
2015-10-25 18:53:02 +00:00
Dmitri Hrybenko
9383927356 stdlib: trap correctly in floating-point to unsigned integer conversion
Uncovered by Dave's fixes to gyb.

<rdar://problem/23247773>

Swift SVN r32879
2015-10-25 04:53:37 +00:00
Arnold Schwaighofer
4b424e9b5a XFAIL test to get the bots blue
This started failing after recent gyb changes.

rdar://23247773

Swift SVN r32871
2015-10-24 12:02:49 +00:00
Xin Tong
eadac91a6b Fix a bug in how DSE tracks alive components in partial dead stores. rdar://23218844
Also enable test case disabled to appease the bots.

Swift SVN r32842
2015-10-23 04:34:47 +00:00
Arnold Schwaighofer
9147eab1a7 XFAIL test case that is currently failing when run with optimization
rdar://23218844

Swift SVN r32826
2015-10-22 16:03:47 +00:00
Ben Langmuir
465c2db70e [CodeCompletion] Add a test for some previously crashing extensions
This got incidentally fixed recently, but wasn't yet tested.

rdar://problem/21825270

Swift SVN r32792
2015-10-21 17:58:25 +00:00
Slava Pestov
1b5778ba68 UNSUPPORTED rather than XFAIL
As Jordan pointed out, the frameworks exist in the internal SDK, and
we don't want the tests to fail in this case.

Swift SVN r32734
2015-10-16 22:22:01 +00:00
Slava Pestov
6e5475bbb7 Fixing watchOS simulator test failures
Some of the tests had bitrotted, and others no longer worked
because they used frameworks such as CoreAudio that are not
available in the public SDK for watchOS.

Swift SVN r32733
2015-10-16 22:15:34 +00:00
Doug Gregor
ea3d0b37bf Archetype builder: clean up typo correction and unresolved references.
When typo-correcting a potential archetype (i.e., a nested name
T.foo), record the rename within the potential archetype but don't
consider the signature to be invalid. Move the actual typo-correction
diagnostics and AST fix-ups outside of the archetype builder, so we
get proper Fix-Its and a correct generic signature. Fixes
rdar://problem/20789924.

Swift SVN r32677
2015-10-14 06:27:28 +00:00
Doug Gregor
70968a38fc Use the iterative type checker for TypeChecker::resolveInheritedProtocols.
Swift SVN r32564
2015-10-09 17:18:42 +00:00
Doug Gregor
f247447f03 Iterative type checker: compute inherited protocols of a protocol.
Introduce a type check request for computing inherited protocols and
start using it in a few places.

Swift SVN r32562
2015-10-09 17:18:40 +00:00
Doug Gregor
2feed84c91 Sketch out the interface to an iterative, lazy type checker.
This is all effectively NFC, but lays out the shape of the iterative
type checker: requests are packaged up in TypeCheckRequest, we can
check whether the request has been satisfied already (isSatisfied),
enumerate its dependencies (enumerateDependenciesOf) in terms of other
TypeCheckRequests, and satisfy a request (satisfy).

Lazily-computed semantic information is captured directly in the
AST, but has been set aside in its own structure to allow us to
experiment with moving it into a lookaside table.

The only request that exists now is to type-check the superclass of
the given class. It currently performs unhealthy recursion into the
existing type checker. As we detangle dependencies, this recursion
between the IterativeTypeChecker and the TypeChecker can go away.

Swift SVN r32558
2015-10-09 17:18:36 +00:00
David Farler
fb2381124b Fix CoreMedia CMTimeRange overlay != operator
This was ... returning the same thing as the == operator.

Also, integrate the CoreMedia overlay tests from
rdar://problem/20926198, which caught this problem, and port it
to StdlibUnittest.

Swift SVN r32484
2015-10-07 01:27:36 +00:00
Doug Gregor
34106f7f32 Include the Self type of a protocol type in the list of "all" generic arguments.
It's never bound, but this maintains invariants better and fixes a
number of crashes.

Swift SVN r32430
2015-10-04 06:18:15 +00:00
Dmitri Hrybenko
6536edd68c stdlib: fix coding style
Swift SVN r32425
2015-10-03 21:13:15 +00:00
Doug Gregor
98dadc9800 Teach resolveTopLevelIdentTypeComponent not to modify the component.
Instead, always return the computed Type and let the caller deal with
it. NFC except for accidentally fixing a crasher.

Swift SVN r32377
2015-10-01 20:17:24 +00:00
Arnold Schwaighofer
3e984d25d9 Change test name - we test non unique arrays here
Swift SVN r32282
2015-09-28 21:20:22 +00:00
Arnold Schwaighofer
599a438015 Don't force to grow the buffer everytime we make it unique
rdar://22873620

Swift SVN r32280
2015-09-28 20:47:23 +00:00
Mark Lacey
517723dbe9 Add -enable-sil-verify-all to sil-opt tests.
Also remove -verify from almost all of them, since only two actually
have expected diagnostic output that is tested.

Swift SVN r32198
2015-09-24 07:25:15 +00:00
Slava Pestov
69981a63eb Fix a handful of compiler_crashers were failing on OS X but passing on Linux
I'm too lazy to XFAIL: these, so fix the crash instead.

Swift SVN r32188
2015-09-23 22:27:36 +00:00
Slava Pestov
28c8d0b30d Remove duplicate compiler_crashers
Swift SVN r32187
2015-09-23 22:27:26 +00:00
Slava Pestov
864cc29ccf Remove timeout tests for now
rdar://22812658 tracks re-enabling these.

Swift SVN r32171
2015-09-23 00:59:06 +00:00
Slava Pestov
9fcf7f1bb9 Import latest compiler crashers and regressions from practicalswift
Swift SVN r32157
2015-09-22 21:08:21 +00:00
Doug Gregor
ca3e3968c6 Add back two recently-fixed tests that accidentally got unstaged.
Swift SVN r32019
2015-09-16 23:50:29 +00:00
Doug Gregor
7a3f05a07a Reduce dependency on IdentTypeRepr::getBoundType().
Having bound types in TypeReprs causes trouble in several places
(mostly involving type-checking of generics), and doesn't really fit
with TypeReprs being a mostly syntactic construct. Eliminate some code
paths using getBoundType(), and make the others do the same thing for
getBoundDecl() and getBoundType(). As part of the latter, provide
TypeBase::getDirectlyReferencedTypeDecl() to more easily map from type
to the named declaration.

Swift SVN r32018
2015-09-16 23:25:19 +00:00
Dmitri Hrybenko
0a22034d65 GameplayKit overlay: add explicit tvOS availability
rdar://22707844

Patch by Dave Schaefgen.

Swift SVN r31970
2015-09-15 20:41:18 +00:00
Dmitri Hrybenko
67944589d6 stdlib: improve index invalidation guarantees for removeFirst()
Slice types that are RangeReplaceable (like ArraySlice) now slice
themselves in removeFirst().  Previously, these types were picking up
the wrong default implementation, and they were going through
replaceRange(), which caused all indices to be invalidated.  The new
implementation preserves all indices.

rdar://22536664

Swift SVN r31918
2015-09-12 04:35:51 +00:00
Chris Lattner
cbf145482a This diagnostic improved causing the validation test to fail. Instead of nuking the
error lines outright, move it to the non-validation suite.


Swift SVN r31749
2015-09-07 23:26:41 +00:00
Jordan Rose
99febda07f Simplify the CMake-generated lit.py invocation.
Now it's down to what I use myself, plus the --xunit-xml-output flag.
I also threw out a fair number of options we weren't using.

Swift SVN r31646
2015-09-03 00:51:25 +00:00
Arnold Schwaighofer
eb3d5e4d4a Revert "stdlib: Move the darwin String implementation over to use the ICU library."
Revert "Add test cases to exercise the native String vs cocoa buffer String path."
Revert "stdlib: Add back a test I removed"
Revert "stdlib: Fix hasPrefix,hasSuffix tests"
Revert "stdlib: Add documentation for the cached ascii collation tables"

This reverts commit 31493, 31492, 31491, 31490, 31489.

There are linking errors in SwiftExternalProjects (we probably have to link
against libicucore somewhere).

Swift SVN r31543
2015-08-27 21:02:32 +00:00
Dmitri Hrybenko
9b1ff7d92e stdlib: add a test that shows how to repeatedly call indexOf()
rdar://19753556

Swift SVN r31517
2015-08-27 01:51:42 +00:00
Arnold Schwaighofer
e1131ce3ee stdlib: Add back a test I removed
Reapply of 31476.

Swift SVN r31491
2015-08-26 15:14:20 +00:00
Arnold Schwaighofer
502f1e3de1 stdlib: Move the darwin String implementation over to use the ICU library.
Reapply of 31474 with a fix in _compareCocoaBuffer to use the bufferSizeRhs
variable instead of bufferSizeLhs for the right hand side buffer.

We no longer create intermediate NSString copies to compare and hash swift
Strings. Instead we call directly into the ICU library.

I measured a 1.2 to 2x improvement on dictionary benchmarks as a result of this.
The SuperChars benchmark is also about 1.2x faster because of this.

Pure ASCII comparison has gotten a little bit slower (20% on a pure comparison
micro-benchmark) because we no longer do a memcmp. Doing a memcmp on ASCII is
not the same as the default unicode collation. Instead we have to a string scan.
The default unicode collation does not order like ASCII does and ignores
characters (for example the \0 character).

rdar://18992510

Swift SVN r31489
2015-08-26 15:14:18 +00:00
Arnold Schwaighofer
2d8f29e710 Revert "stdlib: Fix hasPrefix,hasSuffix tests"
Revert "stdlib: Add back a test I removed"
Revert "Add test cases to exercise the native String vs cocoa buffer String path."
Revert "stdlib: Move the darwin String implementation over to use the ICU library."

This reverts commit r31477, r31476, r31475, r31474.

Commit r31474 broke the ASAN build.

Swift SVN r31488
2015-08-26 13:09:03 +00:00
Arnold Schwaighofer
2588f44d83 stdlib: Add back a test I removed
Swift SVN r31476
2015-08-26 03:57:24 +00:00
Arnold Schwaighofer
5a25a00d1f stdlib: Move the darwin String implementation over to use the ICU library.
We no longer create intermediate NSString copies to compare and hash swift
Strings. Instead we call directly into the ICU library.

I measured a 1.2 to 2x improvement on dictionary benchmarks as a result of this.
The SuperChars benchmark is also about 1.2x faster because of this.

Pure ASCII comparison has gotten a little bit slower (20% on a pure comparison
micro-benchmark) because we no longer do a memcmp. Doing a memcmp on ASCII is
not the same as the default unicode collation. Instead we have to a string scan.
The default unicode collation does not order like ASCII does and ignores
characters (for example the \0 character).

rdar://18992510

Swift SVN r31474
2015-08-26 03:36:59 +00:00
Arnold Schwaighofer
3ec9325c58 stdlib: Don't hash in the length of the string
Some characters are not considered when comparing strings. Hashing in the length
would cause a difference of hash values in equal strings.

Swift SVN r31468
2015-08-26 02:00:20 +00:00
Arnold Schwaighofer
41119cb80b stdlib: Don't crash on strings that require a bigger buffer on normalization.
This is currently a linux only issue.

Swift SVN r31467
2015-08-26 02:00:19 +00:00
Jordan Rose
babdb9e9f9 Delay loading the witnesses of a protocol conformance.
Apart from being general compile-time goodness, this helps break a
circularity issue involving serialization cross-references and the
Clang importer.

The test is being added to validation-tests because it relies on
several levels of non-laziness in the compiler, all of which we'd
like to fix. It's making sure we don't regress here, but it isn't
actually verifying this change in particular.

rdar://problem/22364953

Swift SVN r31455
2015-08-25 21:47:18 +00:00
Dmitri Hrybenko
217ef5aa12 stdlib: fix legacy Mirror for ArraySlice
The mirror wasn't adjusted to account for non-zero-based indices of
ArraySlice.

rdar://problem/22373053

Swift SVN r31409
2015-08-22 08:04:58 +00:00
Doug Gregor
cab320296d Stop recording protocol lists in nominal types.
The conformance lookup table is responsible for answering queries
about the protocols to which a particular nominal type conforms, so
stop storing (redundant and incorrect) protocol lists on the ASTs for
nominal types. Protocol types still store the list of protocols that
they inherit, however.

As a drive-by, stop lying about the number of bits that ProtocolDecl
uses on top of NominalTypeDecl, and move the overflow bits down into
ProtocolDecl itself so we don't bloat Decl unnecessarily.

Swift SVN r31381
2015-08-21 17:51:23 +00:00
Doug Gregor
f0fcd594c0 Stop using TypeDecl::Protocols within abstract type parameters.
More baby steps toward sinking protocol lists down into
NominalTypeDecl. Fixes another 12 crashers along the way.

Swift SVN r31333
2015-08-19 06:42:30 +00:00
Doug Gregor
f898887894 Eliminate getConformsTo() callback from the archetype builder.
The getConformsTo() callback was responsible for forcing the
collection of the requirements directly placed on an associated type,
which then get added to the archetype builder. This resulted in an
unhealthy dependency on the list of protocols attached to TypeDecl
(which should go away). Instead, retrieve the requirements from the
associated type's archetype (once it's been computed) or directly from
its list of "inherited" types (while we're building the generic
signature for the protocol itself).

Swift SVN r31332
2015-08-19 06:42:27 +00:00
Doug Gregor
dd93c6390b Teach name lookup to cope with missing archetypes on associated types.
Name lookup shouldn't even depend on such semantic information, but
this fixes 13 crashers.

Swift SVN r31331
2015-08-19 06:42:23 +00:00
Dmitri Hrybenko
ff1680c7ea stdlib: expand the test boilerplate from Slice.swift.gyb
This test organization allows running more tests in parallel.

Part of rdar://22297353

Swift SVN r31287
2015-08-18 03:54:13 +00:00