summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorTAKAI Kousuke <62541129+t-a-k@users.noreply.github.com>2022-10-26 23:59:10 +0900
committerKarl Williamson <khw@cpan.org>2022-11-02 09:26:46 -0600
commitfce4124fa70860bf2675923721139e9b376b0856 (patch)
tree3c8d964b26a289b75c497e886fef9cee8414e3a6 /op.c
parentb6990aaa91d25c6b5dd6bbd1ec6479e4dbd6cd8c (diff)
downloadperl-fce4124fa70860bf2675923721139e9b376b0856.tar.gz
op.c: Add a cast to silence -Wsign-compare warning
In 32-bit build (where IV is not wider than U32), comparing PL_eval_begin_nest_depth and max_nest_iv would generate a warning: op.c:10817:42: warning: comparison of integer expressions of different signedness: ‘U32’ {aka ‘long unsigned int’} and ‘IV’ {aka ‘long int’} [-Wsign-compare] 10817 | if (PL_eval_begin_nest_depth >= max_nest_iv) { | ^~
Diffstat (limited to 'op.c')
-rw-r--r--op.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/op.c b/op.c
index a4d714758a..55f8c6adcb 100644
--- a/op.c
+++ b/op.c
@@ -10818,7 +10818,10 @@ S_process_special_blocks(pTHX_ I32 floor, const char *const fullname,
sv_setiv(max_nest_sv, max_nest_iv);
}
- if (PL_eval_begin_nest_depth >= max_nest_iv) {
+ /* (UV) below is just to silence a compiler warning, and should be
+ * effectively a no-op, as max_nest_iv will never be negative here.
+ */
+ if (PL_eval_begin_nest_depth >= (UV)max_nest_iv) {
Perl_croak(aTHX_ "Too many nested BEGIN blocks, maximum of %" IVdf " allowed",
max_nest_iv);
}