summaryrefslogtreecommitdiffstats
path: root/module/lua
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2022-06-20 19:53:58 +0000
committerBrian Behlendorf <[email protected]>2022-07-27 13:38:56 -0700
commitd7a8c573cf4bfcced97cf9b9ac754c120c968f02 (patch)
treee7270ab4dd083844a07e09b1e305ef33af60e37a /module/lua
parent2d235d58f829e47709ab587bd2be936f69bc6cff (diff)
Silence -Winfinite-recursion warning in luaD_throw()
This code should be kept inline with the upstream lua version as much as possible. Therefore, we simply want to silence the warning. This check was enabled by default as part of -Wall in gcc 12.1. Reviewed-by: Ryan Moeller <[email protected]> Reviewed-by: Alexander Motin <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #13528 Closes #13575
Diffstat (limited to 'module/lua')
-rw-r--r--module/lua/ldo.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/module/lua/ldo.c b/module/lua/ldo.c
index f3c3dcb4d..821c42875 100644
--- a/module/lua/ldo.c
+++ b/module/lua/ldo.c
@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
L->top = oldtop + 1;
}
+/*
+ * Silence infinite recursion warning which was added to -Wall in gcc 12.1
+ */
+#if defined(HAVE_INFINITE_RECURSION)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winfinite-recursion"a
+#endif
l_noret luaD_throw (lua_State *L, int errcode) {
if (L->errorJmp) { /* thread has an error handler? */
@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) {
}
}
+#if defined(HAVE_INFINITE_RECURSION)
+#pragma GCC diagnostic pop
+#endif
+
int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
unsigned short oldnCcalls = L->nCcalls;