Fix compiler warnings in code generated by ExtUtils::Constant
This commit is contained in:
parent
a0ea65ae26
commit
0721cd5f0e
@ -0,0 +1,45 @@
|
|||||||
|
From 357c35e6f18e65f372e7a1b22ee39a3c7c9e5810 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robin Barker <RMBarker@cpan.org>
|
||||||
|
Date: Mon, 17 Dec 2012 18:20:14 +0100
|
||||||
|
Subject: [PATCH] Avoid compiler warnings due to mismatched types in *printf
|
||||||
|
format strings.
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
gcc (and probably others) was warning about a mismatch for between `int`
|
||||||
|
(implied by the format %d) and the actual type passed, `line_t`. Avoid this
|
||||||
|
by explicitly casting to UV, and using UVuf.
|
||||||
|
|
||||||
|
CPAN #63832
|
||||||
|
|
||||||
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||||
|
---
|
||||||
|
cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
|
||||||
|
index 545d322..c7e6d05 100644
|
||||||
|
--- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
|
||||||
|
+++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
|
||||||
|
@@ -629,13 +629,14 @@ EOA
|
||||||
|
if ((C_ARRAY_LENGTH(values_for_notfound) > 1)
|
||||||
|
? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) {
|
||||||
|
sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
|
||||||
|
- ", used at %" COP_FILE_F " line %d\\n", sv,
|
||||||
|
- COP_FILE(cop), CopLINE(cop));
|
||||||
|
+ ", used at %" COP_FILE_F " line %" UVuf "\\n",
|
||||||
|
+ sv, COP_FILE(cop), (UV)CopLINE(cop));
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro at %"
|
||||||
|
- COP_FILE_F " line %d\\n", sv, COP_FILE(cop), CopLINE(cop));
|
||||||
|
+ COP_FILE_F " line %" UVuf "\\n",
|
||||||
|
+ sv, COP_FILE(cop), (UV)CopLINE(cop));
|
||||||
|
}
|
||||||
|
croak_sv(sv_2mortal(sv));
|
||||||
|
EOC
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
69
perl-5.27.2-EU-Constant-avoid-uninit-warning.patch
Normal file
69
perl-5.27.2-EU-Constant-avoid-uninit-warning.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 389f3ef2fdfbba2c2816e7334a69a5f540c0a33d Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Mitchell <davem@iabyn.com>
|
||||||
|
Date: Mon, 15 Dec 2014 16:14:13 +0000
|
||||||
|
Subject: [PATCH] EU::Constant: avoid 'uninit' warning
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The code generated by ExtUtils::Constant can look something like:
|
||||||
|
|
||||||
|
static int
|
||||||
|
constant (..., IV *iv_return) {
|
||||||
|
switch (...) {
|
||||||
|
case ...:
|
||||||
|
*iv_return = ...;
|
||||||
|
return PERL_constant_ISIV;
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
IV iv;
|
||||||
|
type = constant(..., &iv);
|
||||||
|
switch (type) {
|
||||||
|
case PERL_constant_ISIV:
|
||||||
|
PUSHi(iv);
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
and the compiler isn't clever enough to realise that the value of iv
|
||||||
|
is only used in the code path where its been set.
|
||||||
|
|
||||||
|
So initialise it to zero to shut gcc up. Ditto nv and pv.
|
||||||
|
|
||||||
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||||
|
---
|
||||||
|
cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
|
||||||
|
index 0dc9258..cf0e1ca 100644
|
||||||
|
--- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
|
||||||
|
+++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
|
||||||
|
@@ -198,17 +198,17 @@ $XS_subname(sv)
|
||||||
|
EOT
|
||||||
|
|
||||||
|
if ($params->{IV}) {
|
||||||
|
- $xs .= " IV iv;\n";
|
||||||
|
+ $xs .= " IV iv = 0; /* avoid uninit var warning */\n";
|
||||||
|
} else {
|
||||||
|
$xs .= " /* IV\t\tiv;\tUncomment this if you need to return IVs */\n";
|
||||||
|
}
|
||||||
|
if ($params->{NV}) {
|
||||||
|
- $xs .= " NV nv;\n";
|
||||||
|
+ $xs .= " NV nv = 0.0; /* avoid uninit var warning */\n";
|
||||||
|
} else {
|
||||||
|
$xs .= " /* NV\t\tnv;\tUncomment this if you need to return NVs */\n";
|
||||||
|
}
|
||||||
|
if ($params->{PV}) {
|
||||||
|
- $xs .= " const char *pv;\n";
|
||||||
|
+ $xs .= " const char *pv = NULL; /* avoid uninit var warning */\n";
|
||||||
|
} else {
|
||||||
|
$xs .=
|
||||||
|
" /* const char\t*pv;\tUncomment this if you need to return PVs */\n";
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
14
perl.spec
14
perl.spec
@ -216,6 +216,14 @@ Patch53: perl-5.27.1-perl-131597-ensure-the-GV-slot-is-filled-for-our-foo
|
|||||||
# RT#130907 in upstream after 5.27.1
|
# RT#130907 in upstream after 5.27.1
|
||||||
Patch54: perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch
|
Patch54: perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch
|
||||||
|
|
||||||
|
# Fix compiler warnings in code generated by ExtUtils::Constant, CPAN RT#63832,
|
||||||
|
# in upstream after 5.27.2
|
||||||
|
Patch55: perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch
|
||||||
|
|
||||||
|
# Fix compiler warnings in code generated by ExtUtils::Constant, CPAN RT#101487,
|
||||||
|
# in upstream after 5.27.2
|
||||||
|
Patch56: perl-5.27.2-EU-Constant-avoid-uninit-warning.patch
|
||||||
|
|
||||||
# Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048
|
# Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048
|
||||||
Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
|
Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
|
||||||
|
|
||||||
@ -2800,6 +2808,8 @@ Perl extension for Version Objects
|
|||||||
%patch52 -p1
|
%patch52 -p1
|
||||||
%patch53 -p1
|
%patch53 -p1
|
||||||
%patch54 -p1
|
%patch54 -p1
|
||||||
|
%patch55 -p1
|
||||||
|
%patch56 -p1
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
%patch201 -p1
|
%patch201 -p1
|
||||||
|
|
||||||
@ -2839,6 +2849,8 @@ perl -x patchlevel.h \
|
|||||||
'Fedora Patch52: Fix executing arybase::_tie_it() in Safe compartement (RT#131588)' \
|
'Fedora Patch52: Fix executing arybase::_tie_it() in Safe compartement (RT#131588)' \
|
||||||
'Fedora Patch53: Fix handling attribute specification on our variables (RT#131597)' \
|
'Fedora Patch53: Fix handling attribute specification on our variables (RT#131597)' \
|
||||||
'Fedora Patch54: Fix splitting non-ASCII strings if unicode_strings feature is enabled (RT#130907)' \
|
'Fedora Patch54: Fix splitting non-ASCII strings if unicode_strings feature is enabled (RT#130907)' \
|
||||||
|
'Fedora Patch55: Fix compiler warnings in code generated by ExtUtils::Constant (CPAN RT#63832)' \
|
||||||
|
'Fedora Patch56: Fix compiler warnings in code generated by ExtUtils::Constant (CPAN RT#101487)' \
|
||||||
'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
|
'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
|
||||||
'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
|
'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
|
||||||
%{nil}
|
%{nil}
|
||||||
@ -5134,6 +5146,8 @@ popd
|
|||||||
- Fix executing arybase::_tie_it() in Safe compartement (RT#131588)
|
- Fix executing arybase::_tie_it() in Safe compartement (RT#131588)
|
||||||
- Fix handling attribute specification on our variables (RT#131597)
|
- Fix handling attribute specification on our variables (RT#131597)
|
||||||
- Fix splitting non-ASCII strings if unicode_strings feature is enabled (RT#130907)
|
- Fix splitting non-ASCII strings if unicode_strings feature is enabled (RT#130907)
|
||||||
|
- Fix compiler warnings in code generated by ExtUtils::Constant
|
||||||
|
(CPAN RT#63832, CPAN RT#101487)
|
||||||
|
|
||||||
* Sat Jul 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4:5.26.0-397
|
* Sat Jul 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4:5.26.0-397
|
||||||
- Enable separate debuginfo back
|
- Enable separate debuginfo back
|
||||||
|
Loading…
Reference in New Issue
Block a user