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