stephen -- while you're in the process of modifying PROBLEMS, please add an
entry about union type and its propensity to cause crashes. here's some text
that should get you started:
# Set this to turn on the use of the union type, which gets you improved
# type checking of Lisp_Objects -- they're declared as unions instead of
# ints, and so places where a Lisp_Object is mistakenly passed to a routine
# expecting an int (or vice-versa), or a check is written `if (foo)'
# instead of `if (!NILP (foo))', will be flagged as errors. (All of these
# do NOT lead to the expected results! Qnil is not represented as 0 [so if
# (foo) will *ALWAYS* be true for a Lisp_Object], and the representation of
# an integer as a Lisp_Object is not just the integer's numeric value, but
# usually 2x the integer +/- 1.)
# There used to be a claim that it simplified debugging. There may have
# been a grain of truth to this pre-19.8, when there was no lrecord type
# and all objects had a separate type appearing in the tag. Nowadays,
# however, there is no debugging gain, and in fact frequent debugging *LOSS*,
# since many debuggers don't handle unions very well, and usually there is
# no way to directly specify a union from a debugging prompt.
# Furthermore, release builds should *NOT* be done this way because (a) you
# may get less efficiency, with compilers that can't figure out how to
# optimize the union into a machine word; (b) even worse, the union type
# often triggers compiler bugs, especially when combined with Mule and
# error-checking. This has been the case with various times using GCC,
# *AND CURRENTLY HAPPENS WITH VC++*, at least when using pdump. Therefore,
# be warned!
USE_UNION_TYPE=0
you might want to modify the text in the last paragraph to add something like
"and also currently happens with GCC in combination with Mule, pdump, and KKCC
[no error checking].
ben
----- Original Message -----
From: "Adam Duck" <duck(a)informatik.uni-frankfurt.de>
To: "Ben Wing" <ben(a)666.com>
Cc: <xemacs-beta(a)xemacs.org>
Sent: Monday, December 16, 2002 8:32 AM
Subject: Re: crash while using calc
>>>>> "Ben" == Ben Wing <ben(a)666.com>
writes:
Ben> Try turning off --use-union-type.
Yepp, that solved it. Thx.
--
Adam Duck (duck(a)cs.uni-frankfurt.de)
Bockenheimer Landstr. 135 / Zi. 211
60325 Frankfurt/Main
______________________________________
A TRUE Klingon Warrior does not comment his code!
--- Klingon Programmer