When libgfortran/intrinsics/signal.c is built at -m64, a number of warnings
occur...

/sw/src/fink.build/gcc4-4.1.999-20060910/darwin_objdir/./gcc/xgcc
-B/sw/src/fink.build/gcc4-4.1.999-20060910/darwin_objdir/./gcc/
-B/sw/lib/gcc4/powerpc-apple-darwin8/bin/
-B/sw/lib/gcc4/powerpc-apple-darwin8/lib/ -isystem
/sw/lib/gcc4/powerpc-apple-darwin8/include -isystem
/sw/lib/gcc4/powerpc-apple-darwin8/sys-include -DHAVE_CONFIG_H -I.
-I../../../../gcc-4.2-20060910/libgfortran -I.
-iquote../../../../gcc-4.2-20060910/libgfortran/io
-I../../../../gcc-4.2-20060910/libgfortran/../gcc
-I../../../../gcc-4.2-20060910/libgfortran/../gcc/config -I../../.././gcc
-D_GNU_SOURCE -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Wextra -Wwrite-strings -O2 -g -O2 -m64 -c
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c  -fno-common -DPIC
-o .libs/signal.o
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c: In function
'signal_sub':
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c:52: warning: cast
from pointer to integer of different size
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c: In function
'signal_sub_int':
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c:73: warning: cast
to pointer from integer of different size
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c:73: warning: cast
from pointer to integer of different size
../../../../gcc-4.2-20060910/libgfortran/intrinsics/signal.c:75: warning: cast
to pointer from integer of different size

corresponding to the lines...

    *status = (int) signal (*number, handler);

    *status = (int) signal (*number, (void (*)(int)) *handler);

    signal (*number, (void (*)(int)) *handler);

from the subroutine...

void
signal_sub (int *number, void (*handler)(int), int *status)

...for the first warning and from the subroutine...

void
signal_sub_int (int *number, int *handler, int *status)

Note: Thomas Koenig  comments that since signal() returns a pointer to the
previous signal handle and 
g77 uses an integer variable wide enough to hold the STATUS argument, we should
do the same.


-- 
           Summary: cast from pointer to integer of different size in
                    libgfortran/intrinsics/signal.c
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: powerpc-apple-darwin8
  GCC host triplet: powerpc-apple-darwin8
GCC target triplet: powerpc-apple-darwin8


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

Reply via email to