octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.1.52 fails to build in hppa/linux


From: Marco Atzeri
Subject: Re: 3.1.52 fails to build in hppa/linux
Date: Sun, 22 Feb 2009 20:22:38 +0000 (GMT)

--- Dom 22/2/09, Jaroslav Hajek  ha scritto:

> Da: Jaroslav Hajek 
> Oggetto: Re: 3.1.52 fails to build in hppa/linux
> A: address@hidden
> Cc: address@hidden
> Data: Domenica 22 febbraio 2009, 21:14
> On Sun, Feb 22, 2009 at 8:32 PM, Marco Atzeri
>  wrote:
> >
> > --- Dom 22/2/09, Jaroslav Hajek  ha scritto:
> >
[CUT]

> >>
> >> Rafael,
> >>
> >> can you try compiling (no need to link) the
> following test
> >> code? It
> >> should be a simple instance of the same issue.
> >>
> >> class A {};
> >>
> >> template <class X, class T> void method
> (double u, T
> >> v);
> >>
> >> template <class X> void method (double u,
> long v);
> >>
> >> int main ()
> >> {
> >>   double u; long v;
> >>   method<A> (u, v);
> >> }
> >>
> >> If you get a failure, then you have a buggy gcc.
> >>
> >> --
> >> RNDr. Jaroslav Hajek
> >
> > Hi Jaroslav,
> > your test compile fine on cygwin with gcc-4.4.3.
> >
> > I suspect it is more an issue around int64_t and
> uint64_t
> > as all the errors go in couple:
> >
> > ../../octave_local/liboctave/oct-inttypes.cc:514:
> error: ambiguous template specialization
> 'mop<octave_int_cmp_op::ge>' for 'bool
> octave_int_cmp_op::mop(int64_t, double)'
> > ../../octave_local/liboctave/oct-inttypes.cc:514:
> error: ambiguous template specialization
> 'mop<octave_int_cmp_op::ge>' for 'bool
> octave_int_cmp_op::mop(uint64_t, double)'
> >
> > Regards
> > Marco
> >
> 
> I see; it's probably a different issue, then. I suspect
> it only
> happens on those architectures where long double is equal
> to double,
> right? I'll try to investigate this.
> 
> -- 
> RNDr. Jaroslav Hajek

Hi Jaroslav
on cygwin double and long double are not equal.

sizeof(int) == 4
sizeof(long) == 4
sizeof(long long) == 8
sizeof(long long int) == 8
sizeof(unsigned long long int) == 8
sizeof(double) == 8
sizeof(long double) == 12
sizeof(int8_t) == 1
sizeof(int16_t) == 2
sizeof(int32_t) == 4
sizeof(int64_t) == 8
sizeof(uint8_t) == 1
sizeof(uint16_t) == 2
sizeof(uint32_t) == 4
sizeof(uint64_t) == 8

Regards
Marco



      Passa a Yahoo! Mail.

La webmail che ti offre GRATIS spazio illimitato, 
antispam e messenger integrato.
http://it.mail.yahoo.com/              



reply via email to

[Prev in Thread] Current Thread [Next in Thread]