aboutsummaryrefslogtreecommitdiff
path: root/X11/Xfuncproto.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'X11/Xfuncproto.h.in')
-rw-r--r--X11/Xfuncproto.h.in9
1 files changed, 9 insertions, 0 deletions
diff --git a/X11/Xfuncproto.h.in b/X11/Xfuncproto.h.in
index 8256fecd9..dac92291e 100644
--- a/X11/Xfuncproto.h.in
+++ b/X11/Xfuncproto.h.in
@@ -97,6 +97,7 @@ in this Software without prior written authorization from The Open Group.
# define _X_INTERNAL
#endif /* GNUC >= 4 */
+/* Branch prediction hints for individual conditionals */
/* requires xproto >= 7.0.9 */
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
# define _X_LIKELY(x) __builtin_expect(!!(x), 1)
@@ -106,6 +107,14 @@ in this Software without prior written authorization from The Open Group.
# define _X_UNLIKELY(x) (x)
#endif
+/* Bulk branch prediction hints via marking error path functions as "cold" */
+/* requires xproto >= 7.0.25 */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403) /* 4.3+ */
+# define _X_COLD __attribute__((__cold__))
+#else
+# define _X_COLD /* nothing */
+#endif
+
/* Added in X11R6.9, so available in any version of modular xproto */
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
# define _X_DEPRECATED __attribute__((deprecated))