Hi Laszlo,

One comment inline below.

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo 
> Ersek
> Sent: Wednesday, October 26, 2016 12:04 PM
> To: edk2-devel-01 <edk2-de...@ml01.01.org>
> Cc: Ni, Ruiyu <ruiyu...@intel.com>; Tim He <tim...@intel.com>; Tian, Feng
> <feng.t...@intel.com>; Kinney, Michael D <michael.d.kin...@intel.com>; Dong, 
> Eric
> <eric.d...@intel.com>; Cecil Sheng <cecil.sh...@hpe.com>; Ard Biesheuvel
> <ard.biesheu...@linaro.org>; Justen, Jordan L <jordan.l.jus...@intel.com>; 
> Gao, Liming
> <liming....@intel.com>; Bi, Dandan <dandan...@intel.com>; Wu, Jiaxin
> <jiaxin...@intel.com>; Gary Lin <g...@suse.com>; Zeng, Star 
> <star.z...@intel.com>;
> Daryl McDaniel <edk2-li...@mc2research.org>; Carsey, Jaben 
> <jaben.car...@intel.com>;
> Fu, Siyuan <siyuan...@intel.com>; Fan, Jeff <jeff....@intel.com>; Zhang, Chao 
> B
> <chao.b.zh...@intel.com>; Wei, David <david....@intel.com>
> Subject: [edk2] [PATCH 05/47] MdePkg/Include/Base.h: introduce the 
> ARRAY_SIZE()
> function-like macro
> 
> Several modules use ARRAY_SIZE() already; centralize the definition. (The
> module-specific macro definitions are guarded by #ifndef directives at
> this point.)
> 
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Cecil Sheng <cecil.sh...@hpe.com>
> Cc: Chao Zhang <chao.b.zh...@intel.com>
> Cc: Dandan Bi <dandan...@intel.com>
> Cc: Daryl McDaniel <edk2-li...@mc2research.org>
> Cc: David Wei <david....@intel.com>
> Cc: Eric Dong <eric.d...@intel.com>
> Cc: Feng Tian <feng.t...@intel.com>
> Cc: Gary Lin <g...@suse.com>
> Cc: Jaben Carsey <jaben.car...@intel.com>
> Cc: Jeff Fan <jeff....@intel.com>
> Cc: Jiaxin Wu <jiaxin...@intel.com>
> Cc: Jordan Justen <jordan.l.jus...@intel.com>
> Cc: Liming Gao <liming....@intel.com>
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Ruiyu Ni <ruiyu...@intel.com>
> Cc: Siyuan Fu <siyuan...@intel.com>
> Cc: Star Zeng <star.z...@intel.com>
> Cc: Tim He <tim...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> ---
>  MdePkg/Include/Base.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
> index c66614846488..8bdb257e37bd 100644
> --- a/MdePkg/Include/Base.h
> +++ b/MdePkg/Include/Base.h
> @@ -1211,5 +1211,18 @@ typedef UINTN RETURN_STATUS;
>    #define RETURN_ADDRESS(L)     ((VOID *) 0)
>  #endif
> 
> +/**
> +  Return the number of elements in an array.
> +
> +  @param  Array  An object of array type. Array is only used as an argument 
> to
> +                 the sizeof operator, therefore Array is never evaluated. The
> +                 caller is responsible for ensuring that Array's type is not
> +                 incomplete; that is, Array must have known constant size.
> +
> +  @return The number of elements in Array. The result has type UINTN.
> +
> +**/
> +#define ARRAY_SIZE(Array) (sizeof (Array) / sizeof (Array)[0])
 
I think adding one extra set of () makes this clearer:

#define ARRAY_SIZE(Array) (sizeof (Array) / sizeof ((Array)[0]))

> +
>  #endif
> 
> --
> 2.9.2
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to