diff --git a/ghc/utils/hscpp/hscpp.prl b/ghc/utils/hscpp/hscpp.prl index 8d753e5553d68c5dfdf36b2dce8b32d155ea0ab9..802e9edff0a747c5849395592dc329e153d2ddfb 100644 --- a/ghc/utils/hscpp/hscpp.prl +++ b/ghc/utils/hscpp/hscpp.prl @@ -36,10 +36,15 @@ open(INPIPE, "$Cpp @args - <$file |") while (<INPIPE>) { + print STDERR $_; + # line directives come in flavo[u]rs: # s/^#\s*line\s+\d+$/\{\-# LINE \-\}/; IGNORE THIS ONE FOR NOW - s/^#\s*line\s+(\d+)\s+(\".+\")$/\{\-# LINE \1 \"$file\" \-\}/; - s/^#\s*(\d+)\s+(\".*\").*/\{\-# LINE \1 \"$file\" \-\}/; + s/^#\s*line\s+(\d+)\s+(\".+\")$/\{\-# LINE \1 \2 \-\}/; + s/^#\s*(\d+)\s+(\".*\").*/\{\-# LINE \1 \2 \-\}/; + + s/^#\s*(\d+)\s+(\"\").*//; # these are a result of our using stdin in + # the $(CPP) command line above. print $_; }