1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Remove `scm_t_aligned_cell'.

* libguile/_scm.h (scm_aligned_cell, scm_t_aligned_cell): Remove.  The
  whole approach was misguided as the compiler can't guarantee absolute
  alignment on the stack.
This commit is contained in:
Ludovic Courtès 2010-09-27 01:28:49 +02:00
parent 8e4c60ff29
commit 99765ed172

View file

@ -197,36 +197,6 @@
#define SCM_OBJCODE_COOKIE \
"GOOF-" SCM_OBJCODE_MACHINE_VERSION_STRING "---"
/* Cells have to be 8-byte aligned. Use `scm_t_aligned_cell' when not
allocating on the heap to have this guarantee. This is similar to the
`SCM_ALIGNED' macro but provides an option likely to work with compilers
other than GCC. */
#ifdef __GNUC__
struct scm_aligned_cell
{
scm_t_cell cell __attribute__ ((__aligned__ (8)));
};
typedef struct scm_aligned_cell scm_t_aligned_cell;
#else /* !__GNUC__ */
union scm_aligned_cell
{
double alignment;
scm_t_cell cell;
};
typedef union scm_aligned_cell scm_t_aligned_cell;
#endif /* !__GNUC__ */
/* Make sure we get the right alignment. */
verify (alignof (scm_t_aligned_cell) >= 8);
#endif /* SCM__SCM_H */
/*