diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-12-26 18:37:01 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-12-26 20:07:33 -0700 |
commit | c7a0d6de46610ac9ceaea5afe1b7983550fc1be6 (patch) | |
tree | c8a2d283f62bba07e8871bcc0dab4174f6fe135e /libcr/coroutine.c | |
parent | e783ff4d07ecb0a7bae90651c17735069a094a82 (diff) |
libcr: Tell GCC that coroutine_table[n].name might not be nul-terminated
Diffstat (limited to 'libcr/coroutine.c')
-rw-r--r-- | libcr/coroutine.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libcr/coroutine.c b/libcr/coroutine.c index 05892c3..32253c8 100644 --- a/libcr/coroutine.c +++ b/libcr/coroutine.c @@ -46,6 +46,10 @@ #error config.h must define CONFIG_COROUTINE_GDB (bool) #endif +/* Enforce that CONFIG_COROUTINE_NUM is greater than 1, to work around + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118212 */ +static_assert(CONFIG_COROUTINE_NUM > 1); + /* Implementation *************************************************************/ #if CONFIG_COROUTINE_VALGRIND @@ -386,7 +390,7 @@ struct coroutine { #if CONFIG_COROUTINE_VALGRIND unsigned stack_id; #endif - char name[CONFIG_COROUTINE_NAME_LEN]; + [[gnu::nonstring]] char name[CONFIG_COROUTINE_NAME_LEN]; }; /* constants ******************************************************************/ |