summaryrefslogtreecommitdiff
path: root/cpan
diff options
context:
space:
mode:
Diffstat (limited to 'cpan')
-rw-r--r--cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm11
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";