Branch Coverage

blib/lib/B/CC.pm
Criterion Covered Total %
branch 25 798 3.1


line true false branch
304 14 0 if $] >= 5.008004
411 0 14 if ($PERL512) { }
419 0 0 $PERL512 ? :
421 0 14 if ($] < 5.008) { }
426 0 14 if ($] <= 5.01) { }
14 0 elsif ($] >= 5.018) { }
0 0 elsif ($] >= 5.014) { }
0 0 elsif ($] >= 5.012) { }
486 0 0 if ($debug{'runtime'}) { }
488 0 0 if $verbose
503 0 0 if $debug{'runtime'}
517 0 0 if $entertry_defined and $] < 5.011004
535 0 0 if ($PERL510 or $MULTI)
549 0 0 if ($PERL510) { }
579 0 0 if ($PERL510 and $^O eq 'MSWin32')
581 0 0 if $vivify_ref_defined
693 0 0 if $] < 5.011001 and $inline_ops
698 0 0 if $debug{'queue'}
718 0 0 if $debug{'queue'}
719 0 0 if ($name eq '*ignore*' or $name =~ /^pp_sub_.*(FETCH|MODIFY)_SCALAR_ATTRIBUTES$/) { }
722 0 0 @pl ? :
725 0 0 if ($name =~ /^pp_sub_.*DESTROY$/)
731 0 0 if $debug{'queue'}
742 0 0 @stack ? :
743 0 0 @stack ? :
744 0 0 @stack ? :
745 0 0 @stack ? :
746 0 0 @stack ? :
747 0 0 @stack ? :
749 0 0 @stack ? :
750 0 0 @stack ? :
751 0 0 @stack ? :
752 0 0 @stack ? :
753 0 0 @stack ? :
756 0 0 if (@stack) { }
770 0 0 if $debug{'shadow'}
773 0 0 unless ref $lex
774 0 0 unless $lex->{'flags'} & $avoid
794 0 0 if (not exists $lexstate{$bblock}) { }
796 0 0 unless ref $lex
802 0 0 unless ref $lex
804 0 0 if $old_flags eq $lex->{'flags'}
806 0 0 if ($changed & 16)
807 0 0 $old_flags & 16 ? :
809 0 0 if ($changed & 4)
810 0 0 $old_flags & 4 ? :
812 0 0 if ($changed & 1)
813 0 0 $old_flags & 1 ? :
815 0 0 if ($changed & 8)
816 0 0 $old_flags & 8 ? :
824 0 0 if $debug{'shadow'}
825 0 0 unless @stack
836 0 0 if $debug{'shadow'}
839 0 0 unless ref $lex
840 0 0 unless $lex->{'flags'} & $avoid
847 0 0 unless ref $lex
849 0 0 if ($type == 1) { }
0 0 elsif ($type == 2) { }
0 0 elsif ($type == 3) { }
885 0 0 exists $alloc{$varname} ? :
888 0 0 if ($status != 1)
936 0 0 if (not $$obj[1])
960 0 0 if $debug{'cxstack'}
975 0 0 if $debug{'cxstack'}
976 0 0 if ($cxix < 0 and $debug{'cxstack'})
1004 0 0 if (@_) { }
1079 0 0 if $debug{'pad'}
1093 0 0 if (not defined $namesv or $class eq 'SPECIAL') { }
1098 0 0 if $namesv->PV
1099 0 0 if $nametry
1105 0 0 if (ref $namesv eq 'B::PVMG' and ref $namesv->SvSTASH eq 'B::HV')
1107 0 0 if ($class eq 'int') { }
0 0 elsif ($class eq 'num' or $class eq 'double') { }
0 0 elsif ($class eq 'str' or $class eq 'string') { }
1149 0 0 if ($type == 0 and $opt_name_magic and $name =~ /^(.*)_([dis])(r?)$/)
1151 0 0 if ($2 eq 'i') { }
0 0 elsif ($2 eq 'd') { }
0 0 elsif ($2 eq 's') { }
1163 0 0 if $3
1168 0 0 if ($] < 5.008008 and length $name > 100 and $name =~ /\0\0/)
1170 0 0 if $i > -1
1175 0 0 if $debug{'pad'}
1185 0 0 $type == 1 ? :
0 0 if $pad[$ix]->save_int
1190 0 0 $type == 2 ? :
0 0 if $pad[$ix]->save_double
1195 0 0 $type == 3 ? :
0 0 if $pad[$ix]->save_str
1202 0 0 if ($] > 5.007 and utf8::is_utf8($l))
1207 0 0 $_ < 127 ? :
1236 0 0 if ($op->can('label') and $op->label) { }
1247 0 0 if $$op
1249 0 0 unless ($labels->{'label'}{$$op})
1252 0 0 if ($op->can('label') and $op->label)
1256 0 0 unless $labels->{'label'}{$l}
1259 0 0 if ($verbose) { }
1266 0 0 if ($op->can('label') and $op->label)
1267 0 0 ref $op eq 'B::LOOP' && $op->nextop ? :
0 0 ref $op eq 'B::LOOP' && $op->redoop ? :
0 0 ref $op eq 'B::LOOP' && $op->lastop ? :
0 0 $op->can('label') && $op->label ? :
1283 0 0 unless $know_op
1292 0 0 if ($inline_ops) { }
1295 0 0 $no_stack{$ppname} ? :
1299 0 0 $no_stack{$ppname} ? :
1310 0 0 $want == 3 ? :
0 0 $want == 2 ? :
0 0 $want == 1 ? :
1331 0 0 if (not defined $gimme) { }
0 0 elsif ($gimme == 2) { }
1356 0 0 if (@stack >= 1) { }
1361 0 0 if ($bool =~ /POPs/) { }
1384 0 0 if (@stack >= 1) { }
1389 0 0 if ($bool =~ /POPs/) { }
1412 0 0 if (@stack >= 1) { }
1417 0 0 if ($bool =~ /POPs/) { }
1439 0 0 if (@stack >= 1) { }
1468 0 0 if $sv
1490 0 0 if $pad[$ix]
1491 0 0 if ($op->flags & 32)
1493 0 0 if ($private & 128) { }
0 0 elsif ($private & 48) { }
1499 0 0 if ($] >= 5.015002) { }
1507 0 0 if $pad[$ix]
1520 0 0 if ($$sv) { }
1522 0 0 unless (defined $obj)
1530 0 0 if ($op->next and $op->next->can('name') and $op->next->name eq 'method_named')
1535 0 0 if $debug{'op'}
1544 0 0 if ($$labels{'nextstate'}[-1] and $$labels{'nextstate'}[-1] == $op) { }
1545 0 0 if $debug{'cxstack'}
1553 0 0 if ($ppname =~ /^pp_sub_END(_\d+)?$/ and $ITHREADS)
1556 0 0 if ($] >= 5.018) { }
0 0 elsif ($] >= 5.016 and $] <= 5.017) { }
1566 0 0 if $debug{'lineno'}
1567 0 0 if $op->label and $debug{'cxstack'}
1568 0 0 if $opt_taint
1570 0 0 if ($freetmps_each_bblock or $freetmps_each_loop) { }
1591 0 0 if ($inline_ops) { }
1593 0 0 if $debug{'op'}
1594 0 0 if $curcop
1607 0 0 if ($inline_ops) { }
1609 0 0 if $debug{'op'}
1610 0 0 if $curcop
1612 0 0 if $opt_taint
1621 0 0 if ($inline_ops and $] >= 5.008) { }
1623 0 0 if $debug{'op'}
1628 0 0 if @stack
1637 0 0 if ($inline_ops) { }
1639 0 0 if $debug{'op'}
1642 0 0 unless $skip_lexicals{$ppname}
1643 0 0 unless $skip_stack{$ppname}
1652 0 0 unless $skip_invalidate{$ppname}
1665 0 0 $package_pv ? :
1667 0 0 if (exists &$name) { }
1668 0 0 if $debug{'op'}
1671 0 0 if $debug{'op'}
1679 0 0 if ($inline_ops) { }
1681 0 0 if $debug{'op'}
1694 0 0 if (($svobj->flags & 255) == $SVt_PVLV and B::PVLV::LvTYPE($svobj) eq 121) { }
0 0 elsif (($svobj->flags & 255) == $SVt_PVAV) { }
1735 0 0 if $curcop
1737 0 0 unless $skip_lexicals{$ppname}
1738 0 0 unless $skip_stack{$ppname}
1740 0 0 if ($op->private & 48)
1751 0 0 if ($op->flags & 128 and $op->flags & 64)
1772 0 0 if $debug{'op'}
1791 0 0 if ($ITHREADS) { }
1810 0 0 if ($ITHREADS) { }
1812 0 0 if $debug{'pad'}
1814 0 0 if $debug{'pad'}
1820 0 0 if $gvsym =~ /PL_curpad/
1822 0 0 if ($op->private & 128) { }
1828 0 0 $PERL510 ? :
1837 0 0 if (not $opt_autovivify) { }
0 0 elsif ($INC{'autovivification.pm'}) { }
1850 0 0 if ($op->flags & 128) { }
1855 0 0 $lex && ref $lex eq 'B::AV' && ($lex->MAGICAL & 8388608 || !$lex->ARRAY) ? :
1861 0 0 if ($ITHREADS) { }
1862 0 0 if ($op->can('padix')) { }
1868 0 0 $lex && ref $lex eq 'B::AV' && ($lex->MAGICAL & 8388608 || !$lex->ARRAY) ? :
1880 0 0 $gvav && ($gvav->MAGICAL & 8388608 || !$gvav->ARRAY) ? :
0 0 $] < 5.007 ? :
1886 0 0 !$rmg ? :
1887 0 0 if $debug{'pad'}
1893 0 0 if ($opt_aelem and not $rmg and not $vivify and $ix >= 0) { }
1897 0 0 !$lval && $rmg ? :
1913 0 0 $op->flags & 32 || $op->private & 64 ? :
1916 0 0 if (@stack >= 1) { }
1918 0 0 if (@stack >= 1)
1920 0 0 $avobj && $avobj->MAGICAL & 8388608 ? :
1923 0 0 if $debug{'pad'}
1926 0 0 if ($lval or $rmg) { }
1931 0 0 if $debug{'pad'}
1940 0 0 if ($op->flags & 64) { }
1942 0 0 if (@stack >= 1) { }
1947 0 0 $unsigned ? :
1970 0 0 unless $flags
1977 0 0 if ($op->flags & 64) { }
1978 0 0 if $verbose
1980 0 0 if (@stack >= 1) { }
1982 0 0 if ($force_int) { }
1990 0 0 if ($force_int) { }
2013 0 0 if ($force_int) { }
2044 0 0 if ($force_int) { }
2065 0 0 if ($op->flags & 64) { }
2067 0 0 if (@stack >= 1) { }
2124 0 0 if ($op->flags & 64) { }
2126 0 0 if (@stack >= 1) { }
2128 0 0 if ($flags & 2) { }
0 0 elsif ($flags & 4) { }
2144 0 0 if ($flags & 2) { }
0 0 elsif ($flags & 4) { }
2161 0 0 if ($flags & 2) { }
0 0 elsif ($flags & 4) { }
2314 0 0 if $debug{'op'}
2316 0 0 if $verbose
2317 0 0 if (@stack >= 2) { }
0 0 elsif (@stack == 1) { }
2320 0 0 if $backwards
2322 0 0 if ($type == 1) { }
0 0 elsif ($type == 2) { }
2334 0 0 if ($backwards) { }
2337 0 0 if $opt_taint
2338 0 0 if ($type == 1) { }
0 0 elsif ($type == 2) { }
2339 0 0 if ($src->{'flags'} & 2) { }
2352 0 0 if $opt_magic
2358 0 0 if $opt_taint
2359 0 0 if ($type == 1) { }
0 0 elsif ($type == 2) { }
2366 0 0 $opt_magic ? :
2375 0 0 if ($backwards) { }
2381 0 0 $opt_taint ? :
0 0 $opt_magic ? :
2394 0 0 if (@stack >= 1) { }
2397 0 0 if ($type == 1 or $type == 2) { }
2423 0 0 if $verbose
2426 0 0 if (not defined $gimme) { }
0 0 elsif ($gimme == 3) { }
2440 0 0 if $verbose
2441 0 0 if $curcop
2445 0 0 if ${$op->next;}
2446 0 0 if ${$op->first;} and $op->first->type
2448 0 0 ${$op->next;} ? :
2461 0 0 if $curcop
2471 0 0 if $verbose
2472 0 0 unless $skip_lexicals{$ppname}
2473 0 0 unless $skip_stack{$ppname}
2489 0 0 if $verbose
2490 0 0 unless $skip_lexicals{$ppname}
2491 0 0 unless $skip_stack{$ppname}
2494 0 0 unless $skip_invalidate{$ppname}
2537 0 0 unless $skip_lexicals{$ppname}
2538 0 0 unless $skip_stack{$ppname}
2594 0 0 ${$op->next;} ? :
2615 0 0 if $op->can('other')
2619 0 0 if ($next->isa('B::COP')) { }
2622 0 0 if $op->can('other')
2631 0 0 if $$labels{'leavetry'}[-1] and $$labels{'leavetry'}[-1] == $op
2641 0 0 if ($need_freetmps and $freetmps_each_loop)
2662 0 0 if ($need_freetmps and $freetmps_each_loop)
2728 0 0 unless ($flags & 3)
2729 0 0 if ($strict) { }
2739 0 0 unless (($flags & 3) == 3)
2755 0 0 unless ($flags & 3)
2756 0 0 if ($strict) { }
2764 0 0 if (($flags & 3) == 3)
2774 0 0 $op->private & 64 ? :
2780 0 0 if ($op->flags & 128) { }
2806 0 0 if $curcop
2807 0 0 if $debug{'cxstack'}
2808 0 0 $PERL512 ? :
2819 0 0 if $debug{'cxstack'}
2859 0 0 unless (@cxstack)
2862 0 0 if $debug{'cxstack'}
2871 0 0 if ($op->flags & 128) { }
2873 0 0 if ($cxix < 0)
2880 0 0 if ($label)
2882 0 0 if ($cxix < 0)
2890 0 0 if (CxTYPE_no_LOOP($cxstack[$cxix]))
2891 0 0 unless ($cxstack[$cxix]{'nextop'} and $cxstack[$cxix]{'label'})
2898 0 0 if ($nextop)
2910 0 0 if ($op->flags & 128) { }
2912 0 0 if ($cxix < 0)
2919 0 0 if ($label)
2921 0 0 if ($cxix < 0)
2928 0 0 if (CxTYPE_no_LOOP($cxstack[$cxix]))
2929 0 0 unless ($cxstack[$cxix]{'redoop'} and $cxstack[$cxix]{'label'})
2936 0 0 if ($redoop)
2948 0 0 if ($op->flags & 128) { }
0 0 elsif (ref $op eq 'B::PVOP') { }
2950 0 0 if ($cxix < 0)
2957 0 0 if ($label)
2959 0 0 if ($cxix < 0)
2969 0 0 if (CxTYPE_no_LOOP($cxstack[$cxix]))
2970 0 0 unless ($cxstack[$cxix]{'lastop'} and $cxstack[$cxix]{'label'})
2976 0 0 if ($cxstack[$cxix]{'lastop'} and $cxstack[$cxix]{'lastop'}->next)
2992 0 0 if ($$replroot)
2994 0 0 $PERL510 ? :
3019 0 0 $PERL510 ? :
3044 0 0 if ($curcop and $need_curcop{$ppname})
3047 0 0 unless $skip_lexicals{$ppname}
3048 0 0 unless $skip_stack{$ppname}
3055 0 0 unless $skip_invalidate{$ppname}
3062 0 0 if (exists $ignore_op{$ppname})
3065 0 0 if $debug{'stack'}
3066 0 0 if ($debug{'op'})
3067 0 0 $op->flags & 64 ? :
3071 0 0 if (defined &$ppname) { }
3082 0 0 if $debug{'bblock'}
3088 0 0 if ($] < 5.013 and $opt_slow_signals || $$op && $async_signals{$op->name})
3100 0 0 if ($done{$$start})
3101 0 0 if $verbose
3105 0 0 if not ref($padlist[0]) =~ /^B::(AV|PADNAMELIST)$/ or ref $padlist[1] ne 'B::AV'
3106 0 0 if $verbose
3112 0 0 if ($debug{'timings'})
3117 0 0 if ($#leaders > -1) { }
3124 0 0 if $$start
3129 0 0 if ($debug{'timings'})
3134 0 0 if $debug{'bblock'}
3135 0 0 if not defined $op && $$op or $done{$$op}
3136 0 0 if $debug{'bblock'}
3140 0 0 if ($need_freetmps and $freetmps_each_bblock)
3145 0 0 if ($need_freetmps and $freetmps_each_loop)
3149 0 0 if (not $$op) { }
0 0 elsif ($done{$$op}) { }
3158 0 0 if ($debug{'timings'})
3167 0 0 if @_
3170 0 0 if ($$ccinfo[0] eq 'pp_sub_warnings__register_categories')
3178 0 0 if ($DB::deep and $$ccinfo[0] =~ /^pp_sub_(DB|Term__ReadLine)_/) { }
0 0 elsif (exists $cc_pp_sub{$$ccinfo[0]}) { }
3179 0 0 if $verbose
3180 0 0 if $debug{'queue'}
3183 0 0 if $verbose
3184 0 0 if $debug{'queue'}
3186 0 0 if ($$ccinfo[0] =~ /^(pp_(?:lex)?sub_.*_)(\d*)$/) { }
3194 0 0 if $verbose
3198 0 0 if $debug{'queue'}
3224 0 0 if $module
3231 0 0 unless (defined $module)
3233 0 0 if $verbose
3242 0 0 if $B::C::ro_inc
3253 0 0 if $errors or $check
3255 0 0 unless (defined $module)
3262 0 0 if ($] < 5.017005) { }
3276 0 0 if ($] < 5.017)
3292 0 0 if (defined $module) { }
3318 0 0 if ($debug{'timings'})
3325 0 0 if $B::C::unresolved_count
3334 0 15 if defined &DB::DB
3340 15 0 if $] >= 5.013009
3341 15 0 if $] >= 5.013005
3342 15 0 unless $] < 5.008
3348 0 15 if ($option =~ /^-(.)(.*)/) { }
3356 0 0 if ($opt eq '-' and $arg eq '-') { }
0 0 elsif ($opt eq 'o') { }
0 0 elsif ($opt eq 'c') { }
0 0 elsif ($opt eq 'v') { }
0 0 elsif ($opt eq 'u') { }
0 0 elsif ($opt eq 'U') { }
0 0 elsif ($opt eq 'strict') { }
0 0 elsif ($opt eq 'f') { }
0 0 elsif ($opt eq 'O') { }
0 0 elsif ($opt eq 'n') { }
0 0 elsif ($opt eq 'm') { }
0 0 elsif ($opt eq 'D') { }
3362 0 0 unless open STDOUT, ">$arg"
3390 0 0 if (defined $ref) { }
3396 0 0 if (defined $ref) { }
3406 0 0 if $arg eq ''
3410 0 0 if ($arg >= 2)
3412 0 0 unless ($ITHREADS)
3417 0 0 if ($arg >= 1)
3419 0 0 unless $freetmps_each_loop
3449 0 0 if $arg eq 'full'
3451 0 0 if ($arg eq 'o') { }
0 0 elsif ($debug_map{$arg}) { }
0 0 elsif ($arg eq 'F' and eval 'require B::Flags;') { }
0 0 elsif (exists $B::C::debug_map{$arg}) { }
3471 14 0 unless $strict or $Config{'ccflags'} =~ /-DDEBUGGING/
3472 0 15 if ($opt_omit_taint)
3480 15 0 if (not $@ and $Opcodes::VERSION)
3487 30 5910 if $ppname eq 'pp_enter' or $ppname eq 'pp_leave'
3488 210 5700 if &Opcodes::opflags($_) & 512
3502 0 15 if defined &DB::DB
3508 90 0 unless $c_optimise{$_}
3510 15 0 unless $c_optimise{'destruct'} and $] > 5.008
3511 15 0 unless $c_optimise{'stash'}
3512 15 0 if (not $B::C::Config::have_independent_comalloc) { }
3513 15 0 unless $c_optimise{'av_init'}
3514 15 0 unless $c_optimise{'av_init2'}
3516 0 0 unless $c_optimise{'av_init'}
3517 0 0 unless $c_optimise{'av_init2'}
3519 0 15 if $opt_type_attr
3533 0 0 if (@options) { }
3537 0 0 unless $objname =~ /::/
3540 0 0 if $@
3541 0 0 if $errors
3546 0 0 if $check