Commit Graph

184973 Commits

Author SHA1 Message Date
Max Desiatov
61c1c7dca6 Initial attempt to make build-script products async 2025-06-27 17:37:17 +01:00
Henrik G. Olsson
374658aae0 [Swiftify] Don't import counted_by with suffixed integer literals (#82469)
Integer literal expressions with types that are not of type `int` are
printed with a suffix to indicate the type (e.g. `123U` or `456L` for
`unsigned` and `long`). This is not valid syntax for integer literals in
Swift, so until we fully translate the count expr syntax to Swift we
need to avoid importing these count expressions.

Also fixes some -Werror related stuff in test cases.

rdar://154141719
2025-06-27 09:27:50 -07:00
Guillaume Lessard
96f6f5e25a Merge pull request #82442 from glessard/rdar147500261-utf8span-32bit 2025-06-27 08:18:46 -07:00
eeckstein
c2d9d67029 Merge pull request #82561 from eeckstein/fix-mandatory-perfopt
MandatoryPerformanceOptimization: don't recursive into referenced functions if they are not called
2025-06-27 15:38:38 +02:00
Egor Zhdan
f8664adbad Merge pull request #82496 from swiftlang/egorzhdan/allow-qual-swift-name
[cxx-interop] Allow import-as-member for types in namespaces
2025-06-27 13:22:25 +01:00
Andrew Trick
5a866009f9 Merge pull request #82472 from atrick/explicit-init
Disable surprising lifetime inference of implicit initializers
2025-06-27 04:19:05 -07:00
Charles Zablit
9c83ae4422 Merge pull request #82188 from swiftlang/charles-zablit/lldb/new-lldb-windows-bot
[windows] make WindowsSDKs configurable through env variables
2025-06-27 11:50:07 +01:00
Ben Rimmington
1b1e9d4d80 [stdlib] Update InlineArray documentation (#82363)
Remove misleading big O notation from initializers.
2025-06-27 11:14:24 +01:00
Ryan Mansfield
ef934e0f4e Merge pull request #76316 from rjmansfield/reenable-async-sequence-test 2025-06-27 02:26:46 -07:00
Charles Zablit
04ed5cf599 Merge pull request #82527 from charles-zablit/charles-zablit/demangling/add-wrapper
[demangling] add new wrapper API
2025-06-27 09:41:08 +01:00
Erik Eckstein
da484f3146 MandatoryPerformanceOptimization: don't recursive into referenced functions if they are not called
Fixes a false compiler error when referencing a function from a global with a section attribute.

rdar://154332540
2025-06-27 10:01:42 +02:00
Slava Pestov
34253a8606 Merge pull request #82506 from slavapestov/warn-long-expression-type-checking
Sema: Fix the -warn-long-expression-type-checking flag
2025-06-27 01:10:25 -04:00
eeckstein
ea6ed2fdec Merge pull request #82537 from eeckstein/fix-closure-specializer
ClosureSpecializer: don't specialize captures of stack-allocated Objective-C blocks
2025-06-27 06:46:48 +02:00
eeckstein
81d22c890b Merge pull request #82530 from eeckstein/fix-semantic-arc-opt
SemanticARCOpts: don't ignore dead-end blocks in the liverange analysis
2025-06-27 06:46:29 +02:00
Guillaume Lessard
669b58ece7 Merge pull request #82517 from glessard/rdar153219174-followup-abi-cleanup
[stdilb] improve `mutableSpan` accessor declarations
2025-06-26 19:41:38 -07:00
Meghana Gupta
b58b6ccdfd Merge pull request #82548 from meg-gupta/printast
[NFC] Add a flag to print a function's ast before SILGen
2025-06-26 19:31:16 -07:00
nate-chandler
4ea6c23363 Merge pull request #82531 from nate-chandler/rdar135847553
[Test] Reenable this test.
2025-06-26 19:15:01 -07:00
Becca Royal-Gordon
7460ce1c72 Merge pull request #82468 from beccadax/abi-sendable-metatype
[NFC] Test that `@abi` handles `SendableMetatype`
2025-06-26 15:41:03 -07:00
Guillaume Lessard
67f3e2c3cb [test] forget more removed ABI 2025-06-26 14:58:12 -07:00
Guillaume Lessard
4927c0c1c8 [stdlib] improve more accessor declarations 2025-06-26 14:57:21 -07:00
Guillaume Lessard
c8092f50d1 [stdlib] simplify borrowing accessors 2025-06-26 14:57:21 -07:00
Guillaume Lessard
64305c099f [test] forget removed ABI
This reverts commit 4d064426a8.
2025-06-26 14:57:21 -07:00
Guillaume Lessard
bbfe648c54 [stdlib] improve accessor declarations 2025-06-26 14:57:21 -07:00
Alejandro Alonso
883716bd1a Merge pull request #80858 from Azoy/remove-wubp-inlinearray
[stdlib] Remove _withUnsafeBufferPointer APIs on InlineArray
2025-06-26 14:44:08 -07:00
Meghana Gupta
f19adcaf63 [NFC] Add a flag to print a function's ast before SILGen 2025-06-26 14:42:40 -07:00
Xi Ge
2236206bdf Merge pull request #82499 from swiftlang/153683760
ABI checker: drop usage of AllowDeserializingImplementationOnly option
2025-06-26 13:39:34 -07:00
Anthony Latsis
1f89bb6a94 Merge pull request #82452 from swiftlang/jepa2
Sema: Fix the insertion location for conformances attributes
2025-06-26 21:38:41 +01:00
Guillaume Lessard
db664fbff4 [test] shorten a 32-bit small string (sometimes) 2025-06-26 13:18:57 -07:00
Andrew Trick
7abe2222f9 Disable surprising lifetime inference of implicit initializers
Non-escapable struct definitions often have inicidental integer fields that are
unrelated to lifetime. Without an explicit initializer, the compiler would infer
these fields to be borrowed by the implicit intializer.

    struct CountedSpan: ~Escapable {
      let span: Span<Int>
      let i: Int

      /* infer: @lifetime(copy span, borrow i) init(...) */
    }

This was done because
- we always want to infer lifetimes of synthesized code if possible
- inferring a borrow dependence is always conservative

But this was the wrong decision because it inevitabely results in lifetime
diagnostic errors elsewhere in the code that can't be tracked down at the use
site:

    let span = CountedSpan(span: span, i: 3) // ERROR: span depends on the lifetime of this value

Instead, force the author of the data type to specify whether the type actually
depends on trivial fields or not. Such as:

    struct CountedSpan: ~Escapable {
      let span: Span<Int>
      let i: Int

      @lifetime(copy span) init(...) { ... }
    }

This fix enables stricter diagnostics, so we need it in 6.2.

Fixes rdar://152130977 ([nonescapable] confusing diagnostic message when a
synthesized initializer generates dependence on an Int parameter)
2025-06-26 12:47:01 -07:00
nate-chandler
76fd74753b Merge pull request #82510 from nate-chandler/rdar80334865
[IRGen] Sign these function pointers.
2025-06-26 12:02:07 -07:00
Anthony Latsis
de6870ed35 Merge pull request #82478 from swiftlang/jepa3
AST: Fix out of sync diagnostic
2025-06-26 18:33:22 +01:00
Erik Eckstein
1a009f5b0d ClosureSpecializer: don't specialize captures of stack-allocated Objective-C blocks
Bail if the closure captures an ObjectiveC block which might _not_ be copied onto the heap, i.e optimized by SimplifyCopyBlock.
We can't do this because the optimization inserts retains+releases for captured arguments.
That's not possible for stack-allocated blocks.

