I've added clang as an alternative compiler for the nightly GMP builds.
The results are not encouraging, we're triggering many problems.

For some reason, clang purports to be gcc.  This makes GMP and other
packages expect it to work as GCC.  Unfortunately, it does not.  I've
accomodated the simple problems with GMP checkins the last week, hoping
not to break things for (current or past) gcc.

There are at least 4 problems still remaining.

1. The default ABI and ISA for a MIPS64 r1 system is MIPS32 r2 code.  It
   is strange to generate 32-bit code by default for a 64-bit system,
   but even worse to generate code which will not run.  This affects the
   various gen-*.c programs expected to run on the host during
   compilation.  They don't, and we have no mechanism for tweaking this
   as we expect "gcc hello.c; ./a.out" to just work.

2. A likely miscompilation on powerpc64.  The symptom is
     /home/tege/prec/gmp-snap/tests/mpn/t-div.c:486: GNU MP assertion failed:
     qp[nn - 1] == qran1
     FAIL: t-div
   We have not isolated this yet.  Help is welcome.  Failure log:
   
https://gmplib.org/devel/testmachines/check/failure/power7.gmplib.org-stat-clang-clang++:mode64.txt

3. Link errors on some arm32 systems.  We have not investigates this.
   Help is welcome. Failure log:
   
https://gmplib.org/devel/testmachines/build/failure/armv5.gmplib.org-stat-clang-clang++:standard.txt

4. Lots and lots of failures for some arm32 systems.  The problem is
   related to seeding in the test harness.  Possibly this is related to
   floating point operations and parameter passing.
   Failure log:
     
https://gmplib.org/devel/testmachines/check/failure/panda.gmplib.org-stat-clang-clang++:standard.txt
  
This is all clang 3.5.  With clang 3.4, miscompilation seems to be the
norm.

-- 
Torbjörn
Please encrypt, key id 0xC8601622
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to