Skip to content

Commit df69d38

Browse files
jkkim0724mr-c
authored andcommitted
ci: add Alpine (musl + GCC + SIMDE_NO_NATIVE) to Cirrus CI
Add a Cirrus CI task that builds and tests SIMDE on Alpine Linux (musl libc) with GCC and SIMDE_NO_NATIVE disabled. This combination catches link errors caused by __builtin_roundeven being lowered to a roundeven() libm call on GCC 10+: musl lacks roundeven() (C23), so the linker error surfaces immediately. SIMDE_NO_NATIVE ensures the scalar path is taken even on x86-64 with SSE4.1, preventing GCC from inlining the builtin as a ROUNDSD instruction and masking the issue. Suggested during review of #1398.
1 parent 6b772fe commit df69d38

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

.cirrus.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
container:
22
image: debian:trixie-slim
33

4+
task:
5+
name: Alpine (musl + GCC + SIMDE_NO_NATIVE)
6+
skip: $BRANCH == "master" || ($BRANCH != 'ci/cirrus' && $BRANCH =~ '^ci/.+')
7+
container:
8+
image: alpine:latest
9+
env:
10+
CC: gcc
11+
CXX: g++
12+
install_dependencies_script:
13+
- apk add --no-cache build-base meson ninja python3
14+
configure_script:
15+
- meson setup build -Dc_args="-DSIMDE_NO_NATIVE -Wextra -Werror" -Dcpp_args="-DSIMDE_NO_NATIVE -Wextra -Werror"
16+
build_script:
17+
- ninja -C build -v -j 3
18+
test_script:
19+
- ninja -C build -v test
20+
421
task:
522
name: Sanitizers
623
skip: $BRANCH == "master" || ($BRANCH != 'ci/cirrus' && $BRANCH =~ '^ci/.+')

0 commit comments

Comments
 (0)