Fix memory errors detected by valgrind and inline functions
authorbdemsky <bdemsky@uci.edu>
Thu, 22 Jun 2017 19:56:09 +0000 (12:56 -0700)
committerbdemsky <bdemsky@uci.edu>
Thu, 22 Jun 2017 19:56:09 +0000 (12:56 -0700)
.gitignore
src/Backend/constraint.h
src/Collections/vector.h
src/Encoders/elementencoding.c
src/Encoders/elementencoding.h

index 39d4e58713ed3c50a2fe63da66b54db65cef26b7..c6f1f574662b4884c0eb0a4685521ddf784b8e0a 100644 (file)
@@ -5,3 +5,5 @@ nbproject/
 src/bin/
 src/lib_cons_comp.so
 /src/mymemory.cc
 src/bin/
 src/lib_cons_comp.so
 /src/mymemory.cc
+.*
+*.dSYM
\ No newline at end of file
index d6e7e868dfd0b6006d4b8d5a4bade77957374829..a83a39b782a8f5ddf01b99243a2b40ea49dcf1d7 100644 (file)
@@ -33,15 +33,15 @@ Constraint * allocVarConstraint(CType t, uint var);
 void deleteConstraint(Constraint *);
 void printConstraint(Constraint * c);
 void dumpConstraint(Constraint * c, IncrementalSolver *solver);
 void deleteConstraint(Constraint *);
 void printConstraint(Constraint * c);
 void dumpConstraint(Constraint * c, IncrementalSolver *solver);
-inline uint getVarConstraint(Constraint * c) {ASSERT(c->type==VAR); return c->numoperandsorvar;}
+static inline uint getVarConstraint(Constraint * c) {ASSERT(c->type==VAR); return c->numoperandsorvar;}
 VectorConstraint * simplify(Constraint * c);
 VectorConstraint * simplify(Constraint * c);
-inline CType getType(Constraint * c) {return c->type;}
-inline bool isFalse(Constraint * c) {return c->type==FALSE;}
-inline bool isTrue(Constraint * c) {return c->type==TRUE;}
+static inline CType getType(Constraint * c) {return c->type;}
+static inline bool isFalse(Constraint * c) {return c->type==FALSE;}
+static inline bool isTrue(Constraint * c) {return c->type==TRUE;}
 void internalfreeConstraint(Constraint * c);
 void freerecConstraint(Constraint * c);
 Constraint * cloneConstraint(Constraint * c);
 void internalfreeConstraint(Constraint * c);
 void freerecConstraint(Constraint * c);
 Constraint * cloneConstraint(Constraint * c);
-inline void setNegConstraint(Constraint * This, Constraint *c) {This->neg=c;}
+static inline void setNegConstraint(Constraint * This, Constraint *c) {This->neg=c;}
 Constraint *negateConstraint(Constraint * c);
 
 extern Constraint ctrue;
 Constraint *negateConstraint(Constraint * c);
 
 extern Constraint ctrue;
index 72e504fa20c537676939fdcf8be295de93468556..76da3873dcc633ca553926c9b1bd36725e88f238 100644 (file)
@@ -29,7 +29,7 @@
                return allocVector ## name(defcap);                                 \
        }                                                                     \
        Vector ## name * allocVector ## name(uint capacity) {                 \
                return allocVector ## name(defcap);                                 \
        }                                                                     \
        Vector ## name * allocVector ## name(uint capacity) {                 \
-               Vector ## name * tmp = (Vector ## name *)ourmalloc(sizeof(type));  \
+               Vector ## name * tmp = (Vector ## name *)ourmalloc(sizeof(Vector ## name));  \
                tmp->size = 0;                                                      \
                tmp->capacity = capacity;                                           \
                tmp->array = (type *) ourcalloc(1, sizeof(type) * capacity);          \
                tmp->size = 0;                                                      \
                tmp->capacity = capacity;                                           \
                tmp->array = (type *) ourcalloc(1, sizeof(type) * capacity);          \
index ecabd1bfcd239fc9bcf3238c272365714d5ba063..217327d346ec2b753cca3d059e6638d1c1055139 100644 (file)
@@ -5,6 +5,7 @@ void initElementEncoding(ElementEncoding * This, Element *element) {
        This->type=ELEM_UNASSIGNED;
        This->variables=NULL;
        This->encodingArray=NULL;
        This->type=ELEM_UNASSIGNED;
        This->variables=NULL;
        This->encodingArray=NULL;
+       This->inUseArray=NULL;
        This->numVars=0;
 }
 
        This->numVars=0;
 }
 
index 3ade03b14ff760dcafbc25c756b5a17603e2da15..1af74beb9c92eb635e0a53c1a19b961c1a70ca09 100644 (file)
@@ -23,11 +23,11 @@ void baseBinaryIndexElementAssign(ElementEncoding *This);
 void allocEncodingArrayElement(ElementEncoding *This, uint size);
 void allocInUseArrayElement(ElementEncoding *This, uint size);
 
 void allocEncodingArrayElement(ElementEncoding *This, uint size);
 void allocInUseArrayElement(ElementEncoding *This, uint size);
 
-inline bool isinUseElement(ElementEncoding *This, uint offset) {
+static inline bool isinUseElement(ElementEncoding *This, uint offset) {
        return (This->inUseArray[(offset>>6)] >> (offset & 63)) &0x1;
 }
 
        return (This->inUseArray[(offset>>6)] >> (offset & 63)) &0x1;
 }
 
-inline void setInUseElement(ElementEncoding *This, uint offset) {
+static inline void setInUseElement(ElementEncoding *This, uint offset) {
        This->inUseArray[(offset>>6)] |= 1 << (offset & 63);
 }
 #endif
        This->inUseArray[(offset>>6)] |= 1 << (offset & 63);
 }
 #endif