check-all.sh

Sun, 23 Nov 2025 13:15:19 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 23 Nov 2025 13:15:19 +0100
changeset 1508
dfc0ddd9571e
parent 1303
4022e403de60
permissions
-rwxr-xr-x

optimize sorted insertion by using the infimum instead of the supremum

The reason is that the supremum returns the equal element with the smallest index, and we want the largest.
Therefore, we use the infimum, which already gives us the largest index when there are equal elements, and increase the index by one. The infimum is also guaranteed to exist in that case.

#!/bin/sh

# backup config
cp config.mk config.mk.bak

function perform_check
{
  if ! make clean check > /dev/null ; then
    echo "fail."
  else
    echo "ok."
  fi
}

function perform_check_cxx
{
  # we cannot mute the warnings, so throw every everything
  if ! make clean check-cxx > /dev/null 2> /dev/null ; then
    echo "fail."
  else
    echo "ok."
  fi
}

for cc in clang gcc; do
  CC=$cc ./configure --debug > /dev/null
  printf "Check $cc... "
  perform_check
  printf "Check $cc (c++)... "
  perform_check_cxx
done

printf "Check w/o szmul builtin... "
./configure --debug --disable-szmul-builtin > /dev/null
perform_check
printf "Check w/o szmul builtin (c++)... "
perform_check_cxx

printf "Check release config... "
./configure --release > /dev/null
perform_check

printf "Check gcc C23... "
CC=gcc CFLAGS=-std=c23 ./configure --debug > /dev/null
perform_check

# clean build files and restore config
make clean > /dev/null
mv config.mk.bak config.mk

mercurial