3 #include <stdlib/alloca.h>
8 /* Now define the internal interfaces. */
9 extern void *__alloca (size_t __size
);
12 # define __alloca(size) __builtin_alloca (size)
15 extern int __libc_use_alloca (size_t size
) __attribute__ ((const));
16 extern int __libc_alloca_cutoff (size_t size
) __attribute__ ((const));
18 #define __MAX_ALLOCA_CUTOFF 65536
20 #include <allocalim.h>
23 # define extend_alloca(buf, len, newlen) \
24 (__typeof (buf)) ({ size_t __newlen = (newlen); \
25 char *__newbuf = __alloca (__newlen); \
26 if (__newbuf + __newlen == (char *) buf) \
32 # define extend_alloca(buf, len, newlen) \
33 (__typeof (buf)) ({ size_t __newlen = (newlen); \
34 char *__newbuf = __alloca (__newlen); \
35 char *__buf = (buf); \
36 if (__buf + __newlen == __newbuf) \
45 # define extend_alloca(buf, len, newlen) \
46 __alloca (((len) = (newlen)))