summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2019-10-29 16:05:39 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2019-10-29 16:05:39 +0900
commit9195ed18cacb0d448c818d2a80db105d8b3cea3c (patch)
tree739681675573e63ba0fa66b673b1f35e1e960f7c
parent7bf51ced5571d6180722f2be1b50c048a02b2e70 (diff)
Revert "Check for nonnull attribute in configure"
This reverts commit 54eb51d72bc43f90b595f0d7ffb5069ebf1a56d9. Windows build failure. See also https://github.com/ruby/ruby/runs/278718805
-rw-r--r--configure.ac5
-rw-r--r--internal.h8
2 files changed, 4 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index 67ce5f99d2..653f3bb651 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1495,11 +1495,6 @@ done
AS_IF([test "$rb_cv_func_exported" != no], [
AC_DEFINE_UNQUOTED(RUBY_FUNC_EXPORTED, [$rb_cv_func_exported extern])
])
-RUBY_DECL_ATTRIBUTE([__nonnull__(n)], [RUBY_FUNC_NONNULL(n,x)], [rb_cv_func_nonnull],
- [], [function], [
-@%:@define x int conftest_attribute_check(void *p)
-@%:@define n 1
-])
RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_EXPORT)
diff --git a/internal.h b/internal.h
index 5b9b9b62bc..c296a99b6e 100644
--- a/internal.h
+++ b/internal.h
@@ -2387,16 +2387,16 @@ struct rb_call_data {
struct rb_call_cache cc;
struct rb_call_info ci;
};
-RUBY_FUNC_EXPORTED
-RUBY_FUNC_NONNULL(1, VALUE rb_funcallv_with_cc(struct rb_call_data*, VALUE, ID, int, const VALUE*));
-
-#ifdef __GNUC__
+VALUE rb_funcallv_with_cc(struct rb_call_data*, VALUE, ID, int, const VALUE*)
+#if (defined(__clang__) || GCC_VERSION_SINCE(3, 3, 0)) && defined(__OPTIMIZE__)
+__attribute__((__visibility__("default"), __nonnull__(1)))
# define rb_funcallv(recv, mid, argc, argv) \
__extension__({ \
static struct rb_call_data rb_funcallv_data = { { 0, }, { 0, }, }; \
rb_funcallv_with_cc(&rb_funcallv_data, recv, mid, argc, argv); \
})
#endif
+ ;
/* miniprelude.c, prelude.c */
void Init_prelude(void);