summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c/gu')
-rw-r--r--src/runtime/c/gu/seq.c9
-rw-r--r--src/runtime/c/gu/seq.h3
2 files changed, 10 insertions, 2 deletions
diff --git a/src/runtime/c/gu/seq.c b/src/runtime/c/gu/seq.c
index fda1be99c..d994d5990 100644
--- a/src/runtime/c/gu/seq.c
+++ b/src/runtime/c/gu/seq.c
@@ -66,7 +66,12 @@ gu_make_buf(size_t elem_size, GuPool* pool)
return buf;
}
-static const GuWord gu_empty_seq[2] = {0, 0};
+static const GuWord gu_empty_seq_[2] = {0, 0};
+
+GuSeq
+gu_empty_seq() {
+ return (GuSeq) { gu_tagged((void*)&gu_empty_seq_[1], 0) };
+}
GuSeq
gu_make_seq(size_t elem_size, size_t length, GuPool* pool)
@@ -76,7 +81,7 @@ gu_make_seq(size_t elem_size, size_t length, GuPool* pool)
void* buf = gu_malloc(pool, size);
return (GuSeq) { gu_tagged(buf, length) };
} else if (size == 0) {
- return (GuSeq) { gu_tagged((void*)&gu_empty_seq[1], 0) };
+ return gu_empty_seq();
} else {
void* buf = gu_malloc_prefixed(pool,
gu_alignof(GuWord),
diff --git a/src/runtime/c/gu/seq.h b/src/runtime/c/gu/seq.h
index b21933a65..52b2bfc7e 100644
--- a/src/runtime/c/gu/seq.h
+++ b/src/runtime/c/gu/seq.h
@@ -10,6 +10,9 @@ typedef struct GuBuf GuBuf;
typedef GuOpaque() GuSeq;
GuSeq
+gu_empty_seq();
+
+GuSeq
gu_make_seq(size_t elem_size, size_t len, GuPool* pool);
#define gu_new_seq(T, N, POOL) \