Skip to content

[cxx-interop] Make Cxx Swift library static #61160

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 7, 2022
Merged

Conversation

egorzhdan
Copy link
Contributor

Instead of a dynamic swiftCxx.dylib library, let's build a static library to simplify backdeployment and reduce potential compatibility difficulties in the future.

@egorzhdan egorzhdan added the c++ interop Feature: Interoperability with C++ label Sep 16, 2022
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

1 similar comment
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 8238105 to 9ae3c39 Compare October 3, 2022 13:03
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch 2 times, most recently from 553278a to af9bdf5 Compare October 5, 2022 10:18
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan requested a review from zoecarver October 5, 2022 10:55
@egorzhdan
Copy link
Contributor Author

Can't reproduce the macOS test failure locally 😕

******************** TEST 'Swift(macosx-x86_64) :: Interop/Cxx/stdlib/overlay/std-string-overlay.swift' FAILED ********************
Script:
--
: 'RUN: at line 1';   rm -rf "/Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-macosx-x86_64/Interop/Cxx/stdlib/overlay/Output/std-string-overlay.swift.tmp" && mkdir -p "/Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-macosx-x86_64/Interop/Cxx/stdlib/overlay/Output/std-string-overlay.swift.tmp" && xcrun --toolchain default --sdk '/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk' /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/bin/swiftc -target x86_64-apple-macosx10.9  -module-cache-path /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/clang-module-cache  -F '/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks' -toolchain-stdlib-rpath -Xlinker -rpath -Xlinker '/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks' -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -headerpad_max_install_names  -swift-version 4  -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.8:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999'  -F '/Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/lib' -Xlinker -rpath -Xlinker '/Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/lib' -module-cache-path /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/clang-module-cache /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/test/Interop/Cxx/stdlib/overlay/std-string-overlay.swift -Xfrontend -enable-experimental-cxx-interop -Xfrontend -validate-tbd-against-ir=none -o /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-macosx-x86_64/Interop/Cxx/stdlib/overlay/Output/std-string-overlay.swift.tmp/a.out -module-name main  && /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/utils/swift-darwin-postprocess.py /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-macosx-x86_64/Interop/Cxx/stdlib/overlay/Output/std-string-overlay.swift.tmp/a.out && /usr/bin/env DYLD_LIBRARY_PATH='/Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/lib/swift/macosx'  /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-macosx-x86_64/Interop/Cxx/stdlib/overlay/Output/std-string-overlay.swift.tmp/a.out
--
Exit Code: 134

Command Output (stdout):
--
[ RUN      ] std::string overlay.std::string <=> Swift.String
[       OK ] std::string overlay.std::string <=> Swift.String
[ RUN      ] std::string overlay.std::string as Swift.Sequence
stderr>>> generic witness table at 0x103a7c354 contains out-of-bounds requirement descriptor 0x103a7c80c
stderr>>> CRASHED: SIGABRT
the test crashed unexpectedly
[     FAIL ] std::string overlay.std::string as Swift.Sequence
std::string overlay: Some tests failed, aborting
UXPASS: []
FAIL: ["std::string as Swift.Sequence"]
SKIP: []

@egorzhdan
Copy link
Contributor Author

@swift-ci please clean smoke test macOS

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from af9bdf5 to 20daad3 Compare October 5, 2022 15:17
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

2 similar comments
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test Linux

1 similar comment
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test Linux

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 20daad3 to c1601e6 Compare October 6, 2022 11:19
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from c1601e6 to 0ae6d05 Compare October 10, 2022 13:31
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 0ae6d05 to 3401f29 Compare December 6, 2022 14:18
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 3401f29 to 6dbc3c5 Compare December 6, 2022 17:34
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 6dbc3c5 to f249493 Compare December 6, 2022 19:05
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from f249493 to 2727a98 Compare December 6, 2022 22:09
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan
Copy link
Contributor Author

egorzhdan commented Dec 7, 2022

