*: Also fix the adjacent errors

This commit is contained in:
ZyX
2016-06-10 22:35:18 +03:00
parent d359bb3f60
commit 739f066afe
8 changed files with 62 additions and 61 deletions

View File

@@ -20,44 +20,36 @@
#define OBJECT_OBJ(o) o #define OBJECT_OBJ(o) o
#define BOOLEAN_OBJ(b) ((Object) { \ #define BOOLEAN_OBJ(b) ((Object) { \
.type = kObjectTypeBoolean, \ .type = kObjectTypeBoolean, \
.data.boolean = b \ .data.boolean = b })
})
#define INTEGER_OBJ(i) ((Object) { \ #define INTEGER_OBJ(i) ((Object) { \
.type = kObjectTypeInteger, \ .type = kObjectTypeInteger, \
.data.integer = i \ .data.integer = i })
})
#define STRING_OBJ(s) ((Object) { \ #define STRING_OBJ(s) ((Object) { \
.type = kObjectTypeString, \ .type = kObjectTypeString, \
.data.string = s \ .data.string = s })
})
#define BUFFER_OBJ(s) ((Object) { \ #define BUFFER_OBJ(s) ((Object) { \
.type = kObjectTypeBuffer, \ .type = kObjectTypeBuffer, \
.data.buffer = s \ .data.buffer = s })
})
#define WINDOW_OBJ(s) ((Object) { \ #define WINDOW_OBJ(s) ((Object) { \
.type = kObjectTypeWindow, \ .type = kObjectTypeWindow, \
.data.window = s \ .data.window = s })
})
#define TABPAGE_OBJ(s) ((Object) { \ #define TABPAGE_OBJ(s) ((Object) { \
.type = kObjectTypeTabpage, \ .type = kObjectTypeTabpage, \
.data.tabpage = s \ .data.tabpage = s })
})
#define ARRAY_OBJ(a) ((Object) { \ #define ARRAY_OBJ(a) ((Object) { \
.type = kObjectTypeArray, \ .type = kObjectTypeArray, \
.data.array = a \ .data.array = a })
})
#define DICTIONARY_OBJ(d) ((Object) { \ #define DICTIONARY_OBJ(d) ((Object) { \
.type = kObjectTypeDictionary, \ .type = kObjectTypeDictionary, \
.data.dictionary = d \ .data.dictionary = d })
})
#define NIL ((Object) {.type = kObjectTypeNil}) #define NIL ((Object) {.type = kObjectTypeNil})

View File

