Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 2500:3d8143fc88e1
[xemacs-hg @ 2005-01-24 23:33:30 by ben]
get working with VC7
config.inc.samp: Declare OPTIONAL_LIBRARY_DIR as root of library directories.
Redo all graphics library defaults to mirror the versions and
directories in the current binary aux distribution on xemacs
web site. Enable TIFF and COMPFACE by default since you can
now compile with them and binary libs are provided.
xemacs.mak: Put our own directories first in case of conflict (e.g. config.h
in compface).
xemacs.mak: Use MSVCRT to avoid link problems.
s/windowsnt.h:
bytecode.c, print.c: Add casts to avoid warning.
compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and
friends here, like for GCC. Need different definitions for VC7
and VC6.
s/windowsnt.h: Remove stuff moved to compiler.h. Disable warning 4646 ("function
declared with __declspec(noreturn) has non-void return type")
on VC7 since lots of Lisp primitives trigger this and there is
no easy way to kludge around the warning.
glyphs-eimage.c: Some really nasty hacks to allow TIFF and JPEG to both be compiled.
#### The better solution is to move the TIFF and JPEG code to
different files.
glyphs-msw.c: Define __STDC__ to avoid problems with compface.h.
intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, syswindows.h: Those wankers at Microsoft cannot leave well enough alone.
Various functions change parameter types semi-randomly between
VC6 and VC7, so we need to include our own versions that
can handle both kinds with appropriate casting.
EmacsFrame.c, EmacsShell-sub.c, EmacsShell.c, alloc.c, alloca.c, buffer.c, bytecode.c, charset.h, chartab.c, cm.c, console-stream.c, console.c, data.c, debug.h, device-msw.c, device-tty.c, device-x.c, doprnt.c, dumper.c, dynarr.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, free-hook.c, gccache-gtk.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, glyphs.c, gtk-glue.c, gutter.c, input-method-xlib.c, insdel.c, intl-win32.c, keymap.c, lisp.h, lread.c, lstream.c, macros.c, malloc.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, mule-coding.c, native-gtk-toolbar.c, number.c, objects-msw.c, objects.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, regex.c, scrollbar-gtk.c, scrollbar-x.c, search.c, select-x.c, signal.c, specifier.c, specifier.h, strftime.c, sunplay.c, symbols.c, sysdep.c, sysproc.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, ui-gtk.c, unexnt.c, unicode.c, win32.c, window.c, xgccache.c, s/windowsnt.h: abort() -> ABORT(). Eliminate preprocessor games with abort()
since it creates huge problems in VC7, solvable only by including
massive amounts of files in every compile (and not worth it).
author | ben |
---|---|
date | Mon, 24 Jan 2005 23:34:34 +0000 |
parents | ecf1ebac70d8 |
children | 989a7680c221 |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
1600 TOP = Fold_assq (TOP, arg); | 1600 TOP = Fold_assq (TOP, arg); |
1601 break; | 1601 break; |
1602 } | 1602 } |
1603 | 1603 |
1604 default: | 1604 default: |
1605 abort(); | 1605 ABORT(); |
1606 break; | 1606 break; |
1607 } | 1607 } |
1608 return stack_ptr; | 1608 return stack_ptr; |
1609 } | 1609 } |
1610 | 1610 |
1971 WRITE_INT16 (jump, p); | 1971 WRITE_INT16 (jump, p); |
1972 } | 1972 } |
1973 break; | 1973 break; |
1974 | 1974 |
1975 default: | 1975 default: |
1976 abort(); | 1976 ABORT(); |
1977 break; | 1977 break; |
1978 } | 1978 } |
1979 } | 1979 } |
1980 } | 1980 } |
1981 } | 1981 } |
2047 /* XSTRING_LENGTH() is more efficient than string_char_length(), | 2047 /* XSTRING_LENGTH() is more efficient than string_char_length(), |
2048 which would be slightly more `proper' */ | 2048 which would be slightly more `proper' */ |
2049 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (f->instructions)); | 2049 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (f->instructions)); |
2050 optimize_byte_code (f->instructions, f->constants, | 2050 optimize_byte_code (f->instructions, f->constants, |
2051 program, &program_length, &varbind_count); | 2051 program, &program_length, &varbind_count); |
2052 f->specpdl_depth = XINT (Flength (f->arglist)) + varbind_count; | 2052 f->specpdl_depth = (unsigned short) (XINT (Flength (f->arglist)) + |
2053 varbind_count); | |
2053 f->instructions = | 2054 f->instructions = |
2054 make_opaque (program, program_length * sizeof (Opbyte)); | 2055 make_opaque (program, program_length * sizeof (Opbyte)); |
2055 } | 2056 } |
2056 | 2057 |
2057 assert (OPAQUEP (f->instructions)); | 2058 assert (OPAQUEP (f->instructions)); |
2512 ebolify_bytecode_constants (XCDR (tem)); | 2513 ebolify_bytecode_constants (XCDR (tem)); |
2513 f->instructions = XCAR (tem); | 2514 f->instructions = XCAR (tem); |
2514 f->constants = XCDR (tem); | 2515 f->constants = XCDR (tem); |
2515 return function; | 2516 return function; |
2516 } | 2517 } |
2517 abort (); | 2518 ABORT (); |
2518 return Qnil; /* not (usually) reached */ | 2519 return Qnil; /* not (usually) reached */ |
2519 } | 2520 } |
2520 | 2521 |
2521 DEFUN ("optimize-compiled-function", Foptimize_compiled_function, 1, 1, 0, /* | 2522 DEFUN ("optimize-compiled-function", Foptimize_compiled_function, 1, 1, 0, /* |
2522 Convert compiled function FUNCTION into an optimized internal form. | 2523 Convert compiled function FUNCTION into an optimized internal form. |