summaryrefslogtreecommitdiff
path: root/include/ruby/internal/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ruby/internal/config.h')
-rw-r--r--include/ruby/internal/config.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/ruby/internal/config.h b/include/ruby/internal/config.h
index 67d7e0156f..da070f0979 100644
--- a/include/ruby/internal/config.h
+++ b/include/ruby/internal/config.h
@@ -1,7 +1,6 @@
#ifndef RBIMPL_CONFIG_H /*-*-C++-*-vi:se ft=cpp:*/
#define RBIMPL_CONFIG_H
/**
- * @file
* @author Ruby developers <ruby-core@ruby-lang.org>
* @copyright This file is a part of the programming language Ruby.
* Permission is hereby granted, to either redistribute and/or
@@ -17,7 +16,7 @@
* recursively included from extension libraries written in C++.
* Do not expect for instance `__VA_ARGS__` is always available.
* We assume C99 for ruby itself but we don't assume languages of
- * extension libraries. They could be written in C++98.
+ * extension libraries. They could be written in C++98.
* @brief Thin wrapper to ruby/config.h
*/
#include "ruby/config.h"
@@ -114,6 +113,8 @@
# define UNALIGNED_WORD_ACCESS 1
#elif defined(__powerpc64__)
# define UNALIGNED_WORD_ACCESS 1
+#elif defined(__POWERPC__) // __POWERPC__ is defined for ppc and ppc64 on Darwin
+# define UNALIGNED_WORD_ACCESS 1
#elif defined(__aarch64__)
# define UNALIGNED_WORD_ACCESS 1
#elif defined(__mc68020__)
@@ -126,6 +127,12 @@
#if ! defined(HAVE_VA_ARGS_MACRO)
# undef HAVE___VA_OPT__
+#elif defined(__cplusplus)
+# if __cplusplus > 201703L
+# define HAVE___VA_OPT__
+# else
+# undef HAVE___VA_OPT__
+# endif
#else
# /* Idea taken from: https://stackoverflow.com/a/48045656 */
# define RBIMPL_TEST3(q, w, e, ...) e