Slava Pestov
38169afc06
SIL: Simplify SubstFunctionTypePatternVisitor
2022-12-08 20:07:16 -05:00
swift-ci
91ca44d294
Merge remote-tracking branch 'origin/main' into rebranch
2022-12-07 11:33:42 -08:00
Artem Chikin
f39c6385df
[Dependency Scanning] Do not disambiguate 'GlobalModuleDependenciesCache' by search path set
...
This is no longer necessary since the cache is always configured for the current scanning context hash, which includes the search path set.
2022-12-06 14:15:39 -08:00
swift-ci
9638cd3de8
Merge remote-tracking branch 'origin/main' into rebranch
2022-12-02 12:37:21 -08:00
Adrian Prantl
6d84dffaff
Merge pull request #62345 from adrian-prantl/validate-search-paths
...
Expose Swift search paths in validateSerializedAST
2022-12-02 12:21:00 -08:00
Adrian Prantl
a5e1786a99
Expose Swift search paths in validateSerializedAST
...
This is for the benefit of LLDB, which currently does an expensive import of all
modules to get to the same information.
rdar://40097459
2022-12-01 13:14:08 -08:00
Erik Eckstein
d89c6b2d70
Merge remote-tracking branch 'origin/main' into rebranch
2022-12-01 07:48:51 +01:00
Alexis Laferrière
0ce8b48e0d
[Serialization] Expect missing custom attribute in deserializeDeclCommon
...
Attr can be null here if it was a custom attribute from an
implementation-only dependency.
rdar://102525437
2022-11-30 16:48:13 -08:00
swift-ci
1acf8b039b
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-29 10:14:02 -08:00
Doug Gregor
e1102cc098
Merge pull request #62204 from DougGregor/macro-declarations
...
Macro declarations
2022-11-29 10:04:09 -08:00
swift-ci
93a51f5f46
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-28 23:53:25 -08:00
swift-ci
4e5749baa5
Merge pull request #61397 from adrian-prantl/64511878
...
Turn (most) deserialization errors from a crash into a fatal diagnostic
2022-11-28 23:49:42 -08:00
Doug Gregor
bbbc346768
[Macros] Treat MacroDecl as a local context, like functions are.
2022-11-28 18:33:10 -08:00
Doug Gregor
1a124e71d6
[Macros] Implement AST printing and module interface generation for macros
2022-11-28 18:33:10 -08:00
Doug Gregor
4ce0834c51
[Macros] Serialization support for macro declarations.
2022-11-28 18:33:09 -08:00
swift-ci
713223eb4c
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-28 18:14:43 -08:00
Xi Ge
afbc4a5ffd
Merge pull request #62251 from nkcsgexi/allowable-serialization
...
serialization: encode allowable client names in binary module format
2022-11-28 18:12:43 -08:00
Adrian Prantl
28d7f8813c
Turn (most) deserialization errors from a crash into a fatal diagnostic (NFC)
...
Currently, ModuleFileSharedCore::fatal() calls abort(), which may be reasonable
in a swift-frontend invocation, but has dire consequences when the Swift
frontend is embedded into another process, for example, LLDB where the abort()
kills the entire debugging session.
This patch introduces a few alternatives to the ModuleFile::fatal() familiy of
functions that instead push a fatal diagnostic to the ASTContext's
DiagnosticsEngine and return an llvm::Error so the error can be roperly
communicated and the ASTContext can be wound down without killing the parent
process.
The transition is not complete, this patch does not yet handle
fatalIfUnexpected(), for example.
This patch is NFC for the Swift compiler: When DebuggerSupport in off
ModuleFile::diagnoseFatal() will still call abort(), but if it is on, the error
will be passed up, together with a pretty stack trace.
rdar://64511878
2022-11-28 15:54:27 -08:00
swift-ci
fa97319512
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-28 14:33:53 -08:00
Alexis Laferrière
c266e9dce5
Merge pull request #62185 from xymus/improve-rmodule-loading
...
Improve `-Rmodule-loading` to show both the path to the source and to the cached file actually loaded
2022-11-28 14:25:15 -08:00
swift-ci
eae59fec9e
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-28 12:54:03 -08:00
Xi Ge
29504bdd5f
Merge branch 'main' into allowable-serialization
2022-11-28 12:36:52 -08:00
Holly Borla
c225fc428b
Merge pull request #62228 from hborla/pack-element-generic-environment
...
[GenericEnvironment] Include original parameter packs in opened pack element signatures.
2022-11-28 15:34:35 -05:00
Xi Ge
5987654b3a
Merge branch 'main' into allowable-serialization
2022-11-28 09:36:04 -08:00
swift-ci
efef52a86e
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-28 09:33:40 -08:00
Xi Ge
67bbab7e02
serialization: encode allowable client names in binary module format
2022-11-25 18:43:40 -08:00
Holly Borla
8ec5405a30
[GenericEnvironment] Store a substitution map for the outer generic parameters
...
of an opened pack element generic environment.
2022-11-23 11:17:05 -05:00
Erik Eckstein
ab1b343dad
use new llvm::Optional API
...
`getValue` -> `value`
`getValueOr` -> `value_or`
`hasValue` -> `has_value`
`map` -> `transform`
The old API will be deprecated in the rebranch.
To avoid merge conflicts, use the new API already in the main branch.
rdar://102362022
2022-11-21 19:44:24 +01:00
Alexis Laferrière
319d49816d
[Frontend] -Rmodule-loading shows both source path and cached path
2022-11-18 15:28:16 -08:00
Rintaro Ishizaki
d458c8b74a
Merge remote-tracking branch 'origin/main' into rebranch
...
Conflicts:
include/swift/Sema/ConstraintSystem.h
include/swift/Syntax/AbsoluteRawSyntax.h
include/swift/Syntax/Syntax.h
include/swift/Syntax/SyntaxData.h
lib/DependencyScan/ModuleDependencyCacheSerialization.cpp
lib/Syntax/SyntaxFactory.cpp.gyb
lib/Syntax/SyntaxNodes.cpp.gyb
tools/SourceKit/lib/SwiftLang/SwiftEditor.cpp
tools/swift-syntax-test/swift-syntax-test.cpp
2022-11-18 09:37:38 -08:00
Allan Shortlidge
3da18b6e68
SIL: Serialize and deserialize has_symbol instructions.
2022-11-16 16:07:59 -08:00
Allan Shortlidge
0a24042cdd
SIL: Introduce the has_symbol SIL instruction.
2022-11-16 16:07:26 -08:00
Artem Chikin
1a9a15f137
Merge pull request #62116 from artemcm/DepScanSwiftOutputPath
...
[Dependency Scanning] Produce canonical output path for Swift binary modules.
2022-11-16 15:46:21 -08:00
swift-ci
4f15894c4c
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-16 09:14:18 -08:00
Pavel Yaskevich
9a02c79cbb
[Serialization] Bump module format version due to @runtimeMetadata attribute
2022-11-15 21:06:34 -08:00
Artem Chikin
729ad402df
[Dependency Scanning] Produce canonical output path for Swift binary modules.
...
Instead of relying on the client (driver) to perform its own computation of the matching output path.
2022-11-15 11:08:13 -08:00
swift-ci
d84510cfda
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-15 09:35:04 -08:00
Alexis Laferrière
f7414ed41c
Merge pull request #62102 from xymus/spi-reexported-export-as
...
[Sema] Restrict reexported SPIs to modules with an `export_as` relationship
2022-11-15 09:15:34 -08:00
Alexis Laferrière
552d3a4984
[Sema] Restrict reexported SPIs to modules with an export_as relationship
...
@_exported exports SPIs only when the exported module defines export_as
pointing to the exporter module. Other reexports do not reexport SPIs.
This is to prevent SPI reexporting to get out of hands with the wide
reexports of the Objective-C world.
rdar://102335473
2022-11-14 13:17:55 -08:00
swift-ci
c6a647ae06
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-13 20:33:41 -08:00
Doug Gregor
51fcde7b76
Merge pull request #62086 from DougGregor/macro-decl
2022-11-13 20:25:48 -08:00
Doug Gregor
5ab6b72604
[Macros] Turn Macro into a declaration node.
...
Although the declaration of macros doesn't appear in Swift source code
that uses macros, they still operate as declarations within the
language. Rework `Macro` as `MacroDecl`, a generic value declaration,
which appropriate models its place in the language.
The vast majority of this change is in extending all of the various
switches on declaration kinds to account for macros.
2022-11-13 12:21:29 -08:00
swift-ci
9321d03c14
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-12 10:34:14 -08:00
Slava Pestov
1e00c3107a
Serialization: Support PackType and PackExpansionType
2022-11-12 02:13:54 -05:00
swift-ci
ca8635e2f6
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-11 12:03:33 -08:00
Alexis Laferrière
b526205f42
Merge pull request #62044 from xymus/module-alias-disambiguate-fix
...
[ModuleInterface] Support loading an aliased module with an underlying module
2022-11-11 11:55:44 -08:00
swift-ci
059746396a
Merge remote-tracking branch 'origin/main' into rebranch
2022-11-11 11:14:29 -08:00
Alexis Laferrière
5fa31c68fe
Merge pull request #62029 from xymus/reexport-spi
...
[Sema] @_exported imports reexport @_spi decls as they reexport APIs
2022-11-11 11:06:22 -08:00
Alexis Laferrière
c0abde01a2
[Sema] @_exported imports export @_spi decls too
...
Enable transitive imports of all SPI groups through @_exported imports.
This brings to SPI the same behavior that we have for API.
```
// Module A
@_spi(S) public func foo() {}
// Module B
@_exported import A
// Module C
@_spi(S) import B
foo() // SPI imported through the reexport of A from B
```
rdar://101566534
2022-11-10 16:46:14 -08:00
Alexis Laferrière
a1270f66cc
[Serialization] Support loading an aliased module with an underlying module
...
Importing a module using an alias (set with -module-alias) fails if the
imported module has an underlying clang module.
rdar://102217790
2022-11-10 16:30:35 -08:00