[ruby/digest] Move macros for warnings to defs.h
authorNobuyoshi Nakada <[email protected]>
Fri, 2 May 2025 08:16:54 +0000 (2 17:16 +0900)
committergit <[email protected]>
Fri, 2 May 2025 09:46:51 +0000 (2 09:46 +0000)
https://github.com/ruby/digest/commit/70a805b872

ext/digest/defs.h
ext/digest/md5/md5cc.h
ext/digest/md5/md5init.c

index 77a134f..9b11f4e 100644 (file)
 # define __END_DECLS
 #endif
 
+#define RB_DIGEST_DIAGNOSTIC(compiler, op, flag) _Pragma(STRINGIZE(compiler diagnostic op flag))
+#ifdef RBIMPL_WARNING_IGNORED
+# define RB_DIGEST_WARNING_IGNORED(flag) RBIMPL_WARNING_IGNORED(flag)
+# define RB_DIGEST_WARNING_PUSH() RBIMPL_WARNING_PUSH()
+# define RB_DIGEST_WARNING_POP() RBIMPL_WARNING_POP()
+#elif defined(__clang__)
+# define RB_DIGEST_WARNING_IGNORED(flag) RB_DIGEST_DIAGNOSTIC(clang, ignored, #flag)
+# define RB_DIGEST_WARNING_PUSH() _Pragma("clang diagnostic push")
+# define RB_DIGEST_WARNING_POP() _Pragma("clang diagnostic pop")
+#else /* __GNUC__ */
+# define RB_DIGEST_WARNING_IGNORED(flag) RB_DIGEST_DIAGNOSTIC(GCC, ignored, #flag)
+# define RB_DIGEST_WARNING_PUSH() _Pragma("GCC diagnostic push")
+# define RB_DIGEST_WARNING_POP() _Pragma("GCC diagnostic pop")
+#endif
+#ifdef RBIMPL_HAS_WARNING
+# define RB_DIGEST_HAS_WARNING(_) RBIMPL_HAS_WARNING(_)
+#elif defined(__has_warning)
+# define RB_DIGEST_HAS_WARNING(_) __has_warning(_)
+#else
+# define RB_DIGEST_HAS_WARNING(_) 0
+#endif
+
 #endif /* DEFS_H */
index 657f573..a002c17 100644 (file)
@@ -2,14 +2,6 @@
 #include <CommonCrypto/CommonDigest.h>
 
 #ifdef __GNUC__
-# define RB_DIGEST_DIAGNOSTIC(compiler, op, flag) _Pragma(STRINGIZE(compiler diagnostic op flag))
-# ifdef RBIMPL_WARNING_IGNORED
-#   define RB_DIGEST_WARNING_IGNORED(flag) RBIMPL_WARNING_IGNORED(flag)
-# elif defined(__clang__)
-#   define RB_DIGEST_WARNING_IGNORED(flag) RB_DIGEST_DIAGNOSTIC(clang, ignored, #flag)
-# else /* __GNUC__ */
-#   define RB_DIGEST_WARNING_IGNORED(flag) RB_DIGEST_DIAGNOSTIC(GCC, ignored, #flag)
-# endif
 RB_DIGEST_WARNING_IGNORED(-Wdeprecated-declarations)
 /* Suppress deprecation warnings of MD5 from Xcode 11.1 */
 /* Although we know MD5 is deprecated too, provide just for backward
index b81fd94..c919060 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <ruby/ruby.h>
 #include "../digest.h"
+#include "../defs.h"
 #if defined(MD5_USE_COMMONDIGEST)
 #include "md5cc.h"
 #else