From 5017df14dbeadcb486a5b8b95533142ee4296fd1 Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Sun, 27 Oct 2013 13:02:37 +0700 Subject: Fix an issue with Boost compilation. The issue is that when these macros are defined, libcxx creates inline functions and so we end up with 2 separate defintions of these functions (one inline in std and one that is extern "C"). We undef these until libcxx is fixed. Without this, some things can fail to compile correctly, like Boost. Fixes issue #1716. --- system/include/compat/ctype.h | 17 +++++++++++++++++ system/include/compat/wchar.h | 23 +++++++++++++++++++++++ system/include/compat/wctype.h | 23 +++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 system/include/compat/wchar.h create mode 100644 system/include/compat/wctype.h (limited to 'system') diff --git a/system/include/compat/ctype.h b/system/include/compat/ctype.h index 891006d9..3f504946 100644 --- a/system/include/compat/ctype.h +++ b/system/include/compat/ctype.h @@ -14,4 +14,21 @@ #include_next +/* We undef these until libcxx is fixed. Without this, + some things can fail to compile correctly, like + Boost. Issue #1716. */ + +#undef isalpha +#undef isblank +#undef iscntrl +#undef isdigit +#undef isgraph +#undef islower +#undef isprint +#undef ispunct +#undef isspace +#undef isupper +#undef isxdigit +#undef isctype + #endif /* _COMPAT_CTYPE_H_ */ diff --git a/system/include/compat/wchar.h b/system/include/compat/wchar.h new file mode 100644 index 00000000..42f0bcee --- /dev/null +++ b/system/include/compat/wchar.h @@ -0,0 +1,23 @@ +#ifndef _COMPAT_WCHAR_H_ +#define _COMPAT_WCHAR_H_ + +#include_next + +/* We undef these until libcxx is fixed. Without this, + some things can fail to compile correctly, like + Boost. Issue #1716. */ + +#undef iswalpha +#undef iswblank +#undef iswcntrl +#undef iswdigit +#undef iswgraph +#undef iswlower +#undef iswprint +#undef iswpunct +#undef iswspace +#undef iswupper +#undef iswxdigit +#undef iswctype + +#endif /* _COMPAT_WCHAR_H_ */ diff --git a/system/include/compat/wctype.h b/system/include/compat/wctype.h new file mode 100644 index 00000000..0eeaab8b --- /dev/null +++ b/system/include/compat/wctype.h @@ -0,0 +1,23 @@ +#ifndef _COMPAT_WCTYPE_H_ +#define _COMPAT_WCTYPE_H_ + +#include_next + +/* We undef these until libcxx is fixed. Without this, + some things can fail to compile correctly, like + Boost. Issue #1716. */ + +#undef iswalpha +#undef iswblank +#undef iswcntrl +#undef iswdigit +#undef iswgraph +#undef iswlower +#undef iswprint +#undef iswpunct +#undef iswspace +#undef iswupper +#undef iswxdigit +#undef iswctype + +#endif /* _COMPAT_WCTYPE_H_ */ -- cgit v1.2.3-18-g5258 From a4b5ac5a0b7b705d89def4fb447f36cbe04d5789 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Wed, 30 Oct 2013 13:14:26 -0700 Subject: begin to add emscripten_float32x4_signmask --- system/include/emscripten/vector.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'system') diff --git a/system/include/emscripten/vector.h b/system/include/emscripten/vector.h index ea148f0d..938f2369 100644 --- a/system/include/emscripten/vector.h +++ b/system/include/emscripten/vector.h @@ -4,3 +4,13 @@ typedef float float32x4 __attribute__((__vector_size__(16))); typedef unsigned int uint32x4 __attribute__((__vector_size__(16))); +#ifdef __cplusplus +extern "C" { +#endif + +unsigned int emscripten_float32x4_signmask(float32x4 x); + +#ifdef __cplusplus +} +#endif + -- cgit v1.2.3-18-g5258