Turns out that 3.2-maint hashes preprocessor output a bit differently,
so the workaround for skipping certain lines was broken in backport.
When skipping the "extra line", the trailing quotes were missing from
the output causing the hash to be different from the normal output.
if (str_startswith(q, "# 31 \"<command-line>\"\n")) {
/* Bogus extra line with #31, after the regular #1:
Ignore the whole line, and continue parsing */
+ hash_buffer(hash, p, q - p);
while (q < end && *q != '\n') {
q++;
}
+ q++;
p = q;
continue;
} else if (str_startswith(q, "# 32 \"<command-line>\" 2\n")) {