#!/bin/sh
(
    N=100000000
    ID=${1:-ap_casecmpstr}
    for o in "2"; do
        gcc -Wall -Werror -O$o -o "${ID}.o" -c "${ID}.c" || exit $?
        gcc -Wall -Werror -O$o -o "${ID}_impl.o" -c "${ID}_impl.c" || exit $?
        gcc -Wall -Werror -O$o -o "${ID}-O$o" "${ID}.o" "${ID}_impl.o" -lrt || exit $?
        for l in "C" "$LANG" "mt_MT.ISO-8859-3"; do
            for s in \
                "'' ''" \
                "'y' 'Y'" \
                "'Y' 'yY'" \
                "'yY' 'YyY'" \
                "$'\xa9' 'i'" \
                "'cycoOaA' 'cycoOaA'" \
                "'cycycoOoOaAaA' 'cycycoOoOaAaA'" \
                "$'\x80\x81\x82\x83\x84\xFC\xFD\xFE\xFF'    $'\x80\x81\x82\x83\x84\xFC\xFD\xFE\xFF'" \
                "'cycycycycycycycycycoOoOoOoOoOaAaAaAaAaAa' 'cycycycycycycycycycoOoOoOoOoOaAaAaAaAaAa'" \
                "'CyCyCyCyCyCyCyCyCyCooooooooooaaaaaaaaaaa' 'CyCyCyCyCyCyCyCyCyCooooooooooaaaaaaaaaaa'" \
                "'CyCyCyCyCyCyCyCyCyCoOoOoOoOoOaAaAaAaAaAa' 'cYcYcYcYcYcYcYcYcYcOoOoOoOoOoAaAaAaAaAaa'" \
                "'CyCyCyCyCyCyCyCyCyCoOoOoOoOoOaAaAaAaAaA[' 'cYcYcYcYcYcYcYcYcYcOoOoOoOoOoAaAaAaAaAa]'" \
                "$'\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9\xa9' 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii'" \
                "$'\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i' $'i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9i\xa9'" \
            ; do
                LANGUAGE="$l" LC_ALL="$l" eval './${ID}-O$o' 'a' '$N' "$s" 0
                echo
            done
        done
    done
)

exit $?

