[ruby-dev:52096] [Ruby master Bug#20633] compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0

Issue #20633 has been reported by kimuraw (Wataru Kimura). ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633 * Author: kimuraw (Wataru Kimura) * Status: Open * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/

Issue #20633 has been updated by ivoanjo (Ivo Anjo). Thanks @kimuraw for fixing my mistake 😅 I've also opened the PRs to backport your fix to the Ruby 3.3 and 3.2 branches: * https://github.com/ruby/ruby/pull/11167 * https://github.com/ruby/ruby/pull/11166 ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633#change-109129 * Author: kimuraw (Wataru Kimura) * Status: Closed * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/

Issue #20633 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.2: DONE, 3.3: REQUIRED Thank you for reporting and kindly create backport pull requests! merged into ruby_3_2. ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633#change-109133 * Author: kimuraw (Wataru Kimura) * Status: Closed * Backport: 3.2: DONE, 3.3: REQUIRED ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/

Issue #20633 has been updated by k0kubun (Takashi Kokubun). Backport changed from 3.2: DONE, 3.3: REQUIRED to 3.2: DONE, 3.3: DONE ruby_3_3 commit:66312ad913d67bfd3c2c83b174eabf537f5def84. ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633#change-109573 * Author: kimuraw (Wataru Kimura) * Status: Closed * Backport: 3.2: DONE, 3.3: DONE ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/

Issue #20633 has been updated by ivoanjo (Ivo Anjo). Hey @k0kubun I don't think 66312ad913d67bfd3c2c83b174eabf537f5def84 is related to this one? 👀 (Although I think this could be closed, as the fix + both backports have landed) ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633#change-109574 * Author: kimuraw (Wataru Kimura) * Status: Closed * Backport: 3.2: DONE, 3.3: DONE ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/

Issue #20633 has been updated by k0kubun (Takashi Kokubun). The message was auto-generated by a script. The script only matches the last commit mentioning the ticket number, and there were two matching commits. Sorry for a delayed reply but I got distracted to fix it first (commit:7d47f3c94f4c38f9b236716c9f98b928895d6b2d commit:b6e7e903a09e1577adc2f17600ca40dee80a0534). I updated the above comment with its new output (and then edited it again with a strikethrough). And, you're right. Looking at https://github.com/ruby/ruby/pull/11372, I think he meant [Bug #20670]. I'll make sure release notes will include that ticket as well. ---------------------------------------- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0 https://bugs.ruby-lang.org/issues/20633#change-109575 * Author: kimuraw (Wataru Kimura) * Status: Closed * Backport: 3.2: DONE, 3.3: DONE ---------------------------------------- 木村といいます。 最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。 おそらくコードの意図と異なると思うのでパッチ送ります。 ``` compiling array.c compiling vm.c In file included from vm.c:514: ./vm_insnhelper.c:400:5: warning: implicit declaration of function 'atomic_signal_fence' is invalid in C99 [-Wimplicit-function-declaration] atomic_signal_fence(memory_order_seq_cst); ^ ./vm_insnhelper.c:400:25: error: use of undeclared identifier 'memory_order_seq_cst' atomic_signal_fence(memory_order_seq_cst); ^ 1 warning and 1 error generated. ``` [1] Add explicit compiler fence when pushing frames to ensure safe profiling https://github.com/ruby/ruby/commit/64fef3b870a8ed8147654531aef4c065d8a730c6 ---Files-------------------------------- patch-vm_insnhelper.c.diff (535 Bytes) -- https://bugs.ruby-lang.org/
participants (4)
-
ivoanjo (Ivo Anjo)
-
k0kubun (Takashi Kokubun)
-
kimuraw (Wataru Kimura)
-
nagachika (Tomoyuki Chikanaga)