Reviewed-by: Liming Gao <[email protected]>

> -----邮件原件-----
> 发件人: [email protected]
> <[email protected]> 代表 Abner Chang
> 发送时间: 2021年1月29日 12:20
> 收件人: [email protected]
> 抄送: Leif Lindholm <[email protected]>; Nickle Wang
> <[email protected]>; Michael D Kinney <[email protected]>
> 主题: [edk2-devel] [PATCH] RedfishPkg/JsonLib: Ignore the build error of
> assignment within conditional expression
> 
> Add build option to ignore the build error of "assignment within
> conditional expression".
> This build error is caused by the macros defined in open source
> project jansson header file jansson.h.
> 
> - json_object_foreach
> - json_object_foreach_safe
> - json_array_foreach
> 
> We use build option to avoid the build errors on Visual Studio
> (GCC doesn't havvve this problem) for now. Already sent an email
> to jansson open source community to revise these macro as Leif's
> suggestion as below,
> 
> for (key = json_object_iter_key(json_object_iter(object));    \
>        key;
> \
>        key =
> json_object_iter_key(                            \
>             json_object_iter_next(object,
> json_object_key_to_iter(key)))) { \
>        value =
> json_object_iter_value(json_object_key_to_iter(key));         \
>       if (!value) \
>         break; \
>   } \
> 
> We will remove this build option once the patch is accepted and
> upstreamed.
> 
> Signed-off-by: Abner Chang <[email protected]>
> 
> Cc: Leif Lindholm <[email protected]>
> Cc: Nickle Wang <[email protected]>
> Cc: Michael D Kinney <[email protected]>
> ---
>  RedfishPkg/Library/JsonLib/JsonLib.inf | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/RedfishPkg/Library/JsonLib/JsonLib.inf
> b/RedfishPkg/Library/JsonLib/JsonLib.inf
> index 48b094a78a..9d52a622e1 100644
> --- a/RedfishPkg/Library/JsonLib/JsonLib.inf
> +++ b/RedfishPkg/Library/JsonLib/JsonLib.inf
> @@ -75,12 +75,13 @@
>    #   C4244: conversion from type1 to type2, possible loss of data
>    #   C4334: 32-bit shift implicitly converted to 64-bit
>    #   C4204: nonstandard extension used: non-constant aggregate
> initializer
> +  #   C4706: assignment within conditional expression
>    #
>    # Define macro HAVE_CONFIG_H to include jansson_private_config.h to
> build.
>    # Undefined _WIN32, WIN64, _MSC_VER macros
>    # On GCC, no error on the unused-function and unused-but-set-variable.
>    #
> -  MSFT:*_*_X64_CC_FLAGS = /wd4204 /wd4244 /wd4090 /wd4334
> /DHAVE_CONFIG_H=1 /U_WIN32 /UWIN64 /U_MSC_VER
> -  MSFT:*_*_IA32_CC_FLAGS = /wd4204 /wd4244 /wd4090
> /DHAVE_CONFIG_H=1 /U_WIN32 /UWIN64 /U_MSC_VER
> +  MSFT:*_*_X64_CC_FLAGS = /wd4204 /wd4244 /wd4090 /wd4334
> /wd4706 /DHAVE_CONFIG_H=1 /U_WIN32 /UWIN64 /U_MSC_VER
> +  MSFT:*_*_IA32_CC_FLAGS = /wd4204 /wd4244 /wd4090 /wd4706
> /DHAVE_CONFIG_H=1 /U_WIN32 /UWIN64 /U_MSC_VER
>    GCC:*_*_*_CC_FLAGS = -Wno-unused-function
> -Wno-unused-but-set-variable
> 
> --
> 2.17.1
> 
> 
> 
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70995): https://edk2.groups.io/g/devel/message/70995
Mute This Topic: https://groups.io/mt/80274424/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to