[ruby-core:67033] [ruby-trunk - Bug #10629] [Closed] Compile error in signal.c: ‘received_signal’ undeclared

From: nobu@...
Date: 2014-12-22 05:08:48 UTC
List: ruby-core #67033
Issue #10629 has been updated by Nobuyoshi Nakada.

Status changed from Open to Closed
% Done changed from 0 to 100

Applied in changeset r48920.

----------
signal.c: fix received_signal

* signal.c (received_signal): fix condition to define.
  [ruby-core:67032] [Bug #10629]

----------------------------------------
Bug #10629: Compile error in signal.c: ‘received_signal’ undeclared
https://bugs.ruby-lang.org/issues/10629#change-50558

* Author: Martin Dürst
* Status: Closed
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* Category: core
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-12-18 trunk 48886) [x86_64-cygwin]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
I got the following error when making "make up; make install-nodoc", in the compilation of signal.c, on cygwin.
Most of the lines in signal.c that mention "received_signal" have been introduced (changed?) in r48910, so I have tentatively assigned this issue to Nobu.

compiling signal.c
In file included from vm_core.h:25:0,
                 from signal.c:15:
signal.c: In function ‘check_reserved_signal_’:
signal.c:892:44: error: ‘received_signal’ undeclared (first use in this function)
     const char *prev = ATOMIC_PTR_EXCHANGE(received_signal, name);
                                            ^
ruby_atomic.h:20:62: note: in definition of macro ‘ATOMIC_PTR_EXCHANGE’
 # define ATOMIC_PTR_EXCHANGE(var, val) __atomic_exchange_n(&(var), (val), __ATOMIC_SEQ_CST)
                                                              ^
signal.c:892:44: note: each undeclared identifier is reported only once for each function it appears in
     const char *prev = ATOMIC_PTR_EXCHANGE(received_signal, name);
                                            ^
ruby_atomic.h:20:62: note: in definition of macro ‘ATOMIC_PTR_EXCHANGE’
 # define ATOMIC_PTR_EXCHANGE(var, val) __atomic_exchange_n(&(var), (val), __ATOMIC_SEQ_CST)
                                                              ^
signal.c:892:5: error: incompatible type for argument 1 of ‘__atomic_exchange_n’
     const char *prev = ATOMIC_PTR_EXCHANGE(received_signal, name);
     ^
Makefile:349: recipe for target 'signal.o' failed
make: *** [signal.o] Error 1




-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next