diff options
author | Alexey Tourbin <at@altlinux.ru> | 2005-03-19 19:37:12 +0300 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-03-21 14:32:58 +0000 |
commit | bf076876beb37faf404cb529462c0d3621da4786 (patch) | |
tree | d6d57fc35d86e4a4e202fe011473aa3d8eb6e5ae /utils | |
parent | db70e37e387af55c0d76b7ec65cedd21b2364520 (diff) | |
download | perl-bf076876beb37faf404cb529462c0d3621da4786.tar.gz |
Re: [perl #34493] h2ph `extern inline' problems
Message-ID: <20050319133712.GB6484@solemn.turbinal.org>
and
Message-ID: <20050319141457.GC6484@solemn.turbinal.org>
p4raw-id: //depot/perl@24054
Diffstat (limited to 'utils')
-rw-r--r-- | utils/h2ph.PL | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/utils/h2ph.PL b/utils/h2ph.PL index 8c574c338f..6a5710b80a 100644 --- a/utils/h2ph.PL +++ b/utils/h2ph.PL @@ -403,7 +403,7 @@ sub expr { s/^\&\&// && do { $new .= " &&"; next;}; # handle && operator s/^\&([\(a-z\)]+)/$1/i; # hack for things that take the address of s/^(\s+)// && do {$new .= ' '; next;}; - s/^0X([0-9A-F]+)[UL]*//i + s/^0X([0-9A-F]+)[UL]*//i && do {my $hex = $1; $hex =~ s/^0+//; if (length $hex > 8 && !$Config{use64bitint}) { @@ -539,7 +539,7 @@ sub next_line while (length $in) { if ($pre_sub_tri_graphs) { - # Preprocess all tri-graphs + # Preprocess all tri-graphs # including things stuck in quoted string constants. $in =~ s/\?\?=/#/g; # | ??=| #| $in =~ s/\?\?\!/|/g; # | ??!| || @@ -552,17 +552,19 @@ sub next_line $in =~ s/\?\?>/}/g; # | ??>| }| } if ($in =~ /^\#ifdef __LANGUAGE_PASCAL__/) { - # Tru64 disassembler.h evilness: mixed C and Pascal. + # Tru64 disassembler.h evilness: mixed C and Pascal. while (<IN>) { - last if /^\#endif/; + last if /^\#endif/; } + $in = ""; next READ; } if ($in =~ /^extern inline / && # Inlined assembler. $^O eq 'linux' && $file =~ m!(?:^|/)asm/[^/]+\.h$!) { - while (<IN>) { - last if /^}/; + while (<IN>) { + last if /^}/; } + $in = ""; next READ; } if ($in =~ s/\\$//) { # \-newline |