From bc6e853d4b27055056eebfd871aaf0fc60405b0f Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Mon, 29 Jan 2018 00:52:40 +0100 Subject: Fix undefined behavior in conditional macro replacement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See C11 6.10.3 ยง11 : If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, the behavior is undefined. --- kern/mutex/mutex_plain.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'kern/mutex/mutex_plain.c') diff --git a/kern/mutex/mutex_plain.c b/kern/mutex/mutex_plain.c index 266bd70b..f12f13fd 100644 --- a/kern/mutex/mutex_plain.c +++ b/kern/mutex/mutex_plain.c @@ -173,9 +173,15 @@ mutex_plain_setup(void) return 0; } -INIT_OP_DEFINE(mutex_plain_setup, - INIT_OP_DEP(mutex_plain_bootstrap, true), #ifdef CONFIG_MUTEX_DEBUG +#define MUTEX_PLAIN_DEBUG_INIT_OP_DEPS \ INIT_OP_DEP(syscnt_setup, true), +#else /* CONFIG_MUTEX_DEBUG */ +#define MUTEX_PLAIN_DEBUG_INIT_OP_DEPS #endif /* CONFIG_MUTEX_DEBUG */ + + +INIT_OP_DEFINE(mutex_plain_setup, + INIT_OP_DEP(mutex_plain_bootstrap, true), + MUTEX_PLAIN_DEBUG_INIT_OP_DEPS ); -- cgit v1.2.3