https://github.com/apple/swift

sort by:
Revision Author Date Message Commit Date
3a65976 DNM: building a toolchain 27 May 2021, 04:54:37 UTC
fe74c86 Merge pull request #37660 from nkcsgexi/71462726 Frontend: avoid remarking contents of module installname map 27 May 2021, 01:59:35 UTC
ccfea08 Merge pull request #37651 from hamishknight/let-that-async-in 26 May 2021, 22:26:39 UTC
792e4aa Frontend: avoid remarking contents of module installname map rdar://71462726 26 May 2021, 22:14:18 UTC
02f5326 Merge pull request #36805 from varungandhi-apple/vg-main Turn on additional musttail checks for swiftc and runtime. 26 May 2021, 21:57:33 UTC
5447afc Merge pull request #37616 from ataffeqeexo/patch-1 Add winusb.h support 26 May 2021, 20:30:22 UTC
8f76011 Remove extraneous /-es from license comments. (#37632) Co-authored-by: Chris Adamson <cadamson@apple.com> 26 May 2021, 18:20:17 UTC
a572cfd Merge pull request #37576 from xedin/avoid-actor-isolation-note-for-partial-applies [Concurrency] Don't produce notes about invalid calls for partial applies 26 May 2021, 17:09:04 UTC
62334e2 Merge pull request #37628 from slavapestov/preserve-source-locs-when-rebuilding-signature GSB: Preserve source locations when rebuilding a generic signature 26 May 2021, 16:27:13 UTC
972366d Merge pull request #37648 from kylemacomber/sendable-copyright-comment 26 May 2021, 16:06:50 UTC
eae7fe4 Merge pull request #37624 from adrian-prantl/76973844-review-feedback-next Address review feedback 26 May 2021, 15:42:21 UTC
3b80a76 [cmake] explicitly set linker language for static libraries (#37642) This mimicks the same logic used for shared libraries a few lines above. This will allow the minimal freestanding stdlib to build with #37511, solving errors like ``` ninja: error: build.ninja:4213: multiple rules generate stdlib/public/SwiftOnoneSupport/CMakeFiles/ swiftSwiftOnoneSupport-freestanding-x86_64-static.dir/__/__/ linker-support/magic-symbols-for-install-name.c.o [-w dupbuild=err] ``` Addresses rdar://78336832 26 May 2021, 15:12:51 UTC
c3638af Merge pull request #37614 from compnerd/newline SourceKit: add a newline to logged messages 26 May 2021, 14:48:45 UTC
7cfdc62 Merge pull request #37565 from ahoppen/pr/internal-syntax-parser-fat [build-script] Make lib_InternalSwiftSyntaxParser.dylib fat 26 May 2021, 13:51:03 UTC
8d92241 [Refactoring] Support async for function extraction Adapt the `ThrowingEntityAnalyzer` to pick up any `await` keywords and add an `async` to the extracted function if necessary along with an `await` for its call. rdar://72199949 26 May 2021, 11:40:35 UTC
1372797 [AST] Add an EffectKind OptionSet 26 May 2021, 11:40:35 UTC
3752965 [IDE] Don't walk into closures in ThrowingEntityAnalyzer We don't want to consider any `try` exprs here. 26 May 2021, 11:40:35 UTC
e25c39c [Refactoring] Add try for extracted function call If we're extracting a function that throws, add a `try` to the call. 26 May 2021, 11:40:34 UTC
81d8c2e Merge pull request #37637 from slavapestov/associated-type-inference-proto-ext-fix Fix associated type inference crash with constrained protocol extensions 26 May 2021, 04:26:51 UTC
c09bdea Fixes copyright comment rdar://78178197 26 May 2021, 04:08:42 UTC
39af9ba Merge pull request #37646 from varungandhi-apple/vg-xfail-windows Xfail async test on Windows. 26 May 2021, 02:33:16 UTC
294a1ab GSB: Add some optional debugging output for the minimization algorithm 26 May 2021, 01:50:54 UTC
ad89fe5 GSB: Diagnose redundant requirements on the rebuilt signature We rebuild a generic signature after dropping conformance requirements made redundant by a superclass or concrete type requirement. When rebuilding the signature, preserve the source locations of the original requirements, and only perform diagnostics on the rebuilt signature. This fixes an issue where we would emit a redundant requirement warning even though the requirement in question was not actually redundant. This also avoids some unnecessary work. Most of the code in finalize() does not need to be run twice, once before and once after rebuilding the signature. Now we only run it after rebuilding the signature. Note that this regresses diagnostics in one narrow case where we would previously diagnose a conflicting concrete type requirement. This will be fixed once concrete type diagnostics are moved over to use the new ExplicitRequirement infrastructure, just like all other kinds already do. Fixes rdar://problem/77462797. 26 May 2021, 01:50:54 UTC
a3e4f1a Merge pull request #37472 from bnbarham/cleanup-allow-errors [Serialization] Add whether allowing errors to the pretty stack output 26 May 2021, 01:07:47 UTC
f949909 Xfail async test on Windows. The swifttailcc convention is not supported on Windows right now. 26 May 2021, 01:04:38 UTC
4e2a502 Merge pull request #37644 from benlangmuir/disable-timeout-ignore-non-stdlib-failures.test-sh Disable test/ModuleInterface/swift_build_sdk_interfaces/ignore-non-stdlib-failures.test-sh 25 May 2021, 23:52:43 UTC
202c9a7 Disable test/ModuleInterface/swift_build_sdk_interfaces/ignore-non-stdlib-failures.test-sh This is timing out in CI in some configurations. rdar://78483379 25 May 2021, 23:51:22 UTC
c746758 GSB: Don't infer requirements from conditional conformances when rebuilding a signature 25 May 2021, 22:54:17 UTC
3378ff9 GSB: Store explicit same-type requirements as ExplicitRequirements also 25 May 2021, 22:41:09 UTC
45dabb1 GSB: RequirementSources can just store a SourceLoc instead of a pointer union of TypeRepr/RequirementRepr 25 May 2021, 22:41:09 UTC
082b49a GSB: More accurate recursion check in GenericSignatureBuilder::resolve() I found this by inspection. isExplicit() returns false for inferred requirements, which is probably not what we want here. Using isDerived() seems better instead. 25 May 2021, 22:41:09 UTC
18df1c1 GSB: Simplify representation of FloatingRequirementSource 25 May 2021, 22:41:09 UTC
b717138 GSB: Simplify addConditionalRequirements() 25 May 2021, 22:41:09 UTC
2a4d520 Merge pull request #37635 from benlangmuir/disable-runtime-unittest Disable runtime unit test with use_os_stdlib 25 May 2021, 22:21:11 UTC
c1201a5 Sema: Less eager computation of protocol extension signatures in associated type inference We only need the generic signature if the extended nominal is concrete. In the protocol extension case, we're using getSelfBoundsFromWhereClause(), which only needs to perform name lookup. 25 May 2021, 19:47:33 UTC
2481503 Sema: Clean up associated type inference using getSelfBoundsFromWhereClause() Fixes https://bugs.swift.org/browse/SR-14639 / rdar://problem/78276768. 25 May 2021, 19:47:28 UTC
0255156 Turn on additional musttail checks for swiftc and runtime. Fixes rdar://76024810. 25 May 2021, 18:49:46 UTC
b96dff7 Merge pull request #37631 from hamishknight/but-wait-its-gone 25 May 2021, 18:30:47 UTC
5925cb2 Merge pull request #37619 from apple/revert-37462-remove-actor-independent Revert "Remove `@actorIndependent` attribute." 25 May 2021, 17:37:51 UTC
a8e5ba5 Merge pull request #37636 from benlangmuir/disable-async_resilience-back-deploy Disable test/Interpreter/async_resilience.swift for back deployment 25 May 2021, 17:33:29 UTC
8503754 Disable test/Interpreter/async_resilience.swift for back deployment Match the other Interpreter async tests and disable this test case for back deployment scenarios. rdar://78464319 25 May 2021, 17:32:47 UTC
06a2a71 [test] Isolate `build-script` calls in `skip-local-build.test-sh` (#37611) ...and reenable `llvm-targets-options.test` (previously disabled in #37573). This will align `skip-local-build.test-sh` with the behaviour of the other BuildSystem tests, by * ensuring we use the `cmake` exposed in `lit.cfg`, so that under Linux we don't attempt to rebuild it * using a separate build folder for `build-script` invocations, so that side effects will not affect the main invocation and other lit tests. I expect these changes to prevent `llvm-targets-options.test` to fail in Linux presets with an error related to cmake, e.g. ``` build-script: error: argument --cmake: /home/buildnode/jenkins/workspace/ oss-swift-package-linux-ubuntu-18_04/build/cmake-linux-x86_64/bin/cmake is not an executable ``` Addresses rdar://78320684 25 May 2021, 17:09:06 UTC
683a68d Disable runtime unit test with use_os_stdlib This test is failing in back deployment testing due to it failing to find _Concurrency. Disable the test until we can figure out a more targeted solution. rdar://78139218 25 May 2021, 17:07:04 UTC
27f86ad Merge pull request #37627 from hborla/local-default-init-wrapper [Property Wrappers] Always check actor isolation and initializer effects in `PropertyWrapperInitializerInfoRequest`. 25 May 2021, 16:43:28 UTC
cb319fc Merge pull request #37359 from CodaFi/one-definition-to-rule-them-all Undo Force Load + Incremental Ban on Darwin Platforms 25 May 2021, 15:50:36 UTC
fbdb140 Merge pull request #37592 from varungandhi-apple/vg-musttail-dynamic-replacement Fix missing musttail for dynamic replacement calls. 25 May 2021, 15:40:27 UTC
3aef3fc [test] Add test case for rdar://72199992 25 May 2021, 15:08:29 UTC
da4eb3a Merge pull request #37607 from 3405691582/AvoidCapacity [concurrency] Avoid capacity in Deque on OpenBSD. 25 May 2021, 14:04:57 UTC
715f1ec Move WinUSB out of OS core 25 May 2021, 13:07:11 UTC
63b6232 Merge pull request #37608 from drexin/wip-build-script-products Revert "Revert "[Build] Make cmark build a build-script product (#371… 25 May 2021, 08:26:03 UTC
80d3ded Merge pull request #37450 from ahoppen/pr/count-instructions-for-completion-request [SourceKit] Report number of instructions executed since SourceKit was started in statistics request 25 May 2021, 06:39:43 UTC
f1df707 Merge pull request #37620 from slavapestov/coroutine-witness-from-base-class SIL: Use correct generic signature when computing yield types for witness thunks 25 May 2021, 05:37:02 UTC
aa8ad8e [Property Wrappers] Avoid creating an unnecessary property wrapper generator function for default-initialized local and static wrapped properties. 25 May 2021, 03:31:56 UTC
1068494 [NFC][Test] Add tests for actor isolation checking for local property wrapper default initializers. 25 May 2021, 02:39:14 UTC
267733a [Property Wrappers] Check property wrapper actor isolation and initializer effects in PropertyWrapperInitializerInfoRequest. Now that property wrapper initializer synthesis and checking is separated from creating the auxiliary variables, checking actor isolation from PropertyWrapperInitializerInfoRequest will not create a circular dependency. This also fixes a local property wrapper crash due to effects checking never being done on synthesized default wrapper initializers. 25 May 2021, 02:37:46 UTC
3567b9f Refactor getSizeOfBasicType to take CompletedDebugTypeInfo (NFC) (cherry picked from commit a5533fc056a925e187a3d463f31b49d7c4bbf17f) 25 May 2021, 00:38:58 UTC
06ffd8e Simplify expression (NFC) (cherry picked from commit e578fc01bf1ba3da7ed283555656788b0db891be) 25 May 2021, 00:38:58 UTC
346500f Merge pull request #37540 from adrian-prantl/76973844 Debug Info: Distinguish between types of unknown size and types with … 25 May 2021, 00:32:15 UTC
2fb40ab Merge pull request #37598 from xedin/rdar-78102266 [CSApply] Load l-value before wrapping it in try expression 24 May 2021, 23:59:48 UTC
cbbc29b [Serialization] Add whether allowing errors to the pretty stack output It's currently not obvious in crash reports whether compiling with errors is enabled or not. Since this option can make previously "impossible" paths now possible, add a message to both the pretty stack output and fatal deserialization diagnostics to point out that it is enabled. 24 May 2021, 23:25:52 UTC
f6b2294 Undo Force Load + Incremental Ban on Darwin Platforms Gather 'round to hear tell of the saga of autolinking in incremental mode. In the beginning, there was Swift code, and there was Objective-C code. To make one import bind two languages, a twinned Swift module named the same as an Objective-C module could be imported as an overlay. But all was not well, for an overlay could be created which had no Swift content, yet required Swift symbols. And there was much wailing and gnashing of teeth as loaders everywhere disregarded loading these content-less Swift libraries. So, a solution was found - a magical symbol _swift_FORCE_LOAD_$_<MODULE> that forced the loaders to heed the dependency on a Swift library regardless of its content. It was a constant with common linkage, and it was good. But, along came COFF which needed to support autolinking but had no support for such matters. It did, however, have support for COMDAT sections into which we placed the symbol. Immediately, a darkness fell across the land as the windows linker loudly proclaimed it had discovered a contradiction: "_swift_FORCE_LOAD_$_<MODULE> cannot be a constant!", it said, gratingly, "for this value requires rebasing." Undeterred, we switched to a function instead, and the windows linker happily added a level of indirection to its symbol resolution procedure and all was right with the world. But this definition was not all right. In order to support multiple translation units emitting it, and to prevent the linker from dead stripping it, Weak ODR linkage was used. Weak ODR linkage has the nasty side effect of pessimizing load times since the dynamic linker must assume that loading a later library could produce a more definitive definition for the symbol. A compromise was drawn up: To keep load times low, external linkage was used. To keep the linker from complaining about multiple strong definitions for the same symbol, the first translation unit in the module was nominated to recieve the magic symbol. But one final problem remained: Incremental builds allow for files to be added or removed during the build procedure. The placement of the symbol was therefore dependent entirely upon the order of files passed at the command line. This was no good, so a decree was set forth that using -autolink-force-load and -incremental together was a criminal offense. So we must compromise once more: Return to a symbol with common linkage, but only on Mach-O targets. Preserve the existing COMDAT-friendly approach everywhere else. This concludes our tale. rdar://77803299 24 May 2021, 22:53:13 UTC
a5fc7ea SIL: Use correct generic signature when computing yield types for witness thunks Yield types are not represented in the AST FunctionType, so when we compute the lowered type of a witness thunk for a 'modify' or 'read' coroutine, we have to compute the yield type from scratch. We do this by applying the witness substitutions computed by Sema to the storage type, and then canonicalizing the resulting substituted type with respect to the storage's own generic signature. However, the right hand sides of the witness substitutions are written with respect to the conformance context, which might be a subclass of the class that the storage is originally defined in. By not using the generic signature of this subclass, we could miss associated types of generic parameters of the base class which were made concrete in the subclass using a 'where' clause. Instead, let's pass down the generic signature of the witness thunk, ensuring we always compute the correct canonical type. Fixes rdar://problem/77737914. 24 May 2021, 22:33:47 UTC
7c0b50e Revert "Remove `@actorIndependent` attribute." 24 May 2021, 21:43:32 UTC
7ea15d5 Fix typo 24 May 2021, 21:16:07 UTC
9a4a6d4 Add winusb.h support 24 May 2021, 21:13:22 UTC
d93e5a3 Merge pull request #37615 from benlangmuir/require-assert-test Mark test that requires assertions 24 May 2021, 21:01:24 UTC
35b4e12 Mark test that requires assertions rdar://78417588 24 May 2021, 21:00:31 UTC
b1cd2bd SourceKit: add a newline to logged messages Add a trailing newline to log messages in SourceKit to ensure that messages are not merged with surrounding messages. 24 May 2021, 20:32:28 UTC
ece883c Merge pull request #37589 from xedin/asserts-for-contextual-failure [Diagnostics] NFC: Add asserts to verify from/to types in contextual … 24 May 2021, 20:30:39 UTC
a044644 [IRGen] Fix missing musttail for dynamic replacement calls. Fixes rdar://78284346. (Found when trying to land musttail verification. :D) 24 May 2021, 20:15:29 UTC
d70b15d Reenable `llvm-targets-options.test` This was previously disabled in #37573. 24 May 2021, 20:14:26 UTC
7379f45 [test] Isolate build-script calls in skip-local-build.test-sh This will align skip-local-build.test-sh with the behaviour of the other BuildSystem tests, by * ensuring we use the cmake exposed in lit.cfg, so that under Linux we don't attempt to rebuild it * using a separate build folder for build-script invocations, so that side effects will not affect the main invocation and other lit tests. I expect these changes to prevent llvm-targets-options.test to fail in Linux presets with an error related to cmake, e.g. ``` build-script: error: argument --cmake: /home/buildnode/jenkins/workspace/ oss-swift-package-linux-ubuntu-18_04/build/cmake-linux-x86_64/bin/cmake is not an executable ``` Addresses rdar://78320684 24 May 2021, 20:13:22 UTC
109d6c5 Merge pull request #37584 from jckarter/actor-to-async-closure-conversion Allow conversions from actor-bound sync function type to unbound async function type. 24 May 2021, 18:49:08 UTC
e18f586 Merge pull request #37612 from benlangmuir/disable-inspect Disable swift-inspect build in presets 24 May 2021, 17:51:10 UTC
7c19c85 Disable swift-inspect build in presets It is failing to build on at least our package bots. rdar://78408440 24 May 2021, 17:50:03 UTC
b6df8b4 Merge pull request #37566 from ahoppen/pr/main-actor-closure [libSyntax] Parse attributes on closures 24 May 2021, 17:32:29 UTC
8ab8b2e [CSApply] Load l-value before wrapping it in try expression Just like `try?` other types of try - `try` and `try!` have to load the value before using it. Resolve: rdar://78102266 24 May 2021, 17:23:32 UTC
99c837b Merge pull request #37609 from compnerd/profiling Driver: simplify the profiler linking on Windows 24 May 2021, 15:03:58 UTC
7cfabf5 Revert "Revert "[Build] Make cmark build a build-script product (#37102)"" This reverts commit 3150086b0fd7c59d9079084288c7565978604d4f. 24 May 2021, 14:03:12 UTC
432f36e Merge pull request #37426 from kimdv/kimdv/add-helper-method-for-swift-syntax [SwiftSyntax] Added helper for swift buildables 24 May 2021, 12:33:49 UTC
fc3ccdc Driver: simplify the profiler linking on Windows Rather than computing an absolute path relative to Swift's resource directory, use the compiler driver to locate the profiling runtime relative to the C/C++ compiler's resource directory. This ensures that we correctly locate the runtime. Additionally, because clang adds the clang resource directory to the library search path, we do not need to compute the path and can rely on the linker locating the runtime via the library search path. This simplifies the handling for the profile runtime linking on Windows. Out of abundant paranoia, place the library link request after the forced symbol inclusion as a GC root to ensure that `/opt:ref` will not accidentally dead strip the symbol and force a reload of the library. 24 May 2021, 00:10:15 UTC
1050470 Merge pull request #37605 from compnerd/preservation Driver: correct profiling symbol preservation on Windows 24 May 2021, 00:09:36 UTC
eb8514c Merge pull request #37606 from davezarzycki/pr37606 23 May 2021, 21:53:05 UTC
1c9d8d2 [concurrency] Avoid capacity in Deque on OpenBSD. Deque creates a new ManagedBuffer when growing the underlying storage for its elements. It sets the capacity in the header object, however it initializes that field with ManagedBuffer.capacity. ManagedBuffer.capacity is marked unavailable on OpenBSD because ManagedBuffer unavoidably depends on malloc introspection which is unavailable on this platform. Obviously, we could mark the whole class as unavailable, but we don't need to do anything so drastic since it appears though that Deque doesn't unavoidably need this introspection. Therefore, on OpenBSD, just use `minimumCapacity` when creating a new ManagedBuffer when growing and moving elements. 23 May 2021, 21:10:36 UTC
3bd009e Merge pull request #37595 from gottesmm/pr-38542902a7790963f245de9959465e038434140b [build-script] Begin tracking ar in build-script toolchains and start passing -DCMAKE_AR to cmake. 23 May 2021, 21:07:17 UTC
c505daf [Testing] Add `REQUIRES: concurrency` 23 May 2021, 19:34:32 UTC
467b23a Merge pull request #37577 from gottesmm/pr-1105250c37357c900a8232c2106cbb9fd68896f8 [cmake] Some more small changes to enable host side tools that use swift using standard cmake. 23 May 2021, 18:43:04 UTC
b3d5181 Driver: correct profiling symbol preservation on Windows The Windows linker does not support `-u`. Furthermore, the compiler driver does not forward the `-u` option to the linker. We correctly use the `/include:` option from the linker. This should ensure that the symbol is preserved even with `/opt:ref`. This spelling should be compatible with both lld and link, which should provide sufficient portability. Take the opportunity to make it more obvious that the two parameters are creating a pair that will be concatenated by using a braced initializer. See https://docs.microsoft.com/en-us/cpp/build/reference/include-force-symbol-references?view=msvc-160 for more details on the option. 23 May 2021, 17:43:28 UTC
47ed173 Merge pull request #37604 from apple/revert-37102-wip-build-script-products Revert "[Build] Make cmark build a build-script product" 23 May 2021, 16:22:20 UTC
3150086 Revert "[Build] Make cmark build a build-script product (#37102)" This reverts commit 3c19cc432dab76bf44e6c36f039e2bb16277db62. 23 May 2021, 16:02:29 UTC
069e51d Merge pull request #37443 from egorzhdan/cxx-namespace-alias C++ Interop: import namespace aliases 23 May 2021, 03:44:05 UTC
6a5f7fd Merge pull request #37126 from beccadax/not-gonna-go-fast 23 May 2021, 02:47:16 UTC
db8b9d5 Merge pull request #37601 from akyrtzi/unbreak-non-assertions-build [AddSwift.cmake] Unbreak non-assertions build 22 May 2021, 23:20:19 UTC
77117b0 Emit a remark when rebuilding the standard library interface Although users should usually use a prebuilt standard library, in those rare configurations where one needs to be built, the compiler appears to hang for several minutes, even on a trivial compilation. This commit adds a remark that's emitted when this happens, explaining that the standard library is being rebuilt and it will take a few minutes. 22 May 2021, 22:45:16 UTC
2f5cb80 Merge pull request #36865 from beccadax/remarkable-notes 22 May 2021, 22:22:38 UTC
d4cae43 Appease tyrannical Python linter 22 May 2021, 20:01:29 UTC
866880f Soften ObjC selector conflicts from access notes 22 May 2021, 20:01:29 UTC
1c2c111 [NFC] Correct selector conflict sorting rules When two members have the same ObjC selector, there’s a test used to make sure that we’re “giving” the selector to the more “authoritative” of the two. However, its logic is not symmetrical, which I suspect could cause misbehavior in some edge cases. This change formalizes the logic in a way that eliminates the asymmetry. 22 May 2021, 20:01:29 UTC
3911542 Rephrase all access note remarks • There is now one access note success remark and fix-it per declaration, not per attribute/modifier. • Failure remarks have been rephrased to better emphasize the cause of the failure. • The wording of other access note remarks and notes have been changed to follow a similar formula. 22 May 2021, 20:01:29 UTC
5dc102b Don’t emit success remarks for bad @objc names 22 May 2021, 20:01:29 UTC
back to top