From c602035a9f078df532df8da69e5b43652a9ad600 Mon Sep 17 00:00:00 2001 From: Andrew Hamilton Date: Sat, 25 Oct 2025 10:53:40 -0500 Subject: [PATCH] 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 --- grub-core/loader/efi/linux.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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 = { { { -- 2.47.3