Commit Graph

4174 Commits

Author SHA1 Message Date
Michael Gottesman
48b4ca0b24 Merge pull request #69686 from gottesmm/rdar117880194
[region-isolation] When assigning RValues into memory, use tuple_addr_constructor instead of doing it in pieces.
2023-11-07 20:15:58 -08:00
Yuta Saito
79b3d2d626 Add underscore prefix to extern attribute
It's already guarded by a feature flag, but it would be nice to signal
users that it's not stable yet by adding an underscore prefix.
2023-11-07 02:01:02 +00:00
Michael Gottesman
6a65c7829e [sil] Add tuple_addr_constructor an instruction that can be used to initial a tuple in memory from individual address and object components.
This commit just introduces the instruction. In a subsequent commit, I am going
to add support to SILGen to emit this. This ensures that when we assign into a
tuple var we initialize it with one instruction instead of doing it in pieces.
The problem with doing it in pieces is that when one is emitting diagnostics it
looks semantically like SILGen actually is emitting code for initializing in
pieces which could be an error.
2023-11-06 15:32:05 -08:00
swift-ci
641be88935 Merge pull request #69500 from al45tair/eng/PR-117679284
[Docs] Update backtracing documentation for Linux.
2023-11-02 06:27:21 -07:00
Alastair Houghton
f9aeb57880 [Docs] Added a description of the platform and arch path components.
Describe what `<platform>` and `<arch>` mean in the search paths
for the `swift-backtrace` binary.

rdar://117679284
2023-11-02 11:06:51 +00:00
Slava Pestov
05ccd9734c SIL: Introduce ThrowAddrInst 2023-10-31 16:58:54 -04:00
Alastair Houghton
27641cb402 [Docs] Update backtracing documentation for Linux.
Update the backtracing documentation with details on static linking,
frame pointer usage and a couple of other matters.

rdar://117679284
2023-10-30 10:34:25 +00:00
Doug Gregor
4da1032f93 Add name mangling support for functions with a thrown error type 2023-10-29 09:12:32 -07:00
Allan Shortlidge
1a9cbbc749 Docs: Document library evolution restrictions for @inlinable functions.
As documented in the [SE-244 proposal](https://github.com/apple/swift-evolution/blob/main/proposals/0244-opaque-result-types.md#effect-on-api-resilience),
it is illegal to change the concrete return type of an @inlinable function with
an opaque return type. This ought to be documented since it is an extremely
subtle rule that authors of ABI stable libraries should be aware of.
2023-10-27 13:40:25 -07:00
nate-chandler
1a6d76ec47 Merge pull request #69314 from nate-chandler/opaque-values/20231020/1/coalesce-use-projections-into-phis
[AddressLowering] Allow use-projection into phi.
2023-10-24 07:06:32 -07:00
Nate Chandler
9e66a941fe [Test] Refer to inst results.
Via `.result[idx]`.
2023-10-20 18:16:38 -07:00
Yuta Saito
69479933df [c-interop] Rename @_extern to @extern
Now the feature is gated by experimental feature flag.
It's not shipped in any language release, so this rename should be fine.
2023-10-20 17:37:43 +00:00
Yuta Saito
7a75f5d2e2 [c-interop] Use Swift base name for @_extern(c) without explicit name 2023-10-20 15:34:09 +00:00
Yuta Saito
8f6491e6b6 [c-interop][docs] Add @_extern(c) attribute explanation 2023-10-20 15:34:09 +00:00
Andrew Trick
fca92e4ec6 Add a temporary @_nonEscapable attribute
For testing compiler support until we have the ~Escapable syntax.
2023-10-17 12:44:24 -07:00
finagolfin
75bfa4422a [android][test] Fix five tests that are failing on the community Android CI (#69189)
Update the Android doc with info about the latest LTS NDK not working.
2023-10-16 10:44:56 -07:00
swift-ci
d2b9ca0ccd Merge pull request #69201 from slavapestov/generics-se0404
generics.tex: Mention SE-0404
2023-10-16 09:06:36 -07:00
Slava Pestov
9f6029dd7d generics.tex: Mention SE-0404 2023-10-16 09:57:24 -04:00
Anthony Latsis
4f68365467 Merge pull request #69125 from AnthonyLatsis/not-my-first-pull-request
[docs] FirstPullRequest: Update and improve sections on tidying up & code review
2023-10-13 14:21:54 +03:00
Anthony Latsis
7130132be7 [docs] FirstPullRequest: Rewrite "Tidying up" section
* Link out to FAQ for an introduction to rewriting history.
* Link out to our commit message formatting guidelines.
* Expand a bit more on what it means to tidy commit history.
2023-10-13 09:53:59 +03:00
Anthony Latsis
65d6a017f5 [docs] FirstPullRequest: Rewrite "Asking for code review" section
* Account for automatic review requests
* Add a proper fallback course of action
* Link out to commit access section on our official website
2023-10-13 09:51:21 +03:00
Yuta Saito
051bf4dd43 Merge pull request #69107 from kateinoigakukun/yt/extern-wasm-sym
[wasm] Add @_extern(wasm) attribute support
2023-10-12 09:29:13 -07:00
Yuta Saito
bd898b0e7e [wasm] add @_extern(wasm) attribute support
This attribute instructs the compiler that this function declaration
should be "import"ed from host environment. It's equivalent of Clang's
`__attribute__((import_module("module"), import_name("field")))`
2023-10-10 22:42:08 +00:00
Emmanuel Ferdman
6194a0df74 [docs]: update reference to CallingConvention.rst 2023-10-08 14:10:30 +03:00
Saleem Abdulrasool
b013e11aa1 Merge pull request #68840 from emmanuel-ferdman/wip
[docs]: update link to `PythonKit/Python.swift`
2023-10-07 09:30:28 -07:00
Arnold Schwaighofer
b0424759d7 Add support for objective c protocol symbolic references
Using symbolic references instead of a text based mangling avoids the
expensive type descriptor scan when objective c protocols are requested.

rdar://111536582
2023-10-05 13:11:32 -07:00
finagolfin
58a6bfb82e [build][Android] Skip building Swift Syntax into the compiler (#68895)
The community CI doesn't have a prebuilt Swift compiler right now, so this
unbreaks the build on there. Also, update the doc with the latest working LTS
NDK and trunk snapshot.
2023-10-03 09:25:24 -07:00
Anthony Latsis
83fabf157e Merge pull request #68863 from AnthonyLatsis/xcode-version-redirect
[docs] GettingStarted: Send readers to ci.swift.org for the min Xcode version
2023-09-30 05:26:04 +03:00
Anthony Latsis
e52589f175 [docs] GettingStarted: Send readers to ci.swift.org for the min Xcode version
This inline Xcode version is a maintenance bother with no apparent
justification, and shall it ever fall out of sync (like right now), it can
start causing build failures for newcomers.
2023-09-29 23:45:39 +03:00
Emmanuel Ferdman
dfca5e4557 [docs]: update link to PythonKit/Python.swift 2023-09-28 22:46:37 +03:00
Yuta Saito
6d378a3ec3 [wasm] add @_expose(wasm) attribute support
This attribute instructs the compiler that this function declaration
should be "export"ed from this .wasm module. It's equivalent of Clang's
`__attribute__((export_name("name")))`
2023-09-26 14:13:33 +00:00
Nate Chandler
28f742e248 [SIL] Renamed specify_test instruction.
Changed from test_specification which is too many characters and
insufficiently active.
2023-09-22 16:09:38 -07:00
Kavon Farvardin
d0a9e78da0 [Mangling] Support function specializations that remove async 2023-09-21 12:20:24 -07:00
Anthony Latsis
3072918206 [docs] GettingStarted: Fix a typo 2023-09-21 12:36:16 +03:00
swift-ci
518bb9e7b0 Merge pull request #68648 from slavapestov/update-generics-tex
generics.tex: Protocol component graph, Tarjan's algorithm, etc
2023-09-20 01:26:24 -07:00
Slava Pestov
8ab4ee9774 generics.tex: Protocol component graph, Tarjan's algorithm, etc 2023-09-19 23:16:22 -04:00
Anthony Latsis
b714554d5b Merge pull request #68514 from AnthonyLatsis/xcode-workflow
[docs] GettingStarted: Misc improvements to the Xcode setup instructions
2023-09-20 00:32:00 +03:00
Anthony Latsis
41c473ff09 [docs] GettingStarted: Misc improvements to the Xcode setup instructions 2023-09-19 20:18:22 +03:00
Erik Eckstein
f0b811c45f SIL: add the end_init_let_ref instruction
This instructions marks the point where all let-fields of a class are initialized.
This is important to ensure the correctness of ``ref_element_addr [immutable]`` for let-fields,
because in the initializer of a class, its let-fields are not immutable, yet.
2023-09-19 15:10:30 +02:00
Erik Eckstein
e5eb15dcbe Swift SIL: replace the set_deallocating instruction with begin_dealloc_ref
Codegen is the same, but `begin_dealloc_ref` consumes the operand and produces a new SSA value.
This cleanly splits the liferange to the region before and within the destructor of a class.
2023-09-19 15:10:30 +02:00
uhooi
faef92d54c Update OwnershipManifesto.md 2023-09-15 19:57:46 +09:00
Andrew Trick
e14bda90cf Merge pull request #68287 from atrick/document-readonly
Document _effects(readonly) pitfalls
2023-09-08 10:50:19 -07:00
Lawrence Gimenez
de8a148df1 Fixed typo in docs/WindowsToolchain.md 2023-09-04 09:53:32 +08:00
Luciano Almeida
9f786c86e8 Merge pull request #68183 from japanese-goblinn/patch-1
[Docs] Fix syntax highlighting in UnderscoredAttributes.md
2023-09-02 19:09:08 -03:00
Andrew Trick
e76c534461 Document _effects(readonly) pitfalls
And the new _effects(releasenone) requirement.
2023-09-01 17:22:12 -07:00
Manu
02b5fa2c8e Fix some typos in the codebase 2023-08-31 18:50:10 -03:00
Michael Gottesman
37d60a08bb [move-only] Rename mark_must_check -> mark_unresolved_non_copyable_value.
I was originally hoping to reuse mark_must_check for multiple types of checkers.
In practice, this is not what happened... so giving it a name specifically to do
with non copyable types makes more sense and makes the code clearer.

Just a pure rename.
2023-08-30 22:29:30 -07:00
K
4ffc9c4fe9 Fix syntax highlighting in UnderscoredAttributes.md 2023-08-29 14:24:50 +02:00
pancake
e9126ccefd Fix typo in CppInteroperabilityContributorGuide.md 2023-08-25 22:06:13 +02:00
swift-ci
d5d11b6415 Merge pull request #68045 from slavapestov/chapter-21-completion
Updates to generics.tex
2023-08-21 13:44:54 -07:00