blob: 715d7c53ee24d0ae74d66e16fd7bdd5a49b6f022 [file] [log] [blame]
#!/bin/sh
#
# This script is used to generate the source files for this test.
#
LIMITS=""
CONSTANTS=""
for SIZE in 8 16 32 64; do
for PREFIX in INT INT_LEAST INT_FAST; do
LIMITS="$LIMITS $PREFIX${SIZE}_MIN $PREFIX${SIZE}_MAX"
CONSTANTS="$CONSTANTS $PREFIX${SIZE}_C"
done
for PREFIX in UINT UINT_LEAST UINT_FAST; do
LIMITS="$LIMITS $PREFIX${SIZE}_MAX"
CONSTANTS="$CONSTANTS $PREFIX${SIZE}_C"
done
done
LIMITS="$LIMITS INTMAX_MIN INTMAX_MAX UINTMAX_MAX"
CONSTANTS="$CONSTANTS INTMAX_C UINTMAX_C"
for PREFIX in INTPTR PTRDIFF; do
LIMITS="$LIMITS ${PREFIX}_MIN ${PREFIX}_MAX"
CONSTANTS="$CONSTANTS ${PREFIX}_C"
done
LIMITS="$LIMITS UINTPTR_MAX"
CONSTANTS="$CONSTANTS UINTPTR_C"
SRC=test_cpp_no_macros.cpp
gen_cpp_no_macros ()
{
echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
echo "#include <stdint.h>"
for MACRO in $LIMITS $CONSTANTS; do
echo "#ifdef $MACRO"
echo "#error $MACRO defined!"
echo "#endif"
done
}
gen_cpp_limit_macros ()
{
echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
echo "#define __STDC_LIMIT_MACROS 1"
echo "#include <stdint.h>"
for MACRO in $LIMITS; do
echo "#ifndef $MACRO"
echo "#error $MACRO is not defined!"
echo "#endif"
done
for MACRO in $CONSTANTS; do
echo "#ifdef $MACRO"
echo "#error $MACRO is defined!"
echo "#endif"
done
}
gen_cpp_constant_macros ()
{
echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
echo "#define __STDC_CONSTANT_MACROS 1"
echo "#include <stdint.h>"
for MACRO in $LIMITS; do
echo "#ifdef $MACRO"
echo "#error $MACRO is defined!"
echo "#endif"
done
for MACRO in $CONSTANTS; do
echo "#ifndef $MACRO"
echo "#error $MACRO is not defined!"
echo "#endif"
done
}
gen_cpp_all_macros ()
{
echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
echo "#define __STDC_LIMIT_MACROS 1"
echo "#define __STDC_CONSTANT_MACROS 1"
echo "#include <stdint.h>"
for MACRO in $LIMITS $CONSTANTS; do
echo "#ifndef $MACRO"
echo "#error $MACRO defined!"
echo "#endif"
done
}
gen_c ()
{
echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
echo "#include <stdint.h>"
for MACRO in $LIMITS $CONSTANTS; do
echo "#ifndef $MACRO"
echo "#error $MACRO defined!"
echo "#endif"
done
}
gen_c > test_c.c
gen_cpp_no_macros > test_no_macros.cpp
gen_cpp_limit_macros > test_limit_macros.cpp
gen_cpp_constant_macros > test_constant_macros.cpp
gen_cpp_all_macros > test_all_macros.cpp