Line
Link Here
|
0 |
-- a/ext/Errno/Errno_pm.PL |
0 |
++ b/ext/Errno/Errno_pm.PL |
Lines 225-244
sub write_errno_pm {
Link Here
|
225 |
{ # BeOS (support now removed) did not enter this block |
225 |
{ # BeOS (support now removed) did not enter this block |
226 |
# invoke CPP and read the output |
226 |
# invoke CPP and read the output |
227 |
|
227 |
|
|
|
228 |
my $inhibit_linemarkers = ''; |
229 |
if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) { |
230 |
# GCC 5.0 interleaves expanded macros with line numbers breaking |
231 |
# each line into multiple lines. RT#123784 |
232 |
$inhibit_linemarkers = ' -P'; |
233 |
} |
234 |
|
228 |
if ($^O eq 'VMS') { |
235 |
if ($^O eq 'VMS') { |
229 |
my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}"; |
236 |
my $cpp = "$Config{cppstdin} $Config{cppflags}" . |
|
|
237 |
$inhibit_linemarkers . " $Config{cppminus}"; |
230 |
$cpp =~ s/sys\$input//i; |
238 |
$cpp =~ s/sys\$input//i; |
231 |
open(CPPO,"$cpp errno.c |") or |
239 |
open(CPPO,"$cpp errno.c |") or |
232 |
die "Cannot exec $Config{cppstdin}"; |
240 |
die "Cannot exec $Config{cppstdin}"; |
233 |
} elsif ($IsMSWin32 || $^O eq 'NetWare') { |
241 |
} elsif ($IsMSWin32 || $^O eq 'NetWare') { |
234 |
open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or |
242 |
my $cpp = "$Config{cpprun} $Config{cppflags}" . |
235 |
die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'"; |
243 |
$inhibit_linemarkers; |
|
|
244 |
open(CPPO,"$cpp errno.c |") or |
245 |
die "Cannot run '$cpp errno.c'"; |
236 |
} elsif ($IsSymbian) { |
246 |
} elsif ($IsSymbian) { |
237 |
my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -"; |
247 |
my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" . |
|
|
248 |
$inhibit_linemarkers ." -"; |
238 |
open(CPPO,"$cpp < errno.c |") |
249 |
open(CPPO,"$cpp < errno.c |") |
239 |
or die "Cannot exec $cpp"; |
250 |
or die "Cannot exec $cpp"; |
240 |
} else { |
251 |
} else { |
241 |
my $cpp = default_cpp(); |
252 |
my $cpp = default_cpp() . $inhibit_linemarkers; |
242 |
open(CPPO,"$cpp < errno.c |") |
253 |
open(CPPO,"$cpp < errno.c |") |
243 |
or die "Cannot exec $cpp"; |
254 |
or die "Cannot exec $cpp"; |
244 |
} |
255 |
} |
245 |
-- a/utils/h2ph.PL |
256 |
++ b/utils/h2ph.PL |
Lines 769-775
sub inc_dirs
Link Here
|
769 |
sub build_preamble_if_necessary |
769 |
sub build_preamble_if_necessary |
770 |
{ |
770 |
{ |
771 |
# Increment $VERSION every time this function is modified: |
771 |
# Increment $VERSION every time this function is modified: |
772 |
my $VERSION = 3; |
772 |
my $VERSION = 4; |
773 |
my $preamble = "$Dest_dir/_h2ph_pre.ph"; |
773 |
my $preamble = "$Dest_dir/_h2ph_pre.ph"; |
774 |
|
774 |
|
775 |
# Can we skip building the preamble file? |
775 |
# Can we skip building the preamble file? |
Lines 788-793
sub build_preamble_if_necessary
Link Here
|
788 |
|
788 |
|
789 |
open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; |
789 |
open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; |
790 |
print PREAMBLE "# This file was created by h2ph version $VERSION\n"; |
790 |
print PREAMBLE "# This file was created by h2ph version $VERSION\n"; |
|
|
791 |
# Prevent non-portable hex constants from warning. |
792 |
# |
793 |
# We still produce an overflow warning if we can't represent |
794 |
# a hex constant as an integer. |
795 |
print PREAMBLE "no warnings qw(portable);\n"; |
791 |
|
796 |
|
792 |
foreach (sort keys %define) { |
797 |
foreach (sort keys %define) { |
793 |
if ($opt_D) { |
798 |
if ($opt_D) { |
Lines 814-819
DEFINE
Link Here
|
814 |
# integer: |
819 |
# integer: |
815 |
print PREAMBLE |
820 |
print PREAMBLE |
816 |
"unless (defined &$_) { sub $_() { $1 } }\n\n"; |
821 |
"unless (defined &$_) { sub $_() { $1 } }\n\n"; |
|
|
822 |
} elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { |
823 |
# hex integer |
824 |
# Special cased, since perl warns on hex integers |
825 |
# that can't be represented in a UV. |
826 |
# |
827 |
# This way we get the warning at time of use, so the user |
828 |
# only gets the warning if they happen to use this |
829 |
# platform-specific definition. |
830 |
my $code = $1; |
831 |
$code = "hex('$code')" if length $code > 10; |
832 |
print PREAMBLE |
833 |
"unless (defined &$_) { sub $_() { $code } }\n\n"; |
817 |
} elsif ($define{$_} =~ /^\w+$/) { |
834 |
} elsif ($define{$_} =~ /^\w+$/) { |
818 |
my $def = $define{$_}; |
835 |
my $def = $define{$_}; |
819 |
if ($isatype{$def}) { |
836 |
if ($isatype{$def}) { |