Commit Graph

2447 Commits

Author SHA1 Message Date
Michael Gottesman
f5d358f3db [docs][ubuntu-14.04] Update URL of cmake-3.5.2 tar ball
The original URL now 301s to the new URL. Update the documentation.
2018-04-18 23:37:25 -07:00
swift-ci
76eceb088b Merge pull request #15976 from harlanhaskins/its-just-semantics 2018-04-17 09:44:18 -07:00
Harlan
646bba188a Add 'Sema' to Lexicon
Adds a small but useful definition of 'Sema' to the Lexicon. I personally thought it had something to do with Semaphores when I started contributing.
2018-04-17 14:16:12 +02:00
Arnold Schwaighofer
28a869a916 Fix typo 2018-04-16 08:59:47 -07:00
Arnold Schwaighofer
b5308a6287 Add doc for convert_escape_to_noescape attributes 2018-04-13 14:26:33 -07:00
Saleem Abdulrasool
dc7df33a37 docs: correct CMake variable name for Windows build
The windows build cannot be built with `build-script` as that is written in bash.  Correct the documentation to use the right variable name.
2018-04-10 09:52:58 -07:00
John McCall
6e81c68477 Merge pull request #15685 from rjmccall/metadocs-docs-fixes
Revise per review, and some assorted other fixes.
2018-04-02 15:22:02 -04:00
swift-ci
38d56eed83 Merge pull request #15628 from kastiglione/lldb-sequence-command 2018-04-02 11:35:10 -07:00
John McCall
31e474d0f3 Revise per review, and some assorted other fixes. 2018-04-02 13:45:20 -04:00
John McCall
625c37e2d5 Describe the technical design of metadata states and cycle resolution. 2018-04-02 01:32:35 -04:00
John McCall
50f8519954 Update the type-metadata document at least a little bit.
The section on nominal type descriptors is badly out of date,
but now at least it says so in bold at the top of the section.
2018-04-02 01:31:28 -04:00
Slava Pestov
e1f50b2d36 SE-0193: Rename @_inlineable to @inlinable, @_versioned to @usableFromInline 2018-03-30 21:55:30 -07:00
Dave Lee
f9cc272d95 Mention sequence in DebuggingTheCompiler 2018-03-30 13:31:18 -07:00
swift-ci
a55b4dc29f Merge pull request #15613 from vedantk/lldb-docs 2018-03-29 21:45:07 -07:00
Vedant Kumar
a57ba2b0c2 [docs] Explain how to define custom lldb commands 2018-03-29 20:53:14 -07:00
Slava Pestov
be0736693c Update Mangling.rst for recent changes
- Outlined value operations are now 'WO' and not 'W'
- Protocol witness table pattern 'Wp'
- Resilient protocol witness table 'Wr'
- Protocol requirement table 'WR'
2018-03-29 15:23:20 -07:00
Davide Italiano
b4a19cc6ac [Mangler] Fix mangling for associated types. 2018-03-27 11:06:15 -07:00
Michael Ilseman
977a0e0d86 [docs] Add productivity hacks to stdlib progman (#15403)
[docs] Add productivity hacks to stdlib prog man

Small section about using ninja to more efficiently work on the standard library.
2018-03-24 16:22:27 -07:00
Xiaodi Wu
2cca78bb4f [gardening] Address a typo and some punctuation in WindowsBuild.md 2018-03-22 23:22:21 -05:00
Saleem Abdulrasool
dd8c544609 Merge pull request #15295 from AndrewSB/more-win🐶-cleanup
docs/Windows: More cleanup
2018-03-22 23:52:27 -04:00
Mike Ash
cf3ee980a8 Merge pull request #14283 from mikeash/fix-urc-overflow-to-side-table-in-deinit
[Runtime] Fix unowned refcount overflow to side table during deinit.
2018-03-22 09:15:20 -07:00
Mike Ash
f2b89d1b94 Merge branch 'master' into fix-urc-overflow-to-side-table-in-deinit 2018-03-21 15:32:01 -07:00
Andrew Breckenridge
a5b777625c docs/Windows: Add disclaimer about llvm_bin_dir & fixup LLVM paths 2018-03-21 14:18:52 -07:00
Andrew Breckenridge
9edc07cd9e docs/Windows: Add note about using forward slashed paths 2018-03-21 14:10:42 -07:00
Andrew Breckenridge
55c1b2d850 docs/Windows: Remove extra bin from DCMAKE_CXX_COMPILER path 2018-03-21 14:10:42 -07:00
Andrew Breckenridge
42b4add93e docs/Windows: remove unnecessary ninjas in mkdirs 2018-03-21 14:10:42 -07:00
Andrew Breckenridge
55a129cc5e docs/Windows: Add env var for llvm bin dir 2018-03-21 14:10:42 -07:00
Arnold Schwaighofer
3cbabfd196 Merge pull request #15208 from aschwaighofer/resilient_enum_case_tags
IRGen: Make resilient enum's tag indices resilient
2018-03-21 10:21:07 -07:00
David Zarzycki
283713d61d [Testing] Formalize stress tests
Stress tests are, by definition, stressful. They intentionally burn a
lot of resources by using randomness to hopefully surface state machine
bugs. Additionally, many stress tests are multi-threaded these days and
they may attempt to use all of the available CPUs to better uncover
bugs. In isolation, this is not a problem, but the test suite as a whole
assumes that individual tests are single threaded and therefore running
multiple stress tests at once can quickly spiral out of control.

This change formalizes stress tests and then treats them like long
tests, i.e. tested via 'check-swift-all' and otherwise opt-in.

Finally, with this change, the CI build bots might need to change if
they are still only testing 'validation' instead of all of the tests.
I see three options:

1) Run all of the tests. -- There are very few long tests left these
   days, and the additional costs seems small relative to the cost of
   the whole validation test suite before this change.
