https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120421
Harald van Dijk <harald at gigawatt dot nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |harald at gigawatt dot nl --- Comment #3 from Harald van Dijk <harald at gigawatt dot nl> --- For diagnostics, this is not an exact duplicate, this can be addressed while keeping the column information that is generated today. Here's what Clang does for this same test: $ clang++ -c a.cc a.cc:7:6: error: use of undeclared identifier 'xxxxx' 7 | fcn(xxxxx); // comment | ^ 1 error generated. $ clang++ -c a.cc -save-temps a.cc:7:14: error: use of undeclared identifier 'xxxxx' 7 | longNamefcn(xxxxx); | ^ 1 error generated. That is, although Clang has the same issue that the source column information is completely lost, the column information is that from the preprocessed output, it still manages to generate a good diagnostic by printing the preprocessed line instead.