This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libfortran/52535] New: SH Target: libfortran won't build for sub-targets where DFmode is set to SFmode?


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

             Bug #: 52535
           Summary: SH Target: libfortran won't build for sub-targets
                    where DFmode is set to SFmode?
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: olegendo@gcc.gnu.org
                CC: kkojima@gcc.gnu.org
            Target: sh*-*-*


It seems that for SH sub-targets where DFmode is set to be the same as SFmode
(everything ??-single-only, m2e ..) libfortran multilibs fail to build with the
following error:

gcc-trunk-build-sh-elf/./gcc/xgcc
-B/home/yam/code/gcc/gcc-trunk-build-sh-elf/./gcc/ -B/usr/local/sh-elf/bin/
-B/usr/local/sh-elf/lib/ -isystem /usr/local/sh-elf/include -isystem
/usr/local/sh-elf/sys-include -DHAVE_CONFIG_H -I.
-I../../../../gcc-trunk/libgfortran -iquote../../../../gcc-trunk/libgfortran/io
-I../../../../gcc-trunk/libgfortran/../gcc
-I../../../../gcc-trunk/libgfortran/../gcc/config -I../../.././gcc
-I../../../../gcc-trunk/libgfortran/../libgcc -I../../libgcc -std=gnu99 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra
-Wwrite-strings -fcx-fortran-rules -ffunction-sections -fdata-sections -mieee
-g -O2 -m2e -MT cshift0.lo -MD -MP -MF .deps/cshift0.Tpo -c
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c -o cshift0.o
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c: In function 'cshift0':
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:131:5: error: duplicate
case value
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:127:5: error: previously
used here
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:161:5: error: duplicate
case value
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:157:5: error: previously
used here
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:268:5: error: duplicate
case value
../../../../gcc-trunk/libgfortran/intrinsics/cshift0.c:221:5: error: previously
used here
make[6]: *** [cshift0.lo] Error 1
make[6]: Leaving directory
`/home/yam/code/gcc/gcc-trunk-build-sh-elf/sh-elf/m2e/libgfortran'

Looking at the generated (?) libgfortran/kinds.h file in the sub-target's build
dir the problem seems to be a bit worse:

typedef float GFC_REAL_4;
typedef complex float GFC_COMPLEX_4;
#define HAVE_GFC_REAL_4
#define HAVE_GFC_COMPLEX_4
#define GFC_REAL_4_HUGE 3.40282347e38f
#define GFC_REAL_4_LITERAL_SUFFIX f
#define GFC_REAL_4_LITERAL(X) (X ## f)
#define GFC_REAL_4_DIGITS 24
#define GFC_REAL_4_RADIX 2

typedef double GFC_REAL_8;
typedef complex double GFC_COMPLEX_8;
#define HAVE_GFC_REAL_8
#define HAVE_GFC_COMPLEX_8
#define GFC_REAL_8_HUGE 1.7976931348623157e308
#define GFC_REAL_8_LITERAL_SUFFIX 
#define GFC_REAL_8_LITERAL(X) (X)
#define GFC_REAL_8_DIGITS 53
#define GFC_REAL_8_RADIX 2

Both GFC_REAL_8 and GFC_REAL_4 are actually of type float.  In this case all
the other GFC_REAL_8 definitions are wrong.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]