Mercurial > hg > xemacs-beta
comparison src/free-hook.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 | 04bc9d2f42c7 |
children | 24c38b122889 |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
139 come from malloc */ | 139 come from malloc */ |
140 #if !defined(__linux__) | 140 #if !defined(__linux__) |
141 /* I originally wrote: "There's really no need to drop core." | 141 /* I originally wrote: "There's really no need to drop core." |
142 I have seen the error of my ways. -slb */ | 142 I have seen the error of my ways. -slb */ |
143 if (strict_free_check) | 143 if (strict_free_check) |
144 abort (); | 144 ABORT (); |
145 #endif | 145 #endif |
146 printf("Freeing unmalloc'ed memory at %p\n", ptr); | 146 printf("Freeing unmalloc'ed memory at %p\n", ptr); |
147 __free_hook = check_free; | 147 __free_hook = check_free; |
148 __malloc_hook = check_malloc; | 148 __malloc_hook = check_malloc; |
149 goto end; | 149 goto end; |
153 { | 153 { |
154 /* This happens when you free twice */ | 154 /* This happens when you free twice */ |
155 #if !defined(__linux__) | 155 #if !defined(__linux__) |
156 /* See above comment. */ | 156 /* See above comment. */ |
157 if (strict_free_check) | 157 if (strict_free_check) |
158 abort (); | 158 ABORT (); |
159 #endif | 159 #endif |
160 printf("Freeing %p twice\n", ptr); | 160 printf("Freeing %p twice\n", ptr); |
161 __free_hook = check_free; | 161 __free_hook = check_free; |
162 __malloc_hook = check_malloc; | 162 __malloc_hook = check_malloc; |
163 goto end; | 163 goto end; |
262 { | 262 { |
263 /* This can only happen by reallocing a pointer that didn't | 263 /* This can only happen by reallocing a pointer that didn't |
264 come from malloc. */ | 264 come from malloc. */ |
265 #if !defined(__linux__) | 265 #if !defined(__linux__) |
266 /* see comment in check_free(). */ | 266 /* see comment in check_free(). */ |
267 abort (); | 267 ABORT (); |
268 #endif | 268 #endif |
269 printf("Realloc'ing unmalloc'ed pointer at %p\n", ptr); | 269 printf("Realloc'ing unmalloc'ed pointer at %p\n", ptr); |
270 } | 270 } |
271 | 271 |
272 if (result == 0) | 272 if (result == 0) |
443 block_input_history blhist[BLHISTLIMIT]; | 443 block_input_history blhist[BLHISTLIMIT]; |
444 | 444 |
445 note_block_input (char *file, int line) | 445 note_block_input (char *file, int line) |
446 { | 446 { |
447 note_block (file, line, block_type); | 447 note_block (file, line, block_type); |
448 if (interrupt_input_blocked > 2) abort(); | 448 if (interrupt_input_blocked > 2) ABORT(); |
449 } | 449 } |
450 | 450 |
451 note_unblock_input (char* file, int line) | 451 note_unblock_input (char* file, int line) |
452 { | 452 { |
453 note_block (file, line, unblock_type); | 453 note_block (file, line, unblock_type); |
483 log_gcpro (char *file, int line, struct gcpro *value, blocktype type) | 483 log_gcpro (char *file, int line, struct gcpro *value, blocktype type) |
484 { | 484 { |
485 if (type == ungcpro_type) | 485 if (type == ungcpro_type) |
486 { | 486 { |
487 if (value == gcprolist) goto OK; | 487 if (value == gcprolist) goto OK; |
488 if (! gcprolist) abort (); | 488 if (! gcprolist) ABORT (); |
489 if (value == gcprolist->next) goto OK; | 489 if (value == gcprolist->next) goto OK; |
490 if (! gcprolist->next) abort (); | 490 if (! gcprolist->next) ABORT (); |
491 if (value == gcprolist->next->next) goto OK; | 491 if (value == gcprolist->next->next) goto OK; |
492 if (! gcprolist->next->next) abort (); | 492 if (! gcprolist->next->next) ABORT (); |
493 if (value == gcprolist->next->next->next) goto OK; | 493 if (value == gcprolist->next->next->next) goto OK; |
494 if (! gcprolist->next->next->next) abort (); | 494 if (! gcprolist->next->next->next) ABORT (); |
495 if (value == gcprolist->next->next->next->next) goto OK; | 495 if (value == gcprolist->next->next->next->next) goto OK; |
496 abort (); | 496 ABORT (); |
497 OK:; | 497 OK:; |
498 } | 498 } |
499 gcprohist[gcprohistptr].file = file; | 499 gcprohist[gcprohistptr].file = file; |
500 gcprohist[gcprohistptr].line = line; | 500 gcprohist[gcprohistptr].line = line; |
501 gcprohist[gcprohistptr].type = type; | 501 gcprohist[gcprohistptr].type = type; |