On EFI platforms where EFI calls do not require a wrapper (notably i386-efi and arm64-efi), the func argument needs to be wrapped in parenthesis to allow valid syntax when func is an expression which evaluates to a function pointer. On EFI platforms that do need a wrapper, this was never an issue because func is passed to the C function wrapper as an argument and thus does not need parenthesis to be evaluated.
Signed-off-by: Glenn Washburn <developm...@efficientek.com> --- This is not needed by the current GRUB code base. However, it is needed by some local modifications I've made. Regardless, I think this makes the official source better. Glenn --- include/grub/efi/api.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h index ad2680341b..b4c4646651 100644 --- a/include/grub/efi/api.h +++ b/include/grub/efi/api.h @@ -1799,15 +1799,15 @@ typedef struct initrd_media_device_path initrd_media_device_path_t; || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \ || defined(__riscv) -#define efi_call_0(func) func() -#define efi_call_1(func, a) func(a) -#define efi_call_2(func, a, b) func(a, b) -#define efi_call_3(func, a, b, c) func(a, b, c) -#define efi_call_4(func, a, b, c, d) func(a, b, c, d) -#define efi_call_5(func, a, b, c, d, e) func(a, b, c, d, e) -#define efi_call_6(func, a, b, c, d, e, f) func(a, b, c, d, e, f) -#define efi_call_7(func, a, b, c, d, e, f, g) func(a, b, c, d, e, f, g) -#define efi_call_10(func, a, b, c, d, e, f, g, h, i, j) func(a, b, c, d, e, f, g, h, i, j) +#define efi_call_0(func) (func)() +#define efi_call_1(func, a) (func)(a) +#define efi_call_2(func, a, b) (func)(a, b) +#define efi_call_3(func, a, b, c) (func)(a, b, c) +#define efi_call_4(func, a, b, c, d) (func)(a, b, c, d) +#define efi_call_5(func, a, b, c, d, e) (func)(a, b, c, d, e) +#define efi_call_6(func, a, b, c, d, e, f) (func)(a, b, c, d, e, f) +#define efi_call_7(func, a, b, c, d, e, f, g) (func)(a, b, c, d, e, f, g) +#define efi_call_10(func, a, b, c, d, e, f, g, h, i, j) (func)(a, b, c, d, e, f, g, h, i, j) #else -- 2.34.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel