[Development] QProperty and library coding guide
Thiago Macieira
thiago.macieira at intel.com
Fri Jul 24 17:08:00 CEST 2020
On Friday, 24 July 2020 00:20:46 PDT Olivier Goffart wrote:
> You do not need to use the empty array everywhere: only in the helper type
> created by the Q_PRIVATE_QPROPERTY macro. And it can be conditioned on
> pre-c++20 GCC.
The problem is that it is in QObject and other Qt classes. That's why I meant
"everywhere". See its warnings with -pedantic:
https://godbolt.org/z/cYbbG3
though of course it can be disabled:
https://godbolt.org/z/zdbePj
This feature is GCC's extension that was there prior to C99 Flexible Array
Members (FAMs use x[] as a syntax, not x[0]). As an extension that has been
superseded, it can disappear at any time. Though I'll grant you again that a
future compiler that does disappear it is one that will support
[[no_unique_address]].
In all, I think we have enough workarounds for this, for past compilers.
Can I suggest that we prepare at least two papers for the standard? One for
the member-to-containing-object trick and the second for what QProperty really
is: sub-scope of a class. We don't want a different this pointer, we just want
to scope.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel DPG Cloud Engineering
More information about the Development
mailing list