]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Common/PcdValueCommon.h
BaseTools: add ASSERT checker for array buffer value assignment.
[mirror_edk2.git] / BaseTools / Source / C / Common / PcdValueCommon.h
index 3922428ded96329eea17c56d339de2d2d5fcb532..255afdfcc3ac9555c3c21ab74c1ac8fc3541d98c 100644 (file)
@@ -22,6 +22,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])\r
 #define __OFFSET_OF(TYPE, Field) ((UINT32) &(((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
+#if defined(_MSC_EXTENSIONS)\r
+#define __STATIC_ASSERT static_assert\r
+#else\r
+#define __STATIC_ASSERT _Static_assert\r
+#endif\r
 \r
 VOID\r
 PcdEntryPoint (\r