From 5f9712463fedca549e89404a97f0f88e5cd78dd9 Mon Sep 17 00:00:00 2001 From: "audreyt@audreyt.org" Date: Wed, 11 Jul 2007 21:04:49 +0000 Subject: [PATCH] In mangler, lift the multiline-match pragma to toplevel and document it better. --- driver/mangler/ghc-asm.lprl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl index 7c8bd0a..c4a2447 100644 --- a/driver/mangler/ghc-asm.lprl +++ b/driver/mangler/ghc-asm.lprl @@ -59,6 +59,18 @@ for the same reason. Advantage: No more ridiculous call sequences. %************************************************************************ \begin{code} +############################################################################ +# Make all regexp matching multi-line aware. This replaces the line below +# originally found in "sub mangle_asm": +# +# local($*) = 1; +# +# This used to work, but Perl 5.10 removes support for $*, so we uses an +# equivalent construct that works in Perl 5.6 and later. +# +BEGIN { require overload; overload::constant( qr => sub { "(?m:$_[1])" } ) } +############################################################################ + $TargetPlatform = $TARGETPLATFORM; ($Pgm = $0) =~ s|.*/||; @@ -544,12 +556,6 @@ sub mangle_asm { local($in_asmf, $out_asmf) = @_; local($i, $c); - # multi-line regexp matching: - # local($*) = 1; - # the above line used to work, but Perl 5.10 removes $*, so we uses an - # equivalent construct that works in Perl 5.6 and later. - BEGIN { require overload; overload::constant( qr => sub { "(?m:$_[1])" } ) } - # ia64-specific information for code chunks my $ia64_locnum; my $ia64_outnum; -- 1.7.10.4