Port struct Lisp_FLoat to oddball platforms
* src/lisp.h (struct Lisp_Float): Declare via GCALIGNED_UNION_MEMBER, not via GCALIGNED_STRUCT, since alloc.c creates these in arrays and GCALIGNED_STRUCT does not necessarily suffice to align struct Lisp_Float when it’s used in an array. This avoids undefined behavior on oddball machines where sizeof (struct Lisp_Float) is not a multiple of 8 and the compiler does not support __attribute__ ((aligned 8)).
This commit is contained in:
parent
c4faf78a98
commit
9f7bfb6cb0
1 changed files with 3 additions and 1 deletions
|
@ -2801,8 +2801,10 @@ struct Lisp_Float
|
|||
{
|
||||
double data;
|
||||
struct Lisp_Float *chain;
|
||||
GCALIGNED_UNION_MEMBER
|
||||
} u;
|
||||
} GCALIGNED_STRUCT;
|
||||
};
|
||||
verify (GCALIGNED (struct Lisp_Float));
|
||||
|
||||
INLINE bool
|
||||
(FLOATP) (Lisp_Object x)
|
||||
|
|
Loading…
Add table
Reference in a new issue