diff --git a/src/hidapi/windows/hid.c b/src/hidapi/windows/hid.c index 660c20cefa..1f052fd68a 100644 --- a/src/hidapi/windows/hid.c +++ b/src/hidapi/windows/hid.c @@ -129,7 +129,7 @@ static void free_library_handles() cfgmgr32_lib_handle = NULL; } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && __GNUC__ >= 8 # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wcast-function-type" #endif @@ -179,7 +179,7 @@ err: return -1; } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && __GNUC__ >= 8 # pragma GCC diagnostic pop #endif @@ -334,7 +334,7 @@ static void register_winapi_error_to_buffer(wchar_t **error_buffer, const WCHAR #endif } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && (__GNUC__ + (__GNUC_MINOR__ >= 6) > 4) # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Warray-bounds" #endif @@ -364,7 +364,7 @@ static void register_string_error_to_buffer(wchar_t **error_buffer, const WCHAR #endif /* HIDAPI_USING_SDL_RUNTIME */ } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && (__GNUC__ + (__GNUC_MINOR__ >= 6) > 4) # pragma GCC diagnostic pop #endif @@ -1517,7 +1517,7 @@ int HID_API_EXPORT HID_API_CALL hid_get_input_report(hid_device *dev, unsigned c return hid_get_report(dev, IOCTL_HID_GET_INPUT_REPORT, data, length); } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && __GNUC__ >= 8 # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wcast-function-type" #endif @@ -1541,7 +1541,7 @@ void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev) } free_hid_device(dev); } -#ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA +#if defined(__GNUC__) && __GNUC__ >= 8 # pragma GCC diagnostic pop #endif