From 2bbd85a828f0ea43307a0ca92810570c376002d0 Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Sat, 5 Dec 2020 23:28:53 +0100 Subject: [PATCH] flash/nor/stmsmi: fix compile error with clang 12.0.0 The git preliminarily version of clang 12.0.0_r370171 f067bc3c0ad6 reports an error in the expansion of the macro SMI_READ_REG(): error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] Remove one intermediate macro expansion to make clang happy. Change-Id: I8ae6d9c18808467ba8044d70cbf0a4f76a18d3e6 Signed-off-by: Antonio Borneo Reviewed-on: http://openocd.zylin.com/5958 Tested-by: jenkins Reviewed-by: Xiaofan --- src/flash/nor/stmsmi.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/flash/nor/stmsmi.c b/src/flash/nor/stmsmi.c index e73dd22f6..f633e3619 100644 --- a/src/flash/nor/stmsmi.c +++ b/src/flash/nor/stmsmi.c @@ -41,9 +41,8 @@ #include #include -#define SMI_READ_REG(a) (_SMI_READ_REG(a)) -#define _SMI_READ_REG(a) \ -{ \ +#define SMI_READ_REG(a) \ +({ \ int _ret; \ uint32_t _value; \ \ @@ -51,7 +50,7 @@ if (_ret != ERROR_OK) \ return _ret; \ _value; \ -} +}) #define SMI_WRITE_REG(a, v) \ { \