On 1/28/14 10:09 AM, John Dubchak wrote:
On 1/27/14 5:51 PM, Jonathan Wakely wrote:
On 28 January 2014 00:20, John Dubchak wrote:
Does one of your headers use _SIGNAL_H as an include guard?
No, it does not. I just spent 30 minutes reviewing all of the headers
and ordering of includes, including searching to see if _SIGNAL_H_
include guard is used anywhere inside my codebase and it's not.
That's what brings me to the list, I am verifying if I have built gcc
incorrectly or trying to determine other potential causes of this error.
Also, in the preprocessed output from yesterday, I verified that
siginfo_t is being defined:
typedef __sig_atomic_t sig_atomic_t;
# 58 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/signum.h" 1 3 4
# 59 "/usr/include/signal.h" 2 3 4
# 79 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/siginfo.h" 1 3 4
# 25 "/usr/include/bits/siginfo.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 26 "/usr/include/bits/siginfo.h" 2 3 4
typedef union sigval
{
int sival_int;
void *sival_ptr;
} sigval_t;
# 51 "/usr/include/bits/siginfo.h" 3 4
typedef struct siginfo
{
int si_signo;
int si_errno;
int si_code;
union
{
int _pad[((128 / sizeof (int)) - 4)];
struct
{
__pid_t si_pid;
__uid_t si_uid;
} _kill;
struct
{
int si_tid;
int si_overrun;
sigval_t si_sigval;
} _timer;
struct
{
__pid_t si_pid;
__uid_t si_uid;
sigval_t si_sigval;
} _rt;
struct
{
__pid_t si_pid;
__uid_t si_uid;
int si_status;
__clock_t si_utime;
__clock_t si_stime;
} _sigchld;
struct
{
void *si_addr;
} _sigfault;
struct
{
long int si_band;
int si_fd;
} _sigpoll;
} _sifields;
} siginfo_t;
I've resolved this issue. Jonathan's point about the include guards
made me review the ordering I was using and I discovered and removed a
cyclic dependency, which corrected the issue by addressing the compiler
error.
Thank you Jonathan for your help.
JohnD