http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47733

           Summary: psignal (int, const? char*) in libiberty/strsignal.h
           Product: gcc
           Version: 4.5.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: dilyan.palau...@aegee.org


I compile gcc with:

../gcc-4.5.2/configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--enable-threads=posix --enable-languages=c,c++ --enable-targets=all
--with-newlib --with-build-time-tools=/usr/x86_64-pc-linux-gnu/bin/
--disable-shared --disable-libgomp --disable-lto --disable-libssp
--disable-libmudflap

libiberty/strsignal.c compiles differently, depending on if HAVE_PSIGNAL is
defined or not.

HAVE_PSIGNAL is nowhere defined in the whole gcc-4.5.2 tree.

In turn strsignal.c defines in all cases a function
void
psignal (int signo, char *message)

In libc-2.13 signal.h defines the function as 
void
psignal (int __sig, __const char *__s);

When I compile gcc 4.5.2 with the above configuration I get the message:
[...]
/src/gcc452-build/./gcc/xgcc -B/src/gcc452-build/./gcc/
-B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem
/usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include   
-c -DHAVE_CONFIG_H -O3  -I. -I../../../gcc-4.5.2/libiberty/../include  -W -Wall
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic 
../../../gcc-4.5.2/libiberty/strsignal.c -o strsignal.o
../../../gcc-4.5.2/libiberty/strsignal.c:554:1: error: conflicting types for
'psignal'
/usr/include/signal.h:150:13: note: previous declaration of 'psignal' was here
make[2]: *** [strsignal.o] Error 1
make[2]: Leaving directory `/src/gcc452-build/i686-pc-linux-gnu/libiberty'
make[1]: *** [all-target-libiberty] Error 2
make[1]: Leaving directory `/src/gcc452-build'
make: *** [all] Error 2

Changing in libiberty/strsignal.c
psignal (int signo, char *message)
with
psignal (int signo, const char *message)

does solve the problem.

Reply via email to