diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2017-08-30 20:55:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-30 20:55:27 -0700 |
commit | 546d795470ca7c30fc62fe9b6c7b8e5838e1eed4 (patch) | |
tree | 443f7101c4246b684ce21a04704d769eb2db15ad /src/bindings | |
parent | d7dadde871ae4775748695b0b7f9deee49576c0a (diff) |
Use thread_local instead of compiler extensions (#210)
C++11 introduced the thread_local keyword, so we don't need to use
non-standard extensions or our custom pthread extension anymore.
The behavior was previously introduced as a workaround in commit
753a072c542c1c254d7c6adbf10e091ba585ede5. This commit
introduces the macro CVC4_THREAD_LOCAL that can be used to
declare variables as thread local. For Swig, this macro is defined to
be empty.
Diffstat (limited to 'src/bindings')
-rw-r--r-- | src/bindings/swig.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/bindings/swig.h b/src/bindings/swig.h index f73ddd9bb..053cb7172 100644 --- a/src/bindings/swig.h +++ b/src/bindings/swig.h @@ -26,15 +26,9 @@ #endif /* SWIG_VERSION */ %import "cvc4_public.h" -#warning "Working around a SWIG segfault in C++ template parsing." -//%import "base/tls.h" -#define CVC4_THREADLOCAL(__type...) __type -#define CVC4_THREADLOCAL_PUBLIC(__type...) CVC4_PUBLIC __type -#define CVC4_THREADLOCAL_TYPE(__type...) __type +%import "base/tls.h" -// swig doesn't like the __thread storage class... -#define __thread -// ...or GCC attributes +// swig doesn't like GCC attributes #define __attribute__(x) #endif /* __CVC4__BINDINGS__SWIG_H */ |