Commit Graph

5 Commits

Author SHA1 Message Date
Gábor Horváth
816290f0cd [6.2.1][cxx-interop] Do not consider function types fragile
Explanationion: Function pointer types wee always considered fragile in C++ mode,
this manifested as a regression when interfacing with glibc.
Issues: rdar://159184118
Original PRs: #84040
Risk: Low, this only removes a spurious error for library evolution.
Testing: Added a compiler test.
Reviewers: @egorzhdan
2025-09-09 09:55:52 +01:00
Arnold Schwaighofer
f9b551d9cd Hard disabled some test/Interop/Cxx/library-evolution tests
They also fail on internal CI PR bots

rdar://r144000451
2025-02-04 11:43:45 -08:00
Arnold Schwaighofer
82d13bbdbd Temporarily disable tests on anything but macosx
They brake multiple bots.

rdar://144000451
2025-02-01 09:18:57 -08:00
Egor Zhdan
00e6b360d5 [cxx-interop] Assume that plain-C enums are resilient
This fixes sudden compiler errors that are emitted when trying to use CoreText.framework with C++ interop enabled.

When Swift is trying to rebuild a dependency module from its textual interface, it should not complain on usages of C enums in public Swift APIs.

This still leaves the resilience safety guardrail enabled for C++ scoped enums.

rdar://143215914
2025-01-21 18:57:10 +00:00
Gabor Horvath
625f45a928 [cxx-interop] Consider extern "C" structs as resilient
Changing the members of these structs are still API and ABI breaking
changes but they are not as fragile as C++ classes where adding/removing
virtual functions or doing other changes can also result in breaking the
ABI.

rdar://119319825
2024-10-10 17:58:09 +01:00