Open
Description
Description
When bootstrapping stage0 -> stage1 with preset bootstrap_stage0
and bootstrap_stage1
and extra-swift-cmake-options=-DBRIDGING_MODE=PURE
, the following error breaks the build:
SIL verification failed: public/package/shared function must have a body: F->isDefinition() || F->hasForeignBody()
...
4. While verifying SIL function "@$sSo5swiftO11EffectsKindVSYSCSY8rawValuexSg03RawE0Qz_tcfCTW".
Reverting commit 68bb4b3 seems to work around the issue.
Reproduction
Ensure that BRIDGING_MODE=PURE and bootstrap, for example:
./swift/utils/build-script --preset=bootstrap_stage0 build_subdir=bootstrap_stage0 install_destdir=toolchain_stage0
env PATH=<path to...>/toolchain_stage0/usr/bin/:$PATH ./swift/utils/build-script --preset=bootstrap_stage1 build_subdir=bootstrap_stage1 install_destdir=toolchain_stage1
Stack dump
0. Program arguments: ~/src/swift/toolchain/toolchain_stage0/usr/bin/swift-frontend -frontend -merge-modules -emit-module lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/ASTGen.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/ASTGen+CompilerBuildConfiguration.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Availability.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Bridge.swift.swiftmodulelib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/BuiltinPound.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/CompilerBuildConfiguration.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/DeclAttrs.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Decls.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Diagnostics.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/DiagnosticsBridge.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Exprs.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Fingerprint.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Generics.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/LexicalLookup.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Literals.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/ParameterClause.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Patterns.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Regex.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/SourceFile.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/StableHasher.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Stmts.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/TypeAttrs.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/Types.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-importedHeaderDependencies-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerRegexParser-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftSyntax-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftIfConfig-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftLexicalLookup-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftOperators-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftSyntaxBuilder-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftParser-dep.swift. swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftParserDiagnostics-dep.swift.swiftmodule lib/ASTGen/Sources/ASTGen/CMakeFiles/swiftASTGen.dir/forced-_CompilerSwiftDiagnostics-dep.swift.swiftmodule -parse-as-library -disable-diagnostic-passes -disable-sil-perf-optzns -target aarch64-unknown-openbsd7.7 -Xllvm -aarch64-use-tbi -disable-objc-interop -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/lib/ASTGen/Sources/ASTGen -I ~/src/swift/toolchain/swift/lib/ASTGen/Sources/ASTGen -I ~/src/swift/toolchain/swift/stdlib/public/SwiftShims -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/include -I ~/src/swift/toolchain/swift/include -I ~/src/swift/toolchain/llvm-project/llvm/include -I ~/src/swift/toolchain/build/bootstrap_stage1/llvm-openbsd-aarch64/include -I ~/src/swift/toolchain/llvm-project/clang/include -I ~/src/swift/toolchain/build/bootstrap_stage1/llvm-openbsd-aarch64/tools/clang/include -I ~/src/swift/toolchain/cmark/src/include -I ~/src/swift/toolchain/build/bootstrap_stage1/cmark-openbsd-aarch64/src -I ~/src/swift/toolchain/swift-corelibs-libdispatch/src/BlocksRuntime -I ~/src/swift/toolchain/swift-corelibs-libdispatch -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/lib/ASTGen/modules -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftSyntax -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftIfConfig -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftSyntaxBuilder -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftDiagnostics -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftOperators -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftLexicalLookup -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftParser -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftBasicFormat -I ~/src/swift/toolchain/build/bootstrap_stage1/swift-openbsd-aarch64/_deps/compilerswiftsyntax-build/Sources/SwiftParserDiagnostics -I ~/src/swift/toolchain/swift-syntax/Sources/_SwiftSyntaxCShims/include -I /usr/include -I /usr/local/include -color-diagnostics -module-link-name swiftASTGen -static -O -cxx-interoperability-mode=default -D CMARK_STATIC_DEFINE -D SWIFT_BUILD_SWIFT_SYNTAX -D _DEBUG -D _GLIBCXX_ASSERTIONS -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -disable-target-os-checking -in-process-plugin-server-path ~/src/swift/toolchain/toolchain_stage0/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path ~/src/swift/toolchain/toolchain_stage0/usr/lib/swift/host/plugins -plugin-path ~/src/swift/toolchain/toolchain_stage0/usr/local/lib/swift/host/plugins -Xcc -DPURE_BRIDGING_MODE -Xcc -UNDEBUG -Xcc -std=c++17 -Xcc -DCOMPILED_WITH_SWIFT -Xcc -UIBOutlet -Xcc -UIBAction -Xcc -UIBInspectable -emit-module-doc-pathlib/ASTGen/Sources/ASTGen/modules/swiftASTGen.swiftdoc -emit-module-source-info-path lib/ASTGen/Sources/ASTGen/modules/swiftASTGen.swiftsourceinfo -module-nameswiftASTGen -o lib/ASTGen/Sources/ASTGen/modules/swiftASTGen.swiftmodule
1. Swift version 6.2-dev (LLVM b1b37423d1c45db, Swift 7c1dffb1f2b2d94)
2. Compiling with effective version 5.10
3. While evaluating request ASTLoweringRequest(Lowering AST to SIL for modu
le swiftASTGen)
4. While verifying SIL function "@$sSo5swiftO11EffectsKindVSYSCSY8rawValuex
Sg03RawE0Qz_tcfCTW".
for <<debugloc at "<compiler-generated>":0:0>>Stack dump without symbol names (
ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SY
MBOLIZER_PATH` to point to it):
0 swift-frontend 0x0000001900fd6ba8 std::__1::basic_stringbuf<char, std::__1::c
har_traits<char>, std::__1::allocator<char>>::str(std::__1::basic_string<char, s
td::__1::char_traits<char>, std::__1::allocator<char>> const&) + 83492532
1 swift-frontend 0x0000001900fd5664 std::__1::basic_stringbuf<char, std::__1::c
har_traits<char>, std::__1::allocator<char>>::str(std::__1::basic_string<char, s
td::__1::char_traits<char>, std::__1::allocator<char>> const&) + 83487088
<unknown>:0: error: unable to execute command: Abort trap
<unknown>:0: error: merge-module command failed due to signal 6 (use -v to see i
nvocation)
Expected behavior
Successful build.
Environment
$ ../build/bootstrap_stage0/swift-openbsd-aarch64/bin/swiftc -v
:0: warning: using (deprecated) legacy driver, Swift installation does not contain swift-driver at: '~/src/swift/toolchain/build/bootstrap_stage0/swift-openbsd-aarch64/bin/swift-driver-new'
Swift version 6.2-dev (LLVM b1b37423d1c45db, Swift 7c1dffb)
Target: aarch64-unknown-openbsd7.7
Additional information
Printing out the SILFunction, for what it's worth:
// protocol witness for RawRepresentable.init(rawValue:) in conformance swift.EffectsKind
sil shared [transparent] [serialized] [thunk] [canonical]
@$sSo5swiftO11EffectsKindVSYSCSY8rawValuexSg03RawE0Qz_tcfCTW : $@convention(witness_method:
RawRepresentable) (@in UInt8, @thick swift.EffectsKind.Type) -> @out
Optional<swift.EffectsKind>