Change all B's unsigned constants from IVs to UVs.
authorNicholas Clark <nick@ccl4.org>
Tue, 6 Aug 2013 11:15:13 +0000 (13:15 +0200)
committerNicholas Clark <nick@ccl4.org>
Wed, 7 Aug 2013 09:29:30 +0000 (11:29 +0200)
Apart from HEf_SVKEY, all constants are actually unsigned, so this change
avoids 2 warnings "initializer does not fit or is out of range" from the
Solaris C compiler for the two constants with the value 0x80000000

ext/B/Makefile.PL

index 0a27e85..8767b5e 100644 (file)
@@ -20,9 +20,8 @@ if ($core) {
     $headerpath = File::Spec->catdir($Config::Config{archlibexp}, "CORE");
 }
 
-my @names = qw(HEf_SVKEY
-              SVTYPEMASK SVt_PVGV SVt_PVHV
-              PAD_FAKELEX_ANON PAD_FAKELEX_MULTI);
+my @names = ({ name => 'HEf_SVKEY', macro => 1, type => "IV" },
+             qw(SVTYPEMASK SVt_PVGV SVt_PVHV PAD_FAKELEX_ANON PAD_FAKELEX_MULTI));
 
 
 # First element in each tuple is the file; second is a regex snippet
@@ -56,6 +55,6 @@ foreach my $tuple (['cop.h'],
 WriteConstants(
     PROXYSUBS => {push => 'EXPORT_OK'},
     NAME => 'B',
-    NAMES => [map {ref $_ ? $_ : {name=>$_, macro=>1}} @names],
+    NAMES => [map {ref $_ ? $_ : {name=>$_, macro=>1, type=>"UV"}} @names],
     XS_SUBNAME => undef,
 );