Windows failure with -v:

******************** TEST 'Swift(windows-x86_64) :: Interop/Cxx/static/static-var.swift' FAILED ********************
Script:
--
: 'RUN: at line 1';   rm -rf "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp" && mkdir -p "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp"
: 'RUN: at line 2';   clang++ -target x86_64-unknown-windows-msvc -fmodules-cache-path='T:\\swift\\swift-test-results\\x86_64-unknown-windows-msvc\\clang-module-cache'  -fobjc-runtime=ios-5.0 -std=c++11 -c C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs/static-var.cpp -I C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs -o T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/static-var.o
: 'RUN: at line 3';   't:\\swift\\bin\\swiftc.exe' -target x86_64-unknown-windows-msvc  -swift-version 4  -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0' -Xfrontend -define-availability -Xfrontend 'SwiftStdlib 5.8:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999'  -libc MD C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static\static-var.swift -I C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs -o T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/statics T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/static-var.o -Xfrontend -enable-experimental-cxx-interop -v
: 'RUN: at line 4';   echo T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/statics
: 'RUN: at line 5';    T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/statics
--
Exit Code: 1120

Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "rm" "-rf" "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp"
$ "mkdir" "-p" "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp"
$ ":" "RUN: at line 2"
$ "clang++" "-target" "x86_64-unknown-windows-msvc" "-fmodules-cache-path=T:\\swift\\swift-test-results\\x86_64-unknown-windows-msvc\\clang-module-cache" "-fobjc-runtime=ios-5.0" "-std=c++11" "-c" "C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs/static-var.cpp" "-I" "C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs" "-o" "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/static-var.o"
# command stderr:
clang++: warning: argument unused during compilation: '-fmodules-cache-path=T:\\swift\\swift-test-results\\x86_64-unknown-windows-msvc\\clang-module-cache' [-Wunused-command-line-argument]

$ ":" "RUN: at line 3"
$ "t:\\swift\\bin\\swiftc.exe" "-target" "x86_64-unknown-windows-msvc" "-swift-version" "4" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0" "-Xfrontend" "-define-availability" "-Xfrontend" "SwiftStdlib 5.8:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" "-libc" "MD" "C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static\static-var.swift" "-I" "C:\Users\swift-ci\jenkins\workspace\swift-PR-windows\swift\test\Interop\Cxx\static/Inputs" "-o" "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/statics" "T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp/static-var.o" "-Xfrontend" "-enable-experimental-cxx-interop" "-v"
# command stderr:
Swift version 5.8-dev (LLVM 6060385d2e829e0, Swift d49aef753c8a6f8)
Target: x86_64-unknown-windows-msvc
"t:\\swift\\bin\\swiftc.exe" -frontend -c -primary-file "C:\\Users\\swift-ci\\jenkins\\workspace\\swift-PR-windows\\swift\\test\\Interop\\Cxx\\static\\static-var.swift" -target x86_64-unknown-windows-msvc -disable-objc-interop -I "C:\\Users\\swift-ci\\jenkins\\workspace\\swift-PR-windows\\swift\\test\\Interop\\Cxx\\static/Inputs" -swift-version 4 -define-availability "SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -define-availability "SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2" -define-availability "SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0" -define-availability "SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4" -define-availability "SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0" -define-availability "SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5" -define-availability "SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0" -define-availability "SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4" -define-availability "SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0" -define-availability "SwiftStdlib 5.8:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -enable-experimental-cxx-interop -autolink-library oldnames -autolink-library msvcrt -Xcc -D_MT -Xcc -D_DLL -module-name statics -o "T:\\tmp\\lit-tmp-jmlfw6ka\\static-var-672e67.o"
"T:\\llvm\\bin\\clang.exe" -target x86_64-unknown-windows-msvc -nostartfiles -L "t:\\swift\\lib\\swift\\windows/x86_64" "t:\\swift\\lib\\swift\\windows\\x86_64\\swiftrt.obj" "T:\\tmp\\lit-tmp-jmlfw6ka\\static-var-672e67.o" "T:\\swift\\test-windows-x86_64\\Interop\\Cxx\\static\\Output\\static-var.swift.tmp/static-var.o" -v -o "T:\\swift\\test-windows-x86_64\\Interop\\Cxx\\static\\Output\\static-var.swift.tmp/statics"
clang version 15.0.0 (https://github.com/apple/llvm-project.git 6060385d2e829e01d0423905433adb49bafd0d36)

Target: x86_64-unknown-windows-msvc

Thread model: posix

InstalledDir: T:\llvm\bin

 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30037\\bin\\Hostx64\\x64\\link.exe" "-out:T:\\swift\\test-windows-x86_64\\Interop\\Cxx\\static\\Output\\static-var.swift.tmp/statics" "-libpath:t:\\swift\\lib\\swift\\windows/x86_64" -nologo "t:\\swift\\lib\\swift\\windows\\x86_64\\swiftrt.obj" "T:\\tmp\\lit-tmp-jmlfw6ka\\static-var-672e67.o" "T:\\swift\\test-windows-x86_64\\Interop\\Cxx\\static\\Output\\static-var.swift.tmp/static-var.o"

   Creating library T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp\statics.lib and object T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp\statics.exp

static-var-672e67.o : error LNK2019: unresolved external symbol __imp_$sSq3CxxAA06UnsafeA13InputIteratorRzlE7pointee7PointeeQzvg referenced in function $s7staticsyycfU10_

static-var-672e67.o : error LNK2019: unresolved external symbol __imp_$sSpyxG3Cxx06UnsafeA13InputIteratorABMc referenced in function $sSpySo10NonTrivialVGSpyxG3Cxx06UnsafeC13InputIteratorAEWl

T:\swift\test-windows-x86_64\Interop\Cxx\static\Output\static-var.swift.tmp\statics : fatal error LNK1120: 2 unresolved externals

clang: error: linker command failed with exit code 1120 (use -v to see invocation)

<unknown>:0: error: link command failed with exit code 1120 (use -v to see invocation)

error: command failed with exit status: 1120

Instead of a dynamic `swiftCxx.dylib` library, let's build a static library to simplify backdeployment and reduce potential compatibility difficulties in the future.

This also adds `NO_LINK_NAME` option to `add_swift_target_library` to prevent the CMake scripts from passing `-module-link-name` to swiftc when building a given module. This fixes linker errors, which would otherwise occur due to the force-load symbol name (`_swift_FORCE_LOAD_$xyz`) being emitted for the libraries that are now static (`swiftCxx`, `swiftstd`).
@egorzhdan egorzhdan force-pushed the egorzhdan/cxx-static branch from 2727a98 to 5d86f3e Compare December 7, 2022 12:38
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan merged commit 4410959 into main Dec 7, 2022
@egorzhdan egorzhdan deleted the egorzhdan/cxx-static branch December 7, 2022 16:09
this->addLinkLibrary(LinkLibrary("stdc++", LibraryKind::Library));

// Do not try to link Cxx with itself.
if (!getSwiftModule()->getName().is("Cxx"))
this->addLinkLibrary(LinkLibrary("swiftCxx", LibraryKind::Library));

// Only link with std on platforms where the overlay is available.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh, the overlay is available on windows as well. This seems wrong?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

swiftstd is not built on Windows, only swiftCxx is available currently.
I've tried enabling swiftstd on Windows (#62232) but ran into build issues that I haven't figured out so far.

@@ -372,7 +375,7 @@ function(_compile_swift_files
cmake_parse_arguments(SWIFTFILE
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC"
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR"
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR;NO_LINK_NAME"
Copy link
Member

@etcwilde etcwilde Dec 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is NO_LINK_NAME a multi-value option? It doesn't look like it gets used in this function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ interop Feature: Interoperability with C++
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants