From d9a14c299f884ceba2b06ea1f722cdc494c05d42 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 29 Jul 2025 13:25:09 +0900 Subject: [PATCH] Fix ext/-test-/namespace/yay{1,2} for mswin Visual C: ``` compiling ../../../../../src/ext/-test-/namespace/yay1/yay1.c yay1.c ../../../../../src/ext/-test-/namespace/yay1/yay1.c(4): warning C4273: 'yay_value': inconsistent dll linkage C:\a\ruby\ruby\src\ext\-test-\namespace\yay1\yay1.h(4): note: see previous definition of 'yay_value' linking shared-object -test-/namespace/yay1.so Creating library yay1-arm64-mswin64_140.lib and object yay1-arm64-mswin64_140.exp yay1-arm64-mswin64_140.exp : warning LNK4070: /OUT:yay1.dll directive in .EXP differs from output filename '..\..\..\..\.ext\arm64-mswin64_140\-test-\namespace\yay1.so'; ignoring directive compiling ../../../../../src/ext/-test-/namespace/yay2/yay2.c yay2.c ../../../../../src/ext/-test-/namespace/yay2/yay2.c(4): warning C4273: 'yay_value': inconsistent dll linkage C:\a\ruby\ruby\src\ext\-test-\namespace\yay2\yay2.h(4): note: see previous definition of 'yay_value' linking shared-object -test-/namespace/yay2.so Creating library yay2-arm64-mswin64_140.lib and object yay2-arm64-mswin64_140.exp yay2-arm64-mswin64_140.exp : warning LNK4070: /OUT:yay2.dll directive in .EXP differs from output filename '..\..\..\..\.ext\arm64-mswin64_140\-test-\namespace\yay2.so'; ignoring directive ``` From MinGW gcc: ``` ../../../../../src/ext/-test-/namespace/yay1/yay1.c:4:1: warning: 'yay_value' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 4 | yay_value(void) | ^~~~~~~~~ ../../../../../src/ext/-test-/namespace/yay2/yay2.c:4:1: warning: 'yay_value' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 4 | yay_value(void) | ^~~~~~~~~ ``` --- ext/-test-/namespace/yay1/yay1.def | 1 - ext/-test-/namespace/yay1/yay1.h | 2 +- ext/-test-/namespace/yay2/yay2.def | 1 - ext/-test-/namespace/yay2/yay2.h | 2 +- 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/-test-/namespace/yay1/yay1.def b/ext/-test-/namespace/yay1/yay1.def index edbae87312..510fbe7017 100644 --- a/ext/-test-/namespace/yay1/yay1.def +++ b/ext/-test-/namespace/yay1/yay1.def @@ -1,4 +1,3 @@ -LIBRARY yay1 EXPORTS Init_yay1 yay_value diff --git a/ext/-test-/namespace/yay1/yay1.h b/ext/-test-/namespace/yay1/yay1.h index d68f8b5523..c4dade928a 100644 --- a/ext/-test-/namespace/yay1/yay1.h +++ b/ext/-test-/namespace/yay1/yay1.h @@ -1,4 +1,4 @@ #include #include "ruby/internal/dllexport.h" -RUBY_EXTERN VALUE yay_value(void); +RUBY_FUNC_EXPORTED VALUE yay_value(void); diff --git a/ext/-test-/namespace/yay2/yay2.def b/ext/-test-/namespace/yay2/yay2.def index 6bb6011f4b..163fc44c04 100644 --- a/ext/-test-/namespace/yay2/yay2.def +++ b/ext/-test-/namespace/yay2/yay2.def @@ -1,4 +1,3 @@ -LIBRARY yay2 EXPORTS Init_yay2 yay_value diff --git a/ext/-test-/namespace/yay2/yay2.h b/ext/-test-/namespace/yay2/yay2.h index d68f8b5523..c4dade928a 100644 --- a/ext/-test-/namespace/yay2/yay2.h +++ b/ext/-test-/namespace/yay2/yay2.h @@ -1,4 +1,4 @@ #include #include "ruby/internal/dllexport.h" -RUBY_EXTERN VALUE yay_value(void); +RUBY_FUNC_EXPORTED VALUE yay_value(void);