diff options
Diffstat (limited to 'llimits.h')
-rw-r--r-- | llimits.h | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: llimits.h,v 1.148 2017/12/28 11:51:00 roberto Exp roberto $ | 2 | ** $Id: llimits.h,v 1.149 2018/01/28 15:13:26 roberto Exp roberto $ |
3 | ** Limits, basic types, and some other 'installation-dependent' definitions | 3 | ** Limits, basic types, and some other 'installation-dependent' definitions |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -131,8 +131,26 @@ typedef LUAI_UACINT l_uacInt; | |||
131 | 131 | ||
132 | 132 | ||
133 | /* | 133 | /* |
134 | ** macros to improve jump prediction (used mainly for error handling) | ||
135 | */ | ||
136 | #if !defined(likely) | ||
137 | |||
138 | #if defined(__GNUC__) | ||
139 | #define likely(x) (__builtin_expect(((x) != 0), 1)) | ||
140 | #define unlikely(x) (__builtin_expect(((x) != 0), 0)) | ||
141 | #else | ||
142 | #define likely(x) (x) | ||
143 | #define unlikely(x) (x) | ||
144 | #endif | ||
145 | |||
146 | #endif | ||
147 | |||
148 | |||
149 | /* | ||
134 | ** non-return type | 150 | ** non-return type |
135 | */ | 151 | */ |
152 | #if !defined(l_noret) | ||
153 | |||
136 | #if defined(__GNUC__) | 154 | #if defined(__GNUC__) |
137 | #define l_noret void __attribute__((noreturn)) | 155 | #define l_noret void __attribute__((noreturn)) |
138 | #elif defined(_MSC_VER) && _MSC_VER >= 1200 | 156 | #elif defined(_MSC_VER) && _MSC_VER >= 1200 |
@@ -141,6 +159,7 @@ typedef LUAI_UACINT l_uacInt; | |||
141 | #define l_noret void | 159 | #define l_noret void |
142 | #endif | 160 | #endif |
143 | 161 | ||
162 | #endif | ||
144 | 163 | ||
145 | 164 | ||
146 | /* | 165 | /* |