[PPL-devel] ppl "remainder bug" checking on mingw targets

Ruben Van Boxem vanboxem.ruben at gmail.com
Wed Sep 15 21:31:58 CEST 2010


2010/9/15 Enea Zaffanella <zaffanella at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cs.unipr.it/pipermail/ppl-devel/attachments/20100915/2c9d99e7/attachment.htm>


More information about the PPL-devel mailing list