aganea wrote:

> I will say, `-fno-eliminate-unused-debug-types` is a really heavy hammer that 
> makes debug info much larger - and my understanding was that games tended to 
> have trouble with large debug builds, so I'd be surprised if this was a great 
> path forward.

Absolutely, this is only a short term hack until I figure out a better way to 
fix it.

> Do you have a small example of where Clang and MSVC differ in emitting some 
> particular unreferenced type? I would imagine MSVC isn't emitting /every/ 
> written type...

It's essentially the examples in 
https://github.com/llvm/llvm-project/issues/46924. A class that is only used to 
hold some const/constexpr values. These values are then used by the .NATVIS 
file. With `/Z7`, MSVC seems to always emit them as `S_CONSTANT`s. But in Clang 
since the type isn't used, it is never emitted by 
`CGDebugInfo::EmitAndRetainType()`. Setting `DebugInfo == 
llvm::codegenoptions::UnusedTypeInfo` fixes the problem. Is there a better way?

https://github.com/llvm/llvm-project/pull/95259
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to