summaryrefslogtreecommitdiff
path: root/include/ruby/backward/2/attributes.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ruby/backward/2/attributes.h')
-rw-r--r--include/ruby/backward/2/attributes.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/ruby/backward/2/attributes.h b/include/ruby/backward/2/attributes.h
index 8d00da0a9e..74dca627fb 100644
--- a/include/ruby/backward/2/attributes.h
+++ b/include/ruby/backward/2/attributes.h
@@ -60,7 +60,23 @@
#define DEPRECATED_BY(n,x) RBIMPL_ATTR_DEPRECATED(("by: " # n)) x
#undef DEPRECATED_TYPE
-#define DEPRECATED_TYPE(mseg, decl) decl RBIMPL_ATTR_DEPRECATED(mseg)
+#if defined(__GNUC__)
+# define DEPRECATED_TYPE(mesg, decl) \
+ _Pragma("message \"DEPRECATED_TYPE is deprecated, " \
+ "use RBIMPL_ATTR_DEPRECATED instead\""); \
+ decl RBIMPL_ATTR_DEPRECATED(mseg)
+#elif defined(_MSC_VER)
+# pragma deprecated(DEPRECATED_TYPE)
+# define DEPRECATED_TYPE(mesg, decl) \
+ __pragma(message(__FILE__"("STRINGIZE(__LINE__)"): warning: " \
+ "DEPRECATED_TYPE is deprecated, " \
+ "use RBIMPL_ATTR_DEPRECATED instead")) \
+ decl RBIMPL_ATTR_DEPRECATED(mseg)
+#else
+# define DEPRECATED_TYPE(mesg, decl) \
+ <-<-"DEPRECATED_TYPE is deprecated, " \
+ "use RBIMPL_ATTR_DEPRECATED instead"->->
+#endif
#undef RUBY_CXX_DEPRECATED
#define RUBY_CXX_DEPRECATED(mseg) RBIMPL_ATTR_DEPRECATED((mseg))