Rintaro Ishizaki
aa456d19f1
[ASTGen] Rename 'swift/Bridging/Macros.h' to swift/Bridging/MacroEvaluation.h
2024-10-09 15:19:25 -07:00
Rintaro Ishizaki
7dad37ac58
[ASTGen] Rename 'swiftMacros' module to 'swiftMacroEvaluation'
...
'swiftMacros' is confusing with 'SwiftMacros' which is the standard
libary macro plugin.
rdar://137448282
2024-10-09 15:15:59 -07:00
Meghana Gupta
4df55a12cd
Merge pull request #76834 from meg-gupta/lifetimedepmultiple
...
Replace dependsOn with @lifetime
2024-10-09 10:17:43 -07:00
Slava Pestov
cdc2145ad5
Sema: Use existing utility function
2024-10-09 11:48:08 -04:00
Slava Pestov
6c2e4ecb80
Sema: Rename restoreCurrentScore() to updateScoreAfterConjunction()
2024-10-09 11:48:07 -04:00
Slava Pestov
38fe0696a4
Sema: Factor out clearScore() and replayScore()
2024-10-09 11:48:07 -04:00
Slava Pestov
c8db9f55e6
Sema: Remove last heap allocation of Scope
2024-10-09 11:48:07 -04:00
Slava Pestov
24e5a828e6
Merge pull request #76921 from slavapestov/cstrail-part-5
...
Sema: Finish hollowing out SolverScope
2024-10-09 08:04:07 -04:00
Gabor Horvath
cf3b333eb6
[cxx-interop] Add flag to assume C++ types are resilient
...
Currently, C++ types cannot appear in resilient interfaces. There are
some cases where this is overly restrictive. We plan to improve the
logic to detect what types should not appear on resilient moduel
boundaries. In the meantime, this PR introduces a flag to disable these
errors. Users relying on this flag are on their own, this should only be
a temporary workaround until we land further improvements to this
diagnostic.
rdar://137457118
2024-10-09 11:47:10 +01:00
Chris Miles
31dc11ced1
Merge pull request #76796 from swiftlang/eng/chrismiles/fix-print-instrumenting-for-language-mode-6
...
Fix instrumenting print and debugPrint for Swift 6.
2024-10-08 16:50:14 -07:00
Doug Gregor
bba1432732
Merge pull request #76364 from DougGregor/apply-macro-to-imported
...
Allow attached macros to be applied to imported C declarations
2024-10-08 15:26:54 -07:00
Meghana Gupta
6710d501b1
Fix SIL parsing of lifetime dependence in parameter position
2024-10-08 15:10:59 -07:00
Slava Pestov
e9add92334
Sema: Remove some unnecessary heap allocation of SolverScopes
2024-10-08 17:23:38 -04:00
Slava Pestov
0b85ce6f00
Sema: Remove SolverScope::numFixes
2024-10-08 16:57:49 -04:00
Slava Pestov
bdab82a192
Sema: Use xmacros to clean up more duplication in CSTrail.{cpp,h}
2024-10-08 16:50:49 -04:00
Slava Pestov
5fdc1a81b8
Sema: Record retired constraints in the trail
2024-10-08 16:39:34 -04:00
Slava Pestov
fc7068ee40
Merge pull request #76910 from slavapestov/open-type-perf-fix
...
Fix performance regression in ConstraintSystem::openType()
2024-10-08 16:17:58 -04:00
Slava Pestov
90175400d2
Sema: Record generated constraints in the trail
2024-10-08 16:17:28 -04:00
Slava Pestov
1e2d4fbc59
Sema: Record score increases in the trail
2024-10-08 16:16:31 -04:00
Slava Pestov
877c60e3d0
Sema: Rename applySolution() to replaySolution()
2024-10-08 16:16:01 -04:00
Slava Pestov
1323953219
Sema: Try not to make a negative impact
2024-10-08 16:14:05 -04:00
Doug Gregor
5fb8b5f7ad
Use the pretty-printed declaration for applying macros to imported decls
2024-10-08 11:12:54 -07:00
Doug Gregor
e35472c34c
Create and register SourceFiles for pretty-printed buffers
...
This will allow the macro system to find them.
2024-10-08 11:12:54 -07:00
Doug Gregor
cdcabd05bd
Allow attached macros to be applied to imported C declarations
...
The Clang importer maps arbitrary attributes spelled with `swift_attr("...")`
over to Swift attributes, using the Swift parser to process those attributes.
Extend this mechanism to allow `swift_attr` to refer to an attached macro,
expanding that macro as needed.
When a macro is applied to an imported declaration, that declaration is
pretty-printed (from the C++ AST) to provide to the macro implementation.
There are a few games we need to place to resolve the macro, and a few more
to lazily perform pretty-printing and adjust source locations to get the
right information to the macro, but this demonstrates that we could
take this path.
As an example, we use this mechanism to add an `async` version of a C
function that delivers its result via completion handler, using the
`@AddAsync` example macro implementation from the swift-syntax
repository.
2024-10-08 11:12:50 -07:00
Steven Wu
5fa12d31ae
Merge pull request #76738 from cachemeifyoucan/eng/PR-136787368
...
[CAS] Use IncludeTreeFileList instead of full CASFS for caching
2024-10-08 10:42:24 -07:00
Slava Pestov
b0303bb5a1
Sema: Restore old behavior in ConstraintSystem::openType()
...
My change to preserve type sugar in type transforms introduced a
performance regression here, because openType() is called for
every disjunction choice.
My hope is to optimize the TypeAliasType representation and remove
this at some point, but for now, let's just restore the old
desugaring behavior in this case.
2024-10-08 11:53:45 -04:00
Slava Pestov
e3402b1304
Merge pull request #76879 from slavapestov/cstrail-part-3
...
Sema: Continue to hollow out SolverScope
2024-10-07 21:53:50 -04:00
Slava Pestov
e47f9966ad
Sema: ConstraintSystem::openType() uses TypeTransform
2024-10-07 17:46:40 -04:00
Slava Pestov
4a82d384b7
Sema: Record synthesized conformances in the trail
2024-10-07 16:50:49 -04:00
Slava Pestov
12eb7cec26
Sema: Record implicit callAsFunction() roots in the trail
2024-10-07 16:50:49 -04:00
Slava Pestov
72a60728fc
Sema: Record argument lists in the trail
2024-10-07 16:50:49 -04:00
Slava Pestov
f2412f318e
Sema: Record key path expressions in the trail
2024-10-07 16:50:48 -04:00
Slava Pestov
881a0100b2
Sema: Record implicit value conversions in the trail
2024-10-07 16:50:48 -04:00
Slava Pestov
ac17292dfe
Sema: Record preconcurrency closures in the trail
2024-10-07 16:50:48 -04:00
Slava Pestov
b961a7ec51
Sema: Record isolated parameters in the trail
2024-10-07 16:50:48 -04:00
Slava Pestov
1d177d0187
Sema: Record expression patterns in the trail
2024-10-07 16:50:48 -04:00
Slava Pestov
500acd122a
Sema: Record potential throw sites in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
39d0eab275
Sema: Record case label items in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
8c8a385a4a
Sema: Record SyntacticElementTargetKeys in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
516277f0fd
Sema: Record contextual types in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
666361adf2
Sema: Record implied results in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
1d18cd07cf
Sema: Record closure types in the trail
2024-10-07 16:50:47 -04:00
Slava Pestov
43a4ac9216
Sema: Record resolved overloads in the trail
2024-10-07 16:50:46 -04:00
Slava Pestov
892e79cd70
Sema: Use an xmacro to clean up some duplication in CSTrail.cpp
2024-10-07 16:50:46 -04:00
Slava Pestov
9201a37519
Sema: Strenghten invariants in SolverTrail::Change::undo()
2024-10-07 16:50:46 -04:00
Slava Pestov
434b02166e
Sema: LLVM_DEBUG for CSBindings.cpp
2024-10-07 16:50:46 -04:00
Slava Pestov
6862955244
Sema: Record applied property wrappers in the trail
2024-10-07 16:50:46 -04:00
Slava Pestov
c7edc3494e
Sema: Record result builder transforms in the trail
2024-10-07 16:50:45 -04:00
Slava Pestov
64293ece51
Sema: Push reconciliation down into applySolution() to strengthen invariants
...
Now, we assert if you try to record the same change twice in any
other code path.
2024-10-07 16:50:45 -04:00
Slava Pestov
61575d9913
Sema: Remove a few isRecordingChanges() checks to tighten invariants
...
In these places we now assert if we attempt to record a change
during an active undo.
2024-10-07 16:50:45 -04:00