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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to