Fixes a mis-compile
rdar://154241245
2025-06-26 19:17:37 +02:00
Doug Gregor
f94159029e Merge pull request #82493 from DougGregor/effects-subst-parameter-packs
[Effects] Ensure that we properly substitute function types in ByClosure checks
2025-06-26 09:41:24 -07:00
Pavel Yaskevich
32a0d80b60 Merge pull request #82085 from xedin/rdar-149811049
[ClangImporter] SE-0463: Implement `@Sendable` inference exception for global actor isolated functions
2025-06-26 09:26:28 -07:00
Evan Wilde
c7d5f03f3f Merge pull request #82503 from etcwilde/ewilde/find-rsync
remote-run: Find rsync
2025-06-26 09:08:59 -07:00
Nate Chandler
5a59a4068c [Test] Reenable this test.
It passes locally on a noasserts linux aarch64 build.

rdar://135847553
2025-06-26 07:23:16 -07:00
Erik Eckstein
45dc83bcd8 SemanticARCOpts: don't ignore dead-end blocks in the liverange analysis
This can result in wrong ARC optimizations in dead-end blocks.
Fixes a SIL verification error.

rdar://154356277
2025-06-26 16:06:32 +02:00
Eric Miotto
4686897dd3 Merge pull request #82035 from edymtt/edymtt/refactor-findswiftcore
[Runtimes][CMake] Refactor FindSwiftCore to put focus on targets...
2025-06-26 06:55:59 -07:00
nate-chandler
fb994d8603 Merge pull request #82497 from nate-chandler/rdar98890125
[Test] Remove old test.
2025-06-26 06:35:05 -07:00
Egor Zhdan
e95f6a3ce9 [cxx-interop] Allow import-as-member for types in namespaces
This adds support for `swift_name` attribute being used with C++ types that are declared within namespaces, e.g.
```
__attribute__((swift_name("MyNamespace.MyType.my_method()")))
```

Previously import-as-member would only accept a top-level unqualified type name.

rdar://138934888
2025-06-26 12:39:50 +01:00
Hamish Knight
46f5e417fd Merge pull request #82481 from hamishknight/tic-tac-toe
[SourceKit] Print backticks if needed in `printDisplayName`
2025-06-26 12:29:27 +01:00
Charles Zablit
1a598665b9 [demangling] add new wrapper API 2025-06-26 12:16:51 +01:00
Allan Shortlidge
da64fd7e5a Merge pull request #82489 from tshortli/warnings
Fix a couple of warnings
2025-06-26 03:03:54 -07:00
Alastair Houghton
f7f4a19baf Merge pull request #82417 from al45tair/eng/PR-153531418
[Concurrency] Rename Dummy(Main|Task)Executor.
2025-06-26 10:53:57 +01:00
Andrew Trick
e25dcfa0a7 Merge pull request #82505 from atrick/inout-syntax
Fix diagnostics for missing or invalid @_lifetime annotations on inout params
2025-06-26 01:14:49 -07:00
Allan Shortlidge
6b05efd087 Sema: Remove unused variable in CSSolver.cpp. 2025-06-25 22:23:47 -07:00
Allan Shortlidge
3e780ac69e Driver: Remove unused functions. 2025-06-25 22:23:46 -07:00
Guillaume Lessard
791dd4cb0a [stdlib] name your constants better
- computed properties have an ABI impact; a function is fine here
2025-06-25 22:01:28 -07:00
eeckstein
475ecca2a4 Merge pull request #82476 from eeckstein/fix-temp-lvalue-elimination
TempLValueElimination: fix a stupid bug when combining `copy_addr` with a following `destroy_addr`
2025-06-26 06:01:04 +02:00
Andrew Trick
3309f75f82 Merge pull request #82474 from atrick/feature-flag
Promote feature NonescapableAccessorOnTrivial to be non-experimental
2025-06-25 19:28:47 -07:00