Skip to content

Commit c46db9c

Browse files
authored
Add mac arm64 support (#87)
* [ci] Add mac arm64 tests * Use provided define for simdjson implementation * [ci] Avoid running luajit=2.0 on arm64 - Only 2.1+ has arm64 support
1 parent 9a24875 commit c46db9c

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
os: [linux, macos]
10+
os: [linux, macos, macos-arm64]
1111
lua: [lua=5.1, lua=5.2, lua=5.3, lua=5.4, luajit=2.0, luajit=2.1]
1212
include:
1313
- os: linux
1414
runner: ubuntu-22.04
1515
- os: macos
1616
runner: macos-13
17+
- os: macos-arm64
18+
runner: macos-14
19+
exclude:
20+
- os: macos-arm64
21+
lua: luajit=2.0
1722
name: ${{ matrix.os }} (${{ matrix.lua }})
1823
runs-on: ${{ matrix.runner }}
1924
steps:

src/luasimdjson.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,15 @@ void convert_ondemand_element_to_table(lua_State *L, ondemand::value element) {
7676
ondemand::number number = element.get_number();
7777
ondemand::number_type number_type = number.get_number_type();
7878
switch (number_type) {
79-
case fallback::number_type::floating_point_number:
79+
case SIMDJSON_BUILTIN_IMPLEMENTATION::number_type::floating_point_number:
8080
lua_pushnumber(L, element.get_double());
8181
break;
8282

83-
case fallback::number_type::signed_integer:
83+
case SIMDJSON_BUILTIN_IMPLEMENTATION::number_type::signed_integer:
8484
lua_pushinteger(L, element.get_int64());
8585
break;
8686

87-
case fallback::number_type::unsigned_integer:
87+
case SIMDJSON_BUILTIN_IMPLEMENTATION::number_type::unsigned_integer:
8888
{
8989
// a uint64 can be greater than an int64, so we must check how large and pass as a number
9090
// if larger but LUA_MAXINTEGER (which is only defined in 5.3+)
@@ -101,7 +101,7 @@ void convert_ondemand_element_to_table(lua_State *L, ondemand::value element) {
101101
break;
102102
}
103103

104-
case fallback::number_type::big_integer:
104+
case SIMDJSON_BUILTIN_IMPLEMENTATION::number_type::big_integer:
105105
lua_pushnumber(L, element.get_double());
106106
break;
107107
}

0 commit comments

Comments
 (0)