From 9060a85193a0e15f67568ea6cac3a082fbcab30f Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sun, 20 Jul 2014 12:41:57 +0100 Subject: [PATCH] glib-init: statically assert that we have 8-bit bytes configure.ac assumes this. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=730932 --- configure.ac | 1 + glib/glib-init.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index f5f23b721..6e22fcba3 100644 --- a/configure.ac +++ b/configure.ac @@ -2812,6 +2812,7 @@ _______EOF ### this should always be true in a modern C/C++ compiler + ### and is statically asserted by glib-init.c cat >>$outfile <<_______EOF typedef signed char gint8; typedef unsigned char guint8; diff --git a/glib/glib-init.c b/glib/glib-init.c index df812c7d0..24efe9dc1 100644 --- a/glib/glib-init.c +++ b/glib/glib-init.c @@ -35,6 +35,9 @@ /* This seems as good a place as any to make static assertions about platform * assumptions we make throughout GLib. */ +/* We do not support 36-bit bytes or other historical curiosities. */ +G_STATIC_ASSERT (CHAR_BIT == 8); + /* We assume that data pointers are the same size as function pointers... */ G_STATIC_ASSERT (sizeof (gpointer) == sizeof (GFunc)); G_STATIC_ASSERT (_g_alignof (gpointer) == _g_alignof (GFunc));