summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2020-09-17 22:27:33 +0200
committercgzones <cgzones@googlemail.com>2020-10-03 19:04:27 +0200
commitd69585b82abfdaede9e8c358982a4953c432e8d2 (patch)
tree7b087349e21cd51dab789bc44da73272d336937c
parentb7f63292e5394ca7eee2dc5d14d0d1244db61c17 (diff)
Resolve DEBUG compilation issues
Use NDEBUG conditional instead of DEBUG. Do not call static functions in extern inline ones. Vector.c:67:11: error: static function 'Vector_isConsistent' is used in an inline function with external linkage [-Werror,-Wstatic-in-inline]
-rw-r--r--CRT.c4
-rw-r--r--Hashtable.c6
-rw-r--r--Hashtable.h4
-rw-r--r--Object.c4
-rw-r--r--Object.h4
-rw-r--r--Vector.c46
-rw-r--r--Vector.h23
-rw-r--r--linux/LinuxProcessList.c2
8 files changed, 32 insertions, 61 deletions
diff --git a/CRT.c b/CRT.c
index 69372298..374e1721 100644
--- a/CRT.c
+++ b/CRT.c
@@ -631,13 +631,13 @@ void CRT_init(int delay, int colorScheme, bool allowUnicode) {
define_key(sequence, KEY_ALT('A' + (c - 'a')));
}
}
-#ifndef DEBUG
+
struct sigaction act;
sigemptyset (&act.sa_mask);
act.sa_flags = (int)SA_RESETHAND;
act.sa_handler = CRT_handleSIGSEGV;
sigaction (SIGSEGV, &act, &old_sigsegv_handler);
-#endif
+
signal(SIGTERM, CRT_handleSIGTERM);
signal(SIGQUIT, CRT_handleSIGTERM);
use_default_colors();
diff --git a/Hashtable.c b/Hashtable.c
index bb9517ad..f8815f93 100644
--- a/Hashtable.c
+++ b/Hashtable.c
@@ -12,7 +12,7 @@ in the source distribution for its full text.
#include <assert.h>
-#ifdef DEBUG
+#ifndef NDEBUG
static bool Hashtable_isConsistent(Hashtable* this) {
int items = 0;
@@ -39,7 +39,7 @@ int Hashtable_count(Hashtable* this) {
return items;
}
-#endif
+#endif /* NDEBUG */
static HashtableItem* HashtableItem_new(unsigned int key, void* value) {
HashtableItem* this;
@@ -124,7 +124,7 @@ void* Hashtable_remove(Hashtable* this, unsigned int key) {
return NULL;
}
-inline void* Hashtable_get(Hashtable* this, unsigned int key) {
+void* Hashtable_get(Hashtable* this, unsigned int key) {
unsigned int index = key % this->size;
HashtableItem* bucketPtr = this->buckets[index];
while (true) {
diff --git a/Hashtable.h b/Hashtable.h
index 144f01cf..aacbb340 100644
--- a/Hashtable.h
+++ b/Hashtable.h
@@ -26,11 +26,11 @@ struct Hashtable_ {
bool owner;
};
-#ifdef DEBUG
+#ifndef NDEBUG
int Hashtable_count(Hashtable* this);
-#endif
+#endif /* NDEBUG */
Hashtable* Hashtable_new(int size, bool owner);
diff --git a/Object.c b/Object.c
index 4d8045dd..9ac2be67 100644
--- a/Object.c
+++ b/Object.c
@@ -12,7 +12,7 @@ ObjectClass Object_class = {
.extends = NULL
};
-#ifdef DEBUG
+#ifndef NDEBUG
bool Object_isA(Object* o, const ObjectClass* klass) {
if (!o)
@@ -26,4 +26,4 @@ bool Object_isA(Object* o, const ObjectClass* klass) {
return false;
}
-#endif
+#endif /* NDEBUG */
diff --git a/Object.h b/Object.h
index 50a5f12d..462797c2 100644
--- a/Object.h
+++ b/Object.h
@@ -48,10 +48,10 @@ typedef union {
extern ObjectClass Object_class;
-#ifdef DEBUG
+#ifndef NDEBUG
bool Object_isA(Object* o, const ObjectClass* klass);
-#endif
+#endif /* NDEBUG */
#endif
diff --git a/Vector.c b/Vector.c
index 713d6831..ebddc0d6 100644
--- a/Vector.c
+++ b/Vector.c
@@ -38,9 +38,9 @@ void Vector_delete(Vector* this) {
free(this);
}
-#ifdef DEBUG
+#ifndef NDEBUG
-static inline bool Vector_isConsistent(Vector* this) {
+static bool Vector_isConsistent(Vector* this) {
assert(this->items <= this->arraySize);
if (this->owner) {
for (int i = 0; i < this->items; i++)
@@ -62,7 +62,18 @@ int Vector_count(Vector* this) {
return items;
}
-#endif
+Object* Vector_get(Vector* this, int idx) {
+ assert(idx < this->items);
+ assert(Vector_isConsistent(this));
+ return this->array[idx];
+}
+
+int Vector_size(Vector* this) {
+ assert(Vector_isConsistent(this));
+ return this->items;
+}
+
+#endif /* NDEBUG */
void Vector_prune(Vector* this) {
assert(Vector_isConsistent(this));
@@ -251,33 +262,6 @@ void Vector_set(Vector* this, int idx, void* data_) {
assert(Vector_isConsistent(this));
}
-#ifdef DEBUG
-
-inline Object* Vector_get(Vector* this, int idx) {
- assert(idx < this->items);
- assert(Vector_isConsistent(this));
- return this->array[idx];
-}
-
-#else
-
-// In this case, Vector_get is defined as a macro in vector.h
-
-#endif
-
-#ifdef DEBUG
-
-inline int Vector_size(Vector* this) {
- assert(Vector_isConsistent(this));
- return this->items;
-}
-
-#else
-
-// In this case, Vector_size is defined as a macro in vector.h
-
-#endif
-
/*
static void Vector_merge(Vector* this, Vector* v2) {
@@ -303,7 +287,7 @@ void Vector_add(Vector* this, void* data_) {
assert(Vector_isConsistent(this));
}
-inline int Vector_indexOf(Vector* this, void* search_, Object_Compare compare) {
+int Vector_indexOf(Vector* this, void* search_, Object_Compare compare) {
Object* search = search_;
assert(Object_isA((Object*)search, this->type));
assert(compare);
diff --git a/Vector.h b/Vector.h
index 209e27cf..9bf73b52 100644
--- a/Vector.h
+++ b/Vector.h
@@ -28,12 +28,6 @@ Vector* Vector_new(ObjectClass* type, bool owner, int size);
void Vector_delete(Vector* this);
-#ifdef DEBUG
-
-int Vector_count(Vector* this);
-
-#endif
-
void Vector_prune(Vector* this);
void Vector_quickSort(Vector* this);
@@ -52,25 +46,18 @@ void Vector_moveDown(Vector* this, int idx);
void Vector_set(Vector* this, int idx, void* data_);
-#ifdef DEBUG
+#ifndef NDEBUG
Object* Vector_get(Vector* this, int idx);
-
-#else
-
-#define Vector_get(v_, idx_) ((v_)->array[idx_])
-
-#endif
-
-#ifdef DEBUG
-
int Vector_size(Vector* this);
+int Vector_count(Vector* this);
-#else
+#else /* NDEBUG */
+#define Vector_get(v_, idx_) ((v_)->array[idx_])
#define Vector_size(v_) ((v_)->items)
-#endif
+#endif /* NDEBUG */
void Vector_add(Vector* this, void* data_);
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 1df7b32b..dcef14cf 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -670,7 +670,7 @@ static int handleNetlinkMsg(struct nl_msg *nlmsg, void *linuxProcess) {
if ((nlattr = nlattrs[TASKSTATS_TYPE_AGGR_PID]) || (nlattr = nlattrs[TASKSTATS_TYPE_NULL])) {
stats = nla_data(nla_next(nla_data(nlattr), &rem));
- assert(lp->super.pid == stats->ac_pid);
+ assert(lp->super.pid == (pid_t)stats->ac_pid);
timeDelta = (stats->ac_etime*1000 - lp->delay_read_time);
#define BOUNDS(x) isnan(x) ? 0.0 : (x > 100) ? 100.0 : x;
#define DELTAPERC(x,y) BOUNDS((float) (x - y) / timeDelta * 100);

© 2014-2024 Faster IT GmbH | imprint | privacy policy