Problem when compiling ppl 0.12.1 on Mac OSX 10.4
Hi,
I'm trying to compile ppl 0.12.1 on OSX 10.4 (aka Tiger) and I'm getting this error:
src/Congruence_System.cc: In member function 'void Parma_Polyhedra_Library::Congruence_System::insert(const Parma_Polyhedra_Library::Congruence_System&)': src/Congruence_System.cc:183: error: no matching function for call to 'swap(Parma_Polyhedra_Library::Dense_Row&, Parma_Polyhedra_Library::Congruence&)'
Basically, Tiger is complaining there's no way to call std:swap() with a Dense_Row object and a Congruence object.
I tried to replace the swap() call, hand-coding what it's expected to do, but then the compiler also complains about the assignment operator between such objects, and it won't compile (I tried both using a Dense_Row object and a Congruence object as the temporary object for the swapping, but both approaches failed).
Do you guess some way of rewriting such swap() call so that it would compile on my machine?
Btw, yes, I know, Tiger is old, and yes, I can use a newer machine, but if you imagine a way of compiling that line it will be of great help because this is my machine at home.
TIA
ardi
On 06/16/2012 06:47 PM, Ardillas del Monte wrote:
Hi,
I'm trying to compile ppl 0.12.1 on OSX 10.4 (aka Tiger) and I'm getting this error:
src/Congruence_System.cc: In member function 'void Parma_Polyhedra_Library::Congruence_System::insert(const Parma_Polyhedra_Library::Congruence_System&)': src/Congruence_System.cc:183: error: no matching function for call to 'swap(Parma_Polyhedra_Library::Dense_Row&, Parma_Polyhedra_Library::Congruence&)'
Basically, Tiger is complaining there's no way to call std:swap() with a Dense_Row object and a Congruence object.
I tried to replace the swap() call, hand-coding what it's expected to do, but then the compiler also complains about the assignment operator between such objects, and it won't compile (I tried both using a Dense_Row object and a Congruence object as the temporary object for the swapping, but both approaches failed).
Do you guess some way of rewriting such swap() call so that it would compile on my machine?
Hi.
Which compiler (version) are you using?
Can you please provide us a complete (small) example showing the problem? Also, please send us the complete error message(s) you are obtaining (your compiler should be also listing all the non-matching candidates for that `swap' function call).
As far as I can tell by guessing (needless to say, a very error prone diagnostic procedure), your compiler may be disregarding some friend declaration (in particular, Congruence_System is a friend of Congruence and hence should be able to convert a Congruence object into a Dense_Row object).
Cheers, Enea.
Btw, yes, I know, Tiger is old, and yes, I can use a newer machine, but if you imagine a way of compiling that line it will be of great help because this is my machine at home.
TIA
ardi
PPL-devel mailing list PPL-devel@cs.unipr.it http://www.cs.unipr.it/mailman/listinfo/ppl-devel
participants (2)
-
Ardillas del Monte -
Enea Zaffanella