From: Antonio Borneo Date: Sat, 5 Dec 2020 22:28:53 +0000 (+0100) Subject: flash/nor/stmsmi: fix compile error with clang 12.0.0 X-Git-Tag: v0.11.0-rc1~2 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=refs%2Fchanges%2F58%2F5958%2F2 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 --- diff --git a/src/flash/nor/stmsmi.c b/src/flash/nor/stmsmi.c index e73dd22f61..f633e36192 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) \ { \