hvdijk wrote:

Specifically here, `ScaledNumber` is a class template, that's what is causing 
it to be emitted in every translation unit that uses `ScaledNumber<uint64_t>`, 
even user code that isn't otherwise using it, and it's being emitted according 
to the then-current definition of `NDEBUG`.

> The issue is that we must only guard dump methods (that have definitions 
> outside of the header) if they are not referenced in a public header, even if 
> that reference is also guarded.

That would avoid the error, so that would be a big improvement, thanks. From a 
user perspective, I think it's better if we make sure declarations of `dump()` 
are never available if the definitions are not available, but that is a bigger 
change, I'd happily accept a quick fix first, and I should be able to work on 
that bigger change afterwards.

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

Reply via email to