From 217e67cb224cbb9bd68a1bce7454b60d50894f79 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 7 Oct 2011 17:45:19 -0300 Subject: new type 'l_noret' for function that do not return --- llimits.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'llimits.h') diff --git a/llimits.h b/llimits.h index d9445501..d0be3ab5 100644 --- a/llimits.h +++ b/llimits.h @@ -1,5 +1,5 @@ /* -** $Id: llimits.h,v 1.91 2011/09/13 17:39:23 roberto Exp roberto $ +** $Id: llimits.h,v 1.92 2011/09/30 12:46:06 roberto Exp roberto $ ** Limits, basic types, and some other `installation-dependent' definitions ** See Copyright Notice in lua.h */ @@ -96,6 +96,19 @@ typedef LUAI_UACNUMBER l_uacNumber; #define cast_uchar(i) cast(unsigned char, (i)) +/* +** non-return type +*/ +#if defined(__GNUC__) +#define l_noret void __attribute__((noreturn)) +#elif defined(_MSC_VER) +#define l_noret void __declspec(noreturn) +#else +#define l_noret void +#endif + + + /* ** maximum depth for nested C calls and syntactical nested non-terminals ** in a program. (Value must fit in an unsigned short int.) -- cgit v1.2.3-55-g6feb