comparison src/alloc.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
550 { 550 {
551 header->next = lrecord->next; 551 header->next = lrecord->next;
552 break; 552 break;
553 } 553 }
554 else if (next == 0) 554 else if (next == 0)
555 abort (); 555 ABORT ();
556 else 556 else
557 header = next; 557 header = next;
558 } 558 }
559 } 559 }
560 if (lrecord->implementation->finalizer) 560 if (lrecord->implementation->finalizer)
3094 #ifdef PDUMP 3094 #ifdef PDUMP
3095 if (in_pdump) 3095 if (in_pdump)
3096 pdump_backtrace (); 3096 pdump_backtrace ();
3097 #endif 3097 #endif
3098 count = 0; /* warning suppression */ 3098 count = 0; /* warning suppression */
3099 abort (); 3099 ABORT ();
3100 } 3100 }
3101 count += delta; 3101 count += delta;
3102 return count; 3102 return count;
3103 } 3103 }
3104 3104
3216 return sizeof (int); 3216 return sizeof (int);
3217 case XD_LONG: 3217 case XD_LONG:
3218 return sizeof (long); 3218 return sizeof (long);
3219 default: 3219 default:
3220 stderr_out ("Unsupported dump type : %d\n", desc1->type); 3220 stderr_out ("Unsupported dump type : %d\n", desc1->type);
3221 abort (); 3221 ABORT ();
3222 } 3222 }
3223 3223
3224 return 0; 3224 return 0;
3225 } 3225 }
3226 3226
3258 { 3258 {
3259 EMACS_INT offset = lispdesc_indirect_count (desc[pos].offset, desc, obj); 3259 EMACS_INT offset = lispdesc_indirect_count (desc[pos].offset, desc, obj);
3260 if (offset == max_offset) 3260 if (offset == max_offset)
3261 { 3261 {
3262 stderr_out ("Two relocatable elements at same offset?\n"); 3262 stderr_out ("Two relocatable elements at same offset?\n");
3263 abort (); 3263 ABORT ();
3264 } 3264 }
3265 else if (offset > max_offset) 3265 else if (offset > max_offset)
3266 { 3266 {
3267 max_offset = offset; 3267 max_offset = offset;
3268 max_offset_pos = pos; 3268 max_offset_pos = pos;
3543 goto union_switcheroo; 3543 goto union_switcheroo;
3544 break; 3544 break;
3545 3545
3546 default: 3546 default:
3547 stderr_out ("Unsupported description type : %d\n", desc1->type); 3547 stderr_out ("Unsupported description type : %d\n", desc1->type);
3548 abort (); 3548 ABORT ();
3549 } 3549 }
3550 } 3550 }
3551 } 3551 }
3552 } 3552 }
3553 #endif /* USE_KKCC */ 3553 #endif /* USE_KKCC */
3566 { 3566 {
3567 #ifdef USE_KKCC 3567 #ifdef USE_KKCC
3568 /* this code should never be reached when configured for KKCC */ 3568 /* this code should never be reached when configured for KKCC */
3569 stderr_out ("KKCC: Invalid mark_object call.\n"); 3569 stderr_out ("KKCC: Invalid mark_object call.\n");
3570 stderr_out ("Replace mark_object with kkcc_gc_stack_push_lisp_object.\n"); 3570 stderr_out ("Replace mark_object with kkcc_gc_stack_push_lisp_object.\n");
3571 abort (); 3571 ABORT ();
3572 #else /* not USE_KKCC */ 3572 #else /* not USE_KKCC */
3573 3573
3574 tail_recurse: 3574 tail_recurse:
3575 3575
3576 /* Checks we used to perform */ 3576 /* Checks we used to perform */