aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-02 06:50:47 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-02 06:50:47 +0000
commitd748f5b6ebde523f1a2f380dd8c2a7750d8c5e82 (patch)
treeea281e5ae297d73f9c3bcd2caa3fda60a5658ea0
parentc1c45c1cf7eeb9248a8bd42faa53cac562ec102b (diff)
downloadruby-d748f5b6ebde523f1a2f380dd8c2a7750d8c5e82.tar.gz
* vm_core.h: use __has_attribute() instead of __clang__major__ because
clang says "Note that marketing version numbers should not be used to check for language features, as different vendors use different numbering schemes. Instead, use the Feature Checking Macros." http://clang.llvm.org/docs/LanguageExtensions.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--vm_core.h6
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 086e8801d2..b84c8e5254 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Oct 2 15:39:13 2013 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * vm_core.h: use __has_attribute() instead of __clang__major__ because
+ clang says "Note that marketing version numbers should not be used
+ to check for language features, as different vendors use different
+ numbering schemes. Instead, use the Feature Checking Macros."
+ http://clang.llvm.org/docs/LanguageExtensions.html
+
Wed Oct 2 14:19:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_close_write): detach tied IO for writing before closing
diff --git a/vm_core.h b/vm_core.h
index 8ebd390532..39843093f3 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -109,7 +109,11 @@
#define UNLIKELY(x) (x)
#endif /* __GNUC__ >= 3 */
-#if (defined(__clang__) && __clang_major__ >= 4)
+#ifndef __has_attribute
+# define __has_attribute(x) 0
+#endif
+
+#if __has_attribute(unused)
#define UNINITIALIZED_VAR(x) x __attribute__((unused))
#elif defined(__GNUC__) && __GNUC__ >= 3
#define UNINITIALIZED_VAR(x) x = x