]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Fix PcdValueInit tool build issue with VS compiler x64
authorBob Feng <bob.c.feng@intel.com>
Thu, 15 Oct 2020 11:20:37 +0000 (19:20 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 26 Oct 2020 02:58:00 +0000 (02:58 +0000)
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>
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
BaseTools/Source/C/Common/PcdValueCommon.h

index cfd3bb76e18f094dd93efb17af321102e9b659b7..1652bd5430393758ac4b4d76e3ab47e7302c01dd 100644 (file)
@@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 \r
 #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field)\r
 #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])\r
-#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field))\r
+#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field))\r
 #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)\r
 #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0]))\r
 \r