This is the mail archive of the gcc-patches@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]

Re: [fortran,patch] Complete front-end support for __float128


On Fri, Aug 27, 2010 at 03:58:08PM -0700, Steve Kargl wrote:
> On Fri, Aug 27, 2010 at 03:39:56PM -0700, Steve Kargl wrote:
> > On Fri, Aug 27, 2010 at 11:25:13PM +0200, FX wrote:
> > > > OK with enabling by default and with a small test case as outlined above.
> > > 
> > > Committed as rev. 163597.
> > > 
> > 
> > libtool: compile:  /home/sgk/gcc/obj4x/./gcc/xgcc -B/home/sgk/gcc/obj4x/./gcc/ -B/home/sgk/work/4x/x86_64-unknown-freebsd9.0/bin/ -B/home/sgk/work/4x/x86_64-unknown-freebsd9.0/lib/ -isystem /home/sgk/work/4x/x86_64-unknown-freebsd9.0/include -isystem /home/sgk/work/4x/x86_64-unknown-freebsd9.0/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc4x/libgfortran -iquote../../../gcc4x/libgfortran/io -I../../../gcc4x/libgfortran/../gcc -I../../../gcc4x/libgfortran/../gcc/config -I../.././gcc -D_GNU_SOURCE -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT cshift0.lo -MD -MP -MF .deps/cshift0.Tpo -c ../../../gcc4x/libgfortran/intrinsics/cshift0.c  -fPIC -DPIC -o .libs/cshift0.o
> > ../../../gcc4x/libgfortran/intrinsics/cshift0.c: In function 'cshift0':
> > ../../../gcc4x/libgfortran/intrinsics/cshift0.c:145:5: error: duplicate case value
> > ../../../gcc4x/libgfortran/intrinsics/cshift0.c:138:5: error: previously used here
> > ../../../gcc4x/libgfortran/intrinsics/cshift0.c:167:5: error: duplicate case value
> > ../../../gcc4x/libgfortran/intrinsics/cshift0.c:160:5: error: previously used here
> 
> If I restart my build with 'gmake -k', I see the same type of error
> with 
> 
> intrinsics/cshift0.c
> intrinsics/pack_generic.c
> intrinsics/spread_generic.c
> unpack_generic.c
> in_pack_generic.c
> in_unpack_generic.c
> 
> everything else appears to build fine.
> 

Well, I've track down where the problem starts.
In libgfortran.h, we have

#ifdef HAVE_GFC_REAL_10
#define GFC_DTYPE_REAL_10  ((GFC_DTYPE_REAL << GFC_DTYPE_TYPE_SHIFT) \
   | (sizeof(GFC_REAL_10) << GFC_DTYPE_SIZE_SHIFT))
#endif
#ifdef HAVE_GFC_REAL_16
#define GFC_DTYPE_REAL_16 ((GFC_DTYPE_REAL << GFC_DTYPE_TYPE_SHIFT) \
   | (sizeof(GFC_REAL_16) << GFC_DTYPE_SIZE_SHIFT))
#endif

The entities GFC_REAL_10 and GFC_REAL_16 are created by mk-srk-inc.sh
and one finds in kinds.h

typedef long double GFC_REAL_10;
typedef complex long double GFC_COMPLEX_10;

typedef long double GFC_REAL_16;
typedef complex long double GFC_COMPLEX_16;

So, clearly GFC_DTYPE_REAL_10 and GFC_DTYPE_REAL_16  are identical.

-- 
Steve


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