Commit Graph

12 Commits

Author SHA1 Message Date
Becca Royal-Gordon
da07ff577c [PrintAsClang] Warn about unstable decl order
PrintAsClang is supposed to emit declarations in the same order regardless of the compiler’s internal state, but we have repeatedly found that our current criteria are inadequate, resulting in non-functionality-affecting changes to generated header content. Add a diagnostic that’s emitted when this happens soliciting a bug report.

Since there *should* be no cases where the compiler fails to order declarations, this diagnostic is never actually emitted. Instead, we test this change by enabling `-verify` on nearly all PrintAsClang tests to make sure they are unaffected.

This did demonstrate a missing criterion that only mattered in C++ mode: extensions that varied only in their generic signature were not sorted stably. Add a sort criterion for this.
2025-02-14 21:41:36 -08:00
Finagolfin
15e1c73969 [android][test] Enable several C++ Interop and other tests
Also, fix lit.cfg for running the test suite natively in Android and mark one
SILOptimizer executable_test as such.
2024-07-20 17:56:51 +05:30
Alex Lorenz
ce9648476d [interop][SwiftToCxx] ensure all emitted 'swift' namespaces are marked as swift_private 2023-03-18 17:50:57 -07:00
Alex Lorenz
953dfec62b [interop] fix swift-ide-test module interface namespace printing crash for _impl namespace in swift_private namespace 2023-03-18 17:50:57 -07:00
Alex Lorenz
0dc90d38c1 [interop][SwiftToCxx] emit Swift's stdlib inside of 'swift' namespace 2023-03-09 17:32:43 -08:00
Alex Lorenz
3b3d6c825a [interop][SwiftToCxx] Annotate emitted declarations with Clang's external_source_symbol attribute
Each emitted declaration is annotated with the external_source_symbol with its own USR, to allow Clang's indexer to recognize this declaration as a Swift declaration with a specific USR
2023-01-12 12:15:01 -08:00
Alex Lorenz
6d0dd0e7cb [interop][SwiftToCxx] workaround windows failure with Error new use in SwiftToCxxToSwift/hide-swift-module-namespace-in-swift.swift 2022-12-16 11:55:56 -08:00
Alex Lorenz
2c9e807697 another speculative fix to windows test failure 2022-12-15 15:29:19 -08:00
Alex Lorenz
878f162dc3 test a potential modules-related fix for windows test failure 2022-12-15 13:48:26 -08:00
Alex Lorenz
5c703b4f5c [interop][SwiftToCxx] support std::string -> Swift::String conversion in C++ 2022-12-13 13:13:05 -08:00
Butta
bd21ad1d23 [android][test] Disable new SwiftToCxxToSwift Interop test 2022-11-11 16:18:20 +05:30
Alex Lorenz
0312e0613d [interop][SwiftToCxxToSwift] hide reverse interop module namespaces from forward interop 2022-11-07 15:52:04 -08:00