SDL: hidapi: Ignore enum-enum-conversion warnings in libusb hid.c which requires mixing enum bitmasks

From b9d5252dfa709516f539ef1a0a4fd9165e0ca363 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 3 Jul 2026 13:34:36 -0700
Subject: [PATCH] hidapi: Ignore enum-enum-conversion warnings in libusb hid.c
 which requires mixing enum bitmasks

SDL3/src/hidapi/libusb/hid.c:711:62: error: bitwise operation between different enumeration types ('enum libusb_endpoint_direction' and 'enum libusb_request_recipient') [-Werror,-Wenum-enum-conversion]
  711 |         int res = libusb_control_transfer(handle, LIBUSB_ENDPOINT_IN|LIBUSB_RECIPIENT_INTERFACE, LIBUSB_REQUEST_GET_DESCRIPTOR, (LIBUSB_DT_REPORT << 8), (uint16_t)interface_num, tmp, expected_report_descriptor_size, 5000);
---
 src/hidapi/libusb/hid.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/hidapi/libusb/hid.c b/src/hidapi/libusb/hid.c
index a49cf172161a9..b5e8bd2c460ec 100644
--- a/src/hidapi/libusb/hid.c
+++ b/src/hidapi/libusb/hid.c
@@ -76,6 +76,11 @@ extern "C" {
 #pragma warning(disable:5287) /* operands are different enum types */
 #endif
 
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wenum-enum-conversion"
+#endif
+
 /* Uncomment to enable the retrieval of Usage and Usage Page in
 hid_enumerate(). Warning, on platforms different from FreeBSD
 this is very invasive as it requires the detach
@@ -2274,6 +2279,10 @@ uint16_t get_usb_code_for_current_locale(void)
 	return 0x0;
 }
 
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
 #if defined(_MSC_VER)
 #pragma warning (pop)
 #endif