| 2 Dec 2025 |
emily | perhaps a later version of the SDK will pick that up? | 01:54:19 |
emily | (maybe not, if the .swiftinterface is after that) | 01:55:46 |
Randy Eckenrode | It’s a property wrapper. They changed it to a macro in Swift 6.0. | 01:56:07 |
Randy Eckenrode | https://github.com/swiftlang/swift/blame/36a3c6e61101419f4557781da79f291445cdfa1b/stdlib/public/Concurrency/TaskLocal.swift#L17-L30 | 01:58:03 |
emily | I wonder if building against the version of the libraries in the Swift sources rather than using the SDK for the bootstrap would solve it – since the conditional is there in the source. alternatively –
shion:~/Developer/swift (empty) (no description set)
❭ rg macro_unsupported
include/swift/AST/DiagnosticsSema.def
8083:ERROR(macro_unsupported,none,
lib/Sema/TypeCheckMacros.cpp
247: macro->diagnose(diag::macro_unsupported);
1253: ctx.Diags.diagnose(loc, diag::macro_unsupported);
1616: attachedTo->diagnose(diag::macro_unsupported);
1761: diag::macro_unsupported);
lib/Sema/TypeCheckDeclPrimary.cpp
1189: ctx.Diags.diagnose(initExpr->getLoc(), diag::macro_unsupported);
I wonder what happens if you just make these emit a warning rather than an error.
| 01:58:18 |
emily | (ofc, not a good long-term solution to patch like that, but it's something that we could go to upstream about) | 01:58:37 |
Randy Eckenrode | The guard isn’t in the swiftinterface. Either Apple strips it from their SDK build, or it doesn’t get put in there. | 01:59:29 |
emily | yeah, I guess the guards are processed before generating the .swiftinterface. so making the compiler not immediately die when it sees a macro definition, and avoiding the .swiftinterfaces in favour of the source code when bootstrapping, are the two options there. | 02:00:25 |
Randy Eckenrode | That works for Concurrency, but it doesn’t work for Foundation. | 02:00:34 |
emily | well, they do have their FOSS Foundation, right? but yeah, making the macro definitions not immediately kill it seems like the easier thing to try. | 02:01:25 |
Randy Eckenrode | Building swift-corelibs-foundation on Darwin isn’t really supported by upstream. | 02:02:55 |
Randy Eckenrode | Their Swift-based Foundation is a subset of the full Foundation APIs. | 02:03:08 |
Randy Eckenrode | I’m getting crashes in the compiler. The C++ bootstrap just isn’t ready for use yet. | 02:07:00 |
Randy Eckenrode | Oh, neat. LLVM 16 was removed. That’s going to make building Swift 5.10.1 suck. Maybe I’ll just copy the existing derivation for bootstrap purposes. | 02:17:57 |
Randy Eckenrode | Oh, right. It does wrapper crimes. | 02:19:16 |
samasaur | it also doesn't work on linux at the moment | 02:19:40 |
samasaur | https://github.com/NixOS/nixpkgs/issues/461474 or https://github.com/NixOS/nixpkgs/issues/462451 (i think they're the same issue) | 02:20:35 |
emily | maybe a 6.2 binary might be an easier stopgap while the bootstrap compiler bakes | 02:22:15 |
samasaur | if anybody has ideas about that issue, do let me know; it's entirely unfamiliar to me | 02:28:57 |
Randy Eckenrode | I’m going to try applying https://github.com/swiftlang/swift/pull/83211. | 02:41:00 |
Randy Eckenrode | https://github.com/swiftlang/swift/issues/83018 | 02:41:47 |
Randy Eckenrode | I tried looking at where Swiftly downloads toolchains. There’s no platform definition for Darwin. I don’t know if it’s installing from Xcode or what. | 02:42:22 |
Randy Eckenrode | There are .pkg files on the Swift website. | 02:43:10 |
Randy Eckenrode | I didn’t try seeing whether we can extract those or not. | 02:43:19 |
Randy Eckenrode | There seem to be a lot of compiler crashes in this ownership stuff. 😞 | 03:12:43 |
Randy Eckenrode | https://github.com/swiftlang/swift/issues/84552#issuecomment-3409245634 | 04:59:12 |
Randy Eckenrode | Disabling the verify works. | 04:59:18 |
Randy Eckenrode | * | 05:00:05 |
Randy Eckenrode | > Undefined symbols for architecture arm64:
> "_swift_coroFrameAlloc", referenced from:
> _$s11swiftASTGen16ConcatCollectionVyxq_GSlAASly7ElementQz5IndexQzcirTW in libswiftASTGen.a(Bridge.swift.o)
> _$s11swiftASTGen16ConcatCollectionVy7ElementQzAC5IndexOyxq__Gcir in libswiftASTGen.a(Bridge.swift.o)
| 05:04:04 |
Randy Eckenrode | That’s better than a compiler crash I guess. | 05:04:15 |