On Wed, Sep 15, 2010 at 10:35 PM, Ruben Van Boxem
<[email protected]> wrote:
> Hi,
>
> I am now trying to get ppl to compile with mingw-w64 (for now, with sezero's
> latest build again, as TDM64 is finicky with everything gcc-related :( )
>
> I built GMP with --enable-cxx and have let ppl configure know about gmp with
> --with-gmp-prefix=/path/to/gmp/with/cxx
>
> I get this error after make:
>
>> 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
>
> Is there anything that pops into your great minds with the __restrict thing?
> Should it be plain "restrict"?

Well, this is an ouch... Boundary.defs.hh line 196 is:
r = info.restrict(round_dir_check(type, check), x, V_GT);

Due to a problem in gcc (which is fixed in 4.6-only), we do define
restrict as __restrict in _mingw.h.  Happened in the trunk at revisions
3371/3374/3375, and in the 1.0 branch at revision 3376.

Obviously we never thought that a class would have a member
with a name as "restrict". Ouch ouch ouch.....

Kai:  Should we revert those revisions?? (I assume those changes
won't be backported to gcc 4.4/4.5 ?)

>
> Thanks!
>
> Ruben
>
> PS: Why do you ask?

No I don't ;)

>   Graphite loop optimizations in GCC require PPL and
> cloog-ppl.
>

--
Ozkan

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to