mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Output to glibconfig.h typedefs for gintptr as the signed integer type
2008-07-28 Tor Lillqvist <tml@novell.com> * configure.in: Output to glibconfig.h typedefs for gintptr as the signed integer type that can hold a pointer, and guintptr as the corresponding unsigned type. These types are portable equivalents to intptr_t and uintptr_t which are not available in all compilers. For all current platforms, they will presumably end up as the same types as gssize and gsize, but in theory size_t can be smaller than intptr_t. Also, the intended use case for gintptr and guintptr is different from that of gssize and gsize. As the name indicates, gintptr is for when one wants an integer type that can hold a pointer, and gsize is for when one wants an integer type that can hold the value of the sizeof operator. svn path=/trunk/; revision=7272
This commit is contained in:
parent
6d34fb9368
commit
6eb6ee655e
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
2008-07-28 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
|
* configure.in: Output to glibconfig.h typedefs for gintptr as the
|
||||||
|
signed integer type that can hold a pointer, and guintptr as the
|
||||||
|
corresponding unsigned type. These types are portable equivalents
|
||||||
|
to intptr_t and uintptr_t which are not available in all
|
||||||
|
compilers.
|
||||||
|
|
||||||
|
For all current platforms, they will presumably end up as the same
|
||||||
|
types as gssize and gsize, but in theory size_t can be smaller
|
||||||
|
than intptr_t. Also, the intended use case for gintptr and
|
||||||
|
guintptr is different from that of gssize and gsize. As the name
|
||||||
|
indicates, gintptr is for when one wants an integer type that can
|
||||||
|
hold a pointer, and gsize is for when one wants an integer type
|
||||||
|
that can hold the value of the sizeof operator.
|
||||||
|
|
||||||
2008-07-28 Matthias Clasen <mclasen@redhat.com>
|
2008-07-28 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
Bug 544465 – gmarkup makes it hard to use pre-rolled parsers
|
Bug 544465 – gmarkup makes it hard to use pre-rolled parsers
|
||||||
|
31
configure.in
31
configure.in
@ -2763,6 +2763,9 @@ _______EOF
|
|||||||
|
|
||||||
#define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
|
#define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
|
||||||
#define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
|
#define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
|
||||||
|
|
||||||
|
typedef signed $glib_intptr_type_define gintptr;
|
||||||
|
typedef unsigned $glib_intptr_type_define guintptr;
|
||||||
_______EOF
|
_______EOF
|
||||||
else
|
else
|
||||||
echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
|
echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
|
||||||
@ -3122,12 +3125,30 @@ esac
|
|||||||
gintbits=`expr $ac_cv_sizeof_int \* 8`
|
gintbits=`expr $ac_cv_sizeof_int \* 8`
|
||||||
glongbits=`expr $ac_cv_sizeof_long \* 8`
|
glongbits=`expr $ac_cv_sizeof_long \* 8`
|
||||||
|
|
||||||
|
|
||||||
case $ac_cv_sizeof_void_p in
|
case $ac_cv_sizeof_void_p in
|
||||||
$ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
|
$ac_cv_sizeof_int)
|
||||||
$ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
|
glib_intptr_type_define=int
|
||||||
$ac_cv_sizeof_long_long)glib_gpi_cast='(gint64)' glib_gpui_cast='(guint64)' ;;
|
glib_gpi_cast=''
|
||||||
*) glib_unknown_void_p=yes ;;
|
glib_gpui_cast=''
|
||||||
|
;;
|
||||||
|
$ac_cv_sizeof_long)
|
||||||
|
glib_intptr_type_define=long
|
||||||
|
glib_gpi_cast='(glong)'
|
||||||
|
glib_gpui_cast='(gulong)'
|
||||||
|
;;
|
||||||
|
$ac_cv_sizeof_long_long)
|
||||||
|
glib_intptr_type_define='long long'
|
||||||
|
glib_gpi_cast='(gint64)'
|
||||||
|
glib_gpui_cast='(guint64)'
|
||||||
|
;;
|
||||||
|
$ac_cv_sizeof___int64)
|
||||||
|
glib_intptr_type_define=__int64
|
||||||
|
glib_gpi_cast='(gint64)'
|
||||||
|
glib_gpui_cast='(guint64)'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
glib_unknown_void_p=yes
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user