Commit Graph

11 Commits

Author SHA1 Message Date
Gabor Horvath
bad91d6260 [cxx-interop] Unbreak CI
Make the test more resilient to variations in the IR to match what is
generated on one of the CI machines.

rdar://147091383
2025-03-25 11:39:09 +00:00
Florian Hahn
dff5da4b32 [Test] Use -disable-llvm-merge-function-pass to unblock MergeFunc fix.
To unblock CI for https://github.com/swiftlang/llvm-project/pull/10112.
2025-03-14 09:49:14 +00:00
Finagolfin
30ba49e7fa [android][test] Fix a handful of tests and disable one CxxToSwiftToCxx bridging test
Also, make the analogous change to apple/swift-driver#1372, which gets the
sanitizer tests working on Android again, and remove the lld_lto feature in the
tests, which is now unused.
2023-08-12 16:36:35 +05:30
Saleem Abdulrasool
1040116e32 IRGen: rework linking against CxxStdlib
Rewrite the handling for the `CxxStdlib` implicit linking to use a
slightly more functional style for filtering.  Additionally, add Windows
to the list providing the overlay.  The Windows linking scenario is a
slightly more complicated as the library names differ between static and
dynamic variants to disambiguate between import libraries and static
libraries.  Take this into account when embedding the library name so
that the linker can find the appropriate content.
2023-08-08 09:03:37 -07:00
Arnold Schwaighofer
79894ff461 Fix test/Interop with opaque pointers 2023-07-03 03:36:07 -07:00
Arnold Schwaighofer
c1a93e0bde Move tests over to use the %use_no_opaque_pointers option 2023-06-14 10:49:48 -07:00
Nate Chandler
90f7af22c9 [SILOpt] Run DestroyAddrHoisting in mandatory.
Run DestroyAddrHoisting in the pipeline where DestroyHoisting was
previously running.  Avoid extra ARC traffic that having no form of
destroy hoisting in the mandatory pipeline results in.

rdar://90495704
2023-04-04 11:11:34 -07:00
Evan Wilde
cbe02abd69 Allow merged function in copy call
The copy operation is getting merged, resulting in the addition of `_Tm`
to the end of the `_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS` symbol
causing this test to fail. Adding that case.
2023-03-31 22:44:33 -07:00
Evan Wilde
37f770db81 Split arguments to C1ERKS copy assignment
This patch splits the parameters going into the copy assignment from
`instance2` into `instance`.

Some builds of the compiler are emitting additional annotations on the
pointer.

The resulting parameters on Linux (on my box anyway) look like this:
`(%struct.NonTrivialCopyAndCopyMoveAssign* noundef nonnull align 4 dereferenceable(5) %2, %struct.NonTrivialCopyAndCopyMoveAssign* noundef nonnull align 4 dereferenceable(5) %4)`

These annotations look reasonable, but they don't show up on macOS.
I've added check-same to ensure that the parameter passing is still
happening while ignoring the additional annotations.
2023-03-31 22:34:49 -07:00
Alex Lorenz
3e4669b472 [interop] fix tests for assignWithCopy/Take fixes 2023-03-17 11:49:07 -07:00
Alex Lorenz
8b7b1347eb [interop] C++ destination record should be destroyed before being copied into during assignWithCopy / assignWithTake 2023-03-15 12:33:31 -07:00