aboutsummaryrefslogtreecommitdiff
path: root/llimits.h
diff options
context:
space:
mode:
Diffstat (limited to 'llimits.h')
-rw-r--r--llimits.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/llimits.h b/llimits.h
index 9a3ae8d0..725d7c8b 100644
--- a/llimits.h
+++ b/llimits.h
@@ -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/*