> On 17 Jul 2020, at 11:25, Giuseppe D'Angelo via Development 
> <development@qt-project.org> wrote:
> 
> Il 17/07/20 11:05, Lars Knoll ha scritto:
>>> No, we should just static_assert for [[no_unique_address]] being available 
>>> on the platforms where we expect it. That is, anywhere but on certain MSVCs.
>> Some older embedded toolchains don’t have the flag neither.
>>> If we make it a configure feature, we open the door to BIC problems as we 
>>> might accidentally turn it off in some builds.
>>> 
>> We should simply add a static assert that the Qt and the applications build 
>> mode are compatible.
> 
> But what would be the advantage of switching from the union to the attribute? 
> Saving 1 byte per class?

Its probably 8 bytes you save because of alignment. 

And it’s cleaner, because using the union trick, we do access several members 
of the union at the same time. It works on all compilers but I’m not 100% 
convinced it’s fully defined behavior according to C++, even if the members 
don’t have data. 

And why wouldn’t we do it, if the compilers support it?

Cheers,
Lars

> 
> Thanks,
> -- 
> Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Senior Software Engineer
> KDAB (France) S.A.S., a KDAB Group company
> Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
> KDAB - The Qt, C++ and OpenGL Experts
> 
> _______________________________________________
> Development mailing list
> Development@qt-project.org
> https://lists.qt-project.org/listinfo/development
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to