diff --git a/3378ab337698933ccb2e4068b26acd5c6afe27c5.tar.gz b/3378ab337698933ccb2e4068b26acd5c6afe27c5.tar.gz
deleted file mode 100644
index 28d4f94..0000000
Binary files a/3378ab337698933ccb2e4068b26acd5c6afe27c5.tar.gz and /dev/null differ
diff --git a/ci.sh b/ci.sh
new file mode 100644
index 0000000..f992801
--- /dev/null
+++ b/ci.sh
@@ -0,0 +1,193 @@
+#!/bin/bash
+
+set -euxo pipefail
+
+# Define variables
+HOST_CPU="$(uname -m)"
+JOBS="$(nproc)"
+
+# Functions
+function _time {
+ /bin/time -f '=> [%E]' ${@}
+}
+
+function _setup {
+ if ! meson setup "${BUILD_DIR}"; then
+ cat "${BUILD_DIR}/meson-logs/meson-log.txt"
+ return 1
+ fi
+}
+
+function _build {
+ rm -f build.log
+ if ! _time ninja -C "${BUILD_DIR}" -v -j "${JOBS}" >& build.log; then
+ cat build.log
+ return 1
+ fi
+ head -4 build.log
+ tail -3 build.log
+}
+
+function _test {
+ if ! _time meson test -C "${BUILD_DIR}" \
+ -q --no-rebuild --print-errorlogs; then
+ return 1
+ fi
+}
+
+function _run_test {
+ if ! _setup; then
+ return 1
+ fi
+
+ if ! _build; then
+ return 2
+ fi
+
+ if ! _test; then
+ return 3
+ fi
+}
+
+# Print system info.
+cat /proc/cpuinfo
+cat /proc/meminfo
+
+# Install additional packages.
+pip3 install meson==0.55.0
+
+# Run test.
+
+# Customized constants.
+#
+# If the value is true, the CI returns the exit status zero even if the tests
+# fail as a compromised way.
+IGNORE_EXIT_STATUS=
+# Set true if you want to skip specific tests to save total running time in all
+# the CPU cases.
+SKIP_ALL_GCC_DEFAULT=
+SKIP_ALL_GCC_O2=
+SKIP_ALL_GCC_RPM=true
+SKIP_ALL_CLANG_DEFAULT=true
+SKIP_ALL_CLANG_O2=true
+SKIP_ALL_CLANG_RPM=true
+# Set true if you want to skip specific tests in the specific CPU cases.
+# The host machine CPU name is used in the constant names.
+#
+# Skip the test as it fails, and the i686 case takes longer running time.
+SKIP_i686_GCC_DEFAULT=true
+
+# Generate the current CPU specific skip flags.
+SKIP_CPU_GCC_DEFAULT=$(eval echo "\${SKIP_${HOST_CPU}_GCC_DEFAULT:-}")
+SKIP_CPU_GCC_O2=$(eval echo "\${SKIP_${HOST_CPU}_GCC_O2:-}")
+SKIP_CPU_GCC_RPM=$(eval echo "\${SKIP_${HOST_CPU}_GCC_RPM:-}")
+SKIP_CPU_CLANG_DEFAULT=$(eval echo "\${SKIP_${HOST_CPU}_CLANG_DEFAULT:-}")
+SKIP_CPU_CLANG_O2=$(eval echo "\${SKIP_${HOST_CPU}_CLANG_O2:-}")
+SKIP_CPU_CLANG_RPM=$(eval echo "\${SKIP_${HOST_CPU}_CLANG_RPM:-}")
+
+exit_status=0
+result_gcc="skipped"
+result_gcc_O2="skipped"
+result_gcc_rpm="skipped"
+result_clang="skipped"
+result_clang_O2="skipped"
+result_clang_rpm="skipped"
+
+# Print compiler versions.
+gcc --version
+g++ --version
+clang --version
+clang++ --version
+
+echo "== Tests on gcc in a default status =="
+if [ "${SKIP_ALL_GCC_DEFAULT}" != true ] && \
+ [ "${SKIP_CPU_GCC_DEFAULT}" != true ]; then
+ result_gcc="ok"
+ if ! BUILD_DIR="build/gcc" CC="gcc" CXX="g++" \
+ _run_test; then
+ exit_status=1
+ result_gcc="not ok"
+ fi
+fi
+
+echo "== Tests on clang in a default status =="
+if [ "${SKIP_ALL_CLANG_DEFAULT}" != true ] && \
+ [ "${SKIP_CPU_CLANG_DEFAULT}" != true ]; then
+ result_clang="ok"
+ if ! BUILD_DIR="build/clang" CC="clang" CXX="clang++" \
+ _run_test; then
+ exit_status=1
+ result_clang="not ok"
+ fi
+fi
+
+echo "== Tests on gcc with O2 flag =="
+if [ "${SKIP_ALL_GCC_O2}" != true ] && \
+ [ "${SKIP_CPU_GCC_O2}" != true ]; then
+ result_gcc_O2="ok"
+ if ! BUILD_DIR="build/gcc-O2" CC="gcc" CXX="g++" \
+ CFLAGS="-O2" CXXFLAGS="-O2" \
+ _run_test; then
+ exit_status=1
+ result_gcc_O2="not ok"
+ fi
+fi
+
+echo "== Tests on clang with O2 flag =="
+if [ "${SKIP_ALL_CLANG_O2}" != true ] && \
+ [ "${SKIP_CPU_CLANG_O2}" != true ]; then
+ result_clang_O2="ok"
+ if ! BUILD_DIR="build/clang-O2" CC="clang" CXX="clang++" \
+ CFLAGS="-O2" CXXFLAGS="-O2" \
+ _run_test; then
+ exit_status=1
+ result_clang_O2="not ok"
+ fi
+fi
+
+# This is an advanced test.
+echo "== Tests on gcc with flags used in RPM package build =="
+if [ "${SKIP_ALL_GCC_RPM}" != true ] && \
+ [ "${SKIP_CPU_GCC_RPM}" != true ]; then
+ result_gcc_rpm="ok"
+ if ! BUILD_DIR="build/gcc-rpm" CC="gcc" CXX="g++" \
+ CFLAGS="${CI_GCC_RPM_CFLAGS}" CXXFLAGS="${CI_GCC_RPM_CXXFLAGS}" \
+ LDFLAGS="${CI_GCC_RPM_LDFLAGS}" \
+ _run_test; then
+ exit_status=1
+ result_gcc_rpm="not ok"
+ fi
+fi
+
+# This is an advanced test.
+echo "== Tests on clang with flags used in RPM package build =="
+if [ "${SKIP_ALL_CLANG_RPM}" != true ] && \
+ [ "${SKIP_CPU_CLANG_RPM}" != true ]; then
+ result_clang_rpm="ok"
+ if ! BUILD_DIR="build/clang-rpm" CC="clang" CXX="clang++" \
+ CFLAGS="${CI_CLANG_RPM_CFLAGS}" CXXFLAGS="${CI_CLANG_RPM_CXXFLAGS}" \
+ LDFLAGS="${CI_CLANG_RPM_LDFLAGS}" \
+ _run_test; then
+ exit_status=1
+ result_clang_rpm="not ok"
+ fi
+fi
+
+# Print results.
+cat <.
+# Copy to use the modified script.
+cp -p "%{SOURCE1}" ci.sh
+sed -i -e '/^cat \/proc\/cpuinfo/ s/^/#/' ci.sh
+sed -i -e '/^cat \/proc\/meminfo/ s/^/#/' ci.sh
+sed -i -e '/^pip3 install meson/ s/^/#/' ci.sh
+sed -i -e '/^IGNORE_EXIT_STATUS=/,/^SKIP_i686_GCC_DEFAULT=/ s/^/#/' ci.sh
+diff -u "%{SOURCE1}" ci.sh || :
-echo "== 1. tests on gcc =="
-gcc --version
-g++ --version
+cp -p ci.sh ci_gcc.sh
+IGNORE_EXIT_STATUS=
+# Prepare the configuration.
+cat > config.txt < config.txt < [%E]' ./ci_gcc.sh
+/bin/time -f '=> [%E]' ./ci_clang.sh
%files devel
%license COPYING
@@ -124,6 +128,9 @@ popd
%{_includedir}/%{name}
%changelog
+* Sat Jul 15 2023 yaoxin - 0.7.6-1
+- Update to 0.7.6 for fix build error caused by clang-15
+
* Tue Mar 8 2022 yaoxin - 0.7.3-1
- Upgrade simde to 0.7.3 to resolve compilation failures.