aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2012-06-04 10:17:48 -0700
committerPaul Eggert2012-06-04 10:17:48 -0700
commita043d3535a567070c005495cd2a6290208647f50 (patch)
tree0421ca109ac0a83948e09c3d30eec9e1aae74218
parente364a2b7e15b4d8e4b36361138781d49720b6c95 (diff)
downloademacs-a043d3535a567070c005495cd2a6290208647f50.tar.gz
emacs-a043d3535a567070c005495cd2a6290208647f50.zip
* PROBLEMS (68000 C compiler problems): Remove obsolete section.
Not only are the compilers long-dead, the obsolete advice typically doesn't apply to current Emacs sources.
-rw-r--r--etc/ChangeLog6
-rw-r--r--etc/PROBLEMS44
2 files changed, 6 insertions, 44 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index ad63879a9cb..5ef6f10a477 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,9 @@
12012-06-04 Paul Eggert <eggert@cs.ucla.edu>
2
3 * PROBLEMS (68000 C compiler problems): Remove obsolete section.
4 Not only are the compilers long-dead, the obsolete advice
5 typically doesn't apply to current Emacs sources.
6
12012-06-03 Chong Yidong <cyd@gnu.org> 72012-06-03 Chong Yidong <cyd@gnu.org>
2 8
3 * themes/wheatgrass-theme.el: 9 * themes/wheatgrass-theme.el:
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 6d5ee0498c7..078352d78f4 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -3205,50 +3205,6 @@ causes the problem to go away.
3205The `contents' field of a Lisp vector is an array of Lisp_Objects, 3205The `contents' field of a Lisp vector is an array of Lisp_Objects,
3206so you may see the problem happening with indexed references to that. 3206so you may see the problem happening with indexed references to that.
3207 3207
3208** 68000 C compiler problems
3209
3210Various 68000 compilers have different problems.
3211These are some that have been observed.
3212
3213*** Using value of assignment expression on union type loses.
3214This means that x = y = z; or foo (x = z); does not work
3215if x is of type Lisp_Object.
3216
3217*** "cannot reclaim" error.
3218
3219This means that an expression is too complicated. You get the correct
3220line number in the error message. The code must be rewritten with
3221simpler expressions.
3222
3223*** XCONS, XSTRING, etc macros produce incorrect code.
3224
3225If temacs fails to run at all, this may be the cause.
3226Compile this test program and look at the assembler code:
3227
3228struct foo { char x; unsigned int y : 24; };
3229
3230lose (arg)
3231 struct foo arg;
3232{
3233 test ((int *) arg.y);
3234}
3235
3236If the code is incorrect, your compiler has this problem.
3237In the XCONS, etc., macros in lisp.h you must replace (a).u.val with
3238((a).u.val + coercedummy) where coercedummy is declared as int.
3239
3240This problem will only happen if USE_LISP_UNION_TYPE is manually
3241defined in lisp.h.
3242
3243** C compilers lose on returning unions.
3244
3245I hear that some C compilers cannot handle returning a union type.
3246Most of the functions in GNU Emacs return type Lisp_Object, which is
3247defined as a union on some rare architectures.
3248
3249This problem will only happen if USE_LISP_UNION_TYPE is manually
3250defined in lisp.h.
3251
3252 3208
3253This file is part of GNU Emacs. 3209This file is part of GNU Emacs.
3254 3210