From b70c4fdcde83689d8cd1e5e2faf598d0087934a3 Mon Sep 17 00:00:00 2001 From: Bob Feng Date: Thu, 15 Oct 2020 19:20:37 +0800 Subject: [PATCH] BaseTools: Fix PcdValueInit tool build issue with VS compiler x64 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 Cc: Liming Gao Cc: Yuwei Chen Cc: Michael D Kinney Cc: Sean Brogan Reviewed-by: Sean Brogan Reviewed-by: Liming Gao --- 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 @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #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]))