diff options
Diffstat (limited to 'cpan')
-rw-r--r-- | cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm index e0d5c7b1f2..0005f13430 100644 --- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm +++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm @@ -503,12 +503,21 @@ EOBOOT print $xs_fh $self->macro_to_endif($macro); } - print $xs_fh <<EOBOOT; + if ($] >= 5.009) { + print $xs_fh <<EOBOOT; + /* As we've been creating subroutines, we better invalidate any cached + methods */ + mro_method_changed_in(symbol_table); + } +EOBOOT + } else { + print $xs_fh <<EOBOOT; /* As we've been creating subroutines, we better invalidate any cached methods */ ++PL_sub_generation; } EOBOOT + } print $xs_fh $explosives ? <<"EXPLODE" : <<"DONT"; |