From: Andrew Hamilton Date: Sat, 25 Oct 2025 15:53:40 +0000 (-0500) Subject: loader/efi/linux: Fix compile error with Clang X-Git-Tag: grub-2.14-rc1~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c602035a9f078df532df8da69e5b43652a9ad600;p=thirdparty%2Fgrub.git loader/efi/linux: Fix compile error with Clang Clang will produce a warning, which is treated as an error, that "vendor_defined_data" is uninitialized. This is a "zero length" array member of this struct. Add conditional compile pragma to allow this to compile with Clang. Signed-off-by: Andrew Hamilton Reviewed-by: Daniel Kiper --- diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c index 4f5589862..ded507cd5 100644 --- a/grub-core/loader/efi/linux.c +++ b/grub-core/loader/efi/linux.c @@ -55,6 +55,14 @@ static bool initrd_use_loadfile2 = false; static grub_guid_t load_file2_guid = GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID; static grub_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID; +/* + * Clang will produce a warning for missing initializer for the + * zero-length array "vendor_defined_data" inside this structure. + * Suppress this warning which is treated as an error. + */ +#ifdef __clang__ +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif static initrd_media_device_path_t initrd_lf2_device_path = { { {