Zak Kent
3b4e94f65b
[SILGen] Emit toplevel code through emitFunctionDefinition
...
Emit SILDeclRefs representing entry points with SourceFile
source correctly.
2023-08-08 11:25:11 -07:00
Alex Lorenz
96806f4d44
[cxx-interop] Windows: unify address-only logic and mark non-trivial loadable C++ types as unavailable
...
Windows logic for determining address-only type layout for a C++ type is now unified with other platforms.
However, this means that on Windows, a C++ type with a custom destructor, but a default copy constructor
is now loadable, even though it's non-trivial. Since Swift does not support such type operations at the
moment (it can't be yet destroyed), mark such type as unavailable in Swift instead, when building for
the Windows target.
This fixes the Windows miscompilation related to such types when they were passed indirectly to C++
functions even though they're actually passed directly.
2023-07-20 14:58:02 -07:00
Arnold Schwaighofer
79894ff461
Fix test/Interop with opaque pointers
2023-07-03 03:36:07 -07:00
Arnold Schwaighofer
d1d7438a70
Move windows tests to %use_no_opaque_pointers usage
2023-06-14 10:49:50 -07:00
Arnold Schwaighofer
c1a93e0bde
Move tests over to use the %use_no_opaque_pointers option
2023-06-14 10:49:48 -07:00
Alex Lorenz
b0dab0b48c
[cxx-interop] evaluate default constructor's unevaluated exception spec if needed when emitting C++ constructor call
...
Fixes https://github.com/apple/swift/issues/65891
2023-06-08 11:02:29 -07:00
Alex Lorenz
e704e9426a
[interop] test, ensure we call copy-constructor when optimizations are enabled in trap-on-exception-execution.swift
2023-02-23 13:37:04 -08:00
Alex Lorenz
c9252370e6
[interop] test, fixup remaining exception tests
2023-02-22 19:24:16 -08:00
Alex Lorenz
ee6017334c
[interop] ensure we correctly handle copy constructor invokes
2023-02-22 15:46:19 -08:00
Alex Lorenz
355f00c5bd
[interop] ensure that call to a C++ constructor traps on uncaught exception
2023-02-22 10:59:58 -08:00
Alex Lorenz
8998f9769a
[interop] trap on uncaught C++ copy constructor exceptions
2023-02-22 10:59:53 -08:00
Alex Lorenz
7d8ecfc506
[interop] trap on uncaught C++ destructor exceptions
2023-02-22 10:59:47 -08:00
Alex Lorenz
56ee7c5180
[interop] test, add an Objective-C method invocation exception trapping test
2023-02-22 10:59:41 -08:00
Alex Lorenz
7801adf6b0
[interop] test, runtime test for protocol witness / thunk trap on uncaught exception
2023-02-22 10:59:35 -08:00
Alex Lorenz
613e54522b
[interop] test, add a test for trapping on exception in transparent thunk in Swift
2023-02-22 10:59:29 -08:00
Alex Lorenz
a259a201a0
[interop] test, add test to ensure that a protocol conformance witness can trap on uncaught exceptions
2023-02-22 10:59:23 -08:00
Alex Lorenz
fd3e784961
[interop] test, add tests that function pointers called from Swift trap on uncaught exceptions
2023-02-22 10:59:16 -08:00
Alex Lorenz
7dbfc51bf7
[interop] test, ensure we do not check for exceptions when exceptions are also disabled
2023-02-22 10:59:09 -08:00
Alex Lorenz
1dc0f019bf
[interop] add initial support for trapping on uncaught exceptions when making a foreign call
2023-02-21 13:30:18 -08:00