diff --git a/net/http/civetweb/civetweb.c b/net/http/civetweb/civetweb.c
index 3d709cd48f59ef2060f1f98a0484170dcea71904..2682038a7605582ea8b0be440e2d773ea9c9d7a8 100644
--- a/net/http/civetweb/civetweb.c
+++ b/net/http/civetweb/civetweb.c
@@ -14308,6 +14308,10 @@ set_ssl_option(struct mg_context *ctx)
 #ifdef __clang__
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wincompatible-pointer-types"
+#endif
+#if defined(__GNUC__) || defined(__MINGW32__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
 #endif
 	/* Depending on the OpenSSL version, the callback may be
 	 * 'void (*)(SSL *, int, int)' or 'void (*)(const SSL *, int, int)'
@@ -14323,6 +14327,9 @@ set_ssl_option(struct mg_context *ctx)
 	 */
 	SSL_CTX_set_info_callback(ctx->ssl_ctx, ssl_info_callback);
 
+#if defined(__GNUC__) || defined(__MINGW32__)
+#pragma GCC diagnostic pop
+#endif
 #ifdef __clang__
 #pragma clang diagnostic pop
 #endif