Warnings with Mingw

Torbjorn Granlund tege at swox.com
Mon Jun 13 15:25:26 CEST 2005

[We got a bug report to gmp-discuss; I follow up to the proper
list, gmp-bugs.]

"CB" <BigMul at yango.us> writes:

  gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -g -O2 -fomit-frame-pointer
   -mcpu=pentiumpro -march=pentiumpro -c get_d_2exp.c
  get_d_2exp.c: In function `__gmpz_get_d_2exp':
  get_d_2exp.c:60: warning: matching constraint does not allow a register
  get_d_2exp.c:60: warning: matching constraint does not allow a register

OK, so clearly somebody made an (another) incompatible change to
gcc's handling of "register ocnstraints" (that is a gcc term).

I would advice you to avoid newer gcc releases for compiling gmp.
They are getting buggier and buggier, and while we try to keep up
with addiing gcc bug workarounds to the gmp development code, we
don't keep up with the gcc release frequency.

  libtool: link: warning: undefined symbols not allowed in pentium3-pc-mingw32
  shared libraries

I don't know what that means.  Didn't it say anything about which
symbols were undefined?

  Plus, of course, bunches of warnings about -mcpu being depricated.
  Are these warnings indicative of a problem?


  The 'make check' passes, but that doesn't necessarily mean anything because
  the first time I tried to build gmp (with mingw 3.1.0), I actually got a
  fatal error and stack dump during the build, but the build went ahead and
  continued.  Even the 'make check' passed.  (No, I didn't try to reproduce
  it.  Since it was an old version of Mingw and MSys, I didn't figure it was
  worth the effort.)

If you get a "fatal error and stack dump: during the build, and it
continues as if nothing was wrong, you have some problems with
your system (hardware or software).

You are right that a successful "make check" isn't a guarantee for
a correctly compiler library.  The gmp testsuite has very good
coverage, but it will not discover all new GCC miscompilation


More information about the gmp-bugs mailing list