@@ -22159,7 +22159,6 @@ typval_T eval_call_provider(char *provider, char *method, list_T *arguments)
bool eval_has_provider(char *name) bool eval_has_provider(char *name)
{ {
#define check_provider(name) \ #define check_provider(name) \
if (has_##name == -1) { \ if (has_##name == -1) { \
has_##name = !!find_func((uint8_t *)"provider#" #name "#Call"); \ has_##name = !!find_func((uint8_t *)"provider#" #name "#Call"); \

View File

@@ -31,7 +31,7 @@ typedef struct loop {
if (queue) { \ if (queue) { \
queue_put((queue), (handler), argc, __VA_ARGS__); \ queue_put((queue), (handler), argc, __VA_ARGS__); \
} else { \ } else { \
void *argv[argc] = {__VA_ARGS__}; \ void *argv[argc] = { __VA_ARGS__ }; \
(handler)(argv); \ (handler)(argv); \
} \ } \
} while (0) } while (0)

View File

@@ -45,20 +45,22 @@
REAL_FATTR_UNUSED; \ REAL_FATTR_UNUSED; \
static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \ static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \
size_t k; \ size_t k; \
for (k = 0; k < mp->n; ++k) { \ for (k = 0; k < mp->n; k++) { \
kmpfree_f(mp->buf[k]); xfree(mp->buf[k]); \ kmpfree_f(mp->buf[k]); xfree(mp->buf[k]); \
} \ } \
xfree(mp->buf); xfree(mp); \ xfree(mp->buf); xfree(mp); \
} \ } \
static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \ static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \
++mp->cnt; \ mp->cnt++; \
if (mp->n == 0) return xcalloc(1, sizeof(kmptype_t)); \ if (mp->n == 0) { \
return xcalloc(1, sizeof(kmptype_t)); \
} \
return mp->buf[--mp->n]; \ return mp->buf[--mp->n]; \
} \ } \
static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \ static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \
--mp->cnt; \ mp->cnt--; \
if (mp->n == mp->max) { \ if (mp->n == mp->max) { \
mp->max = mp->max? mp->max<<1 : 16; \ mp->max = mp->max ? (mp->max << 1) : 16; \
mp->buf = xrealloc(mp->buf, sizeof(kmptype_t *) * mp->max); \ mp->buf = xrealloc(mp->buf, sizeof(kmptype_t *) * mp->max); \
} \ } \
mp->buf[mp->n++] = p; \ mp->buf[mp->n++] = p; \
@@ -93,8 +95,9 @@
REAL_FATTR_UNUSED; \ REAL_FATTR_UNUSED; \
static inline void kl_destroy_##name(kl_##name##_t *kl) { \ static inline void kl_destroy_##name(kl_##name##_t *kl) { \
kl1_##name *p; \ kl1_##name *p; \
for (p = kl->head; p != kl->tail; p = p->next) \ for (p = kl->head; p != kl->tail; p = p->next) { \
kmp_free(name, kl->mp, p); \ kmp_free(name, kl->mp, p); \
} \
kmp_free(name, kl->mp, p); \ kmp_free(name, kl->mp, p); \
kmp_destroy(name, kl->mp); \ kmp_destroy(name, kl->mp); \
xfree(kl); \ xfree(kl); \
@@ -102,22 +105,23 @@
static inline void kl_push_##name(kl_##name##_t *kl, kltype_t d) { \ static inline void kl_push_##name(kl_##name##_t *kl, kltype_t d) { \
kl1_##name *q, *p = kmp_alloc(name, kl->mp); \ kl1_##name *q, *p = kmp_alloc(name, kl->mp); \
q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \ q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \
++kl->size; \ kl->size++; \
q->data = d; \ q->data = d; \
} \ } \
static inline kltype_t kl_shift_at_##name(kl_##name##_t *kl, \ static inline kltype_t kl_shift_at_##name(kl_##name##_t *kl, \
kl1_##name **n) { \ kl1_##name **n) { \
assert((*n)->next); \ assert((*n)->next); \
kl1_##name *p; \ kl1_##name *p; \
--kl->size; \ kl->size--; \
p = *n; \ p = *n; \
*n = (*n)->next; \ *n = (*n)->next; \
if (p == kl->head) kl->head = *n; \ if (p == kl->head) { \
kl->head = *n; \
} \
kltype_t d = p->data; \ kltype_t d = p->data; \
kmp_free(name, kl->mp, p); \ kmp_free(name, kl->mp, p); \
return d; \ return d; \
} \ }
#define kliter_t(name) kl1_##name #define kliter_t(name) kl1_##name
#define klist_t(name) kl_##name##_t #define klist_t(name) kl_##name##_t

View File

