summaryrefslogtreecommitdiff
path: root/gobject
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2002-02-10 16:39:24 +0000
committerHans Breuer <hans@src.gnome.org>2002-02-10 16:39:24 +0000
commit8d45831997492032fd1cf00cba4ceb51bfb157b8 (patch)
tree108952f2b99018c16e6d397c02fa54f43337715b /gobject
parent77d8d5333c216a561467bb2b40a54859d06d75de (diff)
msvc 5.0 can't cast from uint64 to double. Disable respective
2002-02-10 Hans Breuer <hans@breuer.org> * gvaluetransform.c : msvc 5.0 can't cast from uint64 to double. Disable respective transform_func than. * makefile.msc.in : build test programs
Diffstat (limited to 'gobject')
-rw-r--r--gobject/ChangeLog7
-rw-r--r--gobject/gvaluetransform.c11
-rw-r--r--gobject/makefile.msc.in8
3 files changed, 25 insertions, 1 deletions
diff --git a/gobject/ChangeLog b/gobject/ChangeLog
index 8939a9e5e..05db3c71f 100644
--- a/gobject/ChangeLog
+++ b/gobject/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-10 Hans Breuer <hans@breuer.org>
+
+ * gvaluetransform.c : msvc 5.0 can't cast from uint64 to
+ double. Disable respective transform_func than.
+
+ * makefile.msc.in : build test programs
+
Thu Jan 24 07:39:56 2002 Tim Janik <timj@gtk.org>
* gobject.c (g_signal_connect_object): return gulong instead
diff --git a/gobject/gvaluetransform.c b/gobject/gvaluetransform.c
index eb8f43b26..dcc920318 100644
--- a/gobject/gvaluetransform.c
+++ b/gobject/gvaluetransform.c
@@ -105,8 +105,16 @@ DEFINE_CAST (uint64_uint, v_uint64, guint, v_uint);
DEFINE_CAST (uint64_long, v_uint64, glong, v_long);
DEFINE_CAST (uint64_ulong, v_uint64, gulong, v_ulong);
DEFINE_CAST (uint64_int64, v_uint64, gint64, v_int64);
+#ifdef _MSC_VER
+/* work around error C2520: conversion from unsigned __int64 to double
+ * not implemented, use signed __int64
+ * If it is supported don't miss to g_value_register_transform_func() below
+ */
+#pragma message ("Check if cast from uint64 to double is supported with msvc 6.0")
+#else
DEFINE_CAST (uint64_float, v_uint64, gfloat, v_float);
DEFINE_CAST (uint64_double, v_uint64, gdouble, v_double);
+#endif
DEFINE_CAST (float_s8, v_float, gint8, v_int);
DEFINE_CAST (float_u8, v_float, guint8, v_uint);
DEFINE_CAST (float_int, v_float, gint, v_int);
@@ -370,8 +378,11 @@ g_value_transforms_init (void) /* sync with gtype.c */
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_UINT64, value_transform_uint64_uint64);
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_ENUM, value_transform_uint64_int);
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_FLAGS, value_transform_uint64_uint);
+#ifndef _MSC_VER
+ /* required casts unsupported with msvc 5.0 */
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_FLOAT, value_transform_uint64_float);
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_DOUBLE, value_transform_uint64_double);
+#endif
g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_STRING, value_transform_uint64_string);
g_value_register_transform_func (G_TYPE_ENUM, G_TYPE_CHAR, value_transform_int_s8);
g_value_register_transform_func (G_TYPE_ENUM, G_TYPE_UCHAR, value_transform_int_u8);
diff --git a/gobject/makefile.msc.in b/gobject/makefile.msc.in
index 71442a408..36849ccb2 100644
--- a/gobject/makefile.msc.in
+++ b/gobject/makefile.msc.in
@@ -25,7 +25,9 @@ all : \
gmarshal.strings \
gobject-query.exe \
libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll \
- gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib
+ gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
+ testgruntime.exe \
+ testoverride.exe
gobject_OBJECTS = \
gboxed.obj \
@@ -72,3 +74,7 @@ gobject-query.exe : gobject-query.c libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_
gmarshal.strings : gmarshal.list
perl marshal-genstrings.pl > gmarshal.strings
+
+.c.exe :
+ $(CC) $(CFLAGS) -c $<
+ $(CC) $(CFLAGS) -Fe$@ $< gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib ..\gmodule\gmodule-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib ..\gthread\gthread-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib $(LDFLAGS) user32.lib /subsystem:console