diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-03-06 02:27:01 -0500 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-03-06 02:27:01 -0500 |
| commit | 211af053819ccfabcf97b0e2a372e7e7deb8495d (patch) | |
| tree | a8cfe818c1171cb128895704cd7c2cdd36d51b3b /builtins | |
| parent | 4968d45f5a54d6a8e4a1ff8b060342d81f619200 (diff) | |
Fix up some array literal stuff with TCC
Diffstat (limited to 'builtins')
| -rw-r--r-- | builtins/array.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/builtins/array.h b/builtins/array.h index 4706c227..8b7b3b40 100644 --- a/builtins/array.h +++ b/builtins/array.h @@ -21,7 +21,13 @@ #define $TypedArray(t, ...) ({ t $items[] = {__VA_ARGS__}; \ (array_t){.length=sizeof($items)/sizeof($items[0]), \ .stride=(int64_t)&$items[1] - (int64_t)&$items[0], \ - .data=memcpy(GC_MALLOC(sizeof($items)), $items, sizeof($items)), \ + .data=memcpy(GC_MALLOC(sizeof($items)), $items, sizeof($items)), \ + .atomic=0, \ + .data_refcount=1}; }) +#define $TypedArrayN(t, N, ...) ({ t $items[N] = {__VA_ARGS__}; \ + (array_t){.length=N, \ + .stride=(int64_t)&$items[1] - (int64_t)&$items[0], \ + .data=memcpy(GC_MALLOC(sizeof($items)), $items, sizeof($items)), \ .atomic=0, \ .data_refcount=1}; }) #define $Array(x, ...) ({ __typeof(x) $items[] = {x, __VA_ARGS__}; \ |
