fix #16752: threadvar now works with importcpp types; osx now uses native TLS (--tlsEmulation:off), which can be orders of magnitude faster (#16750)

* osx now uses native TLS, which can be orders of magnitude faster

* add {.cppNonPod.}

* improve test

* changelog, docs, disable part of windows test
This commit is contained in:
Timothee Cour 2021-01-27 13:35:43 -08:00 • committed by GitHub
commit e112974920
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 194 additions and 13 deletions

View file

@ -114,8 +114,6 @@ path="$lib/pure"
@if bsd:
# BSD got posix_spawn only recently, so we deactivate it for osproc:
define:useFork
# at least NetBSD has problems with thread local storage:
tlsEmulation:on
@elif haiku:
gcc.options.linker = "-Wl,--as-needed -lnetwork"
gcc.cpp.options.linker = "-Wl,--as-needed -lnetwork"
@ -167,9 +165,13 @@ path="$lib/pure"
gcc.maxerrorsimpl = "-fmax-errors=3"
@if bsd:
# at least NetBSD has problems with thread local storage:
tlsEmulation:on
@end
@if macosx or freebsd or openbsd:
cc = clang
tlsEmulation:on
gcc.options.always %= "-w ${gcc.maxerrorsimpl}"
gcc.cpp.options.always %= "-w ${gcc.maxerrorsimpl} -fpermissive"
@elif windows: