queries
c.h c.scm cpp.h cpp.scm cuda.h cuda.scm glsl.h glsl.scm go.h go.scm javascript.h javascript.scm kotlin.h kotlin.scm lua.h lua.scm odin.h odin.scm php.h php.scm python.h python.scm rust.h rust.scm tcl.h tcl.scm zig.h zig.scmtests
test.c test.cpp test.cu test.cuh test.glsl test.go test.js test.kt test.lua test.odin test.php test.py test.rs test.tcl test.zigvendor
tree-sitter
lib
src
alloc.c alloc.h array.h atomic.h clock.h error_costs.h get_changed_ranges.c get_changed_ranges.h host.h language.c language.h length.h lexer.c lexer.h lib.c node.c parser.c point.h query.c reduce_action.h reusable_node.h stack.c stack.h subtree.c subtree.h tree.c tree.h tree_cursor.c tree_cursor.h unicode.h
vendor/tree-sitter-odin/src/tree_sitter/alloc.h
raw
1#ifndef TREE_SITTER_ALLOC_H_
2#define TREE_SITTER_ALLOC_H_
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <stdbool.h>
9#include <stdio.h>
10#include <stdlib.h>
11
12// Allow clients to override allocation functions
13#ifdef TREE_SITTER_REUSE_ALLOCATOR
14
15extern void *(*ts_current_malloc)(size_t size);
16extern void *(*ts_current_calloc)(size_t count, size_t size);
17extern void *(*ts_current_realloc)(void *ptr, size_t size);
18extern void (*ts_current_free)(void *ptr);
19
20#ifndef ts_malloc
21#define ts_malloc ts_current_malloc
22#endif
23#ifndef ts_calloc
24#define ts_calloc ts_current_calloc
25#endif
26#ifndef ts_realloc
27#define ts_realloc ts_current_realloc
28#endif
29#ifndef ts_free
30#define ts_free ts_current_free
31#endif
32
33#else
34
35#ifndef ts_malloc
36#define ts_malloc malloc
37#endif
38#ifndef ts_calloc
39#define ts_calloc calloc
40#endif
41#ifndef ts_realloc
42#define ts_realloc realloc
43#endif
44#ifndef ts_free
45#define ts_free free
46#endif
47
48#endif
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif // TREE_SITTER_ALLOC_H_