#!/bin/bash if [[ $# -ne 1 ]]; then echo "$0 " exit 1 fi function compile() { cc=$1 version=$2 opt=$3 $cc -std=$version -Wall -Wextra -Werror -pedantic $4 -o test_compile.exe if [[ $? != 0 ]]; then rm -f test_compile.exe echo "FAIL: $cc -std=$version $opt" return 1 fi rm -f test_compile.exe return 0 } compile gcc c99 -O0 $1 && \ compile gcc c99 -O3 $1 && \ compile gcc c11 -O0 $1 && \ compile gcc c11 -O3 $1 && \ compile clang c99 -O0 $1 && \ compile clang c99 -O3 $1 && \ compile clang c11 -O0 $1 && \ compile clang c11 -O3 $1 && \ exit 0