Fix compilation with older versions of GCC

This commit is contained in:
Tiago Gomes 2013-04-16 21:07:03 +01:00
parent 9e9ad24c90
commit 9e57b32431
2 changed files with 25 additions and 12 deletions

View File

@ -21,6 +21,16 @@ enum class LogVarType {
negLvt negLvt
}; };
// Workaround GCC bug #38064
inline bool operator< (LogVarType lvt1, LogVarType lvt2)
{
return (int)lvt1 < (int)lvt2;
}
typedef long LiteralId; typedef long LiteralId;
typedef std::vector<LogVarType> LogVarTypes; typedef std::vector<LogVarType> LogVarTypes;

View File

@ -118,11 +118,8 @@ ParfactorList::isAllShattered() const
void struct sortByParams {
ParfactorList::print() const bool operator() (const Parfactor* pf1, const Parfactor* pf2) const
{
struct sortByParams {
bool operator() (const Parfactor* pf1, const Parfactor* pf2)
{ {
if (pf1->params().size() < pf2->params().size()) { if (pf1->params().size() < pf2->params().size()) {
return true; return true;
@ -132,7 +129,13 @@ ParfactorList::print() const
} }
return false; return false;
} }
}; };
void
ParfactorList::print() const
{
Parfactors pfVec (pfList_.begin(), pfList_.end()); Parfactors pfVec (pfList_.begin(), pfList_.end());
std::sort (pfVec.begin(), pfVec.end(), sortByParams()); std::sort (pfVec.begin(), pfVec.end(), sortByParams());
for (size_t i = 0; i < pfVec.size(); i++) { for (size_t i = 0; i < pfVec.size(); i++) {