Fix Clang/C2 compatibility
Clang/C2 does not implement __builtin_expect; additionally we need to work around deprecation warnings for fopen by disabling them.
This commit is contained in:
parent
ed86ef32b3
commit
77d7e60379
@ -48,6 +48,11 @@
|
|||||||
# pragma warning(disable: 4996) // this function or variable may be unsafe
|
# pragma warning(disable: 4996) // this function or variable may be unsafe
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && defined(__c2__)
|
||||||
|
# pragma clang diagnostic push
|
||||||
|
# pragma clang diagnostic ignored "-Wdeprecated" // this function or variable may be unsafe
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __INTEL_COMPILER
|
#ifdef __INTEL_COMPILER
|
||||||
# pragma warning(disable: 177) // function was declared but never referenced
|
# pragma warning(disable: 177) // function was declared but never referenced
|
||||||
# pragma warning(disable: 279) // controlling expression is constant
|
# pragma warning(disable: 279) // controlling expression is constant
|
||||||
@ -81,7 +86,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Branch weight controls
|
// Branch weight controls
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__) && !defined(__c2__)
|
||||||
# define PUGI__UNLIKELY(cond) __builtin_expect(cond, 0)
|
# define PUGI__UNLIKELY(cond) __builtin_expect(cond, 0)
|
||||||
#else
|
#else
|
||||||
# define PUGI__UNLIKELY(cond) (cond)
|
# define PUGI__UNLIKELY(cond) (cond)
|
||||||
@ -12594,6 +12599,10 @@ namespace pugi
|
|||||||
# pragma warning(pop)
|
# pragma warning(pop)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && defined(__c2__)
|
||||||
|
# pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
// Undefine all local macros (makes sure we're not leaking macros in header-only mode)
|
// Undefine all local macros (makes sure we're not leaking macros in header-only mode)
|
||||||
#undef PUGI__NO_INLINE
|
#undef PUGI__NO_INLINE
|
||||||
#undef PUGI__UNLIKELY
|
#undef PUGI__UNLIKELY
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user