mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-31 09:20:23 +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 \
|
#define SCM_OBJCODE_COOKIE \
|
||||||
"GOOF-" SCM_OBJCODE_MACHINE_VERSION_STRING "---"
|
"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 */
|
#endif /* SCM__SCM_H */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue