summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2018-02-25 21:38:21 -0700
committerKarl Williamson <khw@cpan.org>2018-03-01 18:47:10 -0700
commitb2f82b52000c3bfe6e6df200c775e2a639d91552 (patch)
tree7ec845ca713303f2cc503683ee5ad450fc30cb23 /sv.c
parentf0dafd73171c0c953273ca301e81fe2b7a040cc2 (diff)
downloadperl-b2f82b52000c3bfe6e6df200c775e2a639d91552.tar.gz
Silence wrong clang warnings
Clang thread-safety analysis fails to correctly work in this situation (and is documented as failing), so turn off that warning here.
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sv.c b/sv.c
index 2475d46bf5..231215e766 100644
--- a/sv.c
+++ b/sv.c
@@ -2667,6 +2667,7 @@ Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
if (SvTYPE(sv) < SVt_NV) {
/* The logic to use SVt_PVNV if necessary is in sv_upgrade. */
sv_upgrade(sv, SVt_NV);
+ CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
DEBUG_c({
DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
STORE_LC_NUMERIC_SET_STANDARD();
@@ -2675,6 +2676,8 @@ Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
PTR2UV(sv), SvNVX(sv));
RESTORE_LC_NUMERIC();
});
+ CLANG_DIAG_RESTORE_STMT;
+
}
else if (SvTYPE(sv) < SVt_PVNV)
sv_upgrade(sv, SVt_PVNV);
@@ -2809,6 +2812,7 @@ Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
and ideally should be fixed. */
return 0.0;
}
+ CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
DEBUG_c({
DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
STORE_LC_NUMERIC_SET_STANDARD();
@@ -2816,6 +2820,7 @@ Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
PTR2UV(sv), SvNVX(sv));
RESTORE_LC_NUMERIC();
});
+ CLANG_DIAG_RESTORE_STMT;
return SvNVX(sv);
}