This builtin function makes macros gain type safety and also the ability
to statically assert the correctness of typedefs that target external
libraries.
#define __has_header(x) 0
#endif
+#ifndef __has_builtin
+#define __has_builtin(x) 0
+#endif
+
/***
*** General Macros.
***/
a = b; \
b = __tmp_swap; \
}
+
+#if __has_builtin(__builtin_types_compatible_p)
+#define ISC_TYPES_COMPATIBLE(x, y) __builtin_types_compatible_p(x, y)
+#else /* __has_builtin(__builtin_types_compatible_p) */
+#define ISC_TYPES_COMPATIBLE(x, y) 1
+#endif /* __has_builtin(__builtin_types_compatible_p) */