Commit Graph

3155 Commits

Author SHA1 Message Date
swift-ci
c1b2b716ad Merge remote-tracking branch 'origin/main' into rebranch 2022-01-08 13:53:33 -08:00
swift_jenkins
04b508454b Merge remote-tracking branch 'origin/main' into next 2022-01-08 13:40:58 -08:00
Michael Gottesman
dd7aebfdc1 Merge pull request #40749 from gottesmm/pr-ae8e77c504f54100333e665adf46386b43e516e1
[gardening] Make count on BlotSetVector const.
2022-01-08 13:40:40 -08:00
Michael Gottesman
2ce233b134 [gardening] Make count on BlotSetVector const.
Just discovered this as I working on other code.
2022-01-05 17:47:08 -08:00
swift-ci
95586e858c Merge remote-tracking branch 'origin/main' into rebranch 2022-01-04 16:00:29 -08:00
swift_jenkins
3e0d7ac007 Merge remote-tracking branch 'origin/main' into next 2022-01-04 15:01:22 -08:00
Nuri Amari
130f2de7fd Improve ClangImporter failure diagnostics
This patch introduces new diagnostics to the ClangImporter to help
explain why certain C, Objective-C or C++ declarations fail to import
into Swift. This patch includes new diagnostics for the following entities:

- C functions
- C struct fields
- Macros
- Objective-C properties
- Objective-C methods

In particular, notes are attached to indicate when any of the above
entities fail to import as a result of refering an incomplete (only
forward declared) type.

The new diangostics are hidden behind two new flags, -enable-experimental-clang-importer-diagnostics
and -enable-experimental-eager-clang-module-diagnostics. The first flag emits diagnostics lazily,
while the second eagerly imports all declarations visible from loaded Clang modules. The first
flag is intended for day to day swiftc use, the second for module linting or debugging the importer.
2022-01-02 12:43:59 -05:00
swift_jenkins
1993c9986a Merge remote-tracking branch 'origin/main' into next 2021-12-22 06:00:53 -08:00
swift-ci
da1ab99326 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-22 05:56:01 -08:00
Erik Eckstein
3540c01125 rename initializeLibSwift -> InitializeSwiftModules
and some updates in comments.
2021-12-22 11:31:52 +01:00
swift_jenkins
72c994c9da Merge remote-tracking branch 'origin/main' into next 2021-12-21 22:41:06 -08:00
swift-ci
ba0c98ff08 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-21 22:33:02 -08:00
Rintaro Ishizaki
473ecd8c80 Merge pull request #40645 from rintaro/sourcekit-compilerserver
[SourceKit] Add a request to generate object files in SourceKit
2021-12-21 22:29:11 -08:00
swift-ci
3d7ff3fd49 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-21 19:33:23 -08:00
swift_jenkins
eea3e39edf Merge remote-tracking branch 'origin/main' into next 2021-12-21 19:21:32 -08:00
Doug Gregor
78e5846537 Add a feature for Builtin.assumeAlignment
Fixes rdar://86785846
2021-12-21 15:56:15 -08:00
Rintaro Ishizaki
7c92a8e555 [SourceKit] Add a request to generate object files in SourceKit
Add 'request.compile'
2021-12-21 14:35:38 -08:00
swift_jenkins
19d09c69b2 Merge remote-tracking branch 'origin/main' into next 2021-12-20 09:21:56 -08:00
swift-ci
41ef4e8c9d Merge remote-tracking branch 'origin/main' into rebranch 2021-12-20 09:15:08 -08:00
Alex Hoppen
669e3f34a6 Merge pull request #40155 from ahoppen/pr/improve-module-search-path-lookup
[Serialization] Improve module loading performance
2021-12-20 18:09:17 +01:00
swift-ci
a496a9490a Merge remote-tracking branch 'origin/main' into rebranch 2021-12-16 08:39:25 -08:00
swift_jenkins
d573a147a9 Merge remote-tracking branch 'origin/main' into next 2021-12-16 07:41:20 -08:00
Xi Ge
77f08f9396 Merge pull request #40585 from nkcsgexi/86559811 2021-12-16 07:40:05 -08:00
Xi Ge
28eef324d0 Frontend: support emitting ABI descriptor when specifying the path in supplementary output map. rdar://86559811 2021-12-15 22:42:15 -08:00
swift-ci
12d1a7e3b1 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-15 15:26:41 -08:00
swift_jenkins
8a11d89da6 Merge remote-tracking branch 'origin/main' into next 2021-12-15 15:01:29 -08:00
Slava Pestov
c1384f36a8 SIL: Add -disable-subst-sil-function-types flag to work around type lowering bugs 2021-12-15 12:14:34 -05:00
swift_jenkins
daa3a7adc5 Merge remote-tracking branch 'origin/main' into next 2021-12-14 20:42:11 -08:00
swift-ci
b569adfc33 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-14 20:33:38 -08:00
Alex Hoppen
fe7878ecce [Serialization] Improve module loading performance
When looking for a Swift module on disk, we were scanning all module search paths if they contain the module we are searching for. In a setup where each module is contained in its own framework search path, this scaled quadratically with the number of modules being imported. E.g. a setup with 100 modules being imported form 100 module search paths could cause on the order of 10,000 checks of `FileSystem::exists`. While these checks are fairly fast (~10µs), they add up to ~100ms.

