Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fix LEXWARN issue 76 non-threaded after c7e9a4a

An empty section has index -1
  • Loading branch information...
commit ab621005a7de33382d9986fa609a00875cf8fd33 1 parent 8f301d6
@rurban authored
Showing with 59 additions and 61 deletions.
  1. +9 −11 lib/B/C.pm
  2. +50 −50 log.modules-5.006002d-nt
View
20 lib/B/C.pm
@@ -1618,7 +1618,6 @@ sub B::COP::save {
$warn_sv = substr($warn_sv,1) if substr($warn_sv,0,3) eq '&sv';
$warn_sv = "($warnsvcast)&".$warn_sv.($verbose ?' /*lexwarn*/':'');
$free->add( sprintf( " cop_list[%d].cop_warnings = NULL;", $ix ) );
- #push @static_free, sprintf("cop_list[%d]", $ix);
}
# Trim the .pl extension, to print the executable name only.
@@ -1732,11 +1731,10 @@ sub B::COP::save {
unless $B::C::optimize_warn_sv;
push @static_free, "cop_list[$ix]" if $ITHREADS;
- $init->add(
- sprintf( "CopFILE_set(&cop_list[$ix], %s);", constpv( $file ) ),
- ) if !$optimize_cop and !$ITHREADS;
if (!$ITHREADS) { # special only threaded
- $init->add(sprintf( "CopSTASHPV_set(&cop_list[$ix], %s);", constpv( $op->stashpv ) ));
+ $init->add(sprintf( "CopFILE_set(&cop_list[$ix], %s);", constpv( $file )),
+ sprintf( "CopSTASHPV_set(&cop_list[$ix], %s);", constpv( $op->stashpv ))
+ );
}
# our root: store all packages from this file
@@ -4924,7 +4922,7 @@ _EOT6
}
# special COW handling for 5.10 because of S_unshare_hek_or_pvn limitations
# XXX This fails in S_doeval SAVEFREEOP(PL_eval_root): test 15
- elsif ( $PERL510 and (@static_free or $free->index) ) {
+ elsif ( $PERL510 and (@static_free or $free->index > -1) ) {
print '
int my_perl_destruct( PerlInterpreter *my_perl );
int my_perl_destruct( PerlInterpreter *my_perl ) {
@@ -4944,13 +4942,13 @@ int my_perl_destruct( PerlInterpreter *my_perl ) {
print " SvPV_set($s, (char*)&PL_sv_undef);\n";
} elsif ($s =~ /^cop_list/) {
if ($ITHREADS or !$MULTI) {
- print " CopFILE_set(&$s, NULL);\n";
- if (!$ITHREADS or $]<5.016 or $]>=5.017) {
+ print " CopFILE_set(&$s, NULL);\n";
+ if ($]<5.016 or $]>=5.017) {
print " CopSTASHPV_set(&$s, NULL);\n"
} else {
- print " CopSTASHPV_set(&$s, NULL, 0);\n";
+ print " CopSTASHPV_set(&$s, NULL, 0);\n";
}
- }
+ }
} elsif ($s ne 'ptr_undef') {
warn("unknown static_free: $s at index $_");
}
@@ -5339,7 +5337,7 @@ EOT
if ( !$B::C::destruct and $^O ne 'MSWin32' ) {
warn "fast_perl_destruct (-fno-destruct)\n" if $verbose;
print " fast_perl_destruct( my_perl );\n";
- } elsif ( $PERL510 and (@static_free or $free->index) ) {
+ } elsif ( $PERL510 and (@static_free or $free->index > -1) ) {
warn "my_perl_destruct (-fcog)\n" if $verbose;
print " my_perl_destruct( my_perl );\n";
} elsif ( $] >= 5.007003 ) {
View
100 log.modules-5.006002d-nt
@@ -1,7 +1,7 @@
-# B::C::VERSION = 1.42 96ab7bb 2012-02-02 | t/testm.sh: use pcc prefix for the name
+# B::C::VERSION = 1.43 7c5d5fb 2012-11-08 | C: improve XSLoader::load_file Config::Config->{dlext} and padop_name returning undef
# perlversion = 5.006002d-nt
-# path = perl5.6.2d-nt
-# platform = darwin 64bit non-threaded debug
+# path = perl5.6.2d-nt-hash
+# platform = linux 64bit non-threaded debug
pass Exporter
pass Text::Tabs
pass Text::Wrap
@@ -13,72 +13,72 @@ pass Scalar::Util
pass Getopt::Long
pass Pod::Parser
pass ExtUtils::MakeMaker
-pass Test::Simple
+fail Test::Simple
pass ExtUtils::Manifest
pass Pod::Text
pass constant
pass Test
-pass Data::Dumper
+fail Data::Dumper
pass File::Spec
pass File::Temp
pass ExtUtils::Install
pass Text::ParseWords
pass ExtUtils::CBuilder
skip ExtUtils::ParseXS
-pass Module::Build
+fail Module::Build #TODO overlong linking time
pass File::Path
pass XSLoader
pass MIME::Base64
pass Digest
-pass Digest::MD5
+fail Digest::MD5
pass Sub::Uplevel
pass URI
pass HTML::Tagset
-pass HTML::Parser
-pass Test::Exception
+fail HTML::Parser
+fail Test::Exception
pass Net::Cmd
pass Compress::Raw::Zlib
-pass Compress::Raw::Bzip2
+fail Compress::Raw::Bzip2
pass IO::Compress::Base
pass LWP
pass Storable
pass base
-pass List::MoreUtils
+skip List::MoreUtils
pass Params::Util
-pass Task::Weaken
-pass Class::Accessor
-pass Test::Tester
+skip Task::Weaken
+skip Class::Accessor
+fail Test::Tester
pass Sub::Install
-pass Attribute::Handlers
+skip Attribute::Handlers
pass Data::OptList
pass Sub::Exporter
-pass Test::NoWarnings
+fail Test::NoWarnings #TODO print() on unopened filehandle $Testout
pass version
-pass Params::Validate
-pass Sub::Name
+skip Params::Validate
+skip Sub::Name
pass Filter::Util::Call
-pass Algorithm::C3
-pass Class::C3
+skip Algorithm::C3
+skip Class::C3
skip Scope::Guard
-pass MRO::Compat
+skip MRO::Compat
pass Time::HiRes
-pass Class::Data::Inheritable
-pass Try::Tiny
-pass Devel::GlobalDestruction
-pass Class::MOP
-pass Moose
-pass Test::Deep
-pass Carp::Clan
+skip Class::Data::Inheritable
+skip Try::Tiny
+skip Devel::GlobalDestruction
+skip Class::MOP
+skip Moose
+skip Test::Deep
+skip Carp::Clan
pass Module::Pluggable
pass if(1) => "Sys::Hostname"
-pass Text::Balanced
+skip Text::Balanced
pass DBI
pass Time::Local
-pass IO::Scalar
-pass Sub::Identify
-pass Class::ISA
-pass FCGI
-pass Tree::DAG_Node
+skip IO::Scalar
+skip Sub::Identify
+skip Class::ISA
+skip FCGI
+skip Tree::DAG_Node
skip Path::Class
skip Test::Warn
skip Encode
@@ -86,24 +86,24 @@ skip Variable::Magic
pass CGI
skip B::Hooks::EndOfScope
skip Test::Pod
-pass Digest::SHA1
+fail Digest::SHA1
skip namespace::clean
skip Class::Inspector
-pass Clone
-pass XML::NamespaceSupport
+skip Clone
+skip XML::NamespaceSupport
skip XML::SAX
-pass YAML
+skip YAML
skip MooseX::Types
-pass Class::Singleton
-pass DateTime::TimeZone
-pass DateTime::Locale
-pass DateTime
+skip Class::Singleton
+skip DateTime::TimeZone
+skip DateTime::Locale
+skip DateTime
pass IO::String
-pass AppConfig
-pass UNIVERSAL::require
-pass Template::Stash
-# 88 / 100 modules tested with B-C-1.42 - perl-5.006002d-nt
-# pass 88 / 88 (100.0%)
-# fail 0 / 88 (0.0%)
-# todo 0 / 0 ()
-# skip 12 / 100 (12.0% not installed)
+skip AppConfig
+skip UNIVERSAL::require
+skip Template::Stash
+# 56 / 100 modules tested with B-C-1.43 - perl-5.006002d-nt
+# pass 46 / 56 (82.1%)
+# fail 10 / 56 (17.9%)
+# todo 2 / 10 (20.0%)
+# skip 44 / 100 (44.0% not installed)
Please sign in to comment.
Something went wrong with that request. Please try again.