There was a very long thread discussing this issue (specifically relating
to PPL). It was my understanding we'd fixed it. It has to do with the
inclusion of C instead of C++ headers which provide INTMAX_MAX or some such
thing (I forget precisely now).

intmax_t and long int shouldn't both be overloaded if the right headers are
included since we have defines to prevent it, based on the existence of
INTMAX_MAX, I think.

Bill.


On 28 August 2014 19:06, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:

> When compiling Sage-6.4.beta1 with MPIR-2.7.0-alpha10 on Linux x86_64 with
> GCC 4.6.4, I get
>
> gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
> -I/usr/local/src/sage-config/local/include 
> -I/usr/local/src/sage-config/local/include/csage
> -I/usr/local/src/sage-config/src -I/usr/local/src/sage-config/src/sage/ext
> -I/usr/local/src/sage-config/local/include/python2.7 -c
> build/cythonized/sage/libs/ppl.cpp -o build/temp.linux-x86_64-2.7/
> build/cythonized/sage/libs/ppl.o -fno-strict-aliasing -w
> In file included from build/cythonized/sage/libs/ppl.cpp:352:0:
> ../local/include/gmpxx.h:1548:3: error: ‘__gmp_expr<__mpz_struct [1],
> __mpz_struct [1]>::__gmp_expr(intmax_t)’ cannot be overloaded
> ../local/include/gmpxx.h:1539:3: error: with ‘__gmp_expr<__mpz_struct
> [1], __mpz_struct [1]>::__gmp_expr(long int)’
> ../local/include/gmpxx.h:1552:3: error: ‘__gmp_expr<__mpz_struct [1],
> __mpz_struct [1]>::__gmp_expr(uintmax_t)’ cannot be overloaded
> ../local/include/gmpxx.h:1540:3: error: with ‘__gmp_expr<__mpz_struct
> [1], __mpz_struct [1]>::__gmp_expr(long unsigned int)’
> ../local/include/gmpxx.h:1615:16: error: ‘__gmp_expr<__mpz_struct [1],
> __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(intmax_t)’ cannot be overloaded
> ../local/include/gmpxx.h:1604:16: error: with ‘__gmp_expr<__mpz_struct
> [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(long int)’
> ../local/include/gmpxx.h:1619:16: error: ‘__gmp_expr<__mpz_struct [1],
> __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(uintmax_t)’ cannot be overloaded
> ../local/include/gmpxx.h:1606:16: error: with ‘__gmp_expr<__mpz_struct
> [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(long unsigned int)’
> error: command 'gcc' failed with exit status 1
>
> The reason is that you are overloading with "intmax_t" and "long int"
> which is the same type.
>
> I don't know if I should blame MPIR, PPL or Sage, but I just let you know
> because this worked fine with MPIR-2.6.0.
>
> Jeroen.
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mpir-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to mpir-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/mpir-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mpir-devel+unsubscr...@googlegroups.com.
To post to this group, send email to mpir-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/mpir-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to