2025-05-04 18:27 ftp://ftp.de.debian.org/debian/pool/main/g/goattracker/goattracker_2.77+ds.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --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 -j1 platform: Linux-6.8.0-59-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: 88ef81e (2025-05-02 08:42:38 +0200) count: 253 253 elapsed-time: 35.8 36.5 head-timing-info: old-timing-info: head results: goattracker-2.77+ds/src/asm/asmtab.c:1104:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/asmtab.c:1132:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/asmtab.c:1336:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/asmtab.c:2873:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/asmtab.c:1300:47: warning: Either the condition 'yytype<90' is redundant or the array 'yytname[108]' is accessed at index 108, which is out of bounds. [arrayIndexOutOfBoundsCond] goattracker-2.77+ds/src/asm/asmtab.c:1297:14: note: Assuming that condition 'yytype<90' is not redundant goattracker-2.77+ds/src/asm/asmtab.c:1300:47: note: Array index out of bounds goattracker-2.77+ds/src/asm/asmtab.c:1193:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] goattracker-2.77+ds/src/asm/asmtab.c:1219:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] goattracker-2.77+ds/src/asm/asmtab.c:1101:16: style: Parameter 'top' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/asmtab.c:2871:16: style: Parameter 's' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/lexyy.c:735:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/lexyy.c:1613:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/lexyy.c:1804:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/lexyy.c:2156:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/lexyy.c:2270:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/lexyy.c:1613:3: style: Redundant initialization for 'c'. The initialized value is overwritten before it is read. [redundantInitialization] goattracker-2.77+ds/src/asm/lexyy.c:1613:3: note: c is initialized goattracker-2.77+ds/src/asm/lexyy.c:1613:3: note: c is overwritten goattracker-2.77+ds/src/asm/lexyy.c:1139:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1144:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1249:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1274:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1304:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1309:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:1337:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] goattracker-2.77+ds/src/asm/lexyy.c:2266:41: style:inconclusive: Function 'asm_src_buffer_push' argument 1 names different: declaration 'buf' definition 'buffer'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/parse.h:119:41: note: Function 'asm_src_buffer_push' argument 1 names different: declaration 'buf' definition 'buffer'. goattracker-2.77+ds/src/asm/lexyy.c:2266:41: note: Function 'asm_src_buffer_push' argument 1 names different: declaration 'buf' definition 'buffer'. goattracker-2.77+ds/src/asm/lexyy.c:1521:17: style: Variable 'source' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/lexyy.c:1733:18: style: Variable 'source' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/lexyy.c:2059:15: style: Parameter 'bytes' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/lexyy.c:2153:6: style: Parameter 'msg' can be declared as const array [constParameter] goattracker-2.77+ds/src/asm/lexyy.c:2299:11: style: Variable 'c' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/lexyy.c:2300:11: style: Variable 'd' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/log.c:70:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/log.c:93:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/log.c:121:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/log.c:166:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/log.c:207:1: error: va_list 'argp' was opened but not closed by va_end(). [va_end_missing] goattracker-2.77+ds/src/asm/log.c:219:1: error: va_list 'argp' was opened but not closed by va_end(). [va_end_missing] goattracker-2.77+ds/src/asm/membuf.c:62:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/membuf.c:180:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/membuf.c:201:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/membuf.c:164:44: style:inconclusive: Function 'membuf_atleast' argument 2 names different: declaration 'size' definition 'len'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/membuf.h:54:44: note: Function 'membuf_atleast' argument 2 names different: declaration 'size' definition 'len'. goattracker-2.77+ds/src/asm/membuf.c:164:44: note: Function 'membuf_atleast' argument 2 names different: declaration 'size' definition 'len'. goattracker-2.77+ds/src/asm/membuf.c:187:43: style:inconclusive: Function 'membuf_atmost' argument 2 names different: declaration 'size' definition 'len'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/membuf.h:55:43: note: Function 'membuf_atmost' argument 2 names different: declaration 'size' definition 'len'. goattracker-2.77+ds/src/asm/membuf.c:187:43: note: Function 'membuf_atmost' argument 2 names different: declaration 'size' definition 'len'. goattracker-2.77+ds/src/asm/membuf.c:84:34: style: Parameter 'sb' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/membuf.c:209:36: style: Parameter 'sb' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/membuf.c:213:33: style: Parameter 'sb' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/asm/namedbuf.c:46:17: style: Variable 'sbe_a' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/namedbuf.c:47:17: style: Variable 'sbe_b' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/parse.c:638:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/asm/parse.c:463:36: style:inconclusive: Function 'new_op' argument 2 names different: declaration 'op_size' definition 'atom_op_type'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/parse.h:86:36: note: Function 'new_op' argument 2 names different: declaration 'op_size' definition 'atom_op_type'. goattracker-2.77+ds/src/asm/parse.c:463:36: note: Function 'new_op' argument 2 names different: declaration 'op_size' definition 'atom_op_type'. goattracker-2.77+ds/src/asm/parse.c:463:63: style:inconclusive: Function 'new_op' argument 3 names different: declaration 'arg' definition 'op_arg'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/parse.h:86:58: note: Function 'new_op' argument 3 names different: declaration 'arg' definition 'op_arg'. goattracker-2.77+ds/src/asm/parse.c:463:63: note: Function 'new_op' argument 3 names different: declaration 'arg' definition 'op_arg'. goattracker-2.77+ds/src/asm/parse.c:675:51: style:inconclusive: Function 'output_atoms' argument 2 names different: declaration 'mem' definition 'atoms'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/parse.h:118:51: note: Function 'output_atoms' argument 2 names different: declaration 'mem' definition 'atoms'. goattracker-2.77+ds/src/asm/parse.c:675:51: note: Function 'output_atoms' argument 2 names different: declaration 'mem' definition 'atoms'. goattracker-2.77+ds/src/asm/parse.c:51:23: style: Variable 'sym_a' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/parse.c:52:23: style: Variable 'sym_b' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/asm/vec.c:100:53: style:inconclusive: Function 'vec_find' argument 3 names different: declaration 'key' definition 'in'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/vec.h:63:53: note: Function 'vec_find' argument 3 names different: declaration 'key' definition 'in'. goattracker-2.77+ds/src/asm/vec.c:100:53: note: Function 'vec_find' argument 3 names different: declaration 'key' definition 'in'. goattracker-2.77+ds/src/asm/vec.c:147:71: style:inconclusive: Function 'vec_insert_uniq' argument 4 names different: declaration 'out' definition 'outp'. [funcArgNamesDifferent] goattracker-2.77+ds/src/asm/vec.h:77:71: note: Function 'vec_insert_uniq' argument 4 names different: declaration 'out' definition 'outp'. goattracker-2.77+ds/src/asm/vec.c:147:71: note: Function 'vec_insert_uniq' argument 4 names different: declaration 'out' definition 'outp'. goattracker-2.77+ds/src/bme/bme_gfx.c:77:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_HWSURFACE [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_gfx.c:232:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_gfx.c:218:13: style: Variable 'sptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_gfx.c:439:19: style: Variable 'hptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_gfx.c:464:19: style: Variable 'hptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_io.c:324:33: style:inconclusive: Function 'freadle32' argument 1 names different: declaration 'index' definition 'file'. [funcArgNamesDifferent] goattracker-2.77+ds/src/bme/bme_io.c:40:33: note: Function 'freadle32' argument 1 names different: declaration 'index' definition 'file'. goattracker-2.77+ds/src/bme/bme_io.c:324:33: note: Function 'freadle32' argument 1 names different: declaration 'index' definition 'file'. goattracker-2.77+ds/src/bme/bme_io.c:87:27: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/bme/bme_io.c:130:19: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/bme/bme_snd.c:76:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUDIO_U8 [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_snd.c:324:29: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] goattracker-2.77+ds/src/bme/bme_snd.c:306:43: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/bme/bme_snd.c:317:42: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/bme/bme_snd.c:351:29: style: Variable 'end' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:352:29: style: Variable 'repeat' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:399:28: style: Variable 'end' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:400:28: style: Variable 'repeat' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:454:29: style: Variable 'end' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:455:29: style: Variable 'repeat' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:498:28: style: Variable 'end' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_snd.c:499:28: style: Variable 'repeat' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/bme/bme_win.c:58:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_win.c:202:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_RETURN [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_win.c:234:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_ENABLE [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/bme_win.c:76:27: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/bme/dat2inc.c:7:26: style: Parameter 'argv' can be declared as const array [constParameter] goattracker-2.77+ds/src/bme/datafile.c:69:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/bme/datafile.c:161:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/bme/datafile.c:136:47: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/gconsole.c:61:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gconsole.c:124:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gfx_palette [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gconsole.c:350:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gfx_redraw [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gconsole.c:587:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_asciikey [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gconsole.c:331:25: style: Unsigned expression 'oldmousepixelx' can't be negative so it is unnecessary to test it. [unsignedPositive] goattracker-2.77+ds/src/gconsole.c:331:50: style: Unsigned expression 'oldmousepixely' can't be negative so it is unnecessary to test it. [unsignedPositive] goattracker-2.77+ds/src/gconsole.c:119:21: style: Local variable 'b' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/goattrk2.h:74:17: note: Shadowed declaration goattracker-2.77+ds/src/gconsole.c:119:21: note: Shadow variable goattracker-2.77+ds/src/gconsole.c:321:13: style: Variable 'sptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/gconsole.c:371:26: style: Variable 'chptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/gconsole.c:376:27: style: Variable 'e' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/gdisplay.c:50:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOUSEB_LEFT [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gdisplay.c:88:7: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/gfile.c:202:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gfile.c:112:18: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] goattracker-2.77+ds/src/gfile.c:126:15: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gfile.c:38:7: note: Shadowed declaration goattracker-2.77+ds/src/gfile.c:126:15: note: Shadow variable goattracker-2.77+ds/src/gfile.c:36:62: style: Parameter 'title' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/gfile.c:106:11: style: Variable 'filtptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/gfile.c:519:19: style: Parameter 'string1' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/gfile.c:519:34: style: Parameter 'string2' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/ghelp.c:342:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/ghelp.c:249:9: style:inconclusive: Same expression used in consecutive assignments of 'left' and 'right'. [duplicateAssignExpression] goattracker-2.77+ds/src/ghelp.c:250:9: note: Same expression used in consecutive assignments of 'left' and 'right'. goattracker-2.77+ds/src/ghelp.c:249:9: note: Same expression used in consecutive assignments of 'left' and 'right'. goattracker-2.77+ds/src/goattrk2.c:193:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_fullscreen [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:549:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:562:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:576:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:591:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:663:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOUSEB_LEFT [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:1009:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:1310:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 4) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 5) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 9) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 10) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 12) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 13) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 15) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 16) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 18) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 19) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 20) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 21) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 22) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 23) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 24) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:450:5: warning: %d in format string (no. 36) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/goattrk2.c:339:9: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] goattracker-2.77+ds/src/goattrk2.c:343:9: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] goattracker-2.77+ds/src/goattrk2.c:1458:3: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] goattracker-2.77+ds/src/goattrk2.c:1542:17: warning: If memory allocation fails, then there is a possible null pointer dereference: name [nullPointerOutOfMemory] goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assuming allocation function fails goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assignment 'name=malloc(4)', assigned value is 0 goattracker-2.77+ds/src/goattrk2.c:1542:17: note: Null pointer dereference goattracker-2.77+ds/src/goattrk2.c:1609:36: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] goattracker-2.77+ds/src/goattrk2.c:1607:29: note: Assuming allocation function fails goattracker-2.77+ds/src/goattrk2.c:1607:29: note: Assignment 'tmp=strdup(specialnotenames)', assigned value is 0 goattracker-2.77+ds/src/goattrk2.c:1609:36: note: Null pointer dereference goattracker-2.77+ds/src/goattrk2.c:1544:21: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assuming allocation function fails goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assignment 'name=malloc(4)', assigned value is 0 goattracker-2.77+ds/src/goattrk2.c:1544:21: note: Null pointer addition goattracker-2.77+ds/src/goattrk2.c:1513:14: style: Local variable 'freq' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/goattrk2.c:1483:10: note: Shadowed declaration goattracker-2.77+ds/src/goattrk2.c:1513:14: note: Shadow variable goattracker-2.77+ds/src/goattrk2.c:1379:9: style: Variable 'configptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/goattrk2.c:1431:9: style: Variable 'configptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/goattrk2.c:1447:9: style: Variable 'configptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/gorder.c:144:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KEY_1 [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gorder.c:311:13: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gorder.c:31:7: note: Shadowed declaration goattracker-2.77+ds/src/gorder.c:311:13: note: Shadow variable goattracker-2.77+ds/src/gpattern.c:112:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KEY_ENTER [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gpattern.c:882:15: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gpattern.c:41:7: note: Shadowed declaration goattracker-2.77+ds/src/gpattern.c:882:15: note: Shadow variable goattracker-2.77+ds/src/gplay.c:87:12: style: Variable 'songinit' is reassigned a value before the old one has been used. [redundantAssignment] goattracker-2.77+ds/src/gplay.c:85:12: note: songinit is assigned goattracker-2.77+ds/src/gplay.c:87:12: note: songinit is overwritten goattracker-2.77+ds/src/gplay.c:97:12: style: Variable 'songinit' is reassigned a value before the old one has been used. [redundantAssignment] goattracker-2.77+ds/src/gplay.c:95:12: note: songinit is assigned goattracker-2.77+ds/src/gplay.c:97:12: note: songinit is overwritten goattracker-2.77+ds/src/gplay.c:82:28: style:inconclusive: Function 'initsong' argument 2 names different: declaration 'playmode' definition 'mode'. [funcArgNamesDifferent] goattracker-2.77+ds/src/gplay.h:51:28: note: Function 'initsong' argument 2 names different: declaration 'playmode' definition 'mode'. goattracker-2.77+ds/src/gplay.c:82:28: note: Function 'initsong' argument 2 names different: declaration 'playmode' definition 'mode'. goattracker-2.77+ds/src/gplay.c:92:31: style:inconclusive: Function 'initsongpos' argument 2 names different: declaration 'playmode' definition 'mode'. [funcArgNamesDifferent] goattracker-2.77+ds/src/gplay.h:52:31: note: Function 'initsongpos' argument 2 names different: declaration 'playmode' definition 'mode'. goattracker-2.77+ds/src/gplay.c:92:31: note: Function 'initsongpos' argument 2 names different: declaration 'playmode' definition 'mode'. goattracker-2.77+ds/src/gplay.c:577:38: style: Variable 'speed' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/gplay.c:808:34: style: Variable 'speed' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/greloc.c:540:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable win_quitted [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/greloc.c:446:9: style: Local variable 'e' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/greloc.c:142:11: note: Shadowed declaration goattracker-2.77+ds/src/greloc.c:446:9: note: Shadow variable goattracker-2.77+ds/src/greloc.c:1170:9: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/greloc.c:142:7: note: Shadowed declaration goattracker-2.77+ds/src/greloc.c:1170:9: note: Shadow variable goattracker-2.77+ds/src/greloc.c:1719:17: style: Local variable 'instr' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gsong.h:5:14: note: Shadowed declaration goattracker-2.77+ds/src/greloc.c:1719:17: note: Shadow variable goattracker-2.77+ds/src/greloc.c:1715:53: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/resid/wave.h:244:26: performance:inconclusive: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:82:22: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:244:26: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:257:26: style:inconclusive: Technically the member function 'WaveformGenerator::output___T' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:83:22: note: Technically the member function 'WaveformGenerator::output___T' can be const. goattracker-2.77+ds/src/resid/wave.h:257:26: note: Technically the member function 'WaveformGenerator::output___T' can be const. goattracker-2.77+ds/src/resid/wave.h:268:26: style:inconclusive: Technically the member function 'WaveformGenerator::output__S_' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:84:22: note: Technically the member function 'WaveformGenerator::output__S_' can be const. goattracker-2.77+ds/src/resid/wave.h:268:26: note: Technically the member function 'WaveformGenerator::output__S_' can be const. goattracker-2.77+ds/src/resid/wave.h:284:26: style:inconclusive: Technically the member function 'WaveformGenerator::output_P__' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:86:22: note: Technically the member function 'WaveformGenerator::output_P__' can be const. goattracker-2.77+ds/src/resid/wave.h:284:26: note: Technically the member function 'WaveformGenerator::output_P__' can be const. goattracker-2.77+ds/src/resid/wave.h:309:26: style:inconclusive: Technically the member function 'WaveformGenerator::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:90:22: note: Technically the member function 'WaveformGenerator::outputN___' can be const. goattracker-2.77+ds/src/resid/wave.h:309:26: note: Technically the member function 'WaveformGenerator::outputN___' can be const. goattracker-2.77+ds/src/resid/wave.h:414:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:91:22: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:414:26: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:420:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:92:22: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:420:26: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:426:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:93:22: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:426:26: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:432:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:94:22: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:432:26: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:438:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:95:22: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:438:26: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:444:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:96:22: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:444:26: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:450:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:97:22: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:450:26: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/envelope.h:298:25: style:inconclusive: Technically the member function 'EnvelopeGenerator::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/envelope.h:51:21: note: Technically the member function 'EnvelopeGenerator::output' can be const. goattracker-2.77+ds/src/resid/envelope.h:298:25: note: Technically the member function 'EnvelopeGenerator::output' can be const. goattracker-2.77+ds/src/resid/filter.h:478:22: style:inconclusive: Technically the member function 'Filter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.h:145:16: note: Technically the member function 'Filter::output' can be const. goattracker-2.77+ds/src/resid/filter.h:478:22: note: Technically the member function 'Filter::output' can be const. goattracker-2.77+ds/src/resid/extfilt.h:157:30: style:inconclusive: Technically the member function 'ExternalFilter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/extfilt.h:51:29: note: Technically the member function 'ExternalFilter::output' can be const. goattracker-2.77+ds/src/resid/extfilt.h:157:30: note: Technically the member function 'ExternalFilter::output' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:27: style:inconclusive: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:44:15: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:27: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:149:28: style:inconclusive: Technically the member function 'WaveformGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:54:16: note: Technically the member function 'WaveformGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:149:28: note: Technically the member function 'WaveformGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.h:175:28: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.h:52:16: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.h:175:28: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:241:17: style:inconclusive: Technically the member function 'FilterFP::type3_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:148:9: note: Technically the member function 'FilterFP::type3_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:241:17: note: Technically the member function 'FilterFP::type3_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:256:17: style:inconclusive: Technically the member function 'FilterFP::type4_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:149:9: note: Technically the member function 'FilterFP::type4_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:256:17: note: Technically the member function 'FilterFP::type4_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:262:24: style:inconclusive: Technically the member function 'FilterFP::waveshaper1' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:152:9: note: Technically the member function 'FilterFP::waveshaper1' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:262:24: note: Technically the member function 'FilterFP::waveshaper1' can be const. goattracker-2.77+ds/src/resid-fp/extfiltfp.h:83:25: style:inconclusive: Technically the member function 'ExternalFilterFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/extfiltfp.h:51:16: note: Technically the member function 'ExternalFilterFP::output' can be const. goattracker-2.77+ds/src/resid-fp/extfiltfp.h:83:25: note: Technically the member function 'ExternalFilterFP::output' can be const. goattracker-2.77+ds/src/resid/spline.h:256:3: style: Class 'PointPlotter < int >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] goattracker-2.77+ds/src/resid-fp/wavefp.h:135:60: style:inconclusive: Function 'synchronize' argument 1 names different: declaration 'dest' definition 'sync_dest'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:44:48: note: Function 'synchronize' argument 1 names different: declaration 'dest' definition 'sync_dest'. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:60: note: Function 'synchronize' argument 1 names different: declaration 'dest' definition 'sync_dest'. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:92: style:inconclusive: Function 'synchronize' argument 2 names different: declaration 'source' definition 'sync_source'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:44:75: note: Function 'synchronize' argument 2 names different: declaration 'source' definition 'sync_source'. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:92: note: Function 'synchronize' argument 2 names different: declaration 'source' definition 'sync_source'. goattracker-2.77+ds/src/resid-fp/wavefp.h:149:56: style:inconclusive: Function 'output' argument 1 names different: declaration 'source' definition 'sync_source'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:54:44: note: Function 'output' argument 1 names different: declaration 'source' definition 'sync_source'. goattracker-2.77+ds/src/resid-fp/wavefp.h:149:56: note: Function 'output' argument 1 names different: declaration 'source' definition 'sync_source'. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:92: style: Parameter 'sync_source' can be declared as reference to const [constParameterReference] goattracker-2.77+ds/src/resid-fp/wavefp.h:149:56: style: Parameter 'sync_source' can be declared as reference to const [constParameterReference] goattracker-2.77+ds/src/gsong.c:487:29: style: Condition 'pulsedist>0' is always true [knownConditionTrueFalse] goattracker-2.77+ds/src/gsong.c:484:68: note: Assuming that condition 'startpulse>currentpulse' is not redundant goattracker-2.77+ds/src/gsong.c:486:38: note: Assignment 'pulsedist=startpulse-currentpulse', assigned value is greater than 0 goattracker-2.77+ds/src/gsong.c:487:29: note: Condition 'pulsedist>0' is always true goattracker-2.77+ds/src/gsong.c:1104:27: style: Condition 'pulsedist>0' is always true [knownConditionTrueFalse] goattracker-2.77+ds/src/gsong.c:1101:63: note: Assuming that condition 'startpulse>currentpulse' is not redundant goattracker-2.77+ds/src/gsong.c:1103:36: note: Assignment 'pulsedist=startpulse-currentpulse', assigned value is greater than 0 goattracker-2.77+ds/src/gsong.c:1104:27: note: Condition 'pulsedist>0' is always true goattracker-2.77+ds/src/gsong.c:1737:10: warning: If resource allocation fails, then there is a possible null pointer dereference: handle [nullPointerOutOfResources] goattracker-2.77+ds/src/gsong.c:1620:17: note: Assuming allocation function fails goattracker-2.77+ds/src/gsong.c:1620:17: note: Assignment 'handle=fopen(songfilename,"rb")', assigned value is 0 goattracker-2.77+ds/src/gsong.c:1737:10: note: Null pointer dereference goattracker-2.77+ds/src/gsong.c:444:17: style:inconclusive: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. [duplicateAssignExpression] goattracker-2.77+ds/src/gsong.c:445:17: note: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. goattracker-2.77+ds/src/gsong.c:444:17: note: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. goattracker-2.77+ds/src/gsong.c:1061:15: style:inconclusive: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. [duplicateAssignExpression] goattracker-2.77+ds/src/gsong.c:1062:15: note: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. goattracker-2.77+ds/src/gsong.c:1061:15: note: Same expression used in consecutive assignments of 'startpulse' and 'currentpulse'. goattracker-2.77+ds/src/gsong.c:1230:44: style:inconclusive: Function 'clearsong' argument 4 names different: declaration 'cf' definition 'ct'. [funcArgNamesDifferent] goattracker-2.77+ds/src/gsong.h:24:44: note: Function 'clearsong' argument 4 names different: declaration 'cf' definition 'ct'. goattracker-2.77+ds/src/gsong.c:1230:44: note: Function 'clearsong' argument 4 names different: declaration 'cf' definition 'ct'. goattracker-2.77+ds/src/gsong.c:301:13: style: Local variable 'd' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gsong.c:251:11: note: Shadowed declaration goattracker-2.77+ds/src/gsong.c:301:13: note: Shadow variable goattracker-2.77+ds/src/gsong.c:549:42: style: Local variable 'instr' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gsong.c:9:7: note: Shadowed declaration goattracker-2.77+ds/src/gsong.c:549:42: note: Shadow variable goattracker-2.77+ds/src/gsong.c:25:8: style: Variable 'ident' can be declared as const array [constVariable] goattracker-2.77+ds/src/gsong.c:130:8: style: Variable 'ident' can be declared as const array [constVariable] goattracker-2.77+ds/src/gsong.c:1196:11: style: Variable 'ff' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/gsound.c:89:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable snd_bpmtempo [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gsound.c:257:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable snd_player [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gsound.c:154:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] goattracker-2.77+ds/src/gt2reloc.c:95:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gt2reloc.c:155:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/greloc.c:248:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gt2reloc.c:308:9: warning: %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] goattracker-2.77+ds/src/gt2reloc.c:314:9: warning: %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] goattracker-2.77+ds/src/gt2reloc.c:160:30: style: Checking if unsigned expression 'strlen(packedsongname)' is less than zero. [unsignedLessThanZero] goattracker-2.77+ds/src/gt2reloc.c:359:9: style: Variable 'configptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/gt2reloc.c:411:9: style: Variable 'configptr' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/greloc.c:138:7: style: Unused variable: selectdone [unusedVariable] goattracker-2.77+ds/src/greloc.c:139:7: style: Variable 'opt' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/gtable.c:162:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KEY_X [valueFlowBailoutIncompleteVar] goattracker-2.77+ds/src/gtable.c:245:11: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gtable.c:24:7: note: Shadowed declaration goattracker-2.77+ds/src/gtable.c:245:11: note: Shadow variable goattracker-2.77+ds/src/gtable.c:313:11: style: Local variable 'c' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/gtable.c:24:7: note: Shadowed declaration goattracker-2.77+ds/src/gtable.c:313:11: note: Shadow variable goattracker-2.77+ds/src/ins2snd2.c:111:20: style: Variable 'instr.vibdelay' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:113:21: style: Variable 'instr.gatetimer' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:114:21: style: Variable 'instr.firstwave' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:142:20: style: Variable 'instr.vibdelay' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:143:21: style: Variable 'instr.gatetimer' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:144:21: style: Variable 'instr.firstwave' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/ins2snd2.c:160:24: style: Variable 'filttable[c*2+1]' is assigned a value that is never used. [unreadVariable] goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:264:27: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.h:50:8: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:264:27: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:23:27: performance:inconclusive: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/envelopefp.h:55:8: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:23:27: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:237:52: style:inconclusive: Function 'update_rate_period' argument 1 names different: declaration 'period' definition 'newperiod'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/envelopefp.h:56:33: note: Function 'update_rate_period' argument 1 names different: declaration 'period' definition 'newperiod'. goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:237:52: note: Function 'update_rate_period' argument 1 names different: declaration 'period' definition 'newperiod'. goattracker-2.77+ds/src/resid-fp/potfp.cpp:22:23: performance:inconclusive: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/potfp.h:28:8: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/potfp.cpp:22:23: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/sidfp.cpp:297:25: style: The scope of the variable 'temp' can be reduced. [variableScope] goattracker-2.77+ds/src/resid-fp/sidfp.cpp:43:74: style:inconclusive: Function 'kinked_dac' argument 3 names different: declaration 'bits' definition 'max'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/sidfp.h:35:76: note: Function 'kinked_dac' argument 3 names different: declaration 'bits' definition 'max'. goattracker-2.77+ds/src/resid-fp/sidfp.cpp:43:74: note: Function 'kinked_dac' argument 3 names different: declaration 'bits' definition 'max'. goattracker-2.77+ds/src/resid-fp/sidfp.cpp:743:12: style: Variable 'sample_start' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/resid-fp/voicefp.cpp:66:66: style:inconclusive: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/voicefp.h:36:59: note: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. goattracker-2.77+ds/src/resid-fp/voicefp.cpp:66:66: note: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:328:28: style:inconclusive: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:58:9: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:328:28: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:192:27: performance:inconclusive: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/wavefp.h:59:8: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/wavefp.cpp:192:27: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/wavefp.cpp:97:27: style:inconclusive: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:61:8: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:97:27: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:221:45: style:inconclusive: Function 'writeFREQ_LO' argument 1 names different: declaration 'value' definition 'freq_lo'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:47:26: note: Function 'writeFREQ_LO' argument 1 names different: declaration 'value' definition 'freq_lo'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:221:45: note: Function 'writeFREQ_LO' argument 1 names different: declaration 'value' definition 'freq_lo'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:226:45: style:inconclusive: Function 'writeFREQ_HI' argument 1 names different: declaration 'value' definition 'freq_hi'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:48:26: note: Function 'writeFREQ_HI' argument 1 names different: declaration 'value' definition 'freq_hi'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:226:45: note: Function 'writeFREQ_HI' argument 1 names different: declaration 'value' definition 'freq_hi'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:231:43: style:inconclusive: Function 'writePW_LO' argument 1 names different: declaration 'value' definition 'pw_lo'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:49:24: note: Function 'writePW_LO' argument 1 names different: declaration 'value' definition 'pw_lo'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:231:43: note: Function 'writePW_LO' argument 1 names different: declaration 'value' definition 'pw_lo'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:236:43: style:inconclusive: Function 'writePW_HI' argument 1 names different: declaration 'value' definition 'pw_hi'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:50:24: note: Function 'writePW_HI' argument 1 names different: declaration 'value' definition 'pw_hi'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:236:43: note: Function 'writePW_HI' argument 1 names different: declaration 'value' definition 'pw_hi'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:241:78: style:inconclusive: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. [funcArgNamesDifferent] goattracker-2.77+ds/src/resid-fp/wavefp.h:51:59: note: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:241:78: note: Function 'writeCONTROL_REG' argument 2 names different: declaration 'value' definition 'control'. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:91:22: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] goattracker-2.77+ds/src/resid-fp/wavefp.cpp:273:56: style: Parameter 'source' can be declared as reference to const [constParameterReference] goattracker-2.77+ds/src/resid-fp/wavefp.cpp:50:33: style: Parameter 'o' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/resid/filter.cpp:288:14: style:inconclusive: Technically the member function 'Filter::fc_default' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.h:148:8: note: Technically the member function 'Filter::fc_default' can be const. goattracker-2.77+ds/src/resid/filter.cpp:288:14: note: Technically the member function 'Filter::fc_default' can be const. goattracker-2.77+ds/src/resid/filter.cpp:170:31: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] goattracker-2.77+ds/src/resid/pot.cpp:22:21: performance:inconclusive: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/pot.h:28:8: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/pot.cpp:22:21: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/sid.cpp:415:25: style: The scope of the variable 'temp' can be reduced. [variableScope] goattracker-2.77+ds/src/resid/sid.cpp:123:7: style: Local variable 'sample' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/resid/sid.h:123:10: note: Shadowed declaration goattracker-2.77+ds/src/resid/sid.cpp:123:7: note: Shadow variable goattracker-2.77+ds/src/resid/sid.cpp:137:7: style: Local variable 'sample' shadows outer variable [shadowVariable] goattracker-2.77+ds/src/resid/sid.h:123:10: note: Shadowed declaration goattracker-2.77+ds/src/resid/sid.cpp:137:7: note: Shadow variable goattracker-2.77+ds/src/resid/sid.cpp:309:24: style: Variable 'wave' can be declared as reference to const [constVariableReference] goattracker-2.77+ds/src/resid/sid.cpp:310:24: style: Variable 'envelope' can be declared as reference to const [constVariableReference] goattracker-2.77+ds/src/resid/sid.cpp:686:26: style: Variable 'wave' can be declared as reference to const [constVariableReference] goattracker-2.77+ds/src/resid/sid.cpp:910:12: style: Variable 'fir_start' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/resid/sid.cpp:911:12: style: Variable 'sample_start' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/resid/sid.cpp:992:12: style: Variable 'fir_start' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/resid/sid.cpp:993:12: style: Variable 'sample_start' can be declared as pointer to const [constVariablePointer] goattracker-2.77+ds/src/resid/wave.cpp:26:20: warning: Member variable 'WaveformGenerator::sync_dest' is not initialized in the constructor. [uninitMemberVar] goattracker-2.77+ds/src/resid/wave.cpp:26:20: warning: Member variable 'WaveformGenerator::waveform' is not initialized in the constructor. [uninitMemberVar] goattracker-2.77+ds/src/sngspli2.c:69:5: warning: %u in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] goattracker-2.77+ds/src/sngspli2.c:273:20: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] goattracker-2.77+ds/src/sngspli2.c:349:20: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] diff: 2.17.0 goattracker-2.77+ds/src/goattrk2.c:1544:21: error: If memory allocation fail: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assuming allocation function fails goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assignment 'name=malloc(4)', assigned value is 0 goattracker-2.77+ds/src/goattrk2.c:1544:21: note: Null pointer addition head goattracker-2.77+ds/src/goattrk2.c:1544:21: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assuming allocation function fails goattracker-2.77+ds/src/goattrk2.c:1541:22: note: Assignment 'name=malloc(4)', assigned value is 0 goattracker-2.77+ds/src/goattrk2.c:1544:21: note: Null pointer addition head goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:23:27: performance:inconclusive: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/envelopefp.h:55:8: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:23:27: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:264:27: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.h:50:8: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:264:27: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. head goattracker-2.77+ds/src/resid-fp/envelopefp.h:175:28: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.h:52:16: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.h:175:28: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/envelopefp.h:50:8: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:264:27: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.h:50:8: note: Technically the member function 'EnvelopeGeneratorFP::readENV' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/envelopefp.h:52:16: style:inconclusive: Technically the member function 'EnvelopeGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/envelopefp.h:175:28: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/envelopefp.h:52:16: note: Technically the member function 'EnvelopeGeneratorFP::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/envelopefp.h:55:8: performance:inconclusive: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/envelopefp.cpp:23:27: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/envelopefp.h:55:8: note: Technically the member function 'EnvelopeGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid-fp/extfiltfp.h:51:16: style:inconclusive: Technically the member function 'ExternalFilterFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/extfiltfp.h:83:25: note: Technically the member function 'ExternalFilterFP::output' can be const. goattracker-2.77+ds/src/resid-fp/extfiltfp.h:51:16: note: Technically the member function 'ExternalFilterFP::output' can be const. head goattracker-2.77+ds/src/resid-fp/extfiltfp.h:83:25: style:inconclusive: Technically the member function 'ExternalFilterFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/extfiltfp.h:51:16: note: Technically the member function 'ExternalFilterFP::output' can be const. goattracker-2.77+ds/src/resid-fp/extfiltfp.h:83:25: note: Technically the member function 'ExternalFilterFP::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/filterfp.h:148:9: style:inconclusive: Technically the member function 'FilterFP::type3_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:241:17: note: Technically the member function 'FilterFP::type3_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:148:9: note: Technically the member function 'FilterFP::type3_w0' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/filterfp.h:149:9: style:inconclusive: Technically the member function 'FilterFP::type4_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:256:17: note: Technically the member function 'FilterFP::type4_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:149:9: note: Technically the member function 'FilterFP::type4_w0' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/filterfp.h:152:9: style:inconclusive: Technically the member function 'FilterFP::waveshaper1' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:262:24: note: Technically the member function 'FilterFP::waveshaper1' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:152:9: note: Technically the member function 'FilterFP::waveshaper1' can be const. head goattracker-2.77+ds/src/resid-fp/filterfp.h:241:17: style:inconclusive: Technically the member function 'FilterFP::type3_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:148:9: note: Technically the member function 'FilterFP::type3_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:241:17: note: Technically the member function 'FilterFP::type3_w0' can be const. head goattracker-2.77+ds/src/resid-fp/filterfp.h:256:17: style:inconclusive: Technically the member function 'FilterFP::type4_w0' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:149:9: note: Technically the member function 'FilterFP::type4_w0' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:256:17: note: Technically the member function 'FilterFP::type4_w0' can be const. head goattracker-2.77+ds/src/resid-fp/filterfp.h:262:24: style:inconclusive: Technically the member function 'FilterFP::waveshaper1' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/filterfp.h:152:9: note: Technically the member function 'FilterFP::waveshaper1' can be const. goattracker-2.77+ds/src/resid-fp/filterfp.h:262:24: note: Technically the member function 'FilterFP::waveshaper1' can be const. head goattracker-2.77+ds/src/resid-fp/potfp.cpp:22:23: performance:inconclusive: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/potfp.h:28:8: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/potfp.cpp:22:23: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid-fp/potfp.h:28:8: performance:inconclusive: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/potfp.cpp:22:23: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/potfp.h:28:8: note: Technically the member function 'PotentiometerFP::readPOT' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid-fp/wavefp.cpp:192:27: performance:inconclusive: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/wavefp.h:59:8: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/wavefp.cpp:192:27: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid-fp/wavefp.cpp:328:28: style:inconclusive: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:58:9: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:328:28: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. head goattracker-2.77+ds/src/resid-fp/wavefp.cpp:97:27: style:inconclusive: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:61:8: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.cpp:97:27: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. head goattracker-2.77+ds/src/resid-fp/wavefp.h:135:27: style:inconclusive: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:44:15: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:135:27: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. head goattracker-2.77+ds/src/resid-fp/wavefp.h:149:28: style:inconclusive: Technically the member function 'WaveformGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:54:16: note: Technically the member function 'WaveformGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:149:28: note: Technically the member function 'WaveformGeneratorFP::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/wavefp.h:44:15: style:inconclusive: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:135:27: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:44:15: note: Technically the member function 'WaveformGeneratorFP::synchronize' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/wavefp.h:54:16: style:inconclusive: Technically the member function 'WaveformGeneratorFP::output' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.h:149:28: note: Technically the member function 'WaveformGeneratorFP::output' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:54:16: note: Technically the member function 'WaveformGeneratorFP::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/wavefp.h:58:9: style:inconclusive: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.cpp:328:28: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:58:9: note: Technically the member function 'WaveformGeneratorFP::outputN___' can be const. 2.17.0 goattracker-2.77+ds/src/resid-fp/wavefp.h:59:8: performance:inconclusive: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid-fp/wavefp.cpp:192:27: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid-fp/wavefp.h:59:8: note: Technically the member function 'WaveformGeneratorFP::set_nonlinearity' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid-fp/wavefp.h:61:8: style:inconclusive: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. [functionConst] goattracker-2.77+ds/src/resid-fp/wavefp.cpp:97:27: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. goattracker-2.77+ds/src/resid-fp/wavefp.h:61:8: note: Technically the member function 'WaveformGeneratorFP::calculate_waveform_sample' can be const. head goattracker-2.77+ds/src/resid/envelope.h:298:25: style:inconclusive: Technically the member function 'EnvelopeGenerator::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/envelope.h:51:21: note: Technically the member function 'EnvelopeGenerator::output' can be const. goattracker-2.77+ds/src/resid/envelope.h:298:25: note: Technically the member function 'EnvelopeGenerator::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid/envelope.h:51:21: style:inconclusive: Technically the member function 'EnvelopeGenerator::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/envelope.h:298:25: note: Technically the member function 'EnvelopeGenerator::output' can be const. goattracker-2.77+ds/src/resid/envelope.h:51:21: note: Technically the member function 'EnvelopeGenerator::output' can be const. head goattracker-2.77+ds/src/resid/extfilt.h:157:30: style:inconclusive: Technically the member function 'ExternalFilter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/extfilt.h:51:29: note: Technically the member function 'ExternalFilter::output' can be const. goattracker-2.77+ds/src/resid/extfilt.h:157:30: note: Technically the member function 'ExternalFilter::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid/extfilt.h:51:29: style:inconclusive: Technically the member function 'ExternalFilter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/extfilt.h:157:30: note: Technically the member function 'ExternalFilter::output' can be const. goattracker-2.77+ds/src/resid/extfilt.h:51:29: note: Technically the member function 'ExternalFilter::output' can be const. head goattracker-2.77+ds/src/resid/filter.cpp:288:14: style:inconclusive: Technically the member function 'Filter::fc_default' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.h:148:8: note: Technically the member function 'Filter::fc_default' can be const. goattracker-2.77+ds/src/resid/filter.cpp:288:14: note: Technically the member function 'Filter::fc_default' can be const. 2.17.0 goattracker-2.77+ds/src/resid/filter.h:145:16: style:inconclusive: Technically the member function 'Filter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.h:478:22: note: Technically the member function 'Filter::output' can be const. goattracker-2.77+ds/src/resid/filter.h:145:16: note: Technically the member function 'Filter::output' can be const. 2.17.0 goattracker-2.77+ds/src/resid/filter.h:148:8: style:inconclusive: Technically the member function 'Filter::fc_default' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.cpp:288:14: note: Technically the member function 'Filter::fc_default' can be const. goattracker-2.77+ds/src/resid/filter.h:148:8: note: Technically the member function 'Filter::fc_default' can be const. head goattracker-2.77+ds/src/resid/filter.h:478:22: style:inconclusive: Technically the member function 'Filter::output' can be const. [functionConst] goattracker-2.77+ds/src/resid/filter.h:145:16: note: Technically the member function 'Filter::output' can be const. goattracker-2.77+ds/src/resid/filter.h:478:22: note: Technically the member function 'Filter::output' can be const. head goattracker-2.77+ds/src/resid/pot.cpp:22:21: performance:inconclusive: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/pot.h:28:8: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/pot.cpp:22:21: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/pot.h:28:8: performance:inconclusive: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/pot.cpp:22:21: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/pot.h:28:8: note: Technically the member function 'Potentiometer::readPOT' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:244:26: performance:inconclusive: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:82:22: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:244:26: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:257:26: style:inconclusive: Technically the member function 'WaveformGenerator::output___T' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:83:22: note: Technically the member function 'WaveformGenerator::output___T' can be const. goattracker-2.77+ds/src/resid/wave.h:257:26: note: Technically the member function 'WaveformGenerator::output___T' can be const. head goattracker-2.77+ds/src/resid/wave.h:268:26: style:inconclusive: Technically the member function 'WaveformGenerator::output__S_' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:84:22: note: Technically the member function 'WaveformGenerator::output__S_' can be const. goattracker-2.77+ds/src/resid/wave.h:268:26: note: Technically the member function 'WaveformGenerator::output__S_' can be const. head goattracker-2.77+ds/src/resid/wave.h:284:26: style:inconclusive: Technically the member function 'WaveformGenerator::output_P__' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:86:22: note: Technically the member function 'WaveformGenerator::output_P__' can be const. goattracker-2.77+ds/src/resid/wave.h:284:26: note: Technically the member function 'WaveformGenerator::output_P__' can be const. head goattracker-2.77+ds/src/resid/wave.h:309:26: style:inconclusive: Technically the member function 'WaveformGenerator::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:90:22: note: Technically the member function 'WaveformGenerator::outputN___' can be const. goattracker-2.77+ds/src/resid/wave.h:309:26: note: Technically the member function 'WaveformGenerator::outputN___' can be const. head goattracker-2.77+ds/src/resid/wave.h:414:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:91:22: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:414:26: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:420:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:92:22: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:420:26: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:426:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:93:22: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:426:26: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:432:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:94:22: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:432:26: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:438:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:95:22: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:438:26: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:444:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:96:22: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:444:26: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). head goattracker-2.77+ds/src/resid/wave.h:450:26: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:97:22: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:450:26: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:82:22: performance:inconclusive: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:244:26: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:82:22: note: Technically the member function 'WaveformGenerator::output____' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:83:22: style:inconclusive: Technically the member function 'WaveformGenerator::output___T' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:257:26: note: Technically the member function 'WaveformGenerator::output___T' can be const. goattracker-2.77+ds/src/resid/wave.h:83:22: note: Technically the member function 'WaveformGenerator::output___T' can be const. 2.17.0 goattracker-2.77+ds/src/resid/wave.h:84:22: style:inconclusive: Technically the member function 'WaveformGenerator::output__S_' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:268:26: note: Technically the member function 'WaveformGenerator::output__S_' can be const. goattracker-2.77+ds/src/resid/wave.h:84:22: note: Technically the member function 'WaveformGenerator::output__S_' can be const. 2.17.0 goattracker-2.77+ds/src/resid/wave.h:86:22: style:inconclusive: Technically the member function 'WaveformGenerator::output_P__' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:284:26: note: Technically the member function 'WaveformGenerator::output_P__' can be const. goattracker-2.77+ds/src/resid/wave.h:86:22: note: Technically the member function 'WaveformGenerator::output_P__' can be const. 2.17.0 goattracker-2.77+ds/src/resid/wave.h:90:22: style:inconclusive: Technically the member function 'WaveformGenerator::outputN___' can be const. [functionConst] goattracker-2.77+ds/src/resid/wave.h:309:26: note: Technically the member function 'WaveformGenerator::outputN___' can be const. goattracker-2.77+ds/src/resid/wave.h:90:22: note: Technically the member function 'WaveformGenerator::outputN___' can be const. 2.17.0 goattracker-2.77+ds/src/resid/wave.h:91:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:414:26: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:91:22: note: Technically the member function 'WaveformGenerator::outputN__T' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:92:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:420:26: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:92:22: note: Technically the member function 'WaveformGenerator::outputN_S_' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:93:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:426:26: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:93:22: note: Technically the member function 'WaveformGenerator::outputN_ST' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:94:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:432:26: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:94:22: note: Technically the member function 'WaveformGenerator::outputNP__' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:95:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:438:26: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:95:22: note: Technically the member function 'WaveformGenerator::outputNP_T' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:96:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:444:26: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:96:22: note: Technically the member function 'WaveformGenerator::outputNPS_' can be static (but you may consider moving to unnamed namespace). 2.17.0 goattracker-2.77+ds/src/resid/wave.h:97:22: performance:inconclusive: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). [functionStatic] goattracker-2.77+ds/src/resid/wave.h:450:26: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). goattracker-2.77+ds/src/resid/wave.h:97:22: note: Technically the member function 'WaveformGenerator::outputNPST' can be static (but you may consider moving to unnamed namespace). DONE