diff options
| -rw-r--r-- | src/zencore/trace.cpp | 1 | ||||
| -rw-r--r-- | thirdparty/tourist/analysis/include/analysis/analyzer.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/zencore/trace.cpp b/src/zencore/trace.cpp index 2714c5221..d7084bbd1 100644 --- a/src/zencore/trace.cpp +++ b/src/zencore/trace.cpp @@ -6,6 +6,7 @@ # include <zencore/zencore.h> # include <zencore/commandline.h> # include <zencore/string.h> +# include <zencore/thread.h> # include <zencore/logging.h> # define TRACE_IMPLEMENT 1 diff --git a/thirdparty/tourist/analysis/include/analysis/analyzer.h b/thirdparty/tourist/analysis/include/analysis/analyzer.h index 21d47ba5b..c79e1a7df 100644 --- a/thirdparty/tourist/analysis/include/analysis/analyzer.h +++ b/thirdparty/tourist/analysis/include/analysis/analyzer.h @@ -38,7 +38,11 @@ Subscription::Subscription(T* a, void (T::*sink)(const U&)) { // analyzers can't have vtables static_assert(sizeof(sink) == sizeof(Subscription::SinkType), "we're cheating"); +#if defined(_MSC_VER) + // Itanium ABI pointer-to-member-functions are always 2*sizeof(void*); the size + // check only holds under MSVC's single-inheritance PMF representation. static_assert(sizeof(sink) == sizeof(void*), "we're cheating"); +#endif } //------------------------------------------------------------------------------ |