You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/DynamicCasting.md
+1
Original file line number
Diff line number
Diff line change
@@ -299,6 +299,7 @@ Casting from a function type F1 to a function type F2 will succeed iff the follo
299
299
* Corresponding arguments have identical types
300
300
* The return types are identical
301
301
* If F1 is a throwing function type, then F2 must be a throwing function type. If F1 is not throwing, then F2 may be a throwing or non-throwing function type.
302
+
* F1 and F2 have the same calling convention.
302
303
303
304
Note that it is _not_ sufficient for argument and return types to be castable; they must actually be identical.
Copy file name to clipboardExpand all lines: docs/OpenBSD.md
+5-2
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Getting started with Swift on OpenBSD
2
2
3
-
Swift builds and runs on OpenBSD (tested on 6.8-beta), with some special considerations.
3
+
Swift builds and runs on OpenBSD (tested on 6.8), with some special considerations.
4
4
5
5
## Preparing
6
6
@@ -66,7 +66,7 @@ These options are:
66
66
*`--skip-build-clang-tools-extra` and `--skip-build-compiler-rt`: to ensure LLVM builds cleanly,
67
67
*`--extra-cmake-options=`
68
68
*`-DCMAKE_DISABLE_FIND_PACKAGE_Backtrace=TRUE,-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=TRUE,-DLLVM_VERSION_SUFFIX=''`: to ensure LLVM builds cleanly,
69
-
*`-DSWIFT_BUILD_SOURCEKIT=OFF,-DSWIFT_BUILD_SYNTAXPARSERLIB=OFF`: to ensure Swift does not attempt to build libdispatch, which is not yet supported on OpenBSD,
69
+
*`-DSWIFT_BUILD_SOURCEKIT=OFF,-DSWIFT_BUILD_SYNTAXPARSERLIB=OFF,-DSWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=OFF`: to ensure Swift does not attempt to build libdispatch, which is not yet supported on OpenBSD,
70
70
*`-DSWIFT_USE_LINKER=lld`: to specify that `lld` should be used over `gold`,
71
71
*`-DCMAKE_INSTALL_DIR=/usr/local"`: to set the correct platform install directory.
72
72
@@ -81,8 +81,11 @@ $ ./utils/build-script \
81
81
-DLLVM_VERSION_SUFFIX='',\
82
82
-DSWIFT_BUILD_SOURCEKIT=OFF,\
83
83
-DSWIFT_BUILD_SYNTAXPARSERLIB=OFF,\
84
+
-DSWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=OFF,\
84
85
-DSWIFT_USE_LINKER=lld,\
85
86
-DCMAKE_INSTALL_DIR=/usr/local"
86
87
```
87
88
88
89
You may wish to also supply the flag `--llvm-targets-to-build=host`, to speed up the LLVM build slightly.
90
+
91
+
For debug builds especially, consider also installing the `llvm` package and setting `-DCMAKE_AR=/usr/local/bin/llvm-ar` with the `extra-cmake-options` flag, to work around problems creating indexes to archives containing object files with large numbers of section headers.
0 commit comments