BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001
When the 64-bit version of VS compiler is used, the generated
PcdValueInit tool will be failed to compile.
This patch is going to fix that issue.
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
---
BaseTools/Source/C/Common/PcdValueCommon.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h b/BaseTools/Source/C/Common/PcdValueCommon.h
index cfd3bb76e1..1652bd5430 100644
--- a/BaseTools/Source/C/Common/PcdValueCommon.h
+++ b/BaseTools/Source/C/Common/PcdValueCommon.h
@@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Common/UefiBaseTypes.h>
#include <Common/UefiInternalFormRepresentation.h>
#define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field)
#define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])
-#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field))
+#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field))
#define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size)
#define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0]))
#if defined(_MSC_EXTENSIONS)
#define __STATIC_ASSERT static_assert
--
2.20.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#66253): https://edk2.groups.io/g/devel/message/66253
Mute This Topic: https://groups.io/mt/77525766/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> On 10/15/2020 4:20 AM, Bob Feng wrote: > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001 > > When the 64-bit version of VS compiler is used, the generated > PcdValueInit tool will be failed to compile. > > This patch is going to fix that issue. > > Signed-off-by: Bob Feng <bob.c.feng@intel.com> > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Yuwei Chen <yuwei.chen@intel.com> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Sean Brogan <sean.brogan@microsoft.com> > > --- > BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h b/BaseTools/Source/C/Common/PcdValueCommon.h > index cfd3bb76e1..1652bd5430 100644 > --- a/BaseTools/Source/C/Common/PcdValueCommon.h > +++ b/BaseTools/Source/C/Common/PcdValueCommon.h > @@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include <Common/UefiBaseTypes.h> > #include <Common/UefiInternalFormRepresentation.h> > > #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field) > #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0]) > -#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field)) > +#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field)) > #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size) > #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0])) > > #if defined(_MSC_EXTENSIONS) > #define __STATIC_ASSERT static_assert > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66345): https://edk2.groups.io/g/devel/message/66345 Mute This Topic: https://groups.io/mt/77525766/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Sean and Bob: How verify this change? Thanks Liming > -----邮件原件----- > 发件人: Sean Brogan <spbrogan@outlook.com> > 发送时间: 2020年10月17日 6:17 > 收件人: devel@edk2.groups.io; bob.c.feng@intel.com > 抄送: Liming Gao <gaoliming@byosoft.com.cn>; Yuwei Chen > <yuwei.chen@intel.com>; Michael D Kinney <michael.d.kinney@intel.com>; > Sean Brogan <sean.brogan@microsoft.com> > 主题: Re: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build issue > with VS compiler x64 > > Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> > > On 10/15/2020 4:20 AM, Bob Feng wrote: > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001 > > > > When the 64-bit version of VS compiler is used, the generated > > PcdValueInit tool will be failed to compile. > > > > This patch is going to fix that issue. > > > > Signed-off-by: Bob Feng <bob.c.feng@intel.com> > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > Cc: Yuwei Chen <yuwei.chen@intel.com> > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > Cc: Sean Brogan <sean.brogan@microsoft.com> > > > > --- > > BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h > b/BaseTools/Source/C/Common/PcdValueCommon.h > > index cfd3bb76e1..1652bd5430 100644 > > --- a/BaseTools/Source/C/Common/PcdValueCommon.h > > +++ b/BaseTools/Source/C/Common/PcdValueCommon.h > > @@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include <Common/UefiBaseTypes.h> > > #include <Common/UefiInternalFormRepresentation.h> > > > > #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field) > > #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE > *)0)->Field[0]) > > -#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field)) > > +#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field)) > > #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if > (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) + > __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size) > > #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0])) > > > > #if defined(_MSC_EXTENSIONS) > > #define __STATIC_ASSERT static_assert > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66357): https://edk2.groups.io/g/devel/message/66357 Mute This Topic: https://groups.io/mt/77649459/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Liming, To reproduce the issue and verify the change locally you can do, 1. Clone edk2 a. Git clone https://github.com/tianocore/edk2 b. Cd edk2 2. Add Matts repo as a remote. a. git remote add matt https://github.com/matthewfcarlson/edk2.git b. git fetch --all --prune 3. check out his branch a. git checkout matt/personal/macarl/test-array-struct-pcd 4. Create a virtual environment a. Cd .. b. Python -m venv venv 5. Activate it a. Venv/scripts/activate 6. Cd edk2 7. Pip install -r pip-requirements.txt 8. stuart_setup -c .pytool\CISettings.py -p MdeModulePkg -a X64 TOOL_CHAIN_TAG=VS2019 9. stuart_update -c .pytool\CISettings.py -p MdeModulePkg -a X64 TOOL_CHAIN_TAG=VS2019 10. stuart_ci_build -c .pytool\CISettings.py -p MdeModulePkg -a X64 TOOL_CHAIN_TAG=VS2019 Thanks, Bob -----Original Message----- From: gaoliming <gaoliming@byosoft.com.cn> Sent: Monday, October 19, 2020 9:03 AM To: 'Sean Brogan' <spbrogan@outlook.com>; devel@edk2.groups.io; Feng, Bob C <bob.c.feng@intel.com> Cc: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; 'Sean Brogan' <sean.brogan@microsoft.com> Subject: 回复: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build issue with VS compiler x64 Sean and Bob: How verify this change? Thanks Liming > -----邮件原件----- > 发件人: Sean Brogan <spbrogan@outlook.com> > 发送时间: 2020年10月17日 6:17 > 收件人: devel@edk2.groups.io; bob.c.feng@intel.com > 抄送: Liming Gao <gaoliming@byosoft.com.cn>; Yuwei Chen > <yuwei.chen@intel.com>; Michael D Kinney <michael.d.kinney@intel.com>; > Sean Brogan <sean.brogan@microsoft.com> > 主题: Re: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build > issue with VS compiler x64 > > Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> > > On 10/15/2020 4:20 AM, Bob Feng wrote: > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001 > > > > When the 64-bit version of VS compiler is used, the generated > > PcdValueInit tool will be failed to compile. > > > > This patch is going to fix that issue. > > > > Signed-off-by: Bob Feng <bob.c.feng@intel.com> > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > Cc: Yuwei Chen <yuwei.chen@intel.com> > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > Cc: Sean Brogan <sean.brogan@microsoft.com> > > > > --- > > BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h > b/BaseTools/Source/C/Common/PcdValueCommon.h > > index cfd3bb76e1..1652bd5430 100644 > > --- a/BaseTools/Source/C/Common/PcdValueCommon.h > > +++ b/BaseTools/Source/C/Common/PcdValueCommon.h > > @@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include <Common/UefiBaseTypes.h> > > #include <Common/UefiInternalFormRepresentation.h> > > > > #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field) > > #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE > *)0)->Field[0]) > > -#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field)) > > +#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE > > +*)0)->Field)) > > #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if > (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) > + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size) > > #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0])) > > > > #if defined(_MSC_EXTENSIONS) > > #define __STATIC_ASSERT static_assert > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66365): https://edk2.groups.io/g/devel/message/66365 Mute This Topic: https://groups.io/mt/77650227/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Got it. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> > -----邮件原件----- > 发件人: Feng, Bob C <bob.c.feng@intel.com> > 发送时间: 2020年10月19日 9:57 > 收件人: gaoliming <gaoliming@byosoft.com.cn>; 'Sean Brogan' > <spbrogan@outlook.com>; devel@edk2.groups.io > 抄送: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; 'Sean Brogan' <sean.brogan@microsoft.com> > 主题: RE: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build issue > with VS compiler x64 > > Liming, > > To reproduce the issue and verify the change locally you can do, > > 1. Clone edk2 > a. Git clone https://github.com/tianocore/edk2 > b. Cd edk2 > 2. Add Matts repo as a remote. > a. git remote add matt https://github.com/matthewfcarlson/edk2.git > b. git fetch --all --prune > 3. check out his branch > a. git checkout matt/personal/macarl/test-array-struct-pcd > 4. Create a virtual environment > a. Cd .. > b. Python -m venv venv > 5. Activate it > a. Venv/scripts/activate > 6. Cd edk2 > 7. Pip install -r pip-requirements.txt > 8. stuart_setup -c .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > 9. stuart_update -c .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > 10. stuart_ci_build -c .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > > Thanks, > Bob > > -----Original Message----- > From: gaoliming <gaoliming@byosoft.com.cn> > Sent: Monday, October 19, 2020 9:03 AM > To: 'Sean Brogan' <spbrogan@outlook.com>; devel@edk2.groups.io; Feng, > Bob C <bob.c.feng@intel.com> > Cc: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; 'Sean Brogan' <sean.brogan@microsoft.com> > Subject: 回复: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build > issue with VS compiler x64 > > Sean and Bob: > How verify this change? > > Thanks > Liming > > -----邮件原件----- > > 发件人: Sean Brogan <spbrogan@outlook.com> > > 发送时间: 2020年10月17日 6:17 > > 收件人: devel@edk2.groups.io; bob.c.feng@intel.com > > 抄送: Liming Gao <gaoliming@byosoft.com.cn>; Yuwei Chen > > <yuwei.chen@intel.com>; Michael D Kinney > <michael.d.kinney@intel.com>; > > Sean Brogan <sean.brogan@microsoft.com> > > 主题: Re: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build > > issue with VS compiler x64 > > > > Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> > > > > On 10/15/2020 4:20 AM, Bob Feng wrote: > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001 > > > > > > When the 64-bit version of VS compiler is used, the generated > > > PcdValueInit tool will be failed to compile. > > > > > > This patch is going to fix that issue. > > > > > > Signed-off-by: Bob Feng <bob.c.feng@intel.com> > > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > > Cc: Yuwei Chen <yuwei.chen@intel.com> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > > Cc: Sean Brogan <sean.brogan@microsoft.com> > > > > > > --- > > > BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h > > b/BaseTools/Source/C/Common/PcdValueCommon.h > > > index cfd3bb76e1..1652bd5430 100644 > > > --- a/BaseTools/Source/C/Common/PcdValueCommon.h > > > +++ b/BaseTools/Source/C/Common/PcdValueCommon.h > > > @@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > #include <Common/UefiBaseTypes.h> > > > #include <Common/UefiInternalFormRepresentation.h> > > > > > > #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field) > > > #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE > > *)0)->Field[0]) > > > -#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field)) > > > +#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE > > > +*)0)->Field)) > > > #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if > > (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) > > + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size) > > > #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0])) > > > > > > #if defined(_MSC_EXTENSIONS) > > > #define __STATIC_ASSERT static_assert > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66514): https://edk2.groups.io/g/devel/message/66514 Mute This Topic: https://groups.io/mt/77721601/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Merged commit b70c4fd into tianocore:master. -Bob -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming Sent: Thursday, October 22, 2020 9:04 AM To: Feng, Bob C <bob.c.feng@intel.com>; 'Sean Brogan' <spbrogan@outlook.com>; devel@edk2.groups.io Cc: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; 'Sean Brogan' <sean.brogan@microsoft.com> Subject: 回复: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build issue with VS compiler x64 Got it. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> > -----邮件原件----- > 发件人: Feng, Bob C <bob.c.feng@intel.com> > 发送时间: 2020年10月19日 9:57 > 收件人: gaoliming <gaoliming@byosoft.com.cn>; 'Sean Brogan' > <spbrogan@outlook.com>; devel@edk2.groups.io > 抄送: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; 'Sean Brogan' > <sean.brogan@microsoft.com> > 主题: RE: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build > issue with VS compiler x64 > > Liming, > > To reproduce the issue and verify the change locally you can do, > > 1. Clone edk2 > a. Git clone https://github.com/tianocore/edk2 > b. Cd edk2 > 2. Add Matts repo as a remote. > a. git remote add matt https://github.com/matthewfcarlson/edk2.git > b. git fetch --all --prune > 3. check out his branch > a. git checkout matt/personal/macarl/test-array-struct-pcd > 4. Create a virtual environment > a. Cd .. > b. Python -m venv venv > 5. Activate it > a. Venv/scripts/activate > 6. Cd edk2 > 7. Pip install -r pip-requirements.txt 8. stuart_setup -c > .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > 9. stuart_update -c .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > 10. stuart_ci_build -c .pytool\CISettings.py -p MdeModulePkg -a X64 > TOOL_CHAIN_TAG=VS2019 > > Thanks, > Bob > > -----Original Message----- > From: gaoliming <gaoliming@byosoft.com.cn> > Sent: Monday, October 19, 2020 9:03 AM > To: 'Sean Brogan' <spbrogan@outlook.com>; devel@edk2.groups.io; Feng, > Bob C <bob.c.feng@intel.com> > Cc: Chen, Christine <yuwei.chen@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; 'Sean Brogan' > <sean.brogan@microsoft.com> > Subject: 回复: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool > build issue with VS compiler x64 > > Sean and Bob: > How verify this change? > > Thanks > Liming > > -----邮件原件----- > > 发件人: Sean Brogan <spbrogan@outlook.com> > > 发送时间: 2020年10月17日 6:17 > > 收件人: devel@edk2.groups.io; bob.c.feng@intel.com > > 抄送: Liming Gao <gaoliming@byosoft.com.cn>; Yuwei Chen > > <yuwei.chen@intel.com>; Michael D Kinney > <michael.d.kinney@intel.com>; > > Sean Brogan <sean.brogan@microsoft.com> > > 主题: Re: [edk2-devel] [Patch] BaseTools: Fix PcdValueInit tool build > > issue with VS compiler x64 > > > > Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> > > > > On 10/15/2020 4:20 AM, Bob Feng wrote: > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3001 > > > > > > When the 64-bit version of VS compiler is used, the generated > > > PcdValueInit tool will be failed to compile. > > > > > > This patch is going to fix that issue. > > > > > > Signed-off-by: Bob Feng <bob.c.feng@intel.com> > > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > > Cc: Yuwei Chen <yuwei.chen@intel.com> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > > Cc: Sean Brogan <sean.brogan@microsoft.com> > > > > > > --- > > > BaseTools/Source/C/Common/PcdValueCommon.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/BaseTools/Source/C/Common/PcdValueCommon.h > > b/BaseTools/Source/C/Common/PcdValueCommon.h > > > index cfd3bb76e1..1652bd5430 100644 > > > --- a/BaseTools/Source/C/Common/PcdValueCommon.h > > > +++ b/BaseTools/Source/C/Common/PcdValueCommon.h > > > @@ -12,11 +12,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > #include <Common/UefiBaseTypes.h> > > > #include <Common/UefiInternalFormRepresentation.h> > > > > > > #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field) > > > #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE > > *)0)->Field[0]) > > > -#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field)) > > > +#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE > > > +*)0)->Field)) > > > #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if > > (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, > > Field) > > + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size) > > > #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0])) > > > > > > #if defined(_MSC_EXTENSIONS) > > > #define __STATIC_ASSERT static_assert > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66581): https://edk2.groups.io/g/devel/message/66581 Mute This Topic: https://groups.io/mt/77807631/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.