On Tue, 26 Nov 2024 at 21:18, Pierrick Bouvier <[email protected]> wrote: > > Signed-off-by: Pierrick Bouvier <[email protected]> > --- > docs/devel/style.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/docs/devel/style.rst b/docs/devel/style.rst > index 2f68b500798..13cb1ef626b 100644 > --- a/docs/devel/style.rst > +++ b/docs/devel/style.rst > @@ -416,6 +416,16 @@ definitions instead of typedefs in headers and function > prototypes; this > avoids problems with duplicated typedefs and reduces the need to include > headers from other headers. > > +Bitfields > +--------- > + > +C bitfields can be a cause of non-portability issues, especially under > windows > +where `MSVC has a different way to layout them than gcc
"to lay them out" > +<https://gcc.gnu.org/onlinedocs/gcc/x86-Type-Attributes.html>`_. We should mention also that the layout is different on big and little endian hosts. > +For this reason, we disallow usage of bitfields in packed structures. maybe add "and in any structures which are supposed to exactly match a specific layout in guest memory" ? > +For general usage, using bitfields should be proven to add significant > benefits > +regarding memory usage or usability. Maybe phrase this as We also suggest avoiding bitfields even in structures where the exact layout does not matter, unless you can show that they provide a significant memory usage or usability benefit. ? > + > Reserved namespaces in C and POSIX > ---------------------------------- > > -- > 2.39.5 thanks -- PMM
