Ar an t-ochtú lá de mí Iúil, scríobh Vin Shelton:
[...] Thank you for the patch. I finally got around to trying to
build
this on Windows and ran into a problem - Visual Studio 6.0 (a little
ancient, but still quite serviceable) doesn't support "long long" so I
get the following errors:
C:\cygwin\usr\local\src\xemacs-21.5-test-2009-07-08\src\glyphs-eimage.c(412)
: error C2065: 'UINT_64_BIT' : undeclared identifier
C:\cygwin\usr\local\src\xemacs-21.5-test-2009-07-08\src\glyphs-eimage.c(412)
: error C2146: syntax error : missing ';' before identifier
'pixels_sq'
...
and so on
....
so I generated the following patch:
diff -r -u --exclude=.hg xemacs-bleeding-edge-pristine/src/lisp.h
xemacs-21.5-jerry/src/lisp.h
--- xemacs-bleeding-edge-pristine/src/lisp.h 2009-06-22
22:44:53.250000000 -0400
+++ xemacs-21.5-jerry/src/lisp.h 2009-07-08 13:26:44.421875000 -0400
@@ -211,6 +211,9 @@
#define UINT_64_BIT unsigned long long
#define MAKE_64_BIT_UNSIGNED_CONSTANT(num) num##ULL
/* No error otherwise; just leave undefined */
+#elif SIZEOF_LONG_LONG == 0
+#define INT_64_BIT __int64
+#define UINT_64_BIT unsigned __int64
#endif
#if SIZEOF_LONG_LONG == 16
@@ -221,7 +224,7 @@
#endif
/* #### Fill this in for other systems */
-#if defined (INT_64_BIT) && !(defined (i386) || defined (__i386__))
+#if defined (INT_64_BIT) && !(defined (i386) || defined (__i386__) ||
SIZEOF_LONG_LONG == 0)
#define EFFICIENT_INT_64_BIT INT_64_BIT
#define EFFICIENT_UINT_64_BIT UINT_64_BIT
#endif
That solved the compile error, but generated the following warning
when compiling glyphs-eimage.c:
C:\cygwin\usr\local\src\xemacs-21.5-test-2009-07-08\src\glyphs-eimage.c(1340)
: warning C4244: 'argument' : conversion from 'unsigned __int64' to
'long', possible loss of data
That warning apparently comes from the xnew_binbyte(), which
ultimately translates into an xmalloc() call. What do you think - do
you have any suggestions for cleaning up this warning, or should I not
worry about it, or what?
It is something that needs to be fixed, I get the same problem with Visual
Studio 2005 Express edition, which was the free Microsoft C++ compiler
available for download when I got this machine, in September last year.
I don’t think that change is general enough, I think we need code like this:
http://short.ie/7n8680 (non-shortened URL that my or your mail client will
probably make unclickable:
http://www.google.com/codesearch/p?hl=es&sa=N&cd=9&ct=rc#IyRS...
).
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches