We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 12a69e2 + 8c46806 commit cf51ebcCopy full SHA for cf51ebc
include/ylt/struct_pack/marco.h
@@ -31,19 +31,14 @@
31
#define STRUCT_PACK_MAY_INLINE inline
32
#endif
33
34
-#if __has_cpp_attribute(likely) && __cplusplus >= 202002L
+#if __has_cpp_attribute(likely) && __has_cpp_attribute(unlikely)
35
#define SP_LIKELY(expr) (expr) [[likely]]
36
-#elif __GNUC__
37
-#define SP_LIKELY(expr) (__builtin_expect(!!(expr), 1))
38
-#else
39
-#define SP_LIKELY(expr) (expr)
40
-#endif
41
-
42
-#if __has_cpp_attribute(unlikely) && __cplusplus >= 202002L
43
#define SP_UNLIKELY(expr) (expr) [[unlikely]]
44
#elif __GNUC__
+#define SP_LIKELY(expr) (__builtin_expect(!!(expr), 1))
45
#define SP_UNLIKELY(expr) (__builtin_expect(!!(expr), 0))
46
#else
+#define SP_LIKELY(expr) (expr)
47
#define SP_UNLIKELY(expr) (expr)
48
49
0 commit comments