From 0589d99c19836db7d8fd519bbf404854ab56fe54 Mon Sep 17 00:00:00 2001 From: Yves Orton Date: Wed, 22 Mar 2023 12:12:00 +0100 Subject: ExtUtils-ParseXS - silence warnings about unreached code in generated XS code On HPUX we get a lot of: "APItest.c", line 4004: warning #2111-D: statement is unreachable: PUTBACK because people have used something like XSRETURN(1); and we generate code that does PUTBACK; return; Adding a pragma to silence it makes the builds happier; --- dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm | 19 ++++++++++++++++++- .../lib/ExtUtils/ParseXS/Constants.pm | 2 +- .../lib/ExtUtils/ParseXS/CountLines.pm | 2 +- dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm | 2 +- .../lib/ExtUtils/ParseXS/Utilities.pm | 2 +- dist/ExtUtils-ParseXS/lib/perlxs.pod | 2 +- dist/ExtUtils-ParseXS/t/001-basic.t | 1 + 7 files changed, 24 insertions(+), 6 deletions(-) (limited to 'dist') diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm index 398c8a58b7..4dfb7c7f47 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm @@ -11,7 +11,7 @@ use Symbol; our $VERSION; BEGIN { - $VERSION = '3.49'; + $VERSION = '3.50'; require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION); require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION); require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION); @@ -636,7 +636,16 @@ EOF $self->print_section(); $self->death("PPCODE must be last thing") if @{ $self->{line} }; print "\tLEAVE;\n" if $self->{ScopeThisXSUB}; + print "#if defined(__HP_cc) || defined(__HP_aCC)\n", + "#pragma diag_suppress 2111\n", + "#endif\n" + if $^O eq "hpux"; print "\tPUTBACK;\n\treturn;\n"; + print "#if defined(__HP_cc) || defined(__HP_aCC)\n", + "#pragma diag_default 2111\n", + "#endif\n" + if $^O eq "hpux"; + } elsif ($self->check_keyword("CODE")) { my $consumed_code = $self->print_section(); @@ -798,6 +807,10 @@ EOF # if (errbuf[0]) # Perl_croak(aTHX_ errbuf); EOF + print "#if defined(__HP_cc) || defined(__HP_aCC)\n", + "#pragma diag_suppress 2128\n", + "#endif\n" + if $^O eq "hpux"; if ($xsreturn) { print Q(<<"EOF") unless $PPCODE; @@ -809,6 +822,10 @@ EOF # XSRETURN_EMPTY; EOF } + print "#if defined(__HP_cc) || defined(__HP_aCC)\n", + "#pragma diag_default 2128\n", + "#endif\n" + if $^O eq "hpux"; print Q(<<"EOF"); #]] diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm index 82baf18e7f..5acd1b0c4c 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Symbol; -our $VERSION = '3.49'; +our $VERSION = '3.50'; =head1 NAME diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm index e8e9bc1180..0282372808 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm @@ -1,7 +1,7 @@ package ExtUtils::ParseXS::CountLines; use strict; -our $VERSION = '3.49'; +our $VERSION = '3.50'; our $SECTION_END_MARKER; diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm index 6f7cca739a..da323cf109 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm @@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval; use strict; use warnings; -our $VERSION = '3.49'; +our $VERSION = '3.50'; =head1 NAME diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm index 519d0472c1..054cbb26fb 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm @@ -5,7 +5,7 @@ use Exporter; use File::Spec; use ExtUtils::ParseXS::Constants (); -our $VERSION = '3.49'; +our $VERSION = '3.50'; our (@ISA, @EXPORT_OK); @ISA = qw(Exporter); diff --git a/dist/ExtUtils-ParseXS/lib/perlxs.pod b/dist/ExtUtils-ParseXS/lib/perlxs.pod index 2eb1cbc7de..0441fcc4d5 100644 --- a/dist/ExtUtils-ParseXS/lib/perlxs.pod +++ b/dist/ExtUtils-ParseXS/lib/perlxs.pod @@ -2409,7 +2409,7 @@ or use the methods given in L. =head1 XS VERSION This document covers features supported by C -(also known as C) 3.49 +(also known as C) 3.50 =head1 AUTHOR DIAGNOSTICS diff --git a/dist/ExtUtils-ParseXS/t/001-basic.t b/dist/ExtUtils-ParseXS/t/001-basic.t index c3617aabb5..d983476a5a 100644 --- a/dist/ExtUtils-ParseXS/t/001-basic.t +++ b/dist/ExtUtils-ParseXS/t/001-basic.t @@ -94,6 +94,7 @@ is( $seen, 1, "Line numbers created in output file, as intended" ); local $/ = undef; seek($IN, 0, 0); my $filecontents = <$IN>; + $filecontents =~ s/^#if defined\(__HP_cc\).*\n#.*\n#endif\n//gm; my $good_T_BOOL_re = qr|\QXS_EUPXS(XS_XSTest_T_BOOL)\E .+? -- cgit v1.2.1