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:
parent
8e4c60ff29
commit
99765ed172
1 changed files with 0 additions and 30 deletions
|
@ -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 */
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue