summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ExtUtils/Constant/ProxySubs.pm24
1 files changed, 13 insertions, 11 deletions
diff --git a/lib/ExtUtils/Constant/ProxySubs.pm b/lib/ExtUtils/Constant/ProxySubs.pm
index 4fd73ef242..9bcf11011b 100644
--- a/lib/ExtUtils/Constant/ProxySubs.pm
+++ b/lib/ExtUtils/Constant/ProxySubs.pm
@@ -9,7 +9,7 @@ require ExtUtils::Constant::XS;
use ExtUtils::Constant::Utils qw(C_stringify);
use ExtUtils::Constant::XS qw(%XS_TypeSet);
-$VERSION = '0.04';
+$VERSION = '0.05';
@ISA = 'ExtUtils::Constant::XS';
%type_to_struct =
@@ -250,16 +250,7 @@ BOOT:
#endif
HV *symbol_table = get_hv("$symbol_table", TRUE);
#ifndef SYMBIAN
- /* When we create the 'missing' hash, it generates a 'used only once'
- * warning. Therefore, turn off warnings while we do this.
- */
HV *${c_subname}_missing;
- {
- const bool warn_tmp = PL_dowarn;
- PL_dowarn = 0;
- ${c_subname}_missing = get_hv("${symbol_table}${c_subname}_M!55!NG", TRUE);
- PL_dowarn = warn_tmp;
- }
#endif
EOBOOT
@@ -314,12 +305,23 @@ EOBOOT
print $xs_fh <<"EOBOOT";
const struct $struct_type *$iterator{$type} = $array_name;
-
EOBOOT
}
delete $found->{''};
+ print $xs_fh <<"EOBOOT";
+#ifndef SYMBIAN
+ /* When we create the 'missing' hash, it generates a 'used only once'
+ * warning. Therefore, turn off warnings while we do this.
+ */
+ const bool warn_tmp = PL_dowarn;
+ PL_dowarn = 0;
+ ${c_subname}_missing = get_hv("${symbol_table}${c_subname}_M!55!NG", TRUE);
+ PL_dowarn = warn_tmp;
+#endif
+EOBOOT
+
my $add_symbol_subname = $c_subname . '_add_symbol';
foreach my $type (sort keys %$found) {
print $xs_fh $self->boottime_iterator($type, $iterator{$type},