Add GCC pragmas to silence compiler warning about ffi_prep_closure (GH-23327) (GH-23590)
(cherry picked from commit cce3f0b0c88eba98bc11abe703a444bee7880ff8)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c
index 39cace5..19c77f4 100644
--- a/Modules/_ctypes/callbacks.c
+++ b/Modules/_ctypes/callbacks.c
@@ -426,15 +426,22 @@
PyErr_Format(PyExc_NotImplementedError, "ffi_prep_closure_loc() is missing");
goto error;
#else
-#ifdef MACOSX
+#if defined(__clang__) || defined(MACOSX)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#endif
+#if defined(__GNUC__)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
result = ffi_prep_closure(p->pcl_write, &p->cif, closure_fcn, p);
-#ifdef MACOSX
+#if defined(__clang__) || defined(MACOSX)
#pragma clang diagnostic pop
#endif
+#if defined(__GNUC__)
+ #pragma GCC diagnostic pop
+#endif
#endif
}