]> de.git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
moving -Olocal-temps to -O4 until the issues are solved
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 36a67fdf282bb6f78b7a9cb3bb437f51912ad427..f26152f093e3b613fd7c82f3c5a1c26779bd98ac 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
 /*===================================================================*/
 /*=========================== util.c ================================*/
 /*===================================================================*/
-void *util_memory_a      (size_t,       unsigned int, const char *);
-void  util_memory_d      (void       *, unsigned int, const char *);
-void *util_memory_r      (void       *, size_t,       unsigned int, const char *);
+void *util_memory_a      (size_t, /*****/ unsigned int, const char *);
+void *util_memory_r      (void *, size_t, unsigned int, const char *);
+void  util_memory_d      (void *);
 void  util_meminfo       ();
 
 bool  util_filexists     (const char *);
@@ -275,7 +275,7 @@ int util_asprintf (char **ret, const char *fmt, ...);
 #    define mem_r(x, n) realloc((void*)x, n)
 #else
 #    define mem_a(x)    util_memory_a((x), __LINE__, __FILE__)
-#    define mem_d(x)    util_memory_d((void*)(x),      __LINE__, __FILE__)
+#    define mem_d(x)    util_memory_d((void*)(x))
 #    define mem_r(x, n) util_memory_r((void*)(x), (n), __LINE__, __FILE__)
 #endif
 
@@ -315,6 +315,13 @@ void _util_vec_grow(void **a, size_t i, size_t s);
 #define vec_upload(X,Y,S) memcpy(vec_add((X), (S) * sizeof(*(Y))), (Y), (S) * sizeof(*(Y)))
 #define vec_remove(A,I,N) memmove((A)+(I),(A)+((I)+(N)),sizeof(*(A))*(vec_meta(A)->used-(I)-(N))),vec_meta(A)->used-=(N)
 
+typedef struct trie_s {
+    void          *value;
+    struct trie_s *entries;
+} correct_trie_t;
+
+correct_trie_t* correct_trie_new();
+
 typedef struct hash_table_t {
     size_t                size;
     struct hash_node_t **table;
@@ -423,6 +430,13 @@ GMQCC_INLINE FILE   *file_open   (const char *, const char *);
 /*NOINLINE*/ int     file_getline(char  **, size_t *, FILE *);
 
 
+/*===================================================================*/
+/*=========================== correct.c =============================*/
+/*===================================================================*/
+void  correct_del(correct_trie_t*, size_t **);
+void  correct_add(correct_trie_t*, size_t ***, const char *);
+char *correct_str(correct_trie_t*, /********/  const char *);
+
 /*===================================================================*/
 /*=========================== code.c ================================*/
 /*===================================================================*/