mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-31 12:53:07 +02:00
Revert "glib-init: Add more static assertions for gintptr, guintptr"
On closer inspection, these are redundant with stricter assertions that I added in commit bd1e2a98 "glib-init: Statically assert more facts about standard types", which assert that sizeof (gintptr) == sizeof (void *). As far as I can tell, a sufficiently pedantic interpretation of Standard C doesn't actually require (u)intptr_t to be the same size as a pointer: it only requires that pointers can be losslessly stored in a (u)intptr_t, which a sufficiently pathological ABI could implement by having (for example) 32-bit pointers and a 64-bit uintptr_t just to troll us. However, I'm fairly confident that no practically useful ABI would do this, and certainly nobody has complained about this assertion since 2020. Similarly, Standard C might permit an ABI where 64-bit pointers have the first 32 bits always-zero and therefore storing the remaining bits in a 32-bit uintptr_t is lossless, but again, that would be pathological. This reverts commit da3fc59544f36e246cd7f5a198083203199d5127. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
816b35df67
commit
73c91ef799
@ -141,9 +141,6 @@ G_STATIC_ASSERT (sizeof (gintptr) == sizeof (intptr_t));
|
||||
G_STATIC_ASSERT (sizeof (guintptr) == sizeof (uintptr_t));
|
||||
G_STATIC_ASSERT (G_ALIGNOF (gintptr) == G_ALIGNOF (intptr_t));
|
||||
G_STATIC_ASSERT (G_ALIGNOF (guintptr) == G_ALIGNOF (uintptr_t));
|
||||
/* True by definition */
|
||||
G_STATIC_ASSERT (sizeof (gintptr) >= sizeof (void *));
|
||||
G_STATIC_ASSERT (sizeof (guintptr) >= sizeof (void *));
|
||||
|
||||
G_STATIC_ASSERT (sizeof (gint8) == sizeof (int8_t));
|
||||
G_STATIC_ASSERT (sizeof (guint8) == sizeof (uint8_t));
|
||||
|
Loading…
x
Reference in New Issue
Block a user