2) Continue checking 'validation', now sans stress tests.
3) Check 'validation', *then* the stress tests. If the former doesn't
   pass, then there is no point in the latter, and by running the stress
   tests separately, they stand a better chance of uncovering bugs and
   not overwhelming build bot resources.
2018-03-20 21:45:28 -04:00
Arnold Schwaighofer
ce7608a7ce IRGen: Make resilient enum's tag indices resilient
This allows reordering enum cases resiliently.

rdar://24057946
2018-03-20 13:19:56 -07:00
swift-ci
c1c5931130 Merge pull request #15105 from gonsolo/patch-1 2018-03-10 16:52:12 -08:00
Miguel Salinas
6c8f2aa1b0 Add -Osize optimization documentation 2018-03-10 09:51:44 -06:00
Arnold Schwaighofer
1e4f55de8d Merge pull request #15046 from aschwaighofer/without_actually_escaping_verification
Implement withoutActuallyEscaping verification
2018-03-09 09:34:06 -08:00
Gonsolo
0e041918ed Remove wrong statement
This statement and the build commands below contradict each other.
2018-03-09 11:32:38 +01:00
swift-ci
0b9c973017 Merge pull request #15077 from atrick/noescape-doc 2018-03-08 16:00:16 -08:00
Andrew Trick
2aebd75786 Document the @noescape SIL function type attribute. 2018-03-08 13:41:24 -08:00
Arnold Schwaighofer
e616f0a6a8 Add documentation to SIL.rst for convert_function to clarify escaping and not escaping types 2018-03-08 07:44:00 -08:00
Huon Wilson
b330c6078f Merge pull request #14948 from huonw/at-owned
Make __owned functional, maybe
2018-03-08 13:18:19 +11:00
Huon Wilson
e307e54098 [AST] Explicitly track things marked __owned. 2018-03-08 12:36:24 +11:00
Jake Petroules
96c0083d02 [Driver] Provide executed command as an actual array (#15012)
This patch adds additional entries to the JSON command messages output
by the Swift compiler. It's now possible to get the command executable
("command_executable") and arguments ("command_arguments") as a single
string and array, respectively, rather than having to parse the
shell-escaped command line provided in the "command" key.

<rdar://problem/35701809>
2018-03-07 10:40:38 -08:00
Arnold Schwaighofer
5940796cc1 SIL: Add an is_escaping_closure instruction
Will be used to verify that withoutActuallyEscaping's block does not
escape the closure.

``%escaping = is_escaping_closure %closure`` tests the reference count. If the
closure is not uniquely referenced it prints out and error message and
returns true. Otherwise, it returns false. The returned result can be
used with a ``cond_fail %escaping`` instruction to abort the program.

rdar://35525730
2018-03-07 08:56:00 -08:00
John McCall
9a4540e84d Split the instantiation function into two phases.
The allocation phase is guaranteed to succeed and just puts enough
of the structure together to make things work.

The completion phase does any component metadata lookups that are
necessary (for the superclass, fields, etc.) and performs layout;
it can fail and require restart.

Next up is to support this in the runtime; then we can start the
process of making metadata accessors actually allow incomplete
metadata to be fetched.
2018-03-06 03:07:55 -05:00
Arnold Schwaighofer
ee68d4edb7 Merge pull request #14924 from aschwaighofer/wip_effects_release_none
Add an effects(releasenone) function effects attribute
2018-03-05 12:06:17 -08:00
Arnold Schwaighofer
93ab9302a6 Fix rst error 2018-03-05 09:29:43 -08:00
elk941
aa207ad5c2 Fix grammer mistake in ABIStabilityManifesto.xml (#14943) 2018-03-05 09:20:52 -08:00
Arnold Schwaighofer
6fe0633c08 Add @effects(releasenone) documentation. 2018-03-05 07:03:54 -08:00
Sho Ikeda
8ca8b67593 Serialization.rst: Fix typo 2018-03-04 21:40:12 +09:00
Andrew Breckenridge
2c8d58c6fd docs/WindowsBuild: Update cmark build invocation to Release mode 2018-02-26 13:44:37 -08:00
John McCall
dd99536d31 Move the metadata-pattern header into the type context descriptor.
This is yet another waypoint on the path towards the final
generic-metadata design.  The immediate goal is to make the
pattern a private implementation detail and to give the runtime
more visibility into the allocation and caching of generic types.
2018-02-26 12:10:24 -05:00
Joe Groff
4c2dde56a0 IRGen: Lower external key path components.
The key path pattern needs to include a reference to the external descriptor, along with hooks for lowering its type arguments and indices, if any. The runtime will need to instantiate and interpolate the external component when the key path object is instantiated.

While we're here, let's also reserve some more component header bytes for future expansion, since this is an ABI we're going to be living with for a while.
2018-02-23 19:03:15 -08:00