To improve this, perform a first scan of all module search paths and list the files they contain. From this, create a lookup map that maps filenames to the search paths they can be found in. E.g. for
```
searchPath1/
  Module1.framework

searchPath2/
  Module1.framework
  Module2.swiftmodule
```
we create the following lookup table
```
Module1.framework -> [searchPath1, searchPath2]
Module2.swiftmodule -> [searchPath2]
```
2021-12-14 12:44:13 +01:00
Robert Widmann
0182414382 Eliminate Superfluous Trivial Copy Constructors
These force an implicit copy-assignment operator to be generated which is a deprecated behavior in modern C++.
2021-12-13 12:25:30 -08:00
swift-ci
2ff45f5f91 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-10 09:13:38 -08:00
swift_jenkins
e6734c200f Merge remote-tracking branch 'origin/main' into next 2021-12-10 09:01:16 -08:00
Holly Borla
69be7b17fc Merge pull request #40282 from hborla/existential-any
[SE-0335] Introduce existential `any`
2021-12-10 08:56:03 -08:00
swift-ci
1c8c75ac62 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-09 17:08:58 -08:00
swift_jenkins
fce8559c89 Merge remote-tracking branch 'origin/main' into next 2021-12-09 14:01:04 -08:00
Holly Borla
7cdda6dc80 [FrontendOptions] Add a frontend flag -enable-explicit-existential-types
to enable the 'any' keyword.
2021-12-09 09:26:12 -08:00
Slava Pestov
c1339240cd RequirementMachine: Add flags to enable and disable merged associated types
On by default, no change from current behavior. I'm going to try turning
this off (and hopefully ripping it out entirely) once I fix a few bugs.
2021-12-08 21:32:42 -05:00
swift_jenkins
f834ba2b03 Merge remote-tracking branch 'origin/main' into next 2021-12-07 16:35:14 -08:00
swift-ci
bb2d8726f0 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-07 16:13:40 -08:00
Michael Gottesman
2e018aff5b [move-function] Implement move function support for address only vars.
I have to make a few other changes to make this work for loadable vars, but I
wanted to get this in.

Behind a flag.
2021-12-07 12:03:01 -08:00
swift_jenkins
a1ad310764 Merge remote-tracking branch 'origin/main' into next 2021-12-07 08:21:29 -08:00
swift-ci
8abc3941d1 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-07 08:14:19 -08:00
Alex Hoppen
1739c23a9b Merge pull request #40158 from ahoppen/pr/cancel-code-completion
[SourceKit] Support cancellation of code completion like requests
2021-12-07 17:10:05 +01:00
swift-ci
0253584183 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-02 19:34:04 -08:00
swift_jenkins
d686c30a03 Merge remote-tracking branch 'origin/main' into next 2021-12-02 19:21:43 -08:00
Xi Ge
b8a2d0752f Merge pull request #40379 from apple/revert-40368-revert-40357-obfuscate-searialized-paths
Re-apply "serialization: obfuscate the serialized search paths"
2021-12-02 19:21:04 -08:00
Ben Barham
731ed501fe Merge pull request #40348 from bnbarham/fix-linux-comp-failures
[rebranch] Include C++ std headers where required
2021-12-03 11:37:03 +10:00
swift-ci
d2ca815798 Merge remote-tracking branch 'origin/main' into rebranch 2021-12-02 15:14:29 -08:00
swift_jenkins
ca29534859 Merge remote-tracking branch 'origin/main' into next 2021-12-02 15:01:25 -08:00