-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Mats,
Very nice. Thanks.
I applied your patches, but I still get these errors using
- ---with-xemacs-compiler=g++
src/eval.c:6008: error: cast from 'void*' to 'int' loses precision
src/event-unixoid.c:364: error: cast from 'void*' to 'int' loses
precision
src/event-unixoid.c:365: error: cast from 'void*' to 'int' loses
precision
src/event-unixoid.c:366: error: cast from 'void*' to 'int' loses
precision
src/process-unix.c:849: error: cast from 'void*' to 'int' loses precision
src/process-unix.c:850: error: cast from 'void*' to 'int' loses precision
BTW, the gcc version with your patches compiles, tests and seems to
run just fine.
- --- Vladimir
Mats Lidell wrote:
This sounded like a funny thing to try so I gave it a spin and did a
half hearted attempt to get it all the way through. Since I know very
little about the internals this is merely one way to get it through a
c++ compile. I haven't even tried to compile the patched version with
gcc. Still hopefully this patch can provide useful for fixing this.
Patch and build-report below. (Don't get misled by the fact that the
patch starts with ldap. Apparently the C build gets passed the fact
that the API used is marked deprecated while C++ doesn't. A configure
thing? The interesting stuff follows. There is a linuxplay patch in
here too.)
Index: modules/ldap/eldap.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/modules/ldap/eldap.h,v
retrieving revision 1.4
diff -u -r1.4 eldap.h
--- modules/ldap/eldap.h 2005/10/25 08:32:42 1.4
+++ modules/ldap/eldap.h 2007/05/30 07:03:23
@@ -22,6 +22,7 @@
#define INCLUDED_eldap_h_
#include <lber.h>
+#define LDAP_DEPRECATED 1
#include <ldap.h>
/*
Index: src/emacs.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/emacs.c,v
retrieving revision 1.168
diff -u -r1.168 emacs.c
--- src/emacs.c 2006/06/21 17:30:36 1.168
+++ src/emacs.c 2007/05/30 07:03:25
@@ -3368,7 +3368,8 @@
/* If we can, try to avoid problems with super-optimizing compilers
that might decide that memcmp (ptr, ptr, len) can be optimized
away since its result is always 1. */
- memcmp (ptr, (Rawbyte *) ptr + 1, len - 1);
+ // memcmp (ptr, (Rawbyte *) ptr + 1, len - 1);
+ memcmp (ptr, ((char*)ptr + 1), len - 1);
else
memcmp (ptr, ptr, len);
}
Index: src/font-mgr.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/font-mgr.h,v
retrieving revision 1.6
diff -u -r1.6 font-mgr.h
--- src/font-mgr.h 2007/04/30 16:46:36 1.6
+++ src/font-mgr.h 2007/05/30 07:03:25
@@ -137,7 +137,7 @@
DECLARE_EISTRING (eistrpxft_name); \
FcChar8 *name = FcNameUnparse (pattern); \
\
- eicpy_ext(eistrpxft_name, name, Qfc_font_name_encoding); \
+ eicpy_ext(eistrpxft_name, (Extbyte*)name, Qfc_font_name_encoding); \
DEBUG_XFT1 (level, format, eidata(eistrpxft_name)); \
free (name); \
} while (0)
Index: src/linuxplay.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/linuxplay.c,v
retrieving revision 1.21
diff -u -r1.21 linuxplay.c
--- src/linuxplay.c 2007/05/19 17:21:30 1.21
+++ src/linuxplay.c 2007/05/30 07:03:25
@@ -275,7 +275,8 @@
fmtType ffmt;
int fmt,speed,tracks;
void *pptr, *optr, *cptr, *sptr;
- int wrtn,rrtn,crtn,prtn;
+ int wrtn,crtn;
+ size_t rrtn,prtn;
Binbyte sndbuf[SNDBUFSZ];
/* We need to read at least the header information before we can start
Index: src/objects-tty.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-tty.c,v
retrieving revision 1.19
diff -u -r1.19 objects-tty.c
--- src/objects-tty.c 2007/02/22 16:19:44 1.19
+++ src/objects-tty.c 2007/05/30 07:03:26
@@ -378,7 +378,7 @@
if (strchr ((const char *) fontname, '/'))
{
if (tty_font_spec_matches_charset (XDEVICE (device), charset, 0,
- font, 0, -1, 0))
+ font, 0, -1, initial))
return font;
return Qnil;
}
Index: src/objects-xlike-inc.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-xlike-inc.c,v
retrieving revision 1.6
diff -u -r1.6 objects-xlike-inc.c
--- src/objects-xlike-inc.c 2007/02/22 16:19:44 1.6
+++ src/objects-xlike-inc.c 2007/05/30 07:03:26
@@ -61,7 +61,7 @@
const Ibyte *new_hyphening;
for (hyphen_count = 0;
- NULL != (new_hyphening = memchr((const void *)hyphening, '-', length));
+ NULL != (new_hyphening = (const Ibyte*)memchr((const void *)hyphening,
'-', length));
hyphen_count++)
{
++new_hyphening;
@@ -518,7 +518,7 @@
if (cr->rfc3066)
{
DECLARE_DEBUG_FONTNAME (name);
- CHECKING_LANG (0, eidata(name), cr->language);
+ CHECKING_LANG (0, (Extbyte *)eidata(name), cr->language);
lang = (FcChar8 *) cr->rfc3066;
}
else if (cr->charset)
@@ -786,7 +786,7 @@
for (j = 0; j < registries_len; ++j)
{
if (0 == qxestrcasecmp(XSTRING_DATA(XVECTOR_DATA(registries)[j]),
- FALLBACK_ASCII_REGISTRY))
+ (Ibyte*)FALLBACK_ASCII_REGISTRY))
{
have_latin1 = 1;
break;
Index: src/sysdep.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/sysdep.h,v
retrieving revision 1.22
diff -u -r1.22 sysdep.h
--- src/sysdep.h 2004/02/25 20:05:33 1.22
+++ src/sysdep.h 2007/05/30 07:03:26
@@ -26,10 +26,6 @@
#include <setjmp.h>
-#ifndef WIN32_NATIVE
-extern char **environ;
-#endif
-
#ifdef PDUMP
int pdump_read_file (char **pdump_start_pos, size_t *pdump_length);
#endif
@@ -67,6 +63,10 @@
void unrequest_sigio (void);
BEGIN_C_DECLS
+
+#ifndef WIN32_NATIVE
+extern char **environ;
+#endif
void stop_interrupts (void);
void start_interrupts (void);
======================================================================
uname -a: Linux spencer 2.6.20-gentoo-r8 #3 SMP Mon May 28 23:43:45 CEST 2007 i686
Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux
./configure '--prefix=/src/beta/xemacs' '--enable-mule'
'--with-package-path=/src/xemacs/xemacs-packages:/src/xemacs/mule-packages:/src/xemacs/site-packages'
'--enable-sound=esd' '--enable-database=no'
'--enable-widgets=athena' '--enable-dialogs=athena'
'--with-athena=3d' '--with-newgc'
'--with-xft=emacs,tabs,menubars,gauges' '--with-xim=no'
'--with-gnome' '--with-xemacs-compiler=g++'
XEmacs 21.5-b28 "fuki" (+CVS-20070529) configured for `i686-pc-linux'.
Compilation Environment and Installation Defaults:
Source code location: /src/xemacs/working
Installation prefix: /src/beta/xemacs
Operating system description file: `s/linux.h'
Machine description file: `m/intel386.h'
Compiler version: g++ (GCC) 4.1.2 (Gentoo 4.1.2)
- GCC specs file: specs.
- Compiler command: g++ -Wall -Wno-switch -Wundef -Wsign-compare
-Wno-char-subscripts -Wpacked -Weffc++ -g
Compiler version for lib-src: (detection code unimplemented)
- Compiler command for lib-src: gcc -Wall -Wno-switch -Wundef -Wsign-compare
-Wno-char-subscripts -Wpacked -Wshadow -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -g
libc version: 2.5
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
- Using fontconfig to manage fonts.
- Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw3d
- Athena library to link: Xaw3d
Using Lucid menubars.
- Using Xft to render antialiased fonts in menubars.
WARNING: This feature will be replaced with a face.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
- Using Xft to render antialiased fonts in tab controls.
WARNING: This feature will be replaced with a face.
- Using Xft to render antialiased fonts in progress bars.
WARNING: This feature will be replaced with a face.
WARNING: This feature not yet implemented; setting ignored.
TTY:
Compiling in support for ncurses.
Compiling in support for GPM (General Purpose Mouse).
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Sound:
Compiling in support for sound (native).
Compiling in support for ALSA (Advanced Linux Sound Architecture).
Compiling in support for ESD (Enlightened Sound Daemon).
Databases:
Compiling in support for LDAP.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Mail:
Compiling in support for "file" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new GC mark algorithms (KKCC).
WARNING: ---------------------------------------------------------
WARNING: The new algorithms are experimental. They are enabled by
WARNING: default for this release. Use `--disable-kkcc' to
WARNING: turn it off.
WARNING: ---------------------------------------------------------
Using the new incremental garbage collector and the new allocator.
Using POSIX sigaction() to install fault handler.
Using the new portable dumper.
Compiling in support for extra debugging code.
Compiling in support for runtime error checking.
WARNING: ---------------------------------------------------------
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
Contents of file xemacs-make-all.err
Keeping lines matching (in python regexp syntax):
"^--\[\[|\]\]$|^(cd|n?make)\s|errors?|warnings?|pure.*(space|size)|hides|strange|shadowings|^Compil(ing\s+in|ation)|^Using|not\s+found|^Note:|Installing|[Ff]ile\(s\)
copied|\s+tests\s+|^[A-Z] [^ ]+$|^Wrong number of arguments:|^ \*\* |^(FAIL|SKIP):"
... and then deleting lines matching (in python regexp syntax):
"confl.*with.*auto-inlining|^Formatting:|^PASS:|\(100%\) tests successful"
------------------------------------------------------------------------------
cd ./lib-src && make all
cd ./lwlib && make all
cd ./src && make all
emacs.c:3372: warning: statement has no effect
gc.c:137: warning: non-local variable '<anonymous struct> gc_state' uses
anonymous type
Using load-path (/src/xemacs/working/lisp/)
Using module-load-path (/src/xemacs/working/modules)
Generating autoloads for lisp/next-error.el...
Computing custom-loads for next-error...
cd ./modules/ldap && make all
cd /src/xemacs/working/man && make info
------------------------------------------------------------------------------
Contents of file xemacs-make-check.err
Keeping lines matching (in python regexp syntax):
"^--\[\[|\]\]$|^(cd|n?make)\s|errors?|warnings?|pure.*(space|size)|hides|strange|shadowings|^Compil(ing\s+in|ation)|^Using|not\s+found|^Note:|Installing|[Ff]ile\(s\)
copied|\s+tests\s+|^[A-Z] [^ ]+$|^Wrong number of arguments:|^ \*\* |^(FAIL|SKIP):"
... and then deleting lines matching (in python regexp syntax):
"confl.*with.*auto-inlining|^Formatting:|^PASS:|\(100%\) tests successful"
------------------------------------------------------------------------------
cd ./src && make check
base64-tests.el: 1234 of 1234 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
byte-compiler-tests.el: 104 of 104 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
c-tests.el: 4 of 4 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
case-tests.el: 1148 of 1148 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
ccl-tests.el: 4570 of 4570 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
database-tests.el: No tests run.
0 errors that should have been generated, but weren't
0 wrong-error failures
extent-tests.el: 194 of 194 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
hash-table-tests.el: 9866 of 9866 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
iso-ir-196-test.el: 2 of 2 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
lisp-reader-tests.el: 52 of 52 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
lisp-tests.el: 3672 of 3672 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
md5-tests.el: 56 of 56 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
mule-tests.el: 1042 of 1042 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
os-tests.el: 20 of 20 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
regexp-tests.el: 350 of 350 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
region-tests.el: 28 of 28 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
symbol-tests.el: 246 of 246 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
KNOWN BUG: (backward-up-list-moves-point-from-to 23 3) ==> error: (syntax-error
"Unbalanced parentheses")
KNOWN BUG: (backward-up-list-moves-point-from-to 23 3) ==> error: (syntax-error
"Unbalanced parentheses")
syntax-tests.el: 72 of 78 tests successful ( 92%).
KNOWN BUG: (backward-up-list-moves-point-from-to 23 3) ==> error: (syntax-error
"Unbalanced parentheses")
KNOWN BUG: (backward-up-list-moves-point-from-to 23 3) ==> error: (syntax-error
"Unbalanced parentheses")
0 errors that should have been generated, but weren't
0 wrong-error failures
tag-tests.el: 6 of 6 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
weak-tests.el: 140 of 140 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
base64-tests.el: 1234 of 1234 tests successful (100%).
byte-compiler-tests.el: 104 of 104 tests successful (100%).
c-tests.el: 4 of 4 tests successful (100%).
case-tests.el: 1148 of 1148 tests successful (100%).
ccl-tests.el: 4570 of 4570 tests successful (100%).
database-tests.el: No tests run.
extent-tests.el: 194 of 194 tests successful (100%).
hash-table-tests.el: 9866 of 9866 tests successful (100%).
iso-ir-196-test.el: 2 of 2 tests successful (100%).
lisp-reader-tests.el: 52 of 52 tests successful (100%).
lisp-tests.el: 3672 of 3672 tests successful (100%).
md5-tests.el: 56 of 56 tests successful (100%).
mule-tests.el: 1042 of 1042 tests successful (100%).
os-tests.el: 20 of 20 tests successful (100%).
regexp-tests.el: 350 of 350 tests successful (100%).
region-tests.el: 28 of 28 tests successful (100%).
symbol-tests.el: 246 of 246 tests successful (100%).
syntax-tests.el: 72 of 78 tests successful ( 92%).
tag-tests.el: 6 of 6 tests successful (100%).
weak-tests.el: 140 of 140 tests successful (100%).
------------------------------------------------------------------------------
Contents of file xemacs-make-install.err
Keeping lines matching (in python regexp syntax):
"^--\[\[|\]\]$|^(cd|n?make)\s|errors?|warnings?|pure.*(space|size)|hides|strange|shadowings|^Compil(ing\s+in|ation)|^Using|not\s+found|^Note:|Installing|[Ff]ile\(s\)
copied|\s+tests\s+|^[A-Z] [^ ]+$|^Wrong number of arguments:|^ \*\* |^(FAIL|SKIP):"
... and then deleting lines matching (in python regexp syntax):
"confl.*with.*auto-inlining|^Formatting:|^PASS:|\(100%\) tests successful"
------------------------------------------------------------------------------
cd ./lib-src && make all
cd ./lwlib && make all
cd ./src && make all
cd ./modules/ldap && make all
cd /src/xemacs/working/man && make info
cd ./src && make check-features
Installing utilities run internally by XEmacs.
Installing utilities for users to run.
cd /src/beta/xemacs/bin && rm -f ./xemacs && ln -s xemacs-21.5-b28
./xemacs
cd /src/xemacs/working/etc && \
make gzip-el
------------------------------------------------------------------------------
Yours
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (GNU/Linux)
iD8DBQFGXUWOEo/yvZUwubMRAud4AJ4sniFSw1j7O+zcaLyeM2i6mM6PWgCfS3J7
vxAZNvsnqYlZ+/bIfsFd0bw=
=gyj4
-----END PGP SIGNATURE-----
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta