[PATCH] D111587: re-land: [clang] Fix absolute file paths with -fdebug-prefix-map

Paul Robinson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 15 10:35:21 PDT 2022


probinson added a comment.

In D111587#3382834 <https://reviews.llvm.org/D111587#3382834>, @keith wrote:

> I actually mean dwarf 6, which appears to be partially implemented according to https://lists.llvm.org/pipermail/llvm-dev/2020-April/141055.html
>
> I discovered the issue from the failed tests on https://reviews.llvm.org/D113718 where you can see the test output contains a checksum that otherwise doesn't appear. Passing `-dwarf-version=6` reproduces the issue.

That link describes extensions that might or might not become part of dwarf 6 in the future.  But there is no "dwarf 6" today.  I did a quick grep and don't see any places that check for v6.  File checksums are part of dwarf 5, so presumably the failure reproduces with `-dwarf-version=5` as well?  That would make more sense.

If you really do need `-dwarf-version=6` to reproduce the problem, then somebody has done something very wrong.  Sorry to hold up your review but I very much want to get this clarified.



================
Comment at: clang/test/Modules/module-debuginfo-prefix.m:24
 
-// Dir should always be empty, but on Windows we can't recognize /var
-// as being an absolute path.
-// CHECK: !DIFile(filename: "/OVERRIDE/DebugObjC.h", directory: "{{()|(.*:.*)}}")
+// CHECK: !DIFile(filename: "{{/|.:\\\\}}OVERRIDE{{/|\\\\}}DebugObjC.h", directory: "")
----------------
keith wrote:
> probinson wrote:
> > Does this want to be 
> > `"%{fs-src-root}OVERRIDE%{fs-sep}DebugObjC.h"` ?
> That can only be used in the RUN invocations, but unfortunately regardless it could be used here because of the escaped backslashes, so it requires a regex like this instead 
Ah, got it.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D111587



More information about the cfe-commits mailing list