summaryrefslogtreecommitdiff
path: root/coroutine/Stack.h
blob: f0fc703622bb320a45cd8f2e646c3a64c76cdb3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 *  This file is part of the "Coroutine" project and released under the MIT License.
 *
 *  Created by Samuel Williams on 10/11/2020.
 *  Copyright, 2020, by Samuel Williams.
*/

#include COROUTINE_H

#ifdef COROUTINE_PRIVATE_STACK
#define COROUTINE_STACK_LOCAL(type, name) type *name = ruby_xmalloc(sizeof(type))
#define COROUTINE_STACK_FREE(name) ruby_xfree(name)
#else
#define COROUTINE_STACK_LOCAL(type, name) type name##_local; type * name = &name##_local
#define COROUTINE_STACK_FREE(name)
#endif