[PATCH] D63648: [Preprocessor] Honor absolute paths in diagnostics

Alexandre Ganea via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 17 09:34:11 PDT 2019


aganea added a comment.

Thanks for getting back Hans!

In D63648#1589119 <https://reviews.llvm.org/D63648#1589119>, @hans wrote:

> Are you saying the diagnostics were not using absolute paths in those cases and this patch fixes that?


Yes.

>> , or --show-includes, or -E
> 
> Those aren't diagnostics, so that's not surprising.

What would suggest in that case? Add a new `-fpreprocessor-absolute-paths` option? Or change the name of `-fdiagnostics-absolute-paths` for another name that applies to both diagnostics and the preprocessor output?

>> or displaying notes.
> 
> What notes?

That is, the additional output starting with `note:` issued along error messages: `t.cc:4:5: note: candidate function not viable: no known conversion from 'vector<map<[...], float>>' to 'vector<map<[...], double>>' for 1st argument;`
Sometimes, notes are displaying an extra path, sometimes it's just the note alone.

>> We have a peculiar use-case on our end with Fastbuild, where all this was exposed: CPP files are being are preprocessed on one PC, then compiled on another PC (which doesn't have the source-code); then the compiler's stdout is displayed on the first PC.
> 
> And what is the final problem? That diagnostics from the compiler's stdout are not absolute because they came from the preprocessed code that doesn't include the absolute paths?

Exactly. When clicking on a warning/error, those relative paths prevent Visual Studio from jumping to the right location.

Please let me know if further clarification is needed.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63648/new/

https://reviews.llvm.org/D63648





More information about the cfe-commits mailing list