summaryrefslogtreecommitdiff
path: root/ext/-test-
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2020-09-24 12:16:31 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2020-09-25 11:38:33 +0900
commit4cc501bcfd23691c5244877f9d088a6be6bc8e13 (patch)
tree1e609bfc3da90703ed1920b77e046fb65d403219 /ext/-test-
parente75aed7abb7f869223ea05a2f96b2021b57bd98a (diff)
ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler
C++ compilers are optional. Skip C++ tests when they are absent.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3570
Diffstat (limited to 'ext/-test-')
-rw-r--r--ext/-test-/RUBY_ALIGNOF/c.c6
-rw-r--r--ext/-test-/RUBY_ALIGNOF/cpp.cpp6
-rw-r--r--ext/-test-/RUBY_ALIGNOF/extconf.rb4
3 files changed, 10 insertions, 6 deletions
diff --git a/ext/-test-/RUBY_ALIGNOF/c.c b/ext/-test-/RUBY_ALIGNOF/c.c
index 2ff23e1dfdf..5768b8c3ddf 100644
--- a/ext/-test-/RUBY_ALIGNOF/c.c
+++ b/ext/-test-/RUBY_ALIGNOF/c.c
@@ -7,3 +7,9 @@ struct T {
};
RBIMPL_STATIC_ASSERT(RUBY_ALIGNOF, RUBY_ALIGNOF(double) == offsetof(struct T, t));
+
+void
+Init_RUBY_ALIGNOF()
+{
+ // Windows linker mandates this symbol to exist.
+}
diff --git a/ext/-test-/RUBY_ALIGNOF/cpp.cpp b/ext/-test-/RUBY_ALIGNOF/cpp.cpp
index ea1211c38c2..ed76d49b9ff 100644
--- a/ext/-test-/RUBY_ALIGNOF/cpp.cpp
+++ b/ext/-test-/RUBY_ALIGNOF/cpp.cpp
@@ -7,9 +7,3 @@ struct T {
};
RBIMPL_STATIC_ASSERT(RUBY_ALIGNOF, RUBY_ALIGNOF(double) == offsetof(T, t));
-
-extern "C" void
-Init_RUBY_ALIGNOF()
-{
- // Windows linker mandates this symbol to exist.
-}
diff --git a/ext/-test-/RUBY_ALIGNOF/extconf.rb b/ext/-test-/RUBY_ALIGNOF/extconf.rb
index ee6500d61e8..98a370e9871 100644
--- a/ext/-test-/RUBY_ALIGNOF/extconf.rb
+++ b/ext/-test-/RUBY_ALIGNOF/extconf.rb
@@ -1,2 +1,6 @@
# frozen_string_literal: false
+$objs = %W"c.#$OBJEXT"
+
+$objs << "cpp.#$OBJEXT" if MakeMakefile['C++'].have_devel?
+
create_makefile("-test-/RUBY_ALIGNOF")