jhuber6 added a comment.
In D125904#3532608 <https://reviews.llvm.org/D125904#3532608>, @tra wrote:
> That said, I would consider compiling the same source with different
> preprocessor options to be a legitimate use case that we should support.
> Explicitly passing cuid would work as a workaround in those cases, so it's
> not a major issue if we can't make it work out of the box without explicit
> cuid.
I could try to find a way to include the preprocessor options. It might be a
bit more difficult to make it stable however (unless we just append the whole
string).
================
Comment at: clang/lib/CodeGen/CodeGenModule.cpp:6845
+ }
+ OS << llvm::format("%x", ID.getFile()) << llvm::format("%x",
ID.getDevice())
+ << PLoc.getLine();
----------------
tra wrote:
> Considering that the file name may have arbitrary symbols in it, that may
> result in a symbol name that we can't really use.
> I'd print a hash of the (finename+device+line) -- that would guarantee that
> we know there are no funky characters in the suffix.
>
> I'm also not sure if the line number makes any difference here. There's no
> need to differentiate between symbols within the same TU within the same
> compilation, only across different compilations and for that filename+device
> should be sufficient.
What we're using here is basically just the file's integer index on a Unix
system, so it'll just be a hex number at the end of the day, the filename will
look something like
```
foo__static__18a43f325834
```
Yeah, I can remove the line number. I'm not a fan of how it makes the symbol
names change if you just add some white-space.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125904/new/
https://reviews.llvm.org/D125904
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits