2025-11-27 05:08 ftp://ftp.de.debian.org/debian/pool/main/i/inform6-compiler/inform6-compiler_6.42.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.12.57+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: 9486fde (2025-11-26 08:20:02 +0100) count: 205 202 elapsed-time: 4.8 5.4 head-timing-info: old-timing-info: head results: DavidKinder-Inform6-e528e48/arrays.c:696:34: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/arrays.c:427:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/arrays.c:696:34: note: Shadow variable DavidKinder-Inform6-e528e48/arrays.c:827:13: style: Local variable 'ix' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/arrays.c:798:9: note: Shadowed declaration DavidKinder-Inform6-e528e48/arrays.c:827:13: note: Shadow variable DavidKinder-Inform6-e528e48/directs.c:639:37: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] DavidKinder-Inform6-e528e48/directs.c:304:38: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/directs.c:291:34: note: Shadowed declaration DavidKinder-Inform6-e528e48/directs.c:304:38: note: Shadow variable DavidKinder-Inform6-e528e48/directs.c:616:17: style: Local variable 'i' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/directs.c:58:36: note: Shadowed declaration DavidKinder-Inform6-e528e48/directs.c:616:17: note: Shadow variable DavidKinder-Inform6-e528e48/errors.c:212:36: style:inconclusive: Function 'fatalerror_named' argument 1 names different: declaration 's1' definition 'm'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2324:36: note: Function 'fatalerror_named' argument 1 names different: declaration 's1' definition 'm'. DavidKinder-Inform6-e528e48/errors.c:212:36: note: Function 'fatalerror_named' argument 1 names different: declaration 's1' definition 'm'. DavidKinder-Inform6-e528e48/errors.c:212:45: style:inconclusive: Function 'fatalerror_named' argument 2 names different: declaration 's2' definition 'fn'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2324:46: note: Function 'fatalerror_named' argument 2 names different: declaration 's2' definition 'fn'. DavidKinder-Inform6-e528e48/errors.c:212:45: note: Function 'fatalerror_named' argument 2 names different: declaration 's2' definition 'fn'. DavidKinder-Inform6-e528e48/errors.c:432:27: style:inconclusive: Function 'warning' argument 1 names different: declaration 's' definition 's1'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2339:27: note: Function 'warning' argument 1 names different: declaration 's' definition 's1'. DavidKinder-Inform6-e528e48/errors.c:432:27: note: Function 'warning' argument 1 names different: declaration 's' definition 's1'. DavidKinder-Inform6-e528e48/errors.c:32:47: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/errors.c:48:23: style: Variable 'op' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/errors.c:75:23: style: Variable 'op' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/errors.c:98:23: style: Variable 'op' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/errors.c:121:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/errors.c:183:30: style: Parameter 's' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:212:36: style: Parameter 'm' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:212:45: style: Parameter 'fn' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:218:68: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:244:38: style: Parameter 's' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:296:31: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:296:41: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:302:34: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:302:44: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:316:29: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:316:39: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:322:38: style: Parameter 's' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:345:36: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:345:46: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:345:58: style: Parameter 'type' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:351:30: style: Parameter 's' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:383:38: style: Parameter 's' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:448:33: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:448:43: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:456:30: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:469:35: style: Parameter 'context' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:469:50: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:469:62: style: Parameter 'type' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:469:74: style: Parameter 'wanttype' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:480:32: style: Parameter 'type' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:480:44: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:493:44: style: Parameter 'type' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:493:56: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:513:36: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:550:39: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/errors.c:550:49: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/chars.c:175:31: style: Condition 'j<=0xff' is always true [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/chars.c:169:16: note: Assuming that condition 'j<0x100' is not redundant DavidKinder-Inform6-e528e48/chars.c:175:31: note: Condition 'j<=0xff' is always true DavidKinder-Inform6-e528e48/chars.c:233:42: style:inconclusive: Function 'new_alphabet' argument 2 names different: declaration 'alphabet' definition 'which_alph'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2293:43: note: Function 'new_alphabet' argument 2 names different: declaration 'alphabet' definition 'which_alph'. DavidKinder-Inform6-e528e48/chars.c:233:42: note: Function 'new_alphabet' argument 2 names different: declaration 'alphabet' definition 'which_alph'. DavidKinder-Inform6-e528e48/chars.c:1034:39: style:inconclusive: Function 'new_zscii_character' argument 1 names different: declaration 'unicode' definition 'u'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2294:40: note: Function 'new_zscii_character' argument 1 names different: declaration 'unicode' definition 'u'. DavidKinder-Inform6-e528e48/chars.c:1034:39: note: Function 'new_zscii_character' argument 1 names different: declaration 'unicode' definition 'u'. DavidKinder-Inform6-e528e48/chars.c:283:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/chars.c:1166:14: style: Variable 'd' is assigned a value that is never used. [unreadVariable] DavidKinder-Inform6-e528e48/files.c:959:18: style: Assignment 'ch='@'' is redundant with condition 'ch=='@''. [duplicateConditionalAssign] DavidKinder-Inform6-e528e48/files.c:958:20: note: Condition 'ch=='@'' DavidKinder-Inform6-e528e48/files.c:959:18: note: Assignment 'ch='@'' is redundant DavidKinder-Inform6-e528e48/files.c:953:48: style: Condition 'ch<0' is always false [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/files.c:951:35: note: Assignment 'ch=static_strings_area[ix]', assigned value is greater than -1 DavidKinder-Inform6-e528e48/files.c:953:48: note: Condition 'ch<0' is always false DavidKinder-Inform6-e528e48/files.c:88:35: style:inconclusive: Function 'load_sourcefile' argument 1 names different: declaration 'story_name' definition 'filename_given'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2443:35: note: Function 'load_sourcefile' argument 1 names different: declaration 'story_name' definition 'filename_given'. DavidKinder-Inform6-e528e48/files.c:88:35: note: Function 'load_sourcefile' argument 1 names different: declaration 'story_name' definition 'filename_given'. DavidKinder-Inform6-e528e48/files.c:88:55: style:inconclusive: Function 'load_sourcefile' argument 2 names different: declaration 'style' definition 'same_directory_flag'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2443:51: note: Function 'load_sourcefile' argument 2 names different: declaration 'style' definition 'same_directory_flag'. DavidKinder-Inform6-e528e48/files.c:88:55: note: Function 'load_sourcefile' argument 2 names different: declaration 'style' definition 'same_directory_flag'. DavidKinder-Inform6-e528e48/files.c:1631:28: style: Local variable 'backpatch_value' shadows outer function [shadowFunction] DavidKinder-Inform6-e528e48/header.h:2265:14: note: Shadowed declaration DavidKinder-Inform6-e528e48/files.c:1631:28: note: Shadow variable DavidKinder-Inform6-e528e48/files.c:158:15: style: Variable 'str' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/files.c:176:11: style: Variable 'name' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/files.c:316:9: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/files.c:902:22: style: Variable 'bits' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/files.c:1162:44: style: Parameter 'text' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/files.c:1197:40: style: Parameter 'what_of' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/files.c:1666:10: style: Variable 'system_constant_list' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/expressp.c:408:58: style: Same expression on both sides of '&&'. [duplicateExpression] DavidKinder-Inform6-e528e48/inform.c:1539:37: style:inconclusive: Function 'execute_icl_header' argument 1 names different: declaration 'file1' definition 'argname'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/inform.c:1077:37: note: Function 'execute_icl_header' argument 1 names different: declaration 'file1' definition 'argname'. DavidKinder-Inform6-e528e48/inform.c:1539:37: note: Function 'execute_icl_header' argument 1 names different: declaration 'file1' definition 'argname'. DavidKinder-Inform6-e528e48/inform.c:60:9: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/inform.c:501:46: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:539:50: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:652:37: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:659:56: style: Parameter 'old_name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:660:40: style: Parameter 'prefix_path' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:661:40: style: Parameter 'extension' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1079:70: style: Parameter 'file2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1461:30: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1467:29: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1471:36: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1475:32: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1514:40: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/inform.c:1688:43: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/asm.c:1203:32: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] DavidKinder-Inform6-e528e48/asm.c:349:17: style: Condition '!any' is always true [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/asm.c:347:15: note: Assignment 'any=0', assigned value is 0 DavidKinder-Inform6-e528e48/asm.c:349:17: note: Condition '!any' is always true DavidKinder-Inform6-e528e48/asm.c:2463:43: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] DavidKinder-Inform6-e528e48/asm.c:991:63: style:inconclusive: Function 'assemblez_instruction' argument 1 names different: declaration 'a' definition 'AI'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2151:63: note: Function 'assemblez_instruction' argument 1 names different: declaration 'a' definition 'AI'. DavidKinder-Inform6-e528e48/asm.c:991:63: note: Function 'assemblez_instruction' argument 1 names different: declaration 'a' definition 'AI'. DavidKinder-Inform6-e528e48/asm.c:1354:63: style:inconclusive: Function 'assembleg_instruction' argument 1 names different: declaration 'a' definition 'AI'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2152:63: note: Function 'assembleg_instruction' argument 1 names different: declaration 'a' definition 'AI'. DavidKinder-Inform6-e528e48/asm.c:1354:63: note: Function 'assembleg_instruction' argument 1 names different: declaration 'a' definition 'AI'. DavidKinder-Inform6-e528e48/asm.c:1721:42: style:inconclusive: Function 'assemble_routine_header' argument 1 names different: declaration 'debug_flag' definition 'routine_asterisked'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2157:42: note: Function 'assemble_routine_header' argument 1 names different: declaration 'debug_flag' definition 'routine_asterisked'. DavidKinder-Inform6-e528e48/asm.c:1721:42: note: Function 'assemble_routine_header' argument 1 names different: declaration 'debug_flag' definition 'routine_asterisked'. DavidKinder-Inform6-e528e48/asm.c:2555:59: style:inconclusive: Function 'assemblez_0_to' argument 2 names different: declaration 'o1' definition 'o'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2162:66: note: Function 'assemblez_0_to' argument 2 names different: declaration 'o1' definition 'o'. DavidKinder-Inform6-e528e48/asm.c:2555:59: note: Function 'assemblez_0_to' argument 2 names different: declaration 'o1' definition 'o'. DavidKinder-Inform6-e528e48/asm.c:3507:30: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/asm.c:3423:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/asm.c:3507:30: note: Shadow variable DavidKinder-Inform6-e528e48/asm.c:864:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/asm.c:3436:15: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/lexer.c:1202:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/lexer.c:1741:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable text [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/lexer.c:2150:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable text [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/asm.c:1807:50: error: Uninitialized variable: SLF.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1807:55: error: Uninitialized variable: CON.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1817:42: error: Uninitialized variable: RFA.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1817:52: error: Uninitialized variable: STP.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1829:56: error: Uninitialized variable: PV.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1896:35: error: Uninitialized variable: AO.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1925:38: error: Uninitialized variable: AO2.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:2877:30: error: Uninitialized variable: AO.symindex [uninitvar] DavidKinder-Inform6-e528e48/asm.c:1817:42: error: Uninitialized struct member: RFA.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1807:55: error: Uninitialized struct member: CON.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1817:47: error: Uninitialized struct member: CON.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1817:52: error: Uninitialized struct member: STP.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1807:50: error: Uninitialized struct member: SLF.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1896:35: error: Uninitialized struct member: AO.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:1925:38: error: Uninitialized struct member: AO2.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/asm.c:2877:30: error: Uninitialized struct member: AO.symindex [uninitStructMember] DavidKinder-Inform6-e528e48/memory.c:151:42: style: Parameter 'whatitwas' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/memory.c:378:37: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/memory.c:551:50: style: Parameter 'label' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/objects.c:588:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/objects.c:793:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/objects.c:1205:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/objects.c:1939:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] DavidKinder-Inform6-e528e48/lexer.c:73:21: style: Variable 'location' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/lexer.c:139:62: style: Parameter 'beginning' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/lexer.c:745:38: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/lexer.c:1160:57: style: Parameter 'errpos' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/lexer.c:1257:19: style: Variable 'powers' can be declared as const array [constVariable] DavidKinder-Inform6-e528e48/lexer.c:1560:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/lexer.c:1648:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/lexer.c:1804:27: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/lexer.c:1816:11: style: Variable 'r' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/lexer.c:2163:55: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/expressc.c:1281:7: style:inconclusive: Function 'check_nonzero_at_runtime' argument 2 names different: declaration 'label' definition 'error_label'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2373:69: note: Function 'check_nonzero_at_runtime' argument 2 names different: declaration 'label' definition 'error_label'. DavidKinder-Inform6-e528e48/expressc.c:1281:7: note: Function 'check_nonzero_at_runtime' argument 2 names different: declaration 'label' definition 'error_label'. DavidKinder-Inform6-e528e48/expressc.c:2511:33: style: Local variable 'AO2' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:26: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2511:33: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2530:33: style: Local variable 'AO2' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:26: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2530:33: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2625:46: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2625:46: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2625:50: style: Local variable 'AO2' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:26: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2625:50: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2649:47: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2649:47: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2660:47: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2660:47: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2691:46: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2691:46: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2703:46: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2703:46: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2715:46: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2715:46: note: Shadow variable DavidKinder-Inform6-e528e48/expressc.c:2727:46: style: Local variable 'AO' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/expressc.c:2263:22: note: Shadowed declaration DavidKinder-Inform6-e528e48/expressc.c:2727:46: note: Shadow variable DavidKinder-Inform6-e528e48/symbols.c:230:31: style:inconclusive: Function 'symbol_index' argument 1 names different: declaration 'lexeme_text' definition 'p'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2672:31: note: Function 'symbol_index' argument 1 names different: declaration 'lexeme_text' definition 'p'. DavidKinder-Inform6-e528e48/symbols.c:230:31: note: Function 'symbol_index' argument 1 names different: declaration 'lexeme_text' definition 'p'. DavidKinder-Inform6-e528e48/symbols.c:434:99: style:inconclusive: Function 'check_warn_symbol_type' argument 4 names different: declaration 'label' definition 'context'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2678:99: note: Function 'check_warn_symbol_type' argument 4 names different: declaration 'label' definition 'context'. DavidKinder-Inform6-e528e48/symbols.c:434:99: note: Function 'check_warn_symbol_type' argument 4 names different: declaration 'label' definition 'context'. DavidKinder-Inform6-e528e48/symbols.c:1321:24: style: Local variable 'func' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/symbols.c:1263:20: note: Shadowed declaration DavidKinder-Inform6-e528e48/symbols.c:1321:24: note: Shadow variable DavidKinder-Inform6-e528e48/symbols.c:1393:24: style: Local variable 'func' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/symbols.c:1263:20: note: Shadowed declaration DavidKinder-Inform6-e528e48/symbols.c:1393:24: note: Shadow variable DavidKinder-Inform6-e528e48/symbols.c:159:28: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/symbols.c:159:37: style: Parameter 'q' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/symbols.c:176:48: style: Parameter 'symbol' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/symbols.c:1264:21: style: Variable 'ent' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:90:27: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/objects.c:91:11: style: Variable 'stype' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:472:19: style: Variable 'symname' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:479:19: style: Variable 'symname' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:527:12: style: Variable 'class_prop_block' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:923:10: style: Variable 'prop1' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:924:10: style: Variable 'prop2' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1273:23: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1273:32: style: Variable 'sep' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1273:38: style: Variable 'sym' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1538:23: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1538:32: style: Variable 'sep' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:1538:38: style: Variable 'sym' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/objects.c:2041:11: style: Parameter 'textual_name' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/objects.c:744:10: style: Variable 'pe' is assigned a value that is never used. [unreadVariable] DavidKinder-Inform6-e528e48/objects.c:1457:44: style: Variable 'this_identifier_number' is assigned a value that is never used. [unreadVariable] DavidKinder-Inform6-e528e48/states.c:191:13: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] DavidKinder-Inform6-e528e48/states.c:560:15: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] DavidKinder-Inform6-e528e48/states.c:1393:39: style: Local variable 'AO4' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/states.c:800:36: note: Shadowed declaration DavidKinder-Inform6-e528e48/states.c:1393:39: note: Shadow variable DavidKinder-Inform6-e528e48/states.c:2406:39: style: Local variable 'AO4' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/states.c:1770:36: note: Shadowed declaration DavidKinder-Inform6-e528e48/states.c:2406:39: note: Shadow variable DavidKinder-Inform6-e528e48/veneer.c:2366:40: style: Variable 'AO3.marker' is assigned a value that is never used. [unreadVariable] DavidKinder-Inform6-e528e48/tables.c:111:46: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] DavidKinder-Inform6-e528e48/tables.c:597:32: style: The if condition is the same as the previous if condition [duplicateCondition] DavidKinder-Inform6-e528e48/tables.c:592:32: note: First condition DavidKinder-Inform6-e528e48/tables.c:597:32: note: Second condition DavidKinder-Inform6-e528e48/tables.c:1660:11: style: Variable 'k_str' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/tables.c:1661:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/tables.c:1662:11: style: Variable 'output_called' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/tables.c:1760:11: style: Variable 'k_str' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/tables.c:1763:11: style: Variable 'output_called' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/verbs.c:115:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/verbs.c:191:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/verbs.c:278:15: style: Variable 'verbword' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/verbs.c:298:30: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/verbs.c:513:40: style: Parameter 'English_verb' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/verbs.c:513:59: style: Parameter 'new_number' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:754:33: style: Redundant condition: The condition 'd1 == 127' is redundant since 'd1 >= 10' is sufficient. [redundantCondition] DavidKinder-Inform6-e528e48/text.c:754:62: style: Redundant condition: The condition 'd2 == 127' is redundant since 'd2 >= 10' is sufficient. [redundantCondition] DavidKinder-Inform6-e528e48/text.c:954:27: style: Redundant condition: The condition 'd1 == 127' is redundant since 'd1 >= 10' is sufficient. [redundantCondition] DavidKinder-Inform6-e528e48/text.c:954:56: style: Redundant condition: The condition 'd2 == 127' is redundant since 'd2 >= 10' is sufficient. [redundantCondition] DavidKinder-Inform6-e528e48/text.c:1190:16: style: Assignment 'ch='@'' is redundant with condition 'ch=='@''. [duplicateConditionalAssign] DavidKinder-Inform6-e528e48/text.c:1189:18: note: Condition 'ch=='@'' DavidKinder-Inform6-e528e48/text.c:1190:16: note: Assignment 'ch='@'' is redundant DavidKinder-Inform6-e528e48/text.c:1325:14: style: Assignment 'ch='@'' is redundant with condition 'ch=='@''. [duplicateConditionalAssign] DavidKinder-Inform6-e528e48/text.c:1324:16: note: Condition 'ch=='@'' DavidKinder-Inform6-e528e48/text.c:1325:14: note: Assignment 'ch='@'' is redundant DavidKinder-Inform6-e528e48/text.c:1185:46: style: Condition 'ch<0' is always false [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/text.c:1183:33: note: Assignment 'ch=static_strings_area[ix]', assigned value is greater than -1 DavidKinder-Inform6-e528e48/text.c:1185:46: note: Condition 'ch<0' is always false DavidKinder-Inform6-e528e48/text.c:1320:44: style: Condition 'ch<0' is always false [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/text.c:1318:31: note: Assignment 'ch=static_strings_area[ix]', assigned value is greater than -1 DavidKinder-Inform6-e528e48/text.c:1320:44: note: Condition 'ch<0' is always false DavidKinder-Inform6-e528e48/text.c:2519:15: style: Condition 'c<0x80' is always false [knownConditionTrueFalse] DavidKinder-Inform6-e528e48/text.c:2512:11: note: Assuming that condition 'c<0x80' is not redundant DavidKinder-Inform6-e528e48/text.c:2519:15: note: Condition 'c<0x80' is always false DavidKinder-Inform6-e528e48/text.c:2282:44: style:inconclusive: Function 'dictionary_add' argument 2 names different: declaration 'x' definition 'flag1'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2835:46: note: Function 'dictionary_add' argument 2 names different: declaration 'x' definition 'flag1'. DavidKinder-Inform6-e528e48/text.c:2282:44: note: Function 'dictionary_add' argument 2 names different: declaration 'x' definition 'flag1'. DavidKinder-Inform6-e528e48/text.c:2282:55: style:inconclusive: Function 'dictionary_add' argument 3 names different: declaration 'y' definition 'flag2'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2835:53: note: Function 'dictionary_add' argument 3 names different: declaration 'y' definition 'flag2'. DavidKinder-Inform6-e528e48/text.c:2282:55: note: Function 'dictionary_add' argument 3 names different: declaration 'y' definition 'flag2'. DavidKinder-Inform6-e528e48/text.c:2282:66: style:inconclusive: Function 'dictionary_add' argument 4 names different: declaration 'z' definition 'flag3'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2835:60: note: Function 'dictionary_add' argument 4 names different: declaration 'z' definition 'flag3'. DavidKinder-Inform6-e528e48/text.c:2282:66: note: Function 'dictionary_add' argument 4 names different: declaration 'z' definition 'flag3'. DavidKinder-Inform6-e528e48/text.c:2555:43: style:inconclusive: Function 'word_to_ascii' argument 2 names different: declaration 'result' definition 'results'. [funcArgNamesDifferent] DavidKinder-Inform6-e528e48/header.h:2830:44: note: Function 'word_to_ascii' argument 2 names different: declaration 'result' definition 'results'. DavidKinder-Inform6-e528e48/text.c:2555:43: note: Function 'word_to_ascii' argument 2 names different: declaration 'result' definition 'results'. DavidKinder-Inform6-e528e48/text.c:482:45: style: Local variable 'is_abbreviation' shadows outer variable [shadowVariable] DavidKinder-Inform6-e528e48/header.h:2760:41: note: Shadowed declaration DavidKinder-Inform6-e528e48/text.c:482:45: note: Shadow variable DavidKinder-Inform6-e528e48/text.c:157:11: style: Variable 'p1' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:157:16: style: Variable 'p2' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:198:22: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:559:16: style: Variable 'q' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:639:20: style: Variable 'p' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:874:15: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:1396:18: style: Parameter 'bits' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:1399:9: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] DavidKinder-Inform6-e528e48/text.c:1575:30: style: Parameter 's1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:1575:40: style: Parameter 's2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:1898:33: style: Parameter 'd1' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:1898:44: style: Parameter 'd2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:1907:42: style: Parameter 'd2' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:2555:34: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] DavidKinder-Inform6-e528e48/text.c:2692:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] diff: head DavidKinder-Inform6-e528e48/asm.c:3436:15: style: Variable 'cx' can be declared as pointer to const [constVariablePointer] head DavidKinder-Inform6-e528e48/files.c:176:11: style: Variable 'name' can be declared as pointer to const [constVariablePointer] head DavidKinder-Inform6-e528e48/symbols.c:1264:21: style: Variable 'ent' can be declared as pointer to const [constVariablePointer] DONE