[edk2-devel] [PATCH] RedfishPkg/JsonLib: Ignore the build error of assignment within conditional expression
Nickle Wang
nickle.wang at hpe.com
Thu Feb 18 03:34:13 UTC 2021
Reviewed-by: Nickle Wang <nickle.wang at hpe.com>
Thanks,
Nickle
> -----Original Message-----
> From: Chang, Abner (HPS SW/FW Technologist) <abner.chang at hpe.com>
> Sent: Friday, January 29, 2021 12:20 PM
> To: devel at edk2.groups.io
> Cc: Leif Lindholm <leif at nuviainc.com>; Wang, Nickle (HPS SW)
> <nickle.wang at hpe.com>; Michael D Kinney <michael.d.kinney at intel.com>
> Subject: [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 <abner.chang at hpe.com>
>
> Cc: Leif Lindholm <leif at nuviainc.com>
> Cc: Nickle Wang <nickle.wang at hpe.com>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> ---
> 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 (#71772): https://edk2.groups.io/g/devel/message/71772
Mute This Topic: https://groups.io/mt/80203691/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list