Clang can also use C call cache

Previously this was restricted to only gcc because of the
GCC_VERSION_SINCE check (which explicitly excludes clang).

GCC 3.3.0 is quite old so I feel relatively safe assuming that all
reasonable versions of clang support this.
This commit is contained in:
John Hawthorn 2019-10-28 17:24:07 -07:00 committed by Nobuyoshi Nakada
parent 85b88c1d89
commit b86e5c9fec
Notes: git 2019-10-29 12:08:06 +09:00

View File

@ -2388,7 +2388,7 @@ struct rb_call_data {
struct rb_call_info ci;
};
VALUE rb_funcallv_with_cc(struct rb_call_data*, VALUE, ID, int, const VALUE*)
#if GCC_VERSION_SINCE(3, 3, 0) && defined(__OPTIMIZE__)
#if (defined(__clang__) || GCC_VERSION_SINCE(3, 3, 0)) && defined(__OPTIMIZE__)
__attribute__((__visibility__("default"), __nonnull__(1)))
# define rb_funcallv(recv, mid, argc, argv) \
__extension__({ \