# HG changeset patch # User Andreas Schwab # Date 1042229312 0 # Node ID e807249d08c13cd813bd52c2738bf56a9e22380d # Parent f955735e16d8cd97850a90ac713e6ac2fc48a0ed (pure_alloc): Correct alignment for Lisp_Floats. diff -r f955735e16d8 -r e807249d08c1 src/alloc.c --- a/src/alloc.c Fri Jan 10 16:42:27 2003 +0000 +++ b/src/alloc.c Fri Jan 10 20:08:32 2003 +0000 @@ -1,5 +1,5 @@ /* Storage allocation and gc for GNU Emacs Lisp interpreter. - Copyright (C) 1985, 86, 88, 93, 94, 95, 97, 98, 1999, 2000, 2001, 2002 + Copyright (C) 1985, 86, 88, 93, 94, 95, 97, 98, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -3844,7 +3844,12 @@ #else alignment = sizeof (struct Lisp_Float); #endif - pure_bytes_used = ALIGN (pure_bytes_used, alignment); + /* Make sure beg + pure_bytes_used is correctly aligned for a + Lisp_Float, which might need stricter alignment than + EMACS_INT. */ + pure_bytes_used + = (ALIGN ((EMACS_UINT) (beg + pure_bytes_used), alignment) + - (EMACS_UINT) beg); } nbytes = ALIGN (size, sizeof (EMACS_INT));