]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
loader/efi/linux: Fix compile error with Clang
authorAndrew Hamilton <adhamilt@gmail.com>
Sat, 25 Oct 2025 15:53:40 +0000 (10:53 -0500)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 28 Oct 2025 11:19:34 +0000 (12:19 +0100)
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 <adhamilt@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/loader/efi/linux.c

index 4f5589862a3c680a976467e0881b7e8876bad318..ded507cd556c6069859b90b9b59c76daa1dfaf9d 100644 (file)
@@ -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 = {
   {
     {