Hi,
I'm currently trying to bring back more life into the SPARC port of
illumos, aka v9os. Therefore I would like to use gmp-6.2.0 for my
next compiler build. At first I'll have to say thank you for the
perfomance boost in 6.2.0, here are my very small benchmarks
for 6.1.2 and 6.2.0 on a very old Sun Ultra-60 runing:
v9os: http://www.milax.fi/v9os.html
The measured times are only for the reuse test in subdir mpz:
gmp-6.1.2:
==========
ultra2 2x 450Mhz 2048MB:
gcc-7.4.0: -m32 -O2 -pedantic -mcpu=ultrasparc -Wa,-Av8plusa - gas 2.33.1
9:38 min.
gcc-4.7.4: -O2 -pedantic -m64 -mptr64 -mcpu=ultrasparc -Wa,-Av9a - gas
2.33.1
5:03 min.
studio12.2 -m64 -xcode=pic32 -xO3 -xtarget=ultra2 -xarch=sparcvis
5:14 min.
ultra2 2x 400Mhz snv_130 studio12.2:
11:45 min.
gmp-6.2.0:
==========
ultra2 2x 450Mhz 2048MB
gcc-5.1.0: -O2 -m64 -mptr64 -mcpu=ultrasparc -Wa,-Av9a - gas: 2.33.1
1:50 min.
studio12.2 -m64 -xO2 -xcode=pic32
1:49 min.
studio12.2 -m64 -xO2 -xcode=pic32
1:56 min.
gcc-4.7.4: -O2 -pedantic -m64 -mptr64 -mcpu=ultrasparc -Wa,-Av9a - gas:
2.33.1
1:45 min.
ultra10 1x 400Mhz 1024MB - Solaris10
studio12.3 -m64 -xO2 -xcode=pic32
1:56 min.
You may wonder about all these -xcode=pic32 settings, the -xcode=pic32
option,
was introduced for SPARC in Sun C 5.3, and was outlined equivalent to -KPIC.
Later man pages for Sun C, obsolete the -KPIC option for SPARC
more<https://dict.leo.org/englisch-deutsch/precise>precisely,
Sun C 5.11 for example:
-KPIC
(SPARC) Obsolete. You should not use this option. Use
-xcode=pic32 instead. For a complete list of obsolete
options and flags, see the C User's Guide.
therefore I've written a small patch to gmp's configure script, which
changes the
PICFLAG onwards from Sun C 5.3 to -xcode=pic32, but only for SPARC,
please see
the second hunk in the attached patch: gmp-6.2.0.patch.
The fix for gmp-h.in in the attached patch is carried forward for me
since 6.0.0,
probably much longer and only enables Sun C 5.3 users to benefit from gmp's
inlining feature. The last hunk gmp-impl.h eliminates the following
warning on
Solaris10 / Studio12.3:
gmp-6.2.0/gmp-impl.h", line 734: Warning (Anachronism): Attempt to
redefine __builtin_constant_p without using #undef.
But now to my real problem, if I try to compile gmp-6.2.0 on v9os using
Sun C 5.11,
I'll get the following very long lines:
gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1],
__mpz_struct[1]>::factorial(signed char), returning
__gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>,
was previously declared returning __gmp_expr<__mpz_struct[1],
__gmp_unary_expr<long, __gmp_fac_function>>.
10 times and then for lines 3376/77 ten times, when compiling
gmp-6.2.0/cxx/limits.cc
could you please have a look into the attachment: Studio11-gmp-6.2.0.log
for more details.
I'm using gmp-6.1.2 without problems on v9os with Sun C 5.11, but 5.13
and newer, isn't an
option on v9os, because of some internal library handling between v9os
and Sun C 5.13 e.g.
5.13 simply does not work on v9os. But the gcc-5.1.0 included in v9os
isn't able to build a
working combination of gmp/mpfr in 64bit format. So I'm stuck with Sun C
5.11 for now,
would you please help me in fixing the C++ erros occuring from
gmp-6.2.0/cxx/limits.cc
Thanks very much in advance
Best Regards
Klaus Ziegler
--- gmp-h.in.orig 2020-01-17 14:44:49.000000000 +0100
+++ gmp-h.in 2020-02-11 20:14:50.345454511 +0100
@@ -408,7 +408,7 @@
#endif
/* Somewhat older Sun C compilers want "static inline" */
-#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \
+#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x530 \
&& ! defined (__GMP_EXTERN_INLINE)
#define __GMP_EXTERN_INLINE static inline
#endif
--- configure.orig 2020-01-17 14:44:55.000000000 +0100
+++ configure 2020-02-11 19:03:08.809489484 +0100
@@ -16274,6 +16274,15 @@
*)
lt_prog_compiler_wl='-Wl,';;
esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *C\ 5.*) SUBV=`$CC -V 2>&1 | sed 5q | $AWK '{gsub("cc: Sun C 5.",""); print $1}'`
+ if test "$SUBV" -ge "3"; then
+ case $host in
+ sparcv9*|ultrasparc*) lt_prog_compiler_pic='-xcode=pic32' ;;
+ esac
+ fi
+ ;;
+ esac
;;
sunos4*)
@@ -21629,18 +21638,23 @@
;;
solaris*)
case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
gcx*)
# Green Hills C++ Compiler
lt_prog_compiler_pic_CXX='-PIC'
- ;;
- *)
- ;;
+ ;;
+ *) lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic_CXX='-KPIC'
+ case `$CXX -V 2>&1 | sed 5q` in
+ *C++\ 5.*) SUBV=`$CXX -V 2>&1 | sed 5q | $AWK '{gsub("CC: Sun C\\\++ 5.",""); print $1}'`
+ if test "$SUBV" -ge "3"; then
+ case $host in
+ sparc*|ultrasparc*) lt_prog_compiler_pic_CXX='-xcode=pic32' ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
esac
;;
sunos4*)
@@ -23660,7 +23674,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gmp_cv_c_attribute_mode" >&5
$as_echo "$gmp_cv_c_attribute_mode" >&6; }
-if test $gmp_cv_c_attribute_mode = yes; then
+if test "$gmp_cv_c_attribute_mode" = "yes" && test "$ccbase" = "gcc"; then
$as_echo "#define HAVE_ATTRIBUTE_MODE 1" >>confdefs.h
--- gmp-impl.h.orig Fri Jan 17 14:44:49 2020
+++ gmp-impl.h Sun Feb 16 16:25:43 2020
@@ -731,8 +731,10 @@
/* Dummy for non-gcc, code involving it will go dead. */
#if ! defined (__GNUC__) || __GNUC__ < 2
-#define __builtin_constant_p(x) 0
+#ifndef __SUNPRO_CC
+#define __builtin_constant_p(x) 0
#endif
+#endif
/* In gcc 2.96 and up on i386, tail calls are optimized to jumps if the
/bin/sh ../libtool --tag=CXX --mode=compile CC -DHAVE_CONFIG_H -I. -I/data/src/gmp-6.2.0/cxx -I.. -D__GMP_WITHIN_GMPXX -I/data/src/gmp-6.2.0 -m64 -xO3 -xtarget=ultra2 -xarch=sparcvis -c -o limits.lo /data/src/gmp-6.2.0/cxx/limits.cc
libtool: compile: CC -DHAVE_CONFIG_H -I. -I/data/src/gmp-6.2.0/cxx -I.. -D__GMP_WITHIN_GMPXX -I/data/src/gmp-6.2.0 -m64 -xO3 -xtarget=ultra2 -xarch=sparcvis -c /data/src/gmp-6.2.0/cxx/limits.cc -xcode=pic32 -DPIC -o .libs/limits.o
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(float), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(double), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(float), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(double), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
Compilation aborted, too many Error messages.
/bin/sh ../libtool --tag=CXX --mode=compile CC -DHAVE_CONFIG_H -I. -I/data/src/gmp-6.2.0/cxx -I.. -D__GMP_WITHIN_GMPXX -I/data/src/gmp-6.2.0 -m64 -xO3 -xtarget=ultra2 -xarch=sparcvis -c -o limits.lo /data/src/gmp-6.2.0/cxx/limits.cc
libtool: compile: CC -DHAVE_CONFIG_H -I. -I/data/src/gmp-6.2.0/cxx -I.. -D__GMP_WITHIN_GMPXX -I/data/src/gmp-6.2.0 -m64 -xO3 -xtarget=ultra2 -xarch=sparcvis -c /data/src/gmp-6.2.0/cxx/limits.cc -xcode=pic32 -DPIC -o .libs/limits.o
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(unsigned long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(float), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3375: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::factorial(double), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_fac_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(unsigned long), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(float), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3376: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::primorial(double), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<double, __gmp_primorial_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(signed char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(unsigned char), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(int), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(unsigned), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<unsigned long, __gmp_fib_function>>.
"/data/src/gmp-6.2.0/gmpxx.h", line 3377: Error: static __gmp_expr<__mpz_struct[1], __mpz_struct[1]>::fibonacci(short), returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>, was previously declared returning __gmp_expr<__mpz_struct[1], __gmp_unary_expr<long, __gmp_fib_function>>.
Compilation aborted, too many Error messages.
_______________________________________________
gmp-bugs mailing list
[email protected]
https://gmplib.org/mailman/listinfo/gmp-bugs