Should weak/strong symbols have the same USR?

I believe, currently, weak and strong symbols (functions) have the same USR (Unified Symbol Resolution) names.

For the Clang Static Analyzer, differentiating weak and strong symbols would make sense for CTU (Cross Translation Unit), where we basically build a whole-program mapping from USRs to their defining CPP files.
This breaks, when there are weak symbols because those would land in multiple CPP files.

Since there are more tools using USRs (Such as clangd, I presume), I’m looking for consensus about handling weak/strong symbols.

Should we have different USRs for weak and strong symbols?


For cross-reference, here is the open PR for working around / fixing this issue for the static analyzer.