summaryrefslogtreecommitdiffstats
path: root/Vector.c
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 /Vector.c
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]
Diffstat (limited to 'Vector.c')
-rw-r--r--Vector.c46
1 files changed, 15 insertions, 31 deletions
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);

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