Refactor the attributes

This commit is contained in:
2022-08-16 01:36:37 +03:00
parent 66ce77430b
commit bc489e085e
21 changed files with 1157 additions and 1183 deletions
+5 -6
View File
@@ -3,11 +3,10 @@
#include "../../include/__attributes.h"
#define throw__ HHTTPC_nt__
#define pure__ HHTTPC_pure__
#define const__ __attribute__((const)) HHTTPC_nt__
#define leaf__ __attribute__((leaf)) HHTTPC_nt__
#define wur__ HHTTPC_wur__
#define inline__ __attribute__((always_inline))
#define pure__ Pure__
#define const__ __attribute__((const))
#define leaf__ __attribute__((leaf))
#define wur__ Warn_unused_result__
#define inline__ Always_inline__
#define ainline(...) inline __VA_ARGS__ inline__; inline __VA_ARGS__
+3 -4
View File
@@ -62,10 +62,9 @@ typedef vtype_dict dict_t;
typedef vtype_hash hash_t;
extern int libcdsb_vtype_compare_values(const void* s0, vtype t0, const void* s1, vtype t1);
extern int libcdsb_vtype_compare_values_eq(const void* s0, const void* s1, vtype t);
extern hash_t libcdsb_vtype_hash(const void* value, vtype type);
extern int libcdsb_vtype_compare_values (const void* s0, vtype t0, const void* s1, vtype t1) pure__ wur__;
extern int libcdsb_vtype_compare_values_eq(const void* s0, const void* s1, vtype t) pure__ wur__;
extern hash_t libcdsb_vtype_hash (const void* value, vtype type) pure__ wur__;
#define vtype_stringify libcdsb_vtype_stringify
#define vtype_name libcdsb_vtype_name
+8 -10
View File
@@ -17,9 +17,9 @@ typedef struct libcdsb_rbtree_node {
extern rbnode_t LIBCDSB_RBTREE_NODE_EMPTY[1];
extern void* libcdsb_rbtree_node_create(void* value, rbnode_t* parent, int colored, int size);
extern void libcdsb_rbtree_node_fixup (rbnode_t** root, rbnode_t* node);
extern rbnode_t* libcdsb_rbtree_node_delete(rbnode_t** root, rbnode_t* node);
extern void* libcdsb_rbtree_node_create(void* value, rbnode_t* parent, int colored, int size) Nonnull__(1,2);
extern void libcdsb_rbtree_node_fixup (rbnode_t** root, rbnode_t* node) Nonnull__(1,2);
extern rbnode_t* libcdsb_rbtree_node_delete(rbnode_t** root, rbnode_t* node) Nonnull__(1,2);
#define rbnode_empty ((rbnode_t*)LIBCDSB_RBTREE_NODE_EMPTY)
#define rbnode_create(v, p, c) ((rbnode_t*)libcdsb_rbtree_node_create(v, p, c, sizeof(rbnode_t)))
@@ -29,13 +29,12 @@ extern rbnode_t* libcdsb_rbtree_node_delete(rbnode_t** root, rbnode_t* node);
#define rbnode_is_empty(n) ((n) == rbnode_empty)
#define rbnode_is_root(n) rbnode_is_empty((n)->parent)
extern void* libcdsb_rbtree_duplicate(const rbnode_t* s, void* (*node_duplicate)(void* src, void* parent, void* info), void* info) wur__ Nonnull__(1);
extern int libcdsb_rbtree_compare (const rbnode_t* s0, const rbnode_t* s1, int (*node_compare)(const rbnode_t* s0, const rbnode_t* s1, void* info), void* info) pure__ wur__ Nonnull__(1,2);
extern void* libcdsb_rbtree_duplicate(const rbnode_t* s, void* (*node_duplicate)(void* src, void* parent, void* info), void* info);
extern int libcdsb_rbtree_compare(const rbnode_t* s0, const rbnode_t* s1, int (*node_compare)(const rbnode_t* s0, const rbnode_t* s1, void* info), void* info);
extern hash_t libcdsb_rbtree_hash(const void* s, hash_t (*node_hash)(const void* s, void* info), void* info);
extern size_t libcdsb_rbtree_size(const void* s);
extern void libcdsb_rbtree_free(void* x, void (*node_free)(void* x, void* info), void* info);
extern hash_t libcdsb_rbtree_hash(const void* s, hash_t (*node_hash)(const void* s, void* info), void* info) pure__ wur__ Nonnull__(1,2);
extern size_t libcdsb_rbtree_size(const void* s) pure__ wur__ Nonnull__(1);
extern void libcdsb_rbtree_free(void* x, void (*node_free)(void* x, void* info), void* info) Nonnull__(1);
#define rbtree_duplicate libcdsb_rbtree_duplicate
#define rbtree_compare libcdsb_rbtree_compare
@@ -43,5 +42,4 @@ extern void libcdsb_rbtree_free(void* x, void (*node_free)(void* x, void* info
#define rbtree_size libcdsb_rbtree_size
#define rbtree_free libcdsb_rbtree_free
#endif /* LIBCDSB_SRC_INTERNAL_RBTREE_H */
+4 -4
View File
@@ -18,11 +18,11 @@ typedef union {
typedef void* vnode_t;
extern vnode_t libcdsb_vnode_create(const void* value, vtype type);
extern vnode_t libcdsb_vnode_create_target(vtype target_type, const void* value, vtype type);
extern vnode_t libcdsb_vnode_create (const void* value, vtype type) wur__;
extern vnode_t libcdsb_vnode_create_target(vtype target_type, const void* value, vtype type) wur__;
extern void libcdsb_vnode_free(vnode_t* x, vtype type);
extern void* libcdsb_vnode_peek(const vnode_t* x, vtype type);
extern void libcdsb_vnode_free(vnode_t* x, vtype type) Nonnull__(1);
extern void* libcdsb_vnode_peek(const vnode_t* x, vtype type) pure__ wur__ Nonnull__(1);
#define vnode_create libcdsb_vnode_create
#define vnode_tcreate libcdsb_vnode_create_target