176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef _ALLOCA_H
276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define _ALLOCA_H
376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/**
576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * @file
676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman *
776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Temporary memory allocation
876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman *
976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */
1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <stdint.h>
1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/**
1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Allocate temporary memory from the stack
1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman *
1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * @v size		Size to allocate
1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * @ret ptr		Allocated memory
1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman *
1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * This memory will be freed automatically when the containing
2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * function returns.  There are several caveats regarding use of
2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * alloca(); use it only if you already know what they are.
2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */
2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define alloca(size) __builtin_alloca ( size )
2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif /* _ALLOCA_H */
26