2010/9/15 Enea Zaffanella <zaffanella@cs.unipr.it>

Try commenting out the following line in configure.ac
# AC_CXX_HAS_REMAINDER_BUG
and see if the time spent drops down.

Note: this is NOT a solution. It is just a test to see if that check is the real cause of what you are observing.

Enea.


I have localized the problem: TDM64 GCC causes the conftest.exe to run forever/"a very long time".  If I use another build of the toolchain by someone else, the program crashes (which is an indicator of the bug, as I have already read somewhere).

I will take it up with TDM himself. Thanks for the help.

I am now trying to compile ppl with a trusted compiler (sezero's private build from mingw-w64.sourceforge.net) and came accross this error:

libtool: compile:  x86_64-w64-mingw32-g++ -DHAVE_CONFIG_H -I. -I../../../src/ppl/src -I.. -I.. -I../../../src/ppl/src -I/home/ruben/mingw64/build/gmp2-bin/include -g -O2 -frounding-math -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c ../../../src/ppl/src/Box.cc  -DDLL_EXPORT -DPIC -o .libs/Box.o
In file included from ../../../src/ppl/src/Box.inlines.hh:26,
                 from ../../../src/ppl/src/Box.defs.hh:2217,
                 from ../../../src/ppl/src/Box.cc:24:
../../../src/ppl/src/Boundary.defs.hh: In function 'Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Boundary_NS::shrink(Parma_Polyhedra_Library::Boundary_NS::Boundary_Type, T&, Info&, bool)':
../../../src/ppl/src/Boundary.defs.hh:196: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Boundary.defs.hh:196: error: expected ';' before '__restrict'
../../../src/ppl/src/Boundary.defs.hh:200: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Boundary.defs.hh:200: error: expected ';' before '__restrict'
In file included from ../../../src/ppl/src/Interval_Info.defs.hh:27,
                 from ../../../src/ppl/src/Interval.defs.hh:31,
                 from ../../../src/ppl/src/Polyhedron.templates.hh:28,
                 from ../../../src/ppl/src/Polyhedron.defs.hh:2625,
                 from ../../../src/ppl/src/Box.templates.hh:33,
                 from ../../../src/ppl/src/Box.defs.hh:2218,
                 from ../../../src/ppl/src/Box.cc:24:
../../../src/ppl/src/Interval_Restriction.defs.hh: At global scope:
../../../src/ppl/src/Interval_Restriction.defs.hh:55: error: expected ')' before ',' token
../../../src/ppl/src/Interval_Restriction.defs.hh:164: error: expected ')' before 'rdir'
In file included from ../../../src/ppl/src/Interval_Info.defs.hh:27,
                 from ../../../src/ppl/src/Interval.defs.hh:31,
                 from ../../../src/ppl/src/Polyhedron.templates.hh:28,
                 from ../../../src/ppl/src/Polyhedron.defs.hh:2625,
                 from ../../../src/ppl/src/Box.templates.hh:33,
                 from ../../../src/ppl/src/Box.defs.hh:2218,
                 from ../../../src/ppl/src/Box.cc:24:
../../../src/ppl/src/Interval_Restriction.defs.hh:338: error: expected ')' before 'rdir'
In file included from ../../../src/ppl/src/Polyhedron.templates.hh:28,
                 from ../../../src/ppl/src/Polyhedron.defs.hh:2625,
                 from ../../../src/ppl/src/Box.templates.hh:33,
                 from ../../../src/ppl/src/Box.defs.hh:2218,
                 from ../../../src/ppl/src/Box.cc:24:
../../../src/ppl/src/Interval.defs.hh: In member function 'Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Interval<Boundary, Info>::lower_normalize() const':
../../../src/ppl/src/Interval.defs.hh:106: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.defs.hh:106: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.defs.hh:111: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.defs.hh:111: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.defs.hh: In member function 'Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Interval<Boundary, Info>::upper_normalize() const':
../../../src/ppl/src/Interval.defs.hh:127: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.defs.hh:127: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.defs.hh:132: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.defs.hh:132: error: expected ';' before '__restrict'
In file included from ../../../src/ppl/src/Interval.defs.hh:843,
                 from ../../../src/ppl/src/Polyhedron.templates.hh:28,
                 from ../../../src/ppl/src/Polyhedron.defs.hh:2625,
                 from ../../../src/ppl/src/Box.templates.hh:33,
                 from ../../../src/ppl/src/Box.defs.hh:2218,
                 from ../../../src/ppl/src/Box.cc:24:
../../../src/ppl/src/Interval.inlines.hh: In member function 'typename Parma_Polyhedra_Library::Enable_If<(Parma_Polyhedra_Library::Is_Singleton::value || Parma_Polyhedra_Library::Is_Interval::value), bool>::type Parma_Polyhedra_Library::Interval<Boundary, Info>::can_be_exactly_joined_to(const Type&) const':
../../../src/ppl/src/Interval.inlines.hh:324: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:324: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:324: error: expected primary-expression before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:324: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:329: error: expected unqualified-id before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:329: error: expected ';' before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:329: error: expected primary-expression before '__restrict'
../../../src/ppl/src/Interval.inlines.hh:329: error: expected ';' before '__restrict'
make[3]: *** [Box.lo] Error 1
make[3]: Leaving directory `/home/Ruben/mingw64/build/ppl/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Ruben/mingw64/build/ppl/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Ruben/mingw64/build/ppl'
make: *** [all] Error 2

Unless you know a fix, I will take this and any other errors to the mingw-w64 mailing list and recontact you when I have all the necessary fixes.

Ruben