diff options
| author | Aiden Gall <aiden@aidengall.xyz> | 2025-02-09 18:02:15 +0000 |
|---|---|---|
| committer | Aiden Gall <aiden@aidengall.xyz> | 2025-02-09 18:02:15 +0000 |
| commit | d52282ec3292a1e366d3837e56ef1fb5f07ce178 (patch) | |
| tree | f3b52e1d2aa44fd88808ab9da6530df3ffee0935 /tco.h | |
initial commit
Diffstat (limited to 'tco.h')
| -rw-r--r-- | tco.h | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +/* Copyright (C) 2025 Aiden Gall + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#if defined(__GNUC__) || defined(__clang__) +#define coroutine __attribute__((noinline)) +#else +#define coroutine +#endif + +int tco_go(void (*f)(void)); +void tco_yield(void); |
