From 9cd058c2fb9e7e9dae580d2d8abb84b97e4bf96a Mon Sep 17 00:00:00 2001 From: bdemsky Date: Fri, 25 Aug 2017 01:12:32 -0700 Subject: [PATCH] Get rid of OrderPair warning --- src/AST/order.h | 1 + src/Backend/orderpair.cc | 16 ++++++++-------- src/Backend/orderpair.h | 11 ++++++----- src/Backend/satorderencoder.cc | 10 +++++----- src/Backend/sattranslator.cc | 2 +- src/classlist.h | 4 ++-- 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/AST/order.h b/src/AST/order.h index 2cc07b9..1645786 100644 --- a/src/AST/order.h +++ b/src/AST/order.h @@ -6,6 +6,7 @@ #include "ops.h" #include "orderencoding.h" #include "boolean.h" +#include "orderpair.h" class Order { public: diff --git a/src/Backend/orderpair.cc b/src/Backend/orderpair.cc index 9501af5..89913bb 100644 --- a/src/Backend/orderpair.cc +++ b/src/Backend/orderpair.cc @@ -1,14 +1,14 @@ #include "orderpair.h" -OrderPair *allocOrderPair(uint64_t first, uint64_t second, Edge constraint) { - OrderPair *pair = (OrderPair *) ourmalloc(sizeof(OrderPair)); - pair->first = first; - pair->second = second; - pair->constraint = constraint; - return pair; +OrderPair::OrderPair(uint64_t _first, uint64_t _second, Edge _constraint) : + first(_first), + second(_second), + constraint(_constraint) { } -void deleteOrderPair(OrderPair *pair) { - ourfree(pair); +OrderPair::OrderPair() : + first(0), + second(0), + constraint(E_NULL) { } diff --git a/src/Backend/orderpair.h b/src/Backend/orderpair.h index 57b96b4..b34ea1a 100644 --- a/src/Backend/orderpair.h +++ b/src/Backend/orderpair.h @@ -12,14 +12,15 @@ #include "mymemory.h" #include "constraint.h" -struct OrderPair { - uint64_t first; +class OrderPair { + public: + OrderPair(uint64_t first, uint64_t second, Edge constraint); + OrderPair(); + uint64_t first; uint64_t second; Edge constraint; + MEMALLOC; }; -OrderPair *allocOrderPair(uint64_t first, uint64_t second, Edge constraint); -void deleteOrderPair(OrderPair *pair); - #endif/* ORDERPAIR_H */ diff --git a/src/Backend/satorderencoder.cc b/src/Backend/satorderencoder.cc index 7cbcd7f..4ca56e2 100644 --- a/src/Backend/satorderencoder.cc +++ b/src/Backend/satorderencoder.cc @@ -129,7 +129,7 @@ Edge getPairConstraint(SATEncoder *This, Order *order, OrderPair *pair) { Edge constraint; if (!(table->contains(pair))) { constraint = getNewVarSATEncoder(This); - OrderPair *paircopy = allocOrderPair(pair->first, pair->second, constraint); + OrderPair *paircopy = new OrderPair(pair->first, pair->second, constraint); table->put(paircopy, paircopy); } else constraint = table->get(pair)->constraint; @@ -148,7 +148,7 @@ Edge encodeTotalOrderSATEncoder(SATEncoder *This, BooleanOrder *boolOrder) { } createAllTotalOrderConstraintsSATEncoder(This, boolOrder->order); } - OrderPair pair = {boolOrder->first, boolOrder->second, E_NULL}; + OrderPair pair(boolOrder->first, boolOrder->second, E_NULL); Edge constraint = getPairConstraint(This, boolOrder->order, &pair); return constraint; } @@ -165,12 +165,12 @@ void createAllTotalOrderConstraintsSATEncoder(SATEncoder *This, Order *order) { uint64_t valueI = mems->get(i); for (uint j = i + 1; j < size; j++) { uint64_t valueJ = mems->get(j); - OrderPair pairIJ = {valueI, valueJ}; + OrderPair pairIJ(valueI, valueJ, E_NULL); Edge constIJ = getPairConstraint(This, order, &pairIJ); for (uint k = j + 1; k < size; k++) { uint64_t valueK = mems->get(k); - OrderPair pairJK = {valueJ, valueK}; - OrderPair pairIK = {valueI, valueK}; + OrderPair pairJK(valueJ, valueK, E_NULL); + OrderPair pairIK(valueI, valueK, E_NULL); Edge constIK = getPairConstraint(This, order, &pairIK); Edge constJK = getPairConstraint(This, order, &pairJK); addConstraintCNF(This->cnf, generateTransOrderConstraintSATEncoder(This, constIJ, constJK, constIK)); diff --git a/src/Backend/sattranslator.cc b/src/Backend/sattranslator.cc index 0be1256..b028bf8 100644 --- a/src/Backend/sattranslator.cc +++ b/src/Backend/sattranslator.cc @@ -87,7 +87,7 @@ bool getBooleanVariableValueSATTranslator( CSolver *This, Boolean *boolean) { HappenedBefore getOrderConstraintValueSATTranslator(CSolver *This, Order *order, uint64_t first, uint64_t second) { ASSERT(order->orderPairTable != NULL); - OrderPair pair = {first, second, E_NULL}; + OrderPair pair(first, second, E_NULL); Edge var = getOrderConstraint(order->orderPairTable, &pair); if (edgeIsNull(var)) return UNORDERED; diff --git a/src/classlist.h b/src/classlist.h index 1bdaff4..fe87c3b 100644 --- a/src/classlist.h +++ b/src/classlist.h @@ -40,12 +40,12 @@ class PredicateTable; class PredicateOperator; class Table; class Order; +class OrderPair; struct IncrementalSolver; typedef struct IncrementalSolver IncrementalSolver; -struct OrderPair; -typedef struct OrderPair OrderPair; + struct OrderElement; typedef struct OrderElement OrderElement; -- 2.34.1