Sigh, didn't work in the cpp, !literate case.
while (<INPIPE>) {
# 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 \2 \-\}/;
- s/^#\s*(\d+)\s+(\".*\").*/\{\-# LINE \1 \2 \-\}/;
+ s/^#\s*line\s+(\d+)\s+(\"\")$//;
s/^#\s*(\d+)\s+(\"\").*//; # these are a result of our using stdin in
# the $(CPP) command line above.
+# s/^#\s*line\s+\d+$/\{\-# LINE \-\}/; IGNORE THIS ONE FOR NOW
+ s/^#\s*line\s+(\d+)\s+(\".+\")$/\{\-# LINE \1 \2 \-\}/;
+ s/^#\s*(\d+)\s+(\".*\").*/\{\-# LINE \1 \2 \-\}/;
+
print $_;
}