Get rid of OrderPair warning
authorbdemsky <bdemsky@uci.edu>
Fri, 25 Aug 2017 08:12:32 +0000 (01:12 -0700)
committerbdemsky <bdemsky@uci.edu>
Fri, 25 Aug 2017 08:12:49 +0000 (01:12 -0700)
src/AST/order.h
src/Backend/orderpair.cc
src/Backend/orderpair.h
src/Backend/satorderencoder.cc
src/Backend/sattranslator.cc
src/classlist.h

index 2cc07b99cdcdd7db393c03c77910dc75ef594de7..164578630697960e54f045cff417ed3fc80b2736 100644 (file)
@@ -6,6 +6,7 @@
 #include "ops.h"
 #include "orderencoding.h"
 #include "boolean.h"
+#include "orderpair.h"
 
 class Order {
  public:
index 9501af5dcc437f232c686395765e4be271a2820c..89913bbfe00e5d34025c16b529c9ad65d473d13b 100644 (file)
@@ -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) {
 }
index 57b96b4cc409da775b3647fa93da3a60bc50d7c6..b34ea1a324557f7816be269806b8fe2314be79e2 100644 (file)
 #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 */
 
index 7cbcd7f5eaed8cc805e49dbc16c31e018f2bebd2..4ca56e29b30181e37e599128a0b20d6ee6f4ab7c 100644 (file)
@@ -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));
index 0be125611bbd258402e5ce5156e5ee5179c5f08c..b028bf86777bd24a69546db8a93d3c600b43070d 100644 (file)
@@ -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;
index 1bdaff45b0ac0b382841da4e322b22fa5d81afcf..fe87c3b86dd98457cbf8e5030c63794a758a1526 100644 (file)
@@ -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;