2026-05-02 23:01 ftp://ftp.de.debian.org/debian/pool/main/l/lierolibre/lierolibre_0.5.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --library=boost --library=zlib --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.12.85+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.70 compiler: g++ (20250906) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 600 546 elapsed-time: 20.3 15.8 head-timing-info: old-timing-info: head results: lierolibre-0.5/src/objectList.hpp:113:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/objectList.hpp:138:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/objectList.hpp:168:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.hpp:54:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.hpp:149:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MaxControl [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/settings.hpp:135:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable H [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/settings.hpp:256:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MaxControl [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/level.hpp:45:2: warning: Member variable 'Level::oldRandomLevel' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::x' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::y' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::velX' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::velY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::length' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:50:2: warning: Member variable 'Ninjarope::curLen' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:109:2: warning: Member variable 'WormSettings::controls' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:109:2: warning: Member variable 'WormSettingsExtensions::controlsEx' is not initialized in the constructor. Maybe it should be initialized directly in the class WormSettingsExtensions? [uninitDerivedMemberVar] lierolibre-0.5/src/worm.hpp:304:2: warning: Member variable 'Worm::logicRespawnX' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:304:2: warning: Member variable 'Worm::logicRespawnY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:304:2: warning: Member variable 'Worm::reacts' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'Bonus::x' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'Bonus::y' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'Bonus::velY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'Bonus::timer' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'Bonus::weapon' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'ExactObjectListBase::index' is not initialized in the constructor. Maybe it should be initialized directly in the class ExactObjectListBase? [uninitDerivedMemberVar] lierolibre-0.5/src/bonus.hpp:38:2: warning: Member variable 'ExactObjectListBase::used' is not initialized in the constructor. Maybe it should be initialized directly in the class ExactObjectListBase? [uninitDerivedMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::materials' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::texts' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::textures' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::weapons' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::sobjectTypes' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::nobjectTypes' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::weapOrder' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::bonusRandTimer' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::bonusSObjects' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::aiParams' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::colorAnim' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::bonusFrames' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::smallSprites' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::largeSprites' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::textSprites' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::wormSprites' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::fireConeSprites' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::C' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/common.hpp:142:2: warning: Member variable 'Common::H' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/rect.hpp:37:2: warning:inconclusive: Member variable 'basic_rect < int >::x1' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/rect.hpp:37:2: warning:inconclusive: Member variable 'basic_rect < int >::y1' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/rect.hpp:37:2: warning:inconclusive: Member variable 'basic_rect < int >::x2' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/rect.hpp:37:2: warning:inconclusive: Member variable 'basic_rect < int >::y2' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/worm.hpp:329:2: error: Member variable 'index' is initialized by itself. [selfInitialization] lierolibre-0.5/src/objectList.hpp:156:7: style: The member function 'ObjectList::free' can be static. [functionStatic] lierolibre-0.5/src/objectList.hpp:78:8: style:inconclusive: Technically the member function 'ObjectList::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/level.hpp:63:16: style:inconclusive: Technically the member function 'Level::checkedPixelWrap' can be const. [functionConst] lierolibre-0.5/src/level.hpp:71:7: style:inconclusive: Technically the member function 'Level::inside' can be const. [functionConst] lierolibre-0.5/src/level.hpp:87:7: style:inconclusive: Technically the member function 'Level::rect' can be const. [functionConst] lierolibre-0.5/src/common.hpp:58:7: style:inconclusive: Technically the member function 'Material::dirt' can be const. [functionConst] lierolibre-0.5/src/common.hpp:59:7: style:inconclusive: Technically the member function 'Material::dirt2' can be const. [functionConst] lierolibre-0.5/src/common.hpp:60:7: style:inconclusive: Technically the member function 'Material::rock' can be const. [functionConst] lierolibre-0.5/src/common.hpp:61:7: style:inconclusive: Technically the member function 'Material::background' can be const. [functionConst] lierolibre-0.5/src/common.hpp:62:7: style:inconclusive: Technically the member function 'Material::seeShadow' can be const. [functionConst] lierolibre-0.5/src/common.hpp:65:7: style:inconclusive: Technically the member function 'Material::dirtRock' can be const. [functionConst] lierolibre-0.5/src/common.hpp:66:7: style:inconclusive: Technically the member function 'Material::anyDirt' can be const. [functionConst] lierolibre-0.5/src/common.hpp:67:7: style:inconclusive: Technically the member function 'Material::dirtBack' can be const. [functionConst] lierolibre-0.5/src/common.hpp:68:7: style:inconclusive: Technically the member function 'Material::worm' can be const. [functionConst] lierolibre-0.5/src/exactObjectList.hpp:165:7: style: The member function 'ExactObjectList < Bonus , 99 >::free' can be static. [functionStatic] lierolibre-0.5/src/exactObjectList.hpp:81:8: style:inconclusive: Technically the member function 'ExactObjectList < Bonus , 99 >::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/exactObjectList.hpp:165:7: style: The member function 'ExactObjectList < WObject , 600 >::free' can be static. [functionStatic] lierolibre-0.5/src/exactObjectList.hpp:81:8: style:inconclusive: Technically the member function 'ExactObjectList < WObject , 600 >::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/exactObjectList.hpp:165:7: style: The member function 'ExactObjectList < SObject , 700 >::free' can be static. [functionStatic] lierolibre-0.5/src/exactObjectList.hpp:81:8: style:inconclusive: Technically the member function 'ExactObjectList < SObject , 700 >::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/exactObjectList.hpp:165:7: style: The member function 'ExactObjectList < NObject , 600 >::free' can be static. [functionStatic] lierolibre-0.5/src/exactObjectList.hpp:81:8: style:inconclusive: Technically the member function 'ExactObjectList < NObject , 600 >::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/rect.hpp:90:7: style:inconclusive: Technically the member function 'basic_rect < int >::valid' can be const. [functionConst] lierolibre-0.5/src/fastObjectList.hpp:121:7: style: The member function 'FastObjectList < BObject >::free' can be static. [functionStatic] lierolibre-0.5/src/fastObjectList.hpp:62:8: style:inconclusive: Technically the member function 'FastObjectList < BObject >::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/objectList.hpp:48:3: style: Struct 'iterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/worm.hpp:226:2: style: Struct 'DumbLieroAI' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/worm.hpp:304:2: style: Struct 'Worm' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/exactObjectList.hpp:49:3: style: Struct 'iterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/fastObjectList.hpp:70:2: style: Struct 'FastObjectList < BObject >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/fastObjectList.hpp:41:3: style: Struct 'iterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/worm.hpp:231:7: style: The function 'process' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/worm.hpp:219:15: note: Virtual function in base class lierolibre-0.5/src/worm.hpp:231:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:80:7: style: The function 'play' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:72:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:80:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:85:7: style: The function 'isPlaying' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:73:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:85:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:90:7: style: The function 'playOn' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:74:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:90:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:95:7: style: The function 'stop' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:75:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:95:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:103:7: style: The function 'play' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:72:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:103:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:107:7: style: The function 'isPlaying' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:73:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:107:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:112:7: style: The function 'playOn' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:74:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:112:7: note: Function in derived class lierolibre-0.5/src/sfx.hpp:116:7: style: The function 'stop' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/sfx.hpp:75:15: note: Virtual function in base class lierolibre-0.5/src/sfx.hpp:116:7: note: Function in derived class lierolibre-0.5/src/settings.hpp:164:7: style: The if condition is the same as the previous if condition [duplicateCondition] lierolibre-0.5/src/settings.hpp:163:7: note: First condition lierolibre-0.5/src/settings.hpp:164:7: note: Second condition lierolibre-0.5/src/bobject.cpp:46:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/bobject.cpp:46:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/boostTesting.cpp:129:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:159:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:204:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:215:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:243:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:270:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:310:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:330:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:403:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/boostTesting.cpp:68:2: warning: Member variable 'DirectorySetup::file_access_pair' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/dataPath.hpp:56:2: style: Class 'DataPath' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/boostTesting.cpp:322:16: style: Unused variable: buf_ro [unusedVariable] lierolibre-0.5/src/boostTesting.cpp:323:16: style: Unused variable: buf_rw [unusedVariable] lierolibre-0.5/src/boostTesting.cpp:126:5: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] lierolibre-0.5/src/boostTesting.cpp:154:5: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] lierolibre-0.5/src/exactObjectList.hpp:121:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/exactObjectList.hpp:146:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/exactObjectList.hpp:177:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Limit [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/common.cpp:450:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable N [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/common.cpp:949:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeArray [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/common.cpp:1090:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeInt [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/exactObjectList.hpp:165:7: style: The member function 'ExactObjectList::free' can be static. [functionStatic] lierolibre-0.5/src/exactObjectList.hpp:81:8: style:inconclusive: Technically the member function 'ExactObjectList::iterator::operator!=' can be const. [functionConst] lierolibre-0.5/src/common.cpp:215:13: style:inconclusive: Technically the member function 'Texts::writeToCFG' can be const. [functionConst] lierolibre-0.5/src/common.hpp:85:7: note: Technically the member function 'Texts::writeToCFG' can be const. lierolibre-0.5/src/common.cpp:215:13: note: Technically the member function 'Texts::writeToCFG' can be const. lierolibre-0.5/src/common.cpp:50:13: style:inconclusive: Either there is a missing 'override', or the member function 'Common::readCFGVersion' can be const. [functionConst] lierolibre-0.5/src/common.hpp:148:6: note: Either there is a missing 'override', or the member function 'Common::readCFGVersion' can be const. lierolibre-0.5/src/common.cpp:50:13: note: Either there is a missing 'override', or the member function 'Common::readCFGVersion' can be const. lierolibre-0.5/src/common.cpp:62:14: style:inconclusive: Either there is a missing 'override', or the member function 'Common::writeCFGVersion' can be const. [functionConst] lierolibre-0.5/src/common.hpp:149:7: note: Either there is a missing 'override', or the member function 'Common::writeCFGVersion' can be const. lierolibre-0.5/src/common.cpp:62:14: note: Either there is a missing 'override', or the member function 'Common::writeCFGVersion' can be const. lierolibre-0.5/src/common.cpp:391:14: style:inconclusive: Either there is a missing 'override', or the member function 'Common::writeMaterialsToCFG' can be const. [functionConst] lierolibre-0.5/src/common.hpp:153:7: note: Either there is a missing 'override', or the member function 'Common::writeMaterialsToCFG' can be const. lierolibre-0.5/src/common.cpp:391:14: note: Either there is a missing 'override', or the member function 'Common::writeMaterialsToCFG' can be const. lierolibre-0.5/src/common.cpp:716:14: style:inconclusive: Either there is a missing 'override', or the member function 'Common::writeWeaponsToCFG' can be const. [functionConst] lierolibre-0.5/src/common.hpp:157:7: note: Either there is a missing 'override', or the member function 'Common::writeWeaponsToCFG' can be const. lierolibre-0.5/src/common.cpp:716:14: note: Either there is a missing 'override', or the member function 'Common::writeWeaponsToCFG' can be const. lierolibre-0.5/src/common.cpp:873:14: style:inconclusive: Either there is a missing 'override', or the member function 'Common::writeTexturesToCFG' can be const. [functionConst] lierolibre-0.5/src/common.hpp:161:7: note: Either there is a missing 'override', or the member function 'Common::writeTexturesToCFG' can be const. lierolibre-0.5/src/common.cpp:873:14: note: Either there is a missing 'override', or the member function 'Common::writeTexturesToCFG' can be const. lierolibre-0.5/src/menu/menu.hpp:126:7: style:inconclusive: Technically the member function 'Menu::isSelectionValid' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:149:6: style:inconclusive: Technically the member function 'Menu::selection' can be const. [functionConst] lierolibre-0.5/src/gfx.hpp:159:7: style:inconclusive: Technically the member function 'Gfx::testKey' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:59:2: style: Struct 'Menu' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/to_string.hpp:39:2: style: Class 'BadConversion' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/menu/integerBehavior.hpp:45:7: style: The function 'onLeftRight' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:34:15: note: Virtual function in base class lierolibre-0.5/src/menu/integerBehavior.hpp:45:7: note: Function in derived class lierolibre-0.5/src/menu/integerBehavior.hpp:46:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/menu/integerBehavior.hpp:46:6: note: Function in derived class lierolibre-0.5/src/menu/integerBehavior.hpp:47:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/menu/integerBehavior.hpp:47:7: note: Function in derived class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:42:7: style: The function 'onLeftRight' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:34:15: note: Virtual function in base class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:42:7: note: Function in derived class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:43:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:43:6: note: Function in derived class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:44:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:44:7: note: Function in derived class lierolibre-0.5/src/menu/timeBehavior.hpp:42:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/integerBehavior.hpp:47:7: note: Virtual function in base class lierolibre-0.5/src/menu/timeBehavior.hpp:42:7: note: Function in derived class lierolibre-0.5/src/menu/enumBehavior.hpp:46:7: style: The function 'onLeftRight' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:34:15: note: Virtual function in base class lierolibre-0.5/src/menu/enumBehavior.hpp:46:7: note: Function in derived class lierolibre-0.5/src/menu/enumBehavior.hpp:47:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/menu/enumBehavior.hpp:47:6: note: Function in derived class lierolibre-0.5/src/menu/enumBehavior.hpp:48:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/menu/enumBehavior.hpp:48:7: note: Function in derived class lierolibre-0.5/src/menu/hiddenMenu.hpp:52:24: style: The function 'getItemBehavior' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/menu.hpp:92:24: note: Virtual function in base class lierolibre-0.5/src/menu/hiddenMenu.hpp:52:24: note: Function in derived class lierolibre-0.5/src/gfx.hpp:75:15: style: The function 'drawItemOverlay' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/menu.hpp:87:15: note: Virtual function in base class lierolibre-0.5/src/gfx.hpp:75:15: note: Function in derived class lierolibre-0.5/src/gfx.hpp:77:24: style: The function 'getItemBehavior' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/menu.hpp:92:24: note: Virtual function in base class lierolibre-0.5/src/gfx.hpp:77:24: note: Function in derived class lierolibre-0.5/src/gfx.hpp:89:24: style: The function 'getItemBehavior' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/menu.hpp:92:24: note: Virtual function in base class lierolibre-0.5/src/gfx.hpp:89:24: note: Function in derived class lierolibre-0.5/src/common.cpp:150:11: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:151:12: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:152:15: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:153:16: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:155:15: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:156:15: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:157:16: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:158:16: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:159:17: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:160:11: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:165:18: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:169:20: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:170:20: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:171:20: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:174:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:175:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:178:19: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:179:19: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:184:20: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:190:17: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:193:12: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:194:16: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:195:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:196:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:197:14: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:198:9: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:200:14: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:201:14: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:203:10: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:204:10: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:206:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:208:11: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:209:17: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:210:12: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:609:21: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/common.cpp:378:47: style:inconclusive: Function 'loadMaterialsFromCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/common.cpp:391:46: style:inconclusive: Function 'writeMaterialsToCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/common.cpp:983:8: style: Local variable 'gfx' shadows outer variable [shadowVariable] lierolibre-0.5/src/gfx.hpp:271:12: note: Shadowed declaration lierolibre-0.5/src/common.cpp:983:8: note: Shadow variable lierolibre-0.5/src/common.cpp:50:40: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:62:42: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:144:37: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:215:36: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:307:45: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:323:44: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:378:47: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:391:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:592:45: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:716:44: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:857:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:873:45: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:914:44: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:937:43: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:1068:41: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/common.cpp:1081:40: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configCompat.cpp:169:9: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/configCompat.cpp:154:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configHelper.cpp:73:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeString [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:84:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeInt [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:95:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeInt [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:106:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeBoolean [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:120:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeArray [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:129:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeList [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:136:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeGroup [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configHelper.cpp:42:20: style: The member function 'ConfigHelper::getValue < Uint8 , const Setting , int >' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:41:7: note: The member function 'ConfigHelper::getValue < Uint8 , const Setting , int >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: note: The member function 'ConfigHelper::getValue < Uint8 , const Setting , int >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: style: The member function 'ConfigHelper::getValue < Uint8 , const Setting , const char * >' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:41:7: note: The member function 'ConfigHelper::getValue < Uint8 , const Setting , const char * >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: note: The member function 'ConfigHelper::getValue < Uint8 , const Setting , const char * >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: style: The member function 'ConfigHelper::getValue < Uint8 , Setting , int >' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:41:7: note: The member function 'ConfigHelper::getValue < Uint8 , Setting , int >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: note: The member function 'ConfigHelper::getValue < Uint8 , Setting , int >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: style: The member function 'ConfigHelper::getValue < Uint8 , Setting , const char * >' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:41:7: note: The member function 'ConfigHelper::getValue < Uint8 , Setting , const char * >' can be static. lierolibre-0.5/src/configHelper.cpp:42:20: note: The member function 'ConfigHelper::getValue < Uint8 , Setting , const char * >' can be static. lierolibre-0.5/src/configHelper.cpp:102:20: style: The member function 'ConfigHelper::put' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:43:7: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:102:20: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:91:20: style: The member function 'ConfigHelper::put' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:44:7: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:91:20: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:80:20: style: The member function 'ConfigHelper::put' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:45:7: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:80:20: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:69:20: style: The member function 'ConfigHelper::put' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:46:7: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:69:20: note: The member function 'ConfigHelper::put' can be static. lierolibre-0.5/src/configHelper.cpp:114:24: style: The member function 'ConfigHelper::mkArray' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:48:22: note: The member function 'ConfigHelper::mkArray' can be static. lierolibre-0.5/src/configHelper.cpp:114:24: note: The member function 'ConfigHelper::mkArray' can be static. lierolibre-0.5/src/configHelper.cpp:123:24: style: The member function 'ConfigHelper::mkList' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:49:22: note: The member function 'ConfigHelper::mkList' can be static. lierolibre-0.5/src/configHelper.cpp:123:24: note: The member function 'ConfigHelper::mkList' can be static. lierolibre-0.5/src/configHelper.cpp:132:24: style: The member function 'ConfigHelper::getSubgroup' can be static. [functionStatic] lierolibre-0.5/src/configHelper.hpp:50:22: note: The member function 'ConfigHelper::getSubgroup' can be static. lierolibre-0.5/src/configHelper.cpp:132:24: note: The member function 'ConfigHelper::getSubgroup' can be static. lierolibre-0.5/src/configHelper.cpp:69:63: performance: Function parameter 'value' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configHelper.cpp:42:35: style: Parameter 'node' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/configInit.cpp:175:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable flush [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/configInit.cpp:42:2: performance: Variable 'common' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] lierolibre-0.5/src/configInit.cpp:62:2: performance: Variable 'common' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] lierolibre-0.5/src/configInit.cpp:81:18: style:inconclusive: Technically the member function 'ConfigInit::consoleBlurb' can be const. [functionConst] lierolibre-0.5/src/configInit.hpp:50:7: note: Technically the member function 'ConfigInit::consoleBlurb' can be const. lierolibre-0.5/src/configInit.cpp:81:18: note: Technically the member function 'ConfigInit::consoleBlurb' can be const. lierolibre-0.5/src/filesystem.hpp:133:16: warning: Struct 'ScopedFile' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] lierolibre-0.5/src/filesystem.hpp:133:16: warning: Struct 'ScopedFile' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] lierolibre-0.5/src/filesystem.hpp:100:2: style: Struct 'DirectoryIterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/filesystem.hpp:126:2: style: Struct 'ScopedFile' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/console.hpp:47:2: style: Struct 'LocalAttributes' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/configInit.cpp:91:37: style:inconclusive: Function 'loadFromEXE' argument 1 names different: declaration 'exeFilePath' definition 'filePath'. [funcArgNamesDifferent] lierolibre-0.5/src/configInit.hpp:47:31: note: Function 'loadFromEXE' argument 1 names different: declaration 'exeFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:91:37: note: Function 'loadFromEXE' argument 1 names different: declaration 'exeFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:115:37: style:inconclusive: Function 'loadFromCFG' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. [funcArgNamesDifferent] lierolibre-0.5/src/configInit.hpp:48:31: note: Function 'loadFromCFG' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:115:37: note: Function 'loadFromCFG' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:161:31: style:inconclusive: Function 'write' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. [funcArgNamesDifferent] lierolibre-0.5/src/configInit.hpp:44:25: note: Function 'write' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:161:31: note: Function 'write' argument 1 names different: declaration 'cfgFilePath' definition 'filePath'. lierolibre-0.5/src/configInit.cpp:40:31: performance: Function parameter 'filePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configInit.cpp:60:31: performance: Function parameter 'filePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configInit.cpp:60:48: performance: Function parameter 'dirPath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/configInit.cpp:91:37: performance: Function parameter 'filePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/console.cpp:211:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/console.cpp:216:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/console.cpp:221:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/constants.cpp:542:14: style:inconclusive: Either there is a missing 'override', or the member function 'Common::writeConstantsToCFG' can be const. [functionConst] lierolibre-0.5/src/common.hpp:169:7: note: Either there is a missing 'override', or the member function 'Common::writeConstantsToCFG' can be const. lierolibre-0.5/src/constants.cpp:542:14: note: Either there is a missing 'override', or the member function 'Common::writeConstantsToCFG' can be const. lierolibre-0.5/src/constants.cpp:532:9: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/constants.cpp:517:47: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/constants.cpp:542:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/controller/commonController.cpp:42:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_1 [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/commonController.hpp:35:7: style: The function 'process' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:48:15: note: Virtual function in base class lierolibre-0.5/src/controller/commonController.hpp:35:7: note: Function in derived class lierolibre-0.5/src/controller/localController.cpp:66:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Dig [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/localController.cpp:109:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable StateInitial [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/localController.cpp:186:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable StateInitial [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/localController.cpp:308:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable StateInitial [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/localController.cpp:227:25: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] lierolibre-0.5/src/replay.hpp:65:6: style:inconclusive: Either there is a missing 'override', or the member function 'GameSerializationContext::version' can be const. [functionConst] lierolibre-0.5/src/replay.hpp:120:7: style: The member function 'ReplayReader::unfocus' can be static. [functionStatic] lierolibre-0.5/src/replay.hpp:125:7: style: The member function 'ReplayReader::focus' can be static. [functionStatic] lierolibre-0.5/src/weapsel.hpp:36:2: style: Struct 'WeaponSelection' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/replay.hpp:99:2: style: Struct 'ReplayWriter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/replay.hpp:118:2: style: Struct 'ReplayReader' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/controller/localController.hpp:57:3: style: The destructor '~LocalController' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:35:11: note: Virtual destructor in base class lierolibre-0.5/src/controller/localController.hpp:57:3: note: Destructor in derived class lierolibre-0.5/src/controller/localController.hpp:58:7: style: The function 'onKey' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:40:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:58:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:61:7: style: The function 'unfocus' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:43:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:61:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:63:7: style: The function 'focus' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:46:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:63:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:64:7: style: The function 'process' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/commonController.hpp:35:7: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:64:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:65:7: style: The function 'draw' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:50:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:65:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:68:7: style: The function 'swapLevel' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:59:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:68:7: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:69:9: style: The function 'currentLevel' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:55:17: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:69:9: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:70:8: style: The function 'currentGame' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:57:16: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:70:8: note: Function in derived class lierolibre-0.5/src/controller/localController.hpp:71:7: style: The function 'running' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:53:15: note: Virtual function in base class lierolibre-0.5/src/controller/localController.hpp:71:7: note: Function in derived class lierolibre-0.5/src/controller/localController.cpp:128:20: style: Local variable 'i' shadows outer variable [shadowVariable] lierolibre-0.5/src/controller/localController.cpp:126:11: note: Shadowed declaration lierolibre-0.5/src/controller/localController.cpp:128:20: note: Shadow variable lierolibre-0.5/src/controller/localController.cpp:235:12: style: Variable 'worm' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/controller/localController.cpp:227:14: style: Variable 'now' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/controller/replayController.cpp:63:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable StateInitial [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/replayController.cpp:195:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable StateInitial [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/controller/replayController.hpp:57:7: style: The function 'onKey' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:40:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:57:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:59:7: style: The function 'unfocus' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:43:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:59:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:61:7: style: The function 'focus' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:46:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:61:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:62:7: style: The function 'process' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/commonController.hpp:35:7: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:62:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:63:7: style: The function 'draw' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:50:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:63:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:65:7: style: The function 'swapLevel' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:59:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:65:7: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:66:9: style: The function 'currentLevel' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:55:17: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:66:9: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:67:8: style: The function 'currentGame' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:57:16: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:67:8: note: Function in derived class lierolibre-0.5/src/controller/replayController.hpp:68:7: style: The function 'running' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/controller/controller.hpp:53:15: note: Virtual function in base class lierolibre-0.5/src/controller/replayController.hpp:68:7: note: Function in derived class lierolibre-0.5/src/dataPath.cpp:51:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/dataPath.cpp:105:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable binary [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/dataPath.cpp:149:18: style:inconclusive: Technically the member function 'DataPath::configdir' can be const. [functionConst] lierolibre-0.5/src/dataPath.hpp:60:14: note: Technically the member function 'DataPath::configdir' can be const. lierolibre-0.5/src/dataPath.cpp:149:18: note: Technically the member function 'DataPath::configdir' can be const. lierolibre-0.5/src/dataPath.cpp:42:32: performance: Function parameter 'directory' should be passed by const reference. [passedByValue] lierolibre-0.5/src/dataPath.cpp:59:27: performance: Function parameter 'a_readonly_path' should be passed by const reference. [passedByValue] lierolibre-0.5/src/filesystem.cpp:361:2: error: #error "Not supported" [preprocessorErrorDirective] lierolibre-0.5/src/game.cpp:113:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MaxControl [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/game.cpp:130:94: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MaxControl [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/game.cpp:150:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MaxControl [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/game.cpp:308:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable from [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::x' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::y' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::shake' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::maxX' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::maxY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::centerX' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::centerY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::worm' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::bannerY' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/viewport.hpp:56:2: warning: Member variable 'Viewport::inGameX' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/game.cpp:107:12: style:inconclusive: Technically the member function 'Game::onKey' can be const. [functionConst] lierolibre-0.5/src/game.hpp:55:7: note: Technically the member function 'Game::onKey' can be const. lierolibre-0.5/src/game.cpp:107:12: note: Technically the member function 'Game::onKey' can be const. lierolibre-0.5/src/game.cpp:144:12: style:inconclusive: Technically the member function 'Game::releaseControls' can be const. [functionConst] lierolibre-0.5/src/game.hpp:57:7: note: Technically the member function 'Game::releaseControls' can be const. lierolibre-0.5/src/game.cpp:144:12: note: Technically the member function 'Game::releaseControls' can be const. lierolibre-0.5/src/game.cpp:445:12: style: The member function 'Game::gameLoop' can be static. [functionStatic] lierolibre-0.5/src/game.hpp:59:7: note: The member function 'Game::gameLoop' can be static. lierolibre-0.5/src/game.cpp:445:12: note: The member function 'Game::gameLoop' can be static. lierolibre-0.5/src/game.cpp:470:12: style:inconclusive: Technically the member function 'Game::updateSettings' can be const. [functionConst] lierolibre-0.5/src/game.hpp:61:7: note: Technically the member function 'Game::updateSettings' can be const. lierolibre-0.5/src/game.cpp:470:12: note: Technically the member function 'Game::updateSettings' can be const. lierolibre-0.5/src/game.cpp:195:12: style:inconclusive: Technically the member function 'Game::resetWorms' can be const. [functionConst] lierolibre-0.5/src/game.hpp:72:7: note: Technically the member function 'Game::resetWorms' can be const. lierolibre-0.5/src/game.cpp:195:12: note: Technically the member function 'Game::resetWorms' can be const. lierolibre-0.5/src/game.cpp:488:12: style:inconclusive: Technically the member function 'Game::isGameOver' can be const. [functionConst] lierolibre-0.5/src/game.hpp:75:7: note: Technically the member function 'Game::isGameOver' can be const. lierolibre-0.5/src/game.cpp:488:12: note: Technically the member function 'Game::isGameOver' can be const. lierolibre-0.5/src/viewport.hpp:56:2: style: Struct 'Viewport' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/game.cpp:74:70: style:inconclusive: Function 'Game' argument 2 names different: declaration 'settings' definition 'settingsInit'. [funcArgNamesDifferent] lierolibre-0.5/src/game.hpp:52:65: note: Function 'Game' argument 2 names different: declaration 'settings' definition 'settingsInit'. lierolibre-0.5/src/game.cpp:74:70: note: Function 'Game' argument 2 names different: declaration 'settings' definition 'settingsInit'. lierolibre-0.5/src/game.cpp:164:34: style:inconclusive: Function 'addViewport' argument 1 names different: declaration '' definition 'vp'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/game.cpp:210:26: style:inconclusive: Function 'addWorm' argument 1 names different: declaration '' definition 'worm'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/game.cpp:476:9: style: Variable 'worm' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/game.cpp:129:13: style: Variable 'controls' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/game.cpp:418:4: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/game.cpp:494:0: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/game.cpp:502:0: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/game.cpp:511:0: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/text.hpp:45:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/text.hpp:54:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:223:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_DISABLE [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:252:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_SWSURFACE [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:278:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_SWSURFACE [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:536:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KMOD_ALT [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:711:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_KEYDOWN [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:739:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_HAT_UP [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:784:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:1156:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LEFT [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:1368:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable second [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:1492:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:1585:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:1669:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:2080:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:2178:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_ESCAPE [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::screenPixels' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::screenPitch' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::lastFrame' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::desktopH' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::desktopW' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::storedWindowH' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:194:6: warning: Member variable 'Gfx::storedWindowW' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/gfx.cpp:448:11: style:inconclusive: Technically the member function 'Gfx::writeMenusToCFG' can be const. [functionConst] lierolibre-0.5/src/gfx.hpp:120:7: note: Technically the member function 'Gfx::writeMenusToCFG' can be const. lierolibre-0.5/src/gfx.cpp:448:11: note: Technically the member function 'Gfx::writeMenusToCFG' can be const. lierolibre-0.5/src/gfx.cpp:757:18: style:inconclusive: Technically the member function 'Gfx::getKeyName' can be const. [functionConst] lierolibre-0.5/src/gfx.hpp:207:14: note: Technically the member function 'Gfx::getKeyName' can be const. lierolibre-0.5/src/gfx.cpp:757:18: note: Technically the member function 'Gfx::getKeyName' can be const. lierolibre-0.5/src/gfx.cpp:2072:11: style: The member function 'Gfx::saveOPT' can be static. [functionStatic] lierolibre-0.5/src/gfx.hpp:212:7: note: The member function 'Gfx::saveOPT' can be static. lierolibre-0.5/src/gfx.cpp:2072:11: note: The member function 'Gfx::saveOPT' can be static. lierolibre-0.5/src/gfx.cpp:2051:11: style: The member function 'Gfx::loadOPT' can be static. [functionStatic] lierolibre-0.5/src/gfx.hpp:213:7: note: The member function 'Gfx::loadOPT' can be static. lierolibre-0.5/src/gfx.cpp:2051:11: note: The member function 'Gfx::loadOPT' can be static. lierolibre-0.5/src/gfx.cpp:788:10: style: The member function 'Gfx::fitScreen' can be static. [functionStatic] lierolibre-0.5/src/gfx.hpp:233:6: note: The member function 'Gfx::fitScreen' can be static. lierolibre-0.5/src/gfx.cpp:788:10: note: The member function 'Gfx::fitScreen' can be static. lierolibre-0.5/src/gfx.cpp:1175:2: style: Struct 'LevelSelectBehavior' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gfx.cpp:1241:2: style: Struct 'PlayerSettingsBehavior' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/menu/arrayEnumBehavior.hpp:46:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/enumBehavior.hpp:48:7: note: Virtual function in base class lierolibre-0.5/src/menu/arrayEnumBehavior.hpp:46:7: note: Function in derived class lierolibre-0.5/src/gfx.cpp:75:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:75:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:100:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:100:7: note: Function in derived class lierolibre-0.5/src/gfx.cpp:119:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:119:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:135:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:135:7: note: Function in derived class lierolibre-0.5/src/gfx.cpp:154:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:154:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:179:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:179:7: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1180:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1180:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1189:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:44:15: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1189:7: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1215:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1215:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1230:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1230:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1246:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1246:6: note: Function in derived class lierolibre-0.5/src/gfx.cpp:1652:16: style: The function 'getItemBehavior' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/menu.hpp:92:24: note: Virtual function in base class lierolibre-0.5/src/gfx.cpp:1652:16: note: Function in derived class lierolibre-0.5/src/gfx.cpp:228:45: warning: If resource allocation fails, then there is a possible null pointer dereference: screen [nullPointerOutOfResources] lierolibre-0.5/src/gfx.cpp:226:31: note: Assuming allocation function fails lierolibre-0.5/src/gfx.cpp:226:31: note: Assignment 'screen=SDL_CreateRGBSurface(SDL_SWSURFACE,320,200,8,0,0,0,0)', assigned value is 0 lierolibre-0.5/src/gfx.cpp:228:45: note: Null pointer dereference lierolibre-0.5/src/gfx.cpp:229:16: warning: If resource allocation fails, then there is a possible null pointer dereference: screen [nullPointerOutOfResources] lierolibre-0.5/src/gfx.cpp:226:31: note: Assuming allocation function fails lierolibre-0.5/src/gfx.cpp:226:31: note: Assignment 'screen=SDL_CreateRGBSurface(SDL_SWSURFACE,320,200,8,0,0,0,0)', assigned value is 0 lierolibre-0.5/src/gfx.cpp:229:16: note: Null pointer dereference lierolibre-0.5/src/gfx.cpp:916:6: style: Variable 'A' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:916:6: note: A is assigned lierolibre-0.5/src/gfx.cpp:916:6: note: A is overwritten lierolibre-0.5/src/gfx.cpp:916:6: style: Variable 'G' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:916:6: note: G is assigned lierolibre-0.5/src/gfx.cpp:916:6: note: G is overwritten lierolibre-0.5/src/gfx.cpp:1000:6: style: Variable 'A' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:1000:6: note: A is assigned lierolibre-0.5/src/gfx.cpp:1000:6: note: A is overwritten lierolibre-0.5/src/gfx.cpp:1000:6: style: Variable 'G' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:1000:6: note: G is assigned lierolibre-0.5/src/gfx.cpp:1000:6: note: G is overwritten lierolibre-0.5/src/gfx.cpp:1040:5: style: Variable 'A' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:1040:5: note: A is assigned lierolibre-0.5/src/gfx.cpp:1040:5: note: A is overwritten lierolibre-0.5/src/gfx.cpp:1040:5: style: Variable 'G' is reassigned a value before the old one has been used. [redundantAssignment] lierolibre-0.5/src/gfx.cpp:1040:5: note: G is assigned lierolibre-0.5/src/gfx.cpp:1040:5: note: G is overwritten lierolibre-0.5/src/gfx.cpp:777:7: portability:inconclusive: Array 'dosKeys' might be filled incompletely. Did you forget to multiply the size given to 'memset()' with 'sizeof(*dosKeys)'? [incompleteArrayFill] lierolibre-0.5/src/gfx.cpp:1784:115: style:inconclusive: Function 'inputString' argument 6 names different: declaration '' definition 'prefix'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx.cpp:1784:128: style:inconclusive: Function 'inputString' argument 7 names different: declaration '' definition 'centered'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx.cpp:2051:31: style:inconclusive: Function 'loadOPT' argument 1 names different: declaration '' definition 'path'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx.cpp:2072:31: style:inconclusive: Function 'saveOPT' argument 1 names different: declaration '' definition 'path'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx.cpp:1354:22: style: Local variable 'altName' shadows outer variable [shadowVariable] lierolibre-0.5/src/gfx.cpp:1345:7: note: Shadowed declaration lierolibre-0.5/src/gfx.cpp:1354:22: note: Shadow variable lierolibre-0.5/src/gfx.cpp:1946:7: style: Local variable 'rand' shadows outer variable [shadowVariable] lierolibre-0.5/src/gfx.hpp:264:7: note: Shadowed declaration lierolibre-0.5/src/gfx.cpp:1946:7: note: Shadow variable lierolibre-0.5/src/gfx.cpp:364:40: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx.cpp:448:39: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx.cpp:2051:31: performance: Function parameter 'path' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx.cpp:2072:31: performance: Function parameter 'path' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx.cpp:780:38: style: Parameter 'format' can be declared as pointer to const [constParameterPointer] lierolibre-0.5/src/gfx.cpp:780:59: style: Parameter 'pal' can be declared as pointer to const [constParameterPointer] lierolibre-0.5/src/gfx.cpp:843:14: style: Variable 'line' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx.cpp:1014:14: style: Variable 'line' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/macros.hpp:32:63: portability: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour [shiftTooManyBitsSigned] lierolibre-0.5/src/gfx/blit.cpp:74:10: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:68:69: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:74:10: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:91:10: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:83:58: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:91:10: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:96:11: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:83:51: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:96:11: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:144:10: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:136:59: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:144:10: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:149:11: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:136:52: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:149:11: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:218:10: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:210:80: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:218:10: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:223:11: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:210:73: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:223:11: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:251:11: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:237:79: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:251:11: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:256:12: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:237:72: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:256:12: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:273:11: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:237:79: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:273:11: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:278:12: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/blit.cpp:237:72: note: Shadowed declaration lierolibre-0.5/src/gfx/blit.cpp:278:12: note: Shadow variable lierolibre-0.5/src/gfx/blit.cpp:294:43: style: Parameter 'rand' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/gfx/blit.cpp:450:28: style: Parameter 'common' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/gfx/blit.cpp:454:12: style: Variable 'clip' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/gfx/blit.cpp:470:12: style: Variable 'clip' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/gfx/blit.cpp:487:12: style: Variable 'clip' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/gfx/blit.cpp:504:12: style: Variable 'clip' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/gfx/blit.cpp:94:11: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:147:11: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:221:11: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:254:12: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:276:12: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:297:10: style: Variable 'tFrame' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/blit.cpp:298:10: style: Variable 'mFrame' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/font.cpp:60:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:84:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:106:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeInt [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:119:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:167:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable width [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:189:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable width [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/font.cpp:178:11: style:inconclusive: Technically the member function 'Font::getDims' can be const. [functionConst] lierolibre-0.5/src/gfx/font.hpp:51:6: note: Technically the member function 'Font::getDims' can be const. lierolibre-0.5/src/gfx/font.cpp:178:11: note: Technically the member function 'Font::getDims' can be const. lierolibre-0.5/src/gfx/font.cpp:114:12: style:inconclusive: Technically the member function 'Font::drawChar' can be const. [functionConst] lierolibre-0.5/src/gfx/font.hpp:52:7: note: Technically the member function 'Font::drawChar' can be const. lierolibre-0.5/src/gfx/font.cpp:114:12: note: Technically the member function 'Font::drawChar' can be const. lierolibre-0.5/src/gfx/font.cpp:114:35: style:inconclusive: Function 'drawChar' argument 1 names different: declaration 'ch' definition 'c'. [funcArgNamesDifferent] lierolibre-0.5/src/gfx/font.hpp:52:30: note: Function 'drawChar' argument 1 names different: declaration 'ch' definition 'c'. lierolibre-0.5/src/gfx/font.cpp:114:35: note: Function 'drawChar' argument 1 names different: declaration 'ch' definition 'c'. lierolibre-0.5/src/gfx/font.cpp:135:12: style: Local variable 'c' shadows outer argument [shadowArgument] lierolibre-0.5/src/gfx/font.cpp:114:35: note: Shadowed declaration lierolibre-0.5/src/gfx/font.cpp:135:12: note: Shadow variable lierolibre-0.5/src/gfx/font.cpp:68:36: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx/font.cpp:91:35: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx/font.cpp:54:18: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/font.cpp:131:12: style: Variable 'rowsrc' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/gfx/palette.cpp:43:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:74:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:84:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:112:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:127:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:144:69: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gfx/palette.cpp:118:39: style:inconclusive: Function 'readFromCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx/palette.cpp:133:38: style:inconclusive: Function 'writeToCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] lierolibre-0.5/src/gfx/palette.cpp:118:39: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gfx/palette.cpp:133:38: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/gvl/support/platform.h:91:4: error: #error "Unknown architecture, please add it" [preprocessorErrorDirective] lierolibre-0.5/src/gvl/gvl_test/_build/deque.cpp:51:2: style: Struct 'track_obj' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/gvl_test/_build/deque.cpp:140:14: style: Variable 'v' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/gvl/gvl_test/_build/deque.cpp:131:18: style: Variable 'limit' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/accurate_rectangle_packing.cpp:73:11: style: Variable 'area' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/accurate_rectangle_packing.cpp:86:9: style: Variable 'area' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/bounded_rectangle_packing.cpp:144:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/containers/bounded_rectangle_packing.cpp:86:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/containers/hash_set.cpp:62:1: error: There is an unknown macro here somewhere. Configuration is required. If QC_BEGIN_GEN is a macro then please configure it. [unknownMacro] lierolibre-0.5/src/gvl/gvl_test/containers/list.cpp:65:1: error: There is an unknown macro here somewhere. Configuration is required. If QC_BEGIN_GEN is a macro then please configure it. [unknownMacro] lierolibre-0.5/src/gvl/gvl_test/containers/pairing_heap.cpp:114:1: error: There is an unknown macro here somewhere. Configuration is required. If QC_END_GEN is a macro then please configure it. [unknownMacro] lierolibre-0.5/src/gvl/gvl_test/containers/string.cpp:36:1: error: There is an unknown macro here somewhere. Configuration is required. If QC_BEGIN_GEN is a macro then please configure it. [unknownMacro] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:98:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCKS_PER_SEC [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:141:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable v [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:43:2: style: Struct 'treap_integer2' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:132:6: style: The scope of the variable 'sum' can be reduced. [variableScope] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:139:20: style: Local variable 'iter' shadows outer variable [shadowVariable] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:120:12: note: Shadowed declaration lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:139:20: note: Shadow variable lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:151:16: style: Local variable 'iter' shadows outer variable [shadowVariable] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:120:12: note: Shadowed declaration lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:151:16: note: Shadow variable lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:132:10: style: Variable 'sum' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:137:10: style: Variable 'v' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:141:9: style: Variable 'sum' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/containers/treap.cpp:179:17: style: Variable 'iter' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/io/bitstream.cpp:61:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable N [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/io/bitstream.cpp:108:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable i [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/io/bitstream.cpp:131:17: style: Condition 'ignoreLen>0' is always false [knownConditionTrueFalse] lierolibre-0.5/src/gvl/gvl_test/io/bitstream.cpp:124:18: note: Assignment 'ignoreLen=0', assigned value is 0 lierolibre-0.5/src/gvl/gvl_test/io/bitstream.cpp:131:17: note: Condition 'ignoreLen>0' is always false lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:131:7: style: Either there is a missing 'override', or the member function 'tut::string_writer::flush' can be static. [functionStatic] lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:115:2: style: Struct 'string_writer' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:107:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:179:13: style: C-style pointer casting [cstyleCast] lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:187:27: style: Variable 'hello' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/io/formatter.cpp:152:23: style: Unused variable: d [unusedVariable] lierolibre-0.5/src/gvl/gvl_test/io/stream.cpp:61:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable N [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/math/random.cpp:62:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/gvl_test/math/random.cpp:62:4: style: Redundant initialization for 'x'. The initialized value is overwritten before it is read. [redundantInitialization] lierolibre-0.5/src/gvl/gvl_test/math/random.cpp:61:11: note: x is initialized lierolibre-0.5/src/gvl/gvl_test/math/random.cpp:62:4: note: x is overwritten lierolibre-0.5/src/gvl/gvl_test/math/random.cpp:62:4: style: Variable 'x' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/gvl_test/test.cpp:52:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/gvl/resman/shared.hpp:109:7: style: The member function 'gvl::shared::_clear_weak_ptrs' can be static. [functionStatic] lierolibre-0.5/src/gvl/support/debug.hpp:36:2: style: Struct 'assert_failure' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/support/debug.cpp:35:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:36:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:37:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:38:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:39:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:40:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:41:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/debug.cpp:42:4: style: Variable 's' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/gvl/support/string_pool.hpp:58:2: style: Struct 'pooled_string' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/support/string_pool.hpp:74:2: style: Struct 'pooled_string' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/gvl/support/string_pool.hpp:102:10: warning: Either the condition 'i!=state.string_pool_id_to_str.end()' is redundant or there is possible dereference of an invalid iterator: i. [derefInvalidIteratorRedundantCheck] lierolibre-0.5/src/gvl/support/string_pool.hpp:101:3: note: Assuming that condition 'i!=state.string_pool_id_to_str.end()' is not redundant lierolibre-0.5/src/gvl/support/string_pool.hpp:102:10: note: Dereference of an invalid iterator lierolibre-0.5/src/keys.cpp:117:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UNKNOWN [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/level.cpp:121:10: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/level.cpp:115:66: note: Shadowed declaration lierolibre-0.5/src/level.cpp:121:10: note: Shadow variable lierolibre-0.5/src/level.cpp:122:10: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/level.cpp:115:59: note: Shadowed declaration lierolibre-0.5/src/level.cpp:122:10: note: Shadow variable lierolibre-0.5/src/level.cpp:38:55: style: Parameter 'rand' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/level.cpp:253:26: style: Parameter 'common' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/level.cpp:69:11: style: Variable 'image' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/level.cpp:257:15: performance: Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant. [stlcstrParam] lierolibre-0.5/src/main.cpp:83:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/main.cpp:76:14: style: Unused variable: outputFile [unusedVariable] lierolibre-0.5/src/math.cpp:83:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TypeInt [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/math.cpp:59:36: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/math.cpp:72:35: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] lierolibre-0.5/src/menu/hiddenMenu.cpp:42:7: style: The function 'onUpdate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:44:7: note: Virtual function in base class lierolibre-0.5/src/menu/hiddenMenu.cpp:42:7: note: Function in derived class lierolibre-0.5/src/menu/hiddenMenu.cpp:57:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:43:6: note: Virtual function in base class lierolibre-0.5/src/menu/hiddenMenu.cpp:57:6: note: Function in derived class lierolibre-0.5/src/menu/hiddenMenu.cpp:64:7: style: The function 'onLeftRight' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/booleanSwitchBehavior.hpp:42:7: note: Virtual function in base class lierolibre-0.5/src/menu/hiddenMenu.cpp:64:7: note: Function in derived class lierolibre-0.5/src/menu/hiddenMenu.cpp:74:6: style: The function 'onEnter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] lierolibre-0.5/src/menu/itemBehavior.hpp:39:14: note: Virtual function in base class lierolibre-0.5/src/menu/hiddenMenu.cpp:74:6: note: Function in derived class lierolibre-0.5/src/menu/menu.cpp:150:11: style:inconclusive: Technically the member function 'Menu::visibleItemIndex' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:140:6: note: Technically the member function 'Menu::visibleItemIndex' can be const. lierolibre-0.5/src/menu/menu.cpp:150:11: note: Technically the member function 'Menu::visibleItemIndex' can be const. lierolibre-0.5/src/menu/menu.cpp:165:11: style:inconclusive: Technically the member function 'Menu::itemFromVisibleIndex' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:141:6: note: Technically the member function 'Menu::itemFromVisibleIndex' can be const. lierolibre-0.5/src/menu/menu.cpp:165:11: note: Technically the member function 'Menu::itemFromVisibleIndex' can be const. lierolibre-0.5/src/menu/menu.cpp:124:11: style:inconclusive: Technically the member function 'Menu::firstVisibleFrom' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:155:6: note: Technically the member function 'Menu::firstVisibleFrom' can be const. lierolibre-0.5/src/menu/menu.cpp:124:11: note: Technically the member function 'Menu::firstVisibleFrom' can be const. lierolibre-0.5/src/menu/menu.cpp:137:11: style:inconclusive: Technically the member function 'Menu::lastVisibleFrom' can be const. [functionConst] lierolibre-0.5/src/menu/menu.hpp:156:6: note: Technically the member function 'Menu::lastVisibleFrom' can be const. lierolibre-0.5/src/menu/menu.cpp:137:11: note: Technically the member function 'Menu::lastVisibleFrom' can be const. lierolibre-0.5/src/menu/menu.cpp:212:23: style:inconclusive: Function 'scroll' argument 1 names different: declaration 'amount' definition 'dir'. [funcArgNamesDifferent] lierolibre-0.5/src/menu/menu.hpp:162:18: note: Function 'scroll' argument 1 names different: declaration 'amount' definition 'dir'. lierolibre-0.5/src/menu/menu.cpp:212:23: note: Function 'scroll' argument 1 names different: declaration 'amount' definition 'dir'. lierolibre-0.5/src/menu/menu.cpp:282:7: style: Local variable 'length' shadows outer argument [shadowArgument] lierolibre-0.5/src/menu/menu.cpp:275:35: note: Shadowed declaration lierolibre-0.5/src/menu/menu.cpp:282:7: note: Shadow variable lierolibre-0.5/src/menu/menu.cpp:300:28: performance: Function parameter 'item' should be passed by const reference. [passedByValue] lierolibre-0.5/src/menu/menu.cpp:309:28: performance: Function parameter 'item' should be passed by const reference. [passedByValue] lierolibre-0.5/src/menu/menu.cpp:129:3: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/menu/menu.cpp:238:4: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/menu/menu.cpp:247:4: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/menu/menu.cpp:258:4: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/menu/menu.cpp:267:4: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] lierolibre-0.5/src/menu/menuItem.cpp:32:16: style:inconclusive: Technically the member function 'MenuItem::draw' can be const. [functionConst] lierolibre-0.5/src/menu/menuItem.hpp:49:7: note: Technically the member function 'MenuItem::draw' can be const. lierolibre-0.5/src/menu/menuItem.cpp:32:16: note: Technically the member function 'MenuItem::draw' can be const. lierolibre-0.5/src/ninjarope.cpp:37:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/nobject.cpp:332:14: style: Local variable 'i' shadows outer variable [shadowVariable] lierolibre-0.5/src/nobject.cpp:245:20: note: Shadowed declaration lierolibre-0.5/src/nobject.cpp:332:14: note: Shadow variable lierolibre-0.5/src/nobject.cpp:135:15: style: Variable 't' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/reader.cpp:74:12: performance: Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant. [stlcstrParam] lierolibre-0.5/src/replay.cpp:216:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/replay.cpp:251:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/replay.cpp:285:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/replay.cpp:401:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable size [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/replay.cpp:184:10: style:inconclusive: Technically the member function 'mtf::byte_to_rank' can be const. [functionConst] lierolibre-0.5/src/replay.cpp:195:10: style:inconclusive: Technically the member function 'mtf::rank_to_byte' can be const. [functionConst] lierolibre-0.5/src/replay.cpp:487:33: style: Parameter 'game' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/replay.cpp:493:9: style: Variable 'worm' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/settings.cpp:139:14: performance: Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant. [stlcstrParam] lierolibre-0.5/src/sfx.cpp:48:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/sfx.cpp:76:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/sfx.cpp:107:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable allocated [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/sfx.cpp:216:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable abuf [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/sfx.cpp:195:11: style:inconclusive: Technically the member function 'Sfx::isPlaying' can be const. [functionConst] lierolibre-0.5/src/sfx.hpp:58:7: note: Technically the member function 'Sfx::isPlaying' can be const. lierolibre-0.5/src/sfx.cpp:195:11: note: Technically the member function 'Sfx::isPlaying' can be const. lierolibre-0.5/src/sfx.cpp:179:11: style:inconclusive: Technically the member function 'Sfx::stop' can be const. [functionConst] lierolibre-0.5/src/sfx.hpp:60:7: note: Technically the member function 'Sfx::stop' can be const. lierolibre-0.5/src/sfx.cpp:179:11: note: Technically the member function 'Sfx::stop' can be const. lierolibre-0.5/src/sfx.cpp:179:22: style: Parameter 'id' can be declared as pointer to const [constParameterPointer] lierolibre-0.5/src/sfx.cpp:195:27: style: Parameter 'id' can be declared as pointer to const [constParameterPointer] lierolibre-0.5/src/sobject.cpp:288:15: style: The scope of the variable 't' can be reduced. [variableScope] lierolibre-0.5/src/sobject.cpp:128:15: style: Local variable 'i' shadows outer variable [shadowVariable] lierolibre-0.5/src/sobject.cpp:77:19: note: Shadowed declaration lierolibre-0.5/src/sobject.cpp:128:15: note: Shadow variable lierolibre-0.5/src/sobject.cpp:242:12: style: Local variable 'y' shadows outer argument [shadowArgument] lierolibre-0.5/src/sobject.cpp:40:49: note: Shadowed declaration lierolibre-0.5/src/sobject.cpp:242:12: note: Shadow variable lierolibre-0.5/src/sobject.cpp:243:12: style: Local variable 'x' shadows outer argument [shadowArgument] lierolibre-0.5/src/sobject.cpp:40:42: note: Shadowed declaration lierolibre-0.5/src/sobject.cpp:243:12: note: Shadow variable lierolibre-0.5/src/sobject.cpp:157:12: style: Variable 'weapon' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/sobject.cpp:200:17: style: Variable 't' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/sobject.cpp:288:15: style: Variable 't' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/viewport.cpp:38:2: style: Struct 'PreserveClipRect' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] lierolibre-0.5/src/viewport.cpp:55:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/viewport.cpp:517:8: style: The scope of the variable 'angleFrame' can be reduced. [variableScope] lierolibre-0.5/src/viewport.cpp:524:23: style: Local variable 'ww' shadows outer variable [shadowVariable] lierolibre-0.5/src/viewport.cpp:156:20: note: Shadowed declaration lierolibre-0.5/src/viewport.cpp:524:23: note: Shadow variable lierolibre-0.5/src/viewport.cpp:651:11: style: Local variable 'y' shadows outer variable [shadowVariable] lierolibre-0.5/src/viewport.hpp:62:9: note: Shadowed declaration lierolibre-0.5/src/viewport.cpp:651:11: note: Shadow variable lierolibre-0.5/src/viewport.cpp:654:12: style: Local variable 'x' shadows outer variable [shadowVariable] lierolibre-0.5/src/viewport.hpp:62:6: note: Shadowed declaration lierolibre-0.5/src/viewport.cpp:654:12: note: Shadow variable lierolibre-0.5/src/viewport.cpp:668:9: style: Local variable 'x' shadows outer variable [shadowVariable] lierolibre-0.5/src/viewport.hpp:62:6: note: Shadowed declaration lierolibre-0.5/src/viewport.cpp:668:9: note: Shadow variable lierolibre-0.5/src/viewport.cpp:669:9: style: Local variable 'y' shadows outer variable [shadowVariable] lierolibre-0.5/src/viewport.hpp:62:9: note: Shadowed declaration lierolibre-0.5/src/viewport.cpp:669:9: note: Shadow variable lierolibre-0.5/src/viewport.cpp:55:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/viewport.cpp:216:10: style: Variable 'w' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/viewport.cpp:525:13: style: Variable 'weapon' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/viewport.cpp:270:13: style: Variable 'v' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/weapon.cpp:35:13: style:inconclusive: Technically the member function 'Weapon::computedLoadingTime' can be const. [functionConst] lierolibre-0.5/src/weapon.hpp:101:6: note: Technically the member function 'Weapon::computedLoadingTime' can be const. lierolibre-0.5/src/weapon.cpp:35:13: note: Technically the member function 'Weapon::computedLoadingTime' can be const. lierolibre-0.5/src/weapon.cpp:177:7: style: The scope of the variable 'bounced' can be reduced. [variableScope] lierolibre-0.5/src/weapon.cpp:114:8: style: Local variable 'x' shadows outer variable [shadowVariable] lierolibre-0.5/src/weapon.hpp:113:8: note: Shadowed declaration lierolibre-0.5/src/weapon.cpp:114:8: note: Shadow variable lierolibre-0.5/src/weapon.cpp:115:8: style: Local variable 'y' shadows outer variable [shadowVariable] lierolibre-0.5/src/weapon.hpp:113:11: note: Shadowed declaration lierolibre-0.5/src/weapon.cpp:115:8: note: Shadow variable lierolibre-0.5/src/weapon.cpp:116:8: style: Local variable 'velX' shadows outer variable [shadowVariable] lierolibre-0.5/src/weapon.hpp:114:8: note: Shadowed declaration lierolibre-0.5/src/weapon.cpp:116:8: note: Shadow variable lierolibre-0.5/src/weapon.cpp:117:8: style: Local variable 'velY' shadows outer variable [shadowVariable] lierolibre-0.5/src/weapon.hpp:114:14: note: Shadowed declaration lierolibre-0.5/src/weapon.cpp:117:8: note: Shadow variable lierolibre-0.5/src/weapon.cpp:429:13: style: Local variable 'i' shadows outer variable [shadowVariable] lierolibre-0.5/src/weapon.cpp:408:19: note: Shadowed declaration lierolibre-0.5/src/weapon.cpp:429:13: note: Shadow variable lierolibre-0.5/src/weapon.cpp:35:43: style: Parameter 'settings' can be declared as reference to const [constParameterReference] lierolibre-0.5/src/weapon.cpp:177:15: style: Variable 'bounced' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/weapon.cpp:254:13: style: Variable 'bounced' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/weapon.cpp:268:13: style: Variable 'bounced' is assigned a value that is never used. [unreadVariable] lierolibre-0.5/src/weapsel.cpp:37:18: warning: Member variable 'WeaponSelection::fadeValue' is not initialized in the constructor. [uninitMemberVar] lierolibre-0.5/src/weapsel.cpp:181:17: style: The scope of the variable 'ws' can be reduced. [variableScope] lierolibre-0.5/src/weapsel.cpp:45:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:57:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:145:9: style: Variable 'weaponMenu' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:147:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:149:9: style: Variable 'worm' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:150:17: style: Variable 'ws' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:170:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/weapsel.cpp:178:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:439:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Left [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:706:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Fire [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:1101:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Left [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:1217:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Change [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:1272:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Up [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:1350:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Left [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:1582:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Left [valueFlowBailoutIncompleteVar] lierolibre-0.5/src/worm.cpp:711:14: style: Condition 'worm.visible' is always true [knownConditionTrueFalse] lierolibre-0.5/src/worm.cpp:702:27: note: Assuming that condition '!worm.visible' is not redundant lierolibre-0.5/src/worm.cpp:711:14: note: Condition 'worm.visible' is always true lierolibre-0.5/src/worm.cpp:289:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/worm.cpp:753:8: style: The scope of the variable 'adeltaX' can be reduced. [variableScope] lierolibre-0.5/src/worm.cpp:754:8: style: The scope of the variable 'adeltaY' can be reduced. [variableScope] lierolibre-0.5/src/worm.cpp:995:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/worm.cpp:1097:10: style: The scope of the variable 'common' can be reduced. [variableScope] lierolibre-0.5/src/worm.cpp:619:6: style: Local variable 'x' shadows outer variable [shadowVariable] lierolibre-0.5/src/worm.hpp:395:8: note: Shadowed declaration lierolibre-0.5/src/worm.cpp:619:6: note: Shadow variable lierolibre-0.5/src/worm.cpp:186:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:523:13: style: Variable 'w' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:645:8: style: Variable 'game' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:680:14: style: Variable 'ww' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:681:10: style: Variable 'w' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:920:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1215:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1270:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1346:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1493:8: style: Variable 'game' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1510:8: style: Variable 'game' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1539:14: style: Variable 'ww' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1540:10: style: Variable 'w' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1573:10: style: Variable 'common' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:1575:14: style: Variable 'ww' can be declared as reference to const [constVariableReference] lierolibre-0.5/src/worm.cpp:535:11: style: Variable 'oldLastKilled' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/worm.cpp:662:8: style: Variable 'target' can be declared as pointer to const [constVariablePointer] lierolibre-0.5/src/worm.cpp:1516:10: style: Variable 'wormSprite' can be declared as pointer to const [constVariablePointer] diff: head lierolibre-0.5/src/common.cpp:1081:40: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:215:36: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:323:44: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:378:47: style:inconclusive: Function 'loadMaterialsFromCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/common.cpp:391:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:391:46: style:inconclusive: Function 'writeMaterialsToCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/common.cpp:62:42: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:716:44: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:873:45: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/common.cpp:937:43: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/configHelper.cpp:69:63: performance: Function parameter 'value' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/constants.cpp:542:46: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/game.cpp:164:34: style:inconclusive: Function 'addViewport' argument 1 names different: declaration '' definition 'vp'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/game.cpp:210:26: style:inconclusive: Function 'addWorm' argument 1 names different: declaration '' definition 'worm'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx.cpp:1784:115: style:inconclusive: Function 'inputString' argument 6 names different: declaration '' definition 'prefix'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx.cpp:1784:128: style:inconclusive: Function 'inputString' argument 7 names different: declaration '' definition 'centered'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx.cpp:2051:31: style:inconclusive: Function 'loadOPT' argument 1 names different: declaration '' definition 'path'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx.cpp:2072:31: style:inconclusive: Function 'saveOPT' argument 1 names different: declaration '' definition 'path'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx.cpp:364:40: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/gfx.cpp:448:39: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/gfx/blit.cpp:294:43: style: Parameter 'rand' can be declared as reference to const [constParameterReference] head lierolibre-0.5/src/gfx/blit.cpp:297:10: style: Variable 'tFrame' can be declared as pointer to const [constVariablePointer] head lierolibre-0.5/src/gfx/blit.cpp:487:12: style: Variable 'clip' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/gfx/font.cpp:91:35: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/gfx/palette.cpp:118:39: style:inconclusive: Function 'readFromCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/gfx/palette.cpp:133:38: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/gfx/palette.cpp:133:38: style:inconclusive: Function 'writeToCFG' argument 1 names different: declaration '' definition 'cfgFilePath'. [funcArgNamesDifferentUnnamed] head lierolibre-0.5/src/level.cpp:38:55: style: Parameter 'rand' can be declared as reference to const [constParameterReference] head lierolibre-0.5/src/math.cpp:72:35: performance: Function parameter 'cfgFilePath' should be passed by const reference. [passedByValue] head lierolibre-0.5/src/nobject.cpp:135:15: style: Variable 't' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/viewport.cpp:270:13: style: Variable 'v' can be declared as pointer to const [constVariablePointer] head lierolibre-0.5/src/viewport.cpp:517:8: style: The scope of the variable 'angleFrame' can be reduced. [variableScope] head lierolibre-0.5/src/weapsel.cpp:145:9: style: Variable 'weaponMenu' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:147:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:149:9: style: Variable 'worm' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:150:17: style: Variable 'ws' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:170:10: style: Variable 'common' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:178:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:45:10: style: Variable 'common' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/weapsel.cpp:57:13: style: Variable 'vp' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:1493:8: style: Variable 'game' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:1510:8: style: Variable 'game' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:1516:10: style: Variable 'wormSprite' can be declared as pointer to const [constVariablePointer] head lierolibre-0.5/src/worm.cpp:1539:14: style: Variable 'ww' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:1540:10: style: Variable 'w' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:523:13: style: Variable 'w' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:535:11: style: Variable 'oldLastKilled' can be declared as pointer to const [constVariablePointer] head lierolibre-0.5/src/worm.cpp:645:8: style: Variable 'game' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:662:8: style: Variable 'target' can be declared as pointer to const [constVariablePointer] head lierolibre-0.5/src/worm.cpp:680:14: style: Variable 'ww' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:681:10: style: Variable 'w' can be declared as reference to const [constVariableReference] head lierolibre-0.5/src/worm.cpp:753:8: style: The scope of the variable 'adeltaX' can be reduced. [variableScope] head lierolibre-0.5/src/worm.cpp:754:8: style: The scope of the variable 'adeltaY' can be reduced. [variableScope] head lierolibre-0.5/src/worm.cpp:920:10: style: Variable 'common' can be declared as reference to const [constVariableReference] DONE