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