blob: a8d1384c6ecebb1029153a52a7df56741cbd4dde [file] [log] [blame]
/* Verify that alloca storage is sufficiently aligned. */
/* ??? May fail if BIGGEST_ALIGNMENT > STACK_BOUNDARY. Which, I guess
can only happen on !STRICT_ALIGNMENT targets. */
typedef __SIZE_TYPE__ size_t;
struct dummy { int x __attribute__((aligned)); };
#define BIGGEST_ALIGNMENT __alignof__(struct dummy)
_Bool foo(void)
{
char *p = __builtin_alloca(32);
return ((size_t)p & (BIGGEST_ALIGNMENT - 1)) == 0;
}
int main()
{
if (!foo())
abort ();
return 0;
}