Mercurial > kinput2.yaz
diff include/LocalAlloc.h @ 0:92745d501b9a
initial import from kinput2-v3.1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Mar 2010 04:44:30 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/LocalAlloc.h Mon Mar 08 04:44:30 2010 +0900 @@ -0,0 +1,24 @@ +/* $Id: LocalAlloc.h,v 1.2 1991/01/22 11:53:28 ishisone Rel $ */ + +/* + * (fast) local allocator macro + * + * if you use gcc, don't worry. + * if you use cc and have reliable alloca(), define HAVE_ALLOCA. + */ + +#ifdef __GNUC__ +#define LOCAL_ALLOC(x) __builtin_alloca((unsigned int)(x)) +#define LOCAL_FREE(x) +#else +#ifdef HAVE_ALLOCA +#ifdef INCLUDE_ALLOCA_H +#include <alloca.h> +#endif +#define LOCAL_ALLOC(x) alloca((unsigned int)(x)) +#define LOCAL_FREE(x) +#else +#define LOCAL_ALLOC(x) malloc((unsigned int)(x)) +#define LOCAL_FREE(x) free((char *)(x)) +#endif /* HAVE_ALLOCA */ +#endif /* __GNUC__ */