In mangler, lift the multiline-match pragma to toplevel and document it better.
[ghc-hetmet.git] / driver / mangler / ghc-asm.lprl
index 7c8bd0a..c4a2447 100644 (file)
@@ -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;