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

Reply via email to