| #!/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 |