Commit 91f7889
authored
Work around compiler bug affecting macro decls with #if-guarded availability when building w/legacy driver (#1106)
This works around a Swift compiler bug which causes a failure validating
the generated .swiftinterface of the `Testing` module due to it having
macro declarations with `#if`-conditionalized `@available(...)`
attributes _before_ any other `@`-attributes.
The PR which recently landed to enable the Exit Tests feature (#324)
revealed this compiler bug — specifically, that PR removed `@_spi`
attributes which until then _preceded_ `#if SWT_NO_EXIT_TESTS`. The
workaround is to move other attributes on the affected macro
declarations up before the `#if`.
The compiler bug is being fixed in
swiftlang/swift#81346. It only appears to happen
when building with the legacy driver, and Android uses that driver
still. An example CI failure log can be found here:
>
https://github.com/thebrowsercompany/swift-build/actions/runs/14823859186/job/41615678071#step:32:72
### Checklist:
- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.1 parent 6e4fe1f commit 91f7889
1 file changed
+6
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
514 | 514 | | |
515 | 515 | | |
516 | 516 | | |
| 517 | + | |
| 518 | + | |
517 | 519 | | |
518 | 520 | | |
519 | 521 | | |
520 | | - | |
521 | | - | |
| 522 | + | |
522 | 523 | | |
523 | 524 | | |
524 | 525 | | |
| |||
559 | 560 | | |
560 | 561 | | |
561 | 562 | | |
| 563 | + | |
| 564 | + | |
562 | 565 | | |
563 | 566 | | |
564 | 567 | | |
565 | | - | |
566 | | - | |
| 568 | + | |
567 | 569 | | |
568 | 570 | | |
569 | 571 | | |
| |||
0 commit comments