summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2022-01-18 11:40:13 -0800
committerJeremy Evans <code@jeremyevans.net>2022-01-18 11:40:13 -0800
commite7b4abf3845ef006653ef4b951454647e54affe8 (patch)
tree44486ad686619db6fe3adc7017212ad5a07a8c64 /include/ruby
parentffda21b7ba451b8fd874e9c8c2162c55053caa1e (diff)
Don't assume __builtin_bswap32 and __builtin_bswap64 are defined on OpenBSD
At least OpenBSD/sparc64 doesn't appear to define them, and possibly some other OpenBSD GCC platforms don't (most OpenBSD platforms have already switched to clang).
Diffstat (limited to 'include/ruby')
-rw-r--r--include/ruby/internal/has/builtin.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/ruby/internal/has/builtin.h b/include/ruby/internal/has/builtin.h
index 957aff8375..c7b1ba44a7 100644
--- a/include/ruby/internal/has/builtin.h
+++ b/include/ruby/internal/has/builtin.h
@@ -53,8 +53,10 @@
# define RBIMPL_HAS_BUILTIN___builtin_assume 0
# /* See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624 for bswap16. */
# define RBIMPL_HAS_BUILTIN___builtin_bswap16 RBIMPL_COMPILER_SINCE(GCC, 4, 8, 0)
+#ifndef __OpenBSD__
# define RBIMPL_HAS_BUILTIN___builtin_bswap32 RBIMPL_COMPILER_SINCE(GCC, 3, 6, 0)
# define RBIMPL_HAS_BUILTIN___builtin_bswap64 RBIMPL_COMPILER_SINCE(GCC, 3, 6, 0)
+#endif
# define RBIMPL_HAS_BUILTIN___builtin_clz RBIMPL_COMPILER_SINCE(GCC, 3, 6, 0)
# define RBIMPL_HAS_BUILTIN___builtin_clzl RBIMPL_COMPILER_SINCE(GCC, 3, 6, 0)
# define RBIMPL_HAS_BUILTIN___builtin_clzll RBIMPL_COMPILER_SINCE(GCC, 3, 6, 0)