@@ -37,28 +37,34 @@
// Note that the rbuffer_{produced,consumed} calls are necessary or these macros // Note that the rbuffer_{produced,consumed} calls are necessary or these macros
// create infinite loops // create infinite loops
#define RBUFFER_UNTIL_EMPTY(buf, rptr, rcnt) \ #define RBUFFER_UNTIL_EMPTY(buf, rptr, rcnt) \
for (size_t rcnt = 0, _r = 1; _r; _r = 0) \ for (size_t rcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
for (char *rptr = rbuffer_read_ptr(buf, &rcnt); \ for ( /* NOLINT(readability/braces) */ \
buf->size; \ char *rptr = rbuffer_read_ptr(buf, &rcnt); \
rptr = rbuffer_read_ptr(buf, &rcnt)) buf->size; \
rptr = rbuffer_read_ptr(buf, &rcnt))
#define RBUFFER_UNTIL_FULL(buf, wptr, wcnt) \ #define RBUFFER_UNTIL_FULL(buf, wptr, wcnt) \
for (size_t wcnt = 0, _r = 1; _r; _r = 0) \ for (size_t wcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
for (char *wptr = rbuffer_write_ptr(buf, &wcnt); \ for ( /* NOLINT(readability/braces) */ \
rbuffer_space(buf); \ char *wptr = rbuffer_write_ptr(buf, &wcnt); \
wptr = rbuffer_write_ptr(buf, &wcnt)) rbuffer_space(buf); \
wptr = rbuffer_write_ptr(buf, &wcnt))
// Iteration // Iteration
#define RBUFFER_EACH(buf, c, i) \ #define RBUFFER_EACH(buf, c, i) \
for (size_t i = 0; i < buf->size; i = buf->size) \ for (size_t i = 0; /* NOLINT(readability/braces) */ \
for (char c = 0; \ i < buf->size; \
i = buf->size) \
for (char c = 0; /* NOLINT(readability/braces) */ \
i < buf->size ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \ i < buf->size ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
i++) i++)
#define RBUFFER_EACH_REVERSE(buf, c, i) \ #define RBUFFER_EACH_REVERSE(buf, c, i) \
for (size_t i = buf->size; i != SIZE_MAX; i = SIZE_MAX) \ for (size_t i = buf->size; /* NOLINT(readability/braces) */ \
for (char c = 0; \ i != SIZE_MAX; \
i = SIZE_MAX) \
for (char c = 0; /* NOLINT(readability/braces) */ \
i-- > 0 ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \ i-- > 0 ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
) )

View File

@@ -357,13 +357,14 @@ static int nfa_ll_index = 0;
# include "regexp_nfa.c.generated.h" # include "regexp_nfa.c.generated.h"
#endif #endif
/* helper functions used when doing re2post() ... regatom() parsing */ // Helper functions used when doing re2post() ... regatom() parsing
#define EMIT(c) do { \ #define EMIT(c) \
if (post_ptr >= post_end) { \ do { \
realloc_post_list(); \ if (post_ptr >= post_end) { \
} \ realloc_post_list(); \
*post_ptr++ = c; \ } \
} while (0) *post_ptr++ = c; \
} while (0)
/* /*
* Initialize internal variables before NFA compilation. * Initialize internal variables before NFA compilation.
@@ -2893,8 +2894,7 @@ static nfa_state_T *post2nfa(int *postfix, int *end, int nfa_calc_size)
#define PUSH(s) st_push((s), &stackp, stack_end) #define PUSH(s) st_push((s), &stackp, stack_end)
#define POP() st_pop(&stackp, stack); \ #define POP() st_pop(&stackp, stack); \
if (stackp < stack) \ if (stackp < stack) { \
{ \
st_error(postfix, end, p); \ st_error(postfix, end, p); \
xfree(stack); \ xfree(stack); \
return NULL; \ return NULL; \

View File

@@ -25,9 +25,9 @@ struct ugrid {
#define UGRID_FOREACH_CELL(grid, top, bot, left, right, code) \ #define UGRID_FOREACH_CELL(grid, top, bot, left, right, code) \
do { \ do { \
for (int row = top; row <= bot; ++row) { \ for (int row = top; row <= bot; row++) { \
UCell *row_cells = (grid)->cells[row]; \ UCell *row_cells = (grid)->cells[row]; \
for (int col = left; col <= right; ++col) { \ for (int col = left; col <= right; col++) { \
UCell *cell = row_cells + col; \ UCell *cell = row_cells + col; \
(void)(cell); \ (void)(cell); \
code; \ code; \

View File

@@ -21,7 +21,7 @@
// Call a function in the UI thread // Call a function in the UI thread
#define UI_CALL(ui, name, argc, ...) \ #define UI_CALL(ui, name, argc, ...) \
((UIBridgeData *)ui)->scheduler( \ ((UIBridgeData *)ui)->scheduler( \
event_create(1, ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui)) event_create(1, ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui))
#define INT2PTR(i) ((void *)(uintptr_t)i) #define INT2PTR(i) ((void *)(uintptr_t)i)
#define PTR2INT(p) ((int)(uintptr_t)p) #define PTR2INT(p) ((int)(uintptr_t)p)