1 2(********************************************************************) 3(* *) 4(* confval.sd7 Show config values of C compiler and runtime. *) 5(* Copyright (C) 2019 Thomas Mertes *) 6(* *) 7(* This program is free software; you can redistribute it and/or *) 8(* modify it under the terms of the GNU General Public License as *) 9(* published by the Free Software Foundation; either version 2 of *) 10(* the License, or (at your option) any later version. *) 11(* *) 12(* This program is distributed in the hope that it will be useful, *) 13(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) 14(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) 15(* GNU General Public License for more details. *) 16(* *) 17(* You should have received a copy of the GNU General Public *) 18(* License along with this program; if not, write to the *) 19(* Free Software Foundation, Inc., 51 Franklin Street, *) 20(* Fifth Floor, Boston, MA 02110-1301, USA. *) 21(* *) 22(********************************************************************) 23 24 25$ include "seed7_05.s7i"; 26 include "utf8.s7i"; 27 include "osfiles.s7i"; 28 include "cc_conf.s7i"; 29 30 31const func array string: noEmptyArray (in array string: anArray) is func 32 result 33 var array string: resultArray is [] (""); 34 begin 35 if length(anArray) <> 0 then 36 resultArray := anArray; 37 end if; 38 end func; 39 40 41const proc: main is func 42 begin 43 OUT := STD_UTF8_OUT; 44 writeln("WITH_STRI_CAPACITY: " <& ccConf.WITH_STRI_CAPACITY); 45 writeln("ALLOW_STRITYPE_SLICES: " <& ccConf.ALLOW_STRITYPE_SLICES); 46 writeln("ALLOW_BSTRITYPE_SLICES: " <& ccConf.ALLOW_BSTRITYPE_SLICES); 47 writeln("RSHIFT_DOES_SIGN_EXTEND: " <& ccConf.RSHIFT_DOES_SIGN_EXTEND); 48 writeln("TWOS_COMPLEMENT_INTTYPE: " <& ccConf.TWOS_COMPLEMENT_INTTYPE); 49 writeln("LITTLE_ENDIAN_INTTYPE: " <& ccConf.LITTLE_ENDIAN_INTTYPE); 50 writeln("FLOAT_COMPARISON_OKAY: " <& ccConf.FLOAT_COMPARISON_OKAY); 51 writeln("POW_FUNCTION_OKAY: " <& ccConf.POW_FUNCTION_OKAY); 52 writeln("FMOD_FUNCTION_OKAY: " <& ccConf.FMOD_FUNCTION_OKAY); 53 writeln("SQRT_FUNCTION_OKAY: " <& ccConf.SQRT_FUNCTION_OKAY); 54 writeln("EXP_FUNCTION_OKAY: " <& ccConf.EXP_FUNCTION_OKAY); 55 writeln("LOG_FUNCTION_OKAY: " <& ccConf.LOG_FUNCTION_OKAY); 56 writeln("LOG10_FUNCTION_OKAY: " <& ccConf.LOG10_FUNCTION_OKAY); 57 writeln("LOG2_FUNCTION_OKAY: " <& ccConf.LOG2_FUNCTION_OKAY); 58 writeln("LDEXP_FUNCTION_OKAY: " <& ccConf.LDEXP_FUNCTION_OKAY); 59 writeln("FREXP_FUNCTION_OKAY: " <& ccConf.FREXP_FUNCTION_OKAY); 60 writeln("HAS_SIGSETJMP: " <& ccConf.HAS_SIGSETJMP); 61 writeln("CHECK_INT_DIV_BY_ZERO: " <& ccConf.CHECK_INT_DIV_BY_ZERO); 62 writeln("CHECK_INT_DIV_ZERO_BY_ZERO: " <& ccConf.CHECK_INT_DIV_ZERO_BY_ZERO); 63 writeln("CHECK_INT_REM_BY_ZERO: " <& ccConf.CHECK_INT_REM_BY_ZERO); 64 writeln("CHECK_INT_REM_ZERO_BY_ZERO: " <& ccConf.CHECK_INT_REM_ZERO_BY_ZERO); 65 writeln("FLOAT_ZERO_DIV_ERROR: " <& ccConf.FLOAT_ZERO_DIV_ERROR); 66 writeln("CHECK_FLOAT_DIV_BY_ZERO: " <& ccConf.CHECK_FLOAT_DIV_BY_ZERO); 67 writeln("HAS_EXP2: " <& ccConf.HAS_EXP2); 68 writeln("HAS_EXP10: " <& ccConf.HAS_EXP10); 69 writeln("HAS_EXPM1: " <& ccConf.HAS_EXPM1); 70 writeln("HAS_CBRT: " <& ccConf.HAS_CBRT); 71 writeln("HAS_LOG1P: " <& ccConf.HAS_LOG1P); 72 writeln("LIMITED_CSTRI_LITERAL_LEN: " <& ccConf.LIMITED_CSTRI_LITERAL_LEN); 73 writeln("SWITCH_WORKS_FOR_INT64TYPE: " <& ccConf.SWITCH_WORKS_FOR_INT64TYPE); 74 writeln("CC_SOURCE_UTF8: " <& ccConf.CC_SOURCE_UTF8); 75 writeln("USE_WMAIN: " <& ccConf.USE_WMAIN); 76 writeln("USE_WINMAIN: " <& ccConf.USE_WINMAIN); 77 writeln("FLOATTYPE_DOUBLE: " <& ccConf.FLOATTYPE_DOUBLE); 78 writeln("INTTYPE_SIZE: " <& ccConf.INTTYPE_SIZE); 79 writeln("FLOATTYPE_SIZE: " <& ccConf.FLOATTYPE_SIZE); 80 writeln("POINTER_SIZE: " <& ccConf.POINTER_SIZE); 81 writeln("GENERIC_SIZE: " <& ccConf.GENERIC_SIZE); 82 writeln("INT_SIZE: " <& ccConf.INT_SIZE); 83 writeln("LONG_SIZE: " <& ccConf.LONG_SIZE); 84 writeln("FLOATTYPE_MANTISSA_BITS: " <& ccConf.FLOATTYPE_MANTISSA_BITS); 85 writeln("FLOATTYPE_EXPONENT_OFFSET: " <& ccConf.FLOATTYPE_EXPONENT_OFFSET); 86 writeln("INT_RANGE_IN_FLOATTYPE_MAX: " <& ccConf.INT_RANGE_IN_FLOATTYPE_MAX); 87 writeln("MINIMUM_TRUNC_ARGUMENT: " <& ccConf.MINIMUM_TRUNC_ARGUMENT); 88 writeln("MAXIMUM_TRUNC_ARGUMENT: " <& ccConf.MAXIMUM_TRUNC_ARGUMENT); 89 writeln("PIXEL_RED_MASK " <& ccConf.PIXEL_RED_MASK radix 16); 90 writeln("PIXEL_GREEN_MASK " <& ccConf.PIXEL_GREEN_MASK radix 16); 91 writeln("PIXEL_BLUE_MASK " <& ccConf.PIXEL_BLUE_MASK radix 16); 92 writeln("RGB_TO_PIXEL_FLAG_NAME " <& ccConf.RGB_TO_PIXEL_FLAG_NAME); 93 writeln("RAND_MULTIPLIER " <& ccConf.RAND_MULTIPLIER); 94 writeln("RAND_INCREMENT " <& ccConf.RAND_INCREMENT); 95 writeln("BOOLTYPE: " <& ccConf.BOOLTYPE); 96 writeln("INT32TYPE: " <& ccConf.INT32TYPE); 97 writeln("UINT32TYPE: " <& ccConf.UINT32TYPE); 98 writeln("INT64TYPE: " <& ccConf.INT64TYPE); 99 writeln("UINT64TYPE: " <& ccConf.UINT64TYPE); 100 writeln("INT128TYPE: " <& ccConf.INT128TYPE); 101 writeln("UINT128TYPE: " <& ccConf.UINT128TYPE); 102 writeln("INT32TYPE_LITERAL_SUFFIX: " <& ccConf.INT32TYPE_LITERAL_SUFFIX); 103 writeln("INT64TYPE_LITERAL_SUFFIX: " <& ccConf.INT64TYPE_LITERAL_SUFFIX); 104 writeln("MACRO_DEFS: " <& literal(ccConf.MACRO_DEFS)); 105 writeln("OVERFLOW_SIGNAL: " <& ccConf.OVERFLOW_SIGNAL); 106 writeln("BUILTIN_ADD_OVERFLOW: " <& ccConf.BUILTIN_ADD_OVERFLOW); 107 writeln("BUILTIN_SUB_OVERFLOW: " <& ccConf.BUILTIN_SUB_OVERFLOW); 108 writeln("BUILTIN_MULT_OVERFLOW: " <& ccConf.BUILTIN_MULT_OVERFLOW); 109 writeln("OBJECT_FILE_EXTENSION: " <& ccConf.OBJECT_FILE_EXTENSION); 110 writeln("LIBRARY_FILE_EXTENSION: " <& ccConf.LIBRARY_FILE_EXTENSION); 111 writeln("EXECUTABLE_FILE_EXTENSION: " <& ccConf.EXECUTABLE_FILE_EXTENSION); 112 writeln("LINKED_PROGRAM_EXTENSION: " <& ccConf.LINKED_PROGRAM_EXTENSION); 113 writeln("CC_ENVIRONMENT_INI: " <& ccConf.CC_ENVIRONMENT_INI); 114 writeln("C_COMPILER: " <& ccConf.C_COMPILER); 115 writeln("CPLUSPLUS_COMPILER: " <& ccConf.CPLUSPLUS_COMPILER); 116 writeln("CALL_C_COMPILER_FROM_SHELL: " <& ccConf.CALL_C_COMPILER_FROM_SHELL); 117 writeln("C_COMPILER_VERSION: " <& ccConf.C_COMPILER_VERSION); 118 writeln("CC_OPT_DEBUG_INFO: " <& join(noEmptyArray(ccConf.CC_OPT_DEBUG_INFO), " ")); 119 writeln("CC_OPT_LINK_TIME_OPTIMIZATION: " <& ccConf.CC_OPT_LINK_TIME_OPTIMIZATION); 120 writeln("CC_OPT_NO_WARNINGS: " <& ccConf.CC_OPT_NO_WARNINGS); 121 writeln("CC_OPT_OPTIMIZE_1: " <& join(noEmptyArray(ccConf.CC_OPT_OPTIMIZE_1), " ")); 122 writeln("CC_OPT_OPTIMIZE_2: " <& join(noEmptyArray(ccConf.CC_OPT_OPTIMIZE_2), " ")); 123 writeln("CC_OPT_OPTIMIZE_3: " <& join(noEmptyArray(ccConf.CC_OPT_OPTIMIZE_3), " ")); 124 writeln("CC_OPT_TRAP_OVERFLOW: " <& ccConf.CC_OPT_TRAP_OVERFLOW); 125 writeln("CC_OPT_VERSION_INFO: " <& ccConf.CC_OPT_VERSION_INFO); 126 writeln("CC_FLAGS: " <& join(noEmptyArray(ccConf.CC_FLAGS), " ")); 127 writeln("CC_ERROR_FILEDES: " <& ccConf.CC_ERROR_FILEDES); 128 writeln("CC_VERSION_INFO_FILEDES: " <& ccConf.CC_VERSION_INFO_FILEDES); 129 writeln("LINKER_OPT_DEBUG_INFO: " <& ccConf.LINKER_OPT_DEBUG_INFO); 130 writeln("LINKER_OPT_LTO_MANDATORY: " <& ccConf.LINKER_OPT_LTO_MANDATORY); 131 writeln("LINKER_OPT_NO_DEBUG_INFO: " <& ccConf.LINKER_OPT_NO_DEBUG_INFO); 132 writeln("LINKER_OPT_OUTPUT_FILE: " <& ccConf.LINKER_OPT_OUTPUT_FILE); 133 writeln("LINKER_OPT_SPECIAL_LIB: " <& ccConf.LINKER_OPT_SPECIAL_LIB); 134 writeln("LINKER_FLAGS: " <& join(noEmptyArray(ccConf.LINKER_FLAGS), " ")); 135 writeln("SYSTEM_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_LIBS), " ")); 136 writeln("SYSTEM_BIGINT_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_BIGINT_LIBS), " ")); 137 writeln("SYSTEM_CONSOLE_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_CONSOLE_LIBS), " ")); 138 writeln("SYSTEM_DATABASE_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_DATABASE_LIBS), " ")); 139 writeln("SYSTEM_DRAW_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_DRAW_LIBS), " ")); 140 writeln("SYSTEM_MATH_LIBS: " <& join(noEmptyArray(ccConf.SYSTEM_MATH_LIBS), " ")); 141 writeln("SEED7_LIB: " <& ccConf.SEED7_LIB); 142 writeln("DRAW_LIB: " <& ccConf.DRAW_LIB); 143 writeln("CONSOLE_LIB: " <& ccConf.CONSOLE_LIB); 144 writeln("DATABASE_LIB: " <& ccConf.DATABASE_LIB); 145 writeln("COMP_DATA_LIB: " <& ccConf.COMP_DATA_LIB); 146 writeln("COMPILER_LIB: " <& ccConf.COMPILER_LIB); 147 writeln("SPECIAL_LIB: " <& ccConf.SPECIAL_LIB); 148 writeln("S7_LIB_DIR: " <& ccConf.S7_LIB_DIR); 149 writeln("VERSION_REVISION_LEVEL: " <& ccConf.VERSION_REVISION_LEVEL); 150 writeln("REDIRECT_FILEDES_1: " <& ccConf.REDIRECT_FILEDES_1); 151 writeln("REDIRECT_FILEDES_2: " <& ccConf.REDIRECT_FILEDES_2); 152 writeln("NULL_DEVICE: " <& ccConf.NULL_DEVICE); 153 writeln("INTTYPE_LITERAL_SUFFIX: " <& ccConf.INTTYPE_LITERAL_SUFFIX); 154 writeln("INT_MIN: " <& ccConf.INT_MIN); 155 writeln("INT_MAX: " <& ccConf.INT_MAX); 156 end func; 157