thakis added a comment.

In D63648#1591469 <https://reviews.llvm.org/D63648#1591469>, @aganea wrote:

> It totally makes sense, thanks for the explanation Nico! Let's forget about 
> `cl` compatibility, that wasn't my initial intent.
>
> We always pass //relative// paths on the cmd-line, for all the reasons you've 
> mentioned. We also pass `-fdiagnostics-absolute-paths` hoping to fix the 
> Visual Studio jump-to-location issue I've mentioned above. However that 
> doesn't work, because we do:
>
>   (locally, on my PC)
>     $ clang-cl file.cpp -Isome/relative/path/ -fdiagnostics-absolute-paths 
> /showIncludes -E >file_pre.cpp
>  
>   (and then, on a remote PC)
>     $ clang-cl file_pre.cpp -fdiagnostics-absolute-paths
>   (the remote stdout is then displayed on my PC)
>
>
> `-fdiagnostics-absolute-paths` has no effect in the latter case, because the 
> paths are extracted from the preprocessed file, and paths can't be 
> absolutized anymore on the remote PC because it doesn't have the source code 
> (it is only a worker server).
>  So we end with relative paths in diagnostics, and Visual Studio can't jump 
> to the location of the diagnostic.
>
> What would you suggest? Use absolute paths along with `-fdebug-prefix-map`?


I see, thanks for the details.  A few more questions (sorry!):

- Does fastbuild have something like distcc-pump? (In pump mode, distcc sends 
the raw cc files and all included headers to the server, and preprocessing 
happens remotely – 
http://manpages.ubuntu.com/manpages/bionic/man1/distcc.1.html#how%20distcc-pump%20mode%20works)
 I think this would address this (?)

- IIRC we used to use fdiagnostics-absolute-paths in Chromium but eventually 
stopped because someone figured out how to make MSVC's jump-to-diag work even 
with relative paths (?)

I'm not sure what the Right Fix is here – I can see use cases for `-E` both 
with relative and with absolute paths, even if `-fdiagnostics-absolute-paths` 
:-/

I think `-fdebug-prefix-map` doesn't affect `-E` output as far as I know.


Repository:
  rC Clang

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

https://reviews.llvm.org/D63648



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to