2024-04-22 04:09 ftp://ftp.de.debian.org/debian/pool/main/s/simutrans/simutrans_123.0.1.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=zlib --library=sdl --library=libcurl --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.1.0-20-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.56 compiler: g++ (Debian 12.2.0-14) 12.2.0 cppcheck: head 2.14.0 head-info: ea2e716 (2024-04-21 15:59:20 +0200) count: 4202 4202 elapsed-time: 285.7 285.7 head-timing-info: old-timing-info: head results: tpl/vector_tpl.h:280:14: debug: Failed to instantiate template "swap". The checking continues anyway. [templateInstantiation] tpl/hashtable_tpl.h:304:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable key [valueFlowBailoutIncompleteVar] tpl/hashtable_tpl.h:368:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] descriptor/text_desc.h:13:1: style: The class 'text_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/goods_desc.h:23:1: style: The class 'goods_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] dataobj/translator.h:27:2: warning: Member variable 'translator::lang_count' is not initialized in the constructor. [uninitMemberVarPrivate] utils/log.h:81:7: style:inconclusive: Technically the member function 'log_t::had_overlaid' can be const. [functionConst] utils/log.h:83:14: style:inconclusive: Technically the member function 'log_t::get_overlaid' can be const. [functionConst] descriptor/obj_desc.h:38:7: style:inconclusive: Technically the member function 'obj_desc_t::operatordelete' can be const. [functionConst] simware.h:98:6: style:inconclusive: Technically the member function 'ware_t::operator==' can be const. [functionConst] simware.h:107:6: style:inconclusive: Technically the member function 'ware_t::operator!=' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const goods_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const char * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < node_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < node_t >::node_t::operatordelete' can be const. [functionConst] descriptor/obj_base_desc.h:104:7: warning: The class 'obj_desc_transport_related_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/obj_base_desc.h:104:7: note: Derived function 'obj_desc_transport_related_t::calc_checksum' unicode.h:34:2: style: Class 'utf8_decoder_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/loadsave.h:210:2: style: Class 'stream_loadsave_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] display/scr_coord.h:212:2: style: Class 'scr_rect' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] display/scr_coord.h:216:2: style: Class 'scr_rect' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] utils/sha1_hash.h:20:2: style: Class 'sha1_hash_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/koord.h:32:2: style: Class 'koord' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/koord.h:33:2: style: Class 'koord' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simware.h:78:2: style: Class 'ware_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simware.h:79:2: style: Class 'ware_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/slist_tpl.h:35:3: style: Struct 'node_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/slist_tpl.h:112:3: style: Class 'const_iterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] utils/log.h:83:14: performance: Function 'get_overlaid()' should return member 'doublettes' by const reference. [returnByReference] tpl/hashtable_tpl.h:232:22: style: The scope of the variable 'bag' can be reduced. [variableScope] tpl/hashtable_tpl.h:232:22: style: Variable 'bag' can be declared as reference to const [constVariableReference] tpl/sparse_tpl.h:227:14: debug: Failed to instantiate template "swap". The checking continues anyway. [templateInstantiation] tpl/weighted_vector_tpl.h:389:14: debug: Failed to instantiate template "swap". The checking continues anyway. [templateInstantiation] obj/baum.h:67:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable baum [valueFlowBailoutIncompleteVar] obj/groundobj.h:63:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable groundobj [valueFlowBailoutIncompleteVar] boden/grund.h:76:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] boden/grund.h:597:100: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] utils/simrandom.h:59:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable N [valueFlowBailoutIncompleteVar] bauer/tree_builder.cc:303:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] tpl/weighted_vector_tpl.h:261:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable end [valueFlowBailoutIncompleteVar] dataobj/schedule.h:114:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable minimum_loading [valueFlowBailoutIncompleteVar] dataobj/schedule.h:226:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable train_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:240:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tram_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:256:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable truck_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:272:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ship_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:288:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable airplane_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:303:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable monorail_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:318:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable maglev_schedule [valueFlowBailoutIncompleteVar] dataobj/schedule.h:333:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable narrowgauge_schedule [valueFlowBailoutIncompleteVar] bauer/fabrikbauer.cc:445:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] bauer/fabrikbauer.cc:635:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] bauer/fabrikbauer.cc:1086:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] descriptor/image.h:42:2: warning: Member variable 'image_t::x' is not initialized in the constructor. [uninitMemberVar] descriptor/image.h:42:2: warning: Member variable 'image_t::y' is not initialized in the constructor. [uninitMemberVar] descriptor/image.h:42:2: warning: Member variable 'image_t::w' is not initialized in the constructor. [uninitMemberVar] descriptor/image.h:42:2: warning: Member variable 'image_t::h' is not initialized in the constructor. [uninitMemberVar] descriptor/image.h:42:2: warning: Member variable 'image_t::imageid' is not initialized in the constructor. [uninitMemberVar] descriptor/image.h:42:2: warning: Member variable 'image_t::zoomable' is not initialized in the constructor. [uninitMemberVar] descriptor/tree_desc.h:28:1: style: The class 'tree_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/groundobj_desc.h:26:1: style: The class 'groundobj_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/way_desc.h:36:1: style: The class 'way_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] simworld.h:1434:4: warning: Member variable 'node_t::h' is not initialized in the constructor. [uninitMemberVar] simworld.h:1000:9: style:inconclusive: Technically the member function 'karte_t::scale_with_month_length' can be const. [functionConst] simworld.h:1016:9: style:inconclusive: Technically the member function 'karte_t::inverse_scale_with_month_length' can be const. [functionConst] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned char >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned char >::const_iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned int >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned int >::const_iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < gebaeude_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < gebaeude_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < stadt_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < stadt_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const tree_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , groundobj_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , tree_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < weg_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < weg_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < fabrik_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < fabrik_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < koord >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < koord >::node_t::operatordelete' can be const. [functionConst] descriptor/way_desc.h:210:7: warning: The class 'way_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/way_desc.h:210:7: note: Derived function 'way_desc_t::calc_checksum' descriptor/way_desc.h:210:7: warning: The class 'way_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/way_desc.h:210:7: note: Derived function 'way_desc_t::calc_checksum' utils/plainstring.h:20:3: style: Class 'plainstring' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/simobj.h:354:2: style: Class 'obj_no_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] descriptor/image.h:42:2: style: Class 'image_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/baum.h:54:2: style: Class 'baum_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/baum.h:55:2: style: Class 'baum_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/groundobj.h:46:2: style: Class 'groundobj_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simworld.h:1450:3: style: Class 'terraformer_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/weighted_vector_tpl.h:68:3: style: Class 'const_iterator' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/weg.h:116:11: style: The destructor '~weg_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class boden/wege/weg.h:116:11: note: Destructor in derived class tpl/weighted_vector_tpl.h:172:38: style: Return value 'append(elem,weight)' is always true [knownConditionTrueFalse] tpl/weighted_vector_tpl.h:172:38: note: Calling function 'append' returns 1 tpl/weighted_vector_tpl.h:172:38: note: Return value 'append(elem,weight)' is always true boden/grund.h:712:71: style: C-style pointer casting [cstyleCast] bauer/tree_builder.cc:70:11: style: C-style pointer casting [cstyleCast] bauer/tree_builder.cc:114:11: style: C-style pointer casting [cstyleCast] boden/grund.h:448:5: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] boden/grund.h:452:5: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] boden/grund.h:456:5: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] boden/grund.h:460:5: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] bauer/tree_builder.cc:39:47: style:inconclusive: Function 'get_tree_image' argument 1 names different: declaration 'idx' definition 'tree_id'. [funcArgNamesDifferent] bauer/tree_builder.h:51:39: note: Function 'get_tree_image' argument 1 names different: declaration 'idx' definition 'tree_id'. bauer/tree_builder.cc:39:47: note: Function 'get_tree_image' argument 1 names different: declaration 'idx' definition 'tree_id'. bauer/tree_builder.cc:139:44: style:inconclusive: Function 'create_forest' argument 1 names different: declaration 'center' definition 'new_center'. [funcArgNamesDifferent] bauer/tree_builder.h:70:36: note: Function 'create_forest' argument 1 names different: declaration 'center' definition 'new_center'. bauer/tree_builder.cc:139:44: note: Function 'create_forest' argument 1 names different: declaration 'center' definition 'new_center'. bauer/tree_builder.cc:139:62: style:inconclusive: Function 'create_forest' argument 2 names different: declaration 'size' definition 'wh'. [funcArgNamesDifferent] bauer/tree_builder.h:70:50: note: Function 'create_forest' argument 2 names different: declaration 'size' definition 'wh'. bauer/tree_builder.cc:139:62: note: Function 'create_forest' argument 2 names different: declaration 'size' definition 'wh'. boden/grund.h:653:22: style: Local variable 'w' shadows outer variable [shadowVariable] boden/grund.h:642:20: note: Shadowed declaration boden/grund.h:653:22: note: Shadow variable simworld.h:1119:24: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.h:1119:24: note: Shadow variable simworld.h:1127:18: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.h:1127:18: note: Shadow variable simworld.h:1251:24: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.h:1251:24: note: Shadow variable dataobj/koord3d.h:50:39: style: Parameter 'a' can be declared as reference to const [constParameterReference] bauer/tree_builder.cc:203:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] boden/grund.h:674:10: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] simmenu.h:454:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable default_param [valueFlowBailoutIncompleteVar] simtool.h:79:103: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable offset [valueFlowBailoutIncompleteVar] simtool.h:108:118: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_alter_land [valueFlowBailoutIncompleteVar] simtool.h:117:119: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_alter_land [valueFlowBailoutIncompleteVar] simtool.h:137:133: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_set_slope [valueFlowBailoutIncompleteVar] simtool.h:146:132: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_set_slope [valueFlowBailoutIncompleteVar] simtool.h:155:117: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_buy_land [valueFlowBailoutIncompleteVar] simtool.h:187:125: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_found_city [valueFlowBailoutIncompleteVar] simtool.h:943:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simdepot.h:244:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bahndepot [valueFlowBailoutIncompleteVar] simdepot.h:257:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tramdepot [valueFlowBailoutIncompleteVar] simdepot.h:269:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable monoraildepot [valueFlowBailoutIncompleteVar] simdepot.h:281:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable maglevdepot [valueFlowBailoutIncompleteVar] simdepot.h:293:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable narrowgaugedepot [valueFlowBailoutIncompleteVar] simdepot.h:325:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable strassendepot [valueFlowBailoutIncompleteVar] simdepot.h:357:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable schiffdepot [valueFlowBailoutIncompleteVar] simdepot.h:386:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable airdepot [valueFlowBailoutIncompleteVar] boden/boden.h:36:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable boden [valueFlowBailoutIncompleteVar] boden/brueckenboden.h:43:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable brueckenboden [valueFlowBailoutIncompleteVar] obj/bruecke.h:32:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bruecke [valueFlowBailoutIncompleteVar] obj/leitung2.h:88:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable leitung [valueFlowBailoutIncompleteVar] obj/leitung2.h:167:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pumpe [valueFlowBailoutIncompleteVar] obj/leitung2.h:231:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable senke [valueFlowBailoutIncompleteVar] obj/roadsign.h:70:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable roadsign [valueFlowBailoutIncompleteVar] obj/signal.h:25:154: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable state [valueFlowBailoutIncompleteVar] bauer/brueckenbauer.cc:565:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable way_max_bridge_len [valueFlowBailoutIncompleteVar] bauer/brueckenbauer.cc:981:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] boden/wasser.h:46:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wasser [valueFlowBailoutIncompleteVar] boden/fundament.h:31:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fundament [valueFlowBailoutIncompleteVar] obj/tunnel.h:28:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tunnel [valueFlowBailoutIncompleteVar] obj/zeiger.h:34:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable zeiger [valueFlowBailoutIncompleteVar] bauer/hausbauer.cc:427:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable z [valueFlowBailoutIncompleteVar] descriptor/building_desc.h:31:1: style: The class 'building_tile_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/building_desc.h:109:1: style: The class 'building_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/factory_desc.h:29:1: style: The class 'field_class_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/factory_desc.h:54:1: style: The class 'field_group_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/factory_desc.h:139:1: style: The class 'factory_supplier_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/factory_desc.h:162:1: style: The class 'factory_product_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/factory_desc.h:196:1: style: The class 'factory_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] simfab.h:401:2: style: The class 'arrival_statistics_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] simcity.h:84:2: style: The class 'best_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] finder/placefinder.h:78:2: warning: Member variable 'placefinder_t::w' is not initialized in the constructor. [uninitMemberVar] finder/placefinder.h:78:2: warning: Member variable 'placefinder_t::h' is not initialized in the constructor. [uninitMemberVar] dataobj/schedule_entry.h:20:2: warning:inconclusive: Member variable 'schedule_entry_t::minimum_loading' is not initialized in the constructor. [uninitMemberVar] dataobj/schedule_entry.h:20:2: warning:inconclusive: Member variable 'schedule_entry_t::waiting_time' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::schedule' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::player' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::waytype' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::colorcount' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::start_offset' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::end_offset' is not initialized in the constructor. [uninitMemberVar] gui/minimap.h:96:3: warning:inconclusive: Member variable 'line_segment_t::start_diagonal' is not initialized in the constructor. [uninitMemberVar] player/simplay.h:74:45: performance: Variable 'pos' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] tpl/sparse_tpl.h:38:3: performance: Variable 'size' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simfab.h:575:32: style:inconclusive: Technically the member function 'fabrik_t::get_transformers' can be const. [functionConst] simcity.h:435:9: style:inconclusive: Technically the member function 'stadt_t::get_finance_history_year' can be const. [functionConst] simcity.h:436:9: style:inconclusive: Technically the member function 'stadt_t::get_finance_history_month' can be const. [functionConst] simhalt.h:374:8: style:inconclusive: Technically the member function 'haltestelle_t::get_sortby' can be const. [functionConst] simhalt.h:415:8: performance:inconclusive: Technically the member function 'haltestelle_t::get_reconnect_counter' can be static (but you may consider moving to unnamed namespace). [functionStatic] simhalt.h:213:8: style:inconclusive: Technically the member function 'haltestelle_t::tile_t::operator==' can be const. [functionConst] simhalt.h:214:8: style:inconclusive: Technically the member function 'haltestelle_t::tile_t::operator!=' can be const. [functionConst] simline.h:190:11: style:inconclusive: Technically the member function 'simline_t::get_linetype' can be const. [functionConst] gui/minimap.h:221:19: performance:inconclusive: Technically the member function 'minimap_t::get_display_mode' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned short >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < unsigned short >::const_iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const factory_desc_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const factory_desc_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < signed int , quickstone_tpl < haltestelle_t > , inthash_tpl < signed int > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const factory_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , quickstone_tpl < haltestelle_t > , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , checksum_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , factory_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < const goods_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < const goods_desc_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < node * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < node * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < tile_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < tile_t >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < ware_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < ware_t >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < income_message_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < income_message_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < factories_to_crossconnect_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < factories_to_crossconnect_t >::node_t::operatordelete' can be const. [functionConst] descriptor/building_desc.h:348:7: warning: The class 'building_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/building_desc.h:348:7: note: Derived function 'building_desc_t::calc_checksum' finder/placefinder.h:59:7: warning: The class 'pos_list_wh_t' defines member function with name 'restart' also defined in its parent class 'pos_list_t'. [duplInheritedMember] finder/placefinder.h:36:7: note: Parent function 'pos_list_t::restart' finder/placefinder.h:59:7: note: Derived function 'pos_list_wh_t::restart' boden/tunnelboden.h:34:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tunnelboden [valueFlowBailoutIncompleteVar] bauer/tunnelbauer.cc:645:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simfab.h:481:2: style: Class 'fabrik_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/gebaeude.h:77:2: style: Class 'gebaeude_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simcity.h:481:2: style: Class 'stadt_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simcity.h:267:3: style: Struct 'factory_entry_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simhalt.h:211:3: style: Struct 'tile_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simhalt.h:235:3: style: Struct 'connection_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/simplay.h:257:2: style: Class 'player_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] finder/placefinder.h:33:2: style: Class 'pos_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] finder/placefinder.h:78:2: style: Class 'placefinder_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] finder/building_placefinder.h:20:2: style: Class 'building_placefinder_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simevent.h:170:2: style: Struct 'event_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_component.h:233:2: style: Class 'gui_empty_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_component.h:253:2: style: Class 'gui_fill_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_component.h:270:2: style: Class 'gui_margin_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bauer/fabrikbauer.cc:476:2: style: Class 'RelativeDistanceOrdering' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/sparse_tpl.h:37:2: style: Class 'sparse_tpl < unsigned short >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/gebaeude.h:79:11: style: The destructor '~gebaeude_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/gebaeude.h:79:11: note: Destructor in derived class gui/minimap.h:215:3: style: The destructor '~minimap_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_component.h:62:11: note: Virtual destructor in base class gui/minimap.h:215:3: note: Destructor in derived class gui/components/gui_component.h:257:11: style: The function 'get_min_size' overrides a function in a base class but is identical to the overridden function [uselessOverride] gui/components/gui_component.h:153:19: note: Virtual function in base class gui/components/gui_component.h:257:11: note: Function in derived class bauer/fabrikbauer.cc:229:14: style: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition] bauer/fabrikbauer.cc:1033:57: style: The comparison 'last_built_consumer->get_suppliers().get_count() > last_suppliers' is always false because 'last_built_consumer->get_suppliers().get_count()' and 'last_suppliers' represent the same value. [knownConditionTrueFalse] bauer/fabrikbauer.cc:1005:73: note: 'last_suppliers' is assigned value 'last_built_consumer->get_suppliers().get_count()' here. bauer/fabrikbauer.cc:1033:57: note: The comparison 'last_built_consumer->get_suppliers().get_count() > last_suppliers' is always false because 'last_built_consumer->get_suppliers().get_count()' and 'last_suppliers' represent the same value. bauer/fabrikbauer.cc:587:23: style: The scope of the variable 'ware' can be reduced. [variableScope] tpl/minivec_tpl.h:41:10: style: Checking if unsigned expression 'size' is less than zero. [unsignedLessThanZero] bauer/fabrikbauer.cc:593:14: style: Local variable 'i' shadows outer variable [shadowVariable] bauer/fabrikbauer.cc:585:12: note: Shadowed declaration bauer/fabrikbauer.cc:593:14: note: Shadow variable tpl/slist_tpl.h:439:17: performance:inconclusive: Function parameter 'data' should be passed by const reference. [passedByValue] bauer/fabrikbauer.cc:142:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:177:16: style: Variable 'river' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:491:53: style: Parameter 'parent' can be declared as pointer to const [constParameterPointer] bauer/fabrikbauer.cc:647:12: style: Variable 'city' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:796:24: style: Variable 'zfab' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:959:12: style: Variable 'last_built_consumer' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:1037:14: style: Variable 's' can be declared as pointer to const [constVariablePointer] bauer/fabrikbauer.cc:1098:17: style: Variable 'our_fab' can be declared as pointer to const [constVariablePointer] bauer/hausbauer.cc:911:2: portability: Returning an integer in a function with pointer return type is not portable. [CastIntegerToAddressAtReturn] descriptor/sound_desc.h:38:1: style: The class 'sound_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] simmenu.h:262:2: warning: Member variable 'tool_t::command_flags' is not initialized in the constructor. [uninitMemberVar] simtool.h:328:2: warning: Member variable 'tool_build_bridge_t::ribi' is not initialized in the constructor. [uninitMemberVar] simtool.h:363:2: warning: Member variable 'tool_wayremover_t::calc_route_error' is not initialized in the constructor. [uninitMemberVar] simtool.h:386:2: warning: Member variable 'tool_build_wayobj_t::desc' is not initialized in the constructor. [uninitMemberVar] simtool.h:386:2: warning: Member variable 'tool_build_wayobj_t::wt' is not initialized in the constructor. [uninitMemberVar] simtool.h:608:2: warning: Member variable 'tool_stop_mover_t::waytype' is not initialized in the constructor. [uninitMemberVar] descriptor/tunnel_desc.h:28:1: style: The class 'tunnel_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/roadsign_desc.h:26:1: style: The class 'roadsign_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] bauer/wegbauer.h:90:3: warning:inconclusive: Member variable 'next_gr_t::gr' is not initialized in the constructor. [uninitMemberVar] bauer/wegbauer.h:90:3: warning:inconclusive: Member variable 'next_gr_t::cost' is not initialized in the constructor. [uninitMemberVar] bauer/wegbauer.h:90:3: warning:inconclusive: Member variable 'next_gr_t::flag' is not initialized in the constructor. [uninitMemberVar] obj/leitung2.h:72:21: style:inconclusive: Technically the member function 'leitung_t::get_desc' can be const. [functionConst] gui/components/gui_button.h:182:7: style:inconclusive: Technically the member function 'button_t::enabled' can be const. [functionConst] gui/gui_frame.h:134:11: style:inconclusive: Technically the member function 'gui_frame_t::get_min_windowsize' can be const. [functionConst] simdepot.h:88:35: style:inconclusive: Technically the member function 'depot_t::get_convoy_list' can be const. [functionConst] simdepot.h:136:31: style:inconclusive: Technically the member function 'depot_t::get_vehicle_list' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const building_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , building_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const building_desc_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const building_desc_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < pumpe_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < pumpe_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < senke_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < senke_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < action_listener_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < action_listener_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < vehicle_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < vehicle_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < quickstone_tpl < convoi_t > >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < quickstone_tpl < convoi_t > >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < depot_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < depot_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < vehicle_desc_t const * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < vehicle_desc_t const * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < zeiger_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < zeiger_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < tool_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < tool_t * >::node_t::operatordelete' can be const. [functionConst] gui/gui_frame.h:225:7: warning: The class 'gui_frame_t' defines member function with name 'set_focus' also defined in its parent class 'gui_container_t'. [duplInheritedMember] gui/components/gui_container.h:75:7: note: Parent function 'gui_container_t::set_focus' gui/gui_frame.h:225:7: note: Derived function 'gui_frame_t::set_focus' boden/wasser.h:32:2: style: Class 'wasser_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/dynamic_string.h:39:2: style: Class 'dynamic_string' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/scenario.h:201:2: style: Class 'scenario_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/scenario.h:102:3: style: Struct 'forbidden_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/leitung2.h:78:2: style: Class 'leitung_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/leitung2.h:145:2: style: Class 'pumpe_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/leitung2.h:225:2: style: Class 'senke_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/tunnel.h:24:2: style: Class 'tunnel_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/zeiger.h:28:2: style: Class 'zeiger_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_aligned_container.h:63:2: style: Class 'gui_aligned_container_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/gui_frame.h:82:2: style: Class 'gui_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/tool_selector.h:25:3: style: Struct 'tool_data_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:228:2: style: Class 'bahndepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:252:2: style: Class 'tramdepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:264:2: style: Class 'monoraildepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:276:2: style: Class 'maglevdepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:288:2: style: Class 'narrowgaugedepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:311:2: style: Class 'strassendepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:343:2: style: Class 'schiffdepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simdepot.h:372:2: style: Class 'airdepot_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simmenu.h:262:2: style: Class 'tool_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simmenu.h:362:2: style: Class 'kartenboden_tool_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/schiene.h:36:2: style: Class 'schiene_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] display/viewport.h:270:2: style: Class 'viewport_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simtool.h:296:2: style: Class 'tool_build_way_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simtool.h:386:2: style: Class 'tool_build_wayobj_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/leitung2.h:80:11: style: The destructor '~leitung_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/leitung2.h:80:11: note: Destructor in derived class obj/leitung2.h:147:3: style: The destructor '~pumpe_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/leitung2.h:80:11: note: Virtual destructor in base class obj/leitung2.h:147:3: note: Destructor in derived class obj/leitung2.h:227:3: style: The destructor '~senke_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/leitung2.h:80:11: note: Virtual destructor in base class obj/leitung2.h:227:3: note: Destructor in derived class gui/components/gui_container.h:36:11: style: The destructor '~gui_container_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_component.h:62:11: note: Virtual destructor in base class gui/components/gui_container.h:36:11: note: Destructor in derived class gui/components/gui_aligned_container.h:65:3: style: The destructor '~gui_aligned_container_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_container.h:36:11: note: Virtual destructor in base class gui/components/gui_aligned_container.h:65:3: note: Destructor in derived class gui/gui_frame.h:84:11: style: The destructor '~gui_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_aligned_container.h:65:3: note: Virtual destructor in base class gui/gui_frame.h:84:11: note: Destructor in derived class simdepot.h:63:11: style: The destructor '~depot_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/gebaeude.h:79:11: note: Virtual destructor in base class simdepot.h:63:11: note: Destructor in derived class gui/gui_frame.h:227:19: style: The function 'get_focus' overrides a function in a base class but just delegates back to the base class. [uselessOverride] gui/components/gui_container.h:81:19: note: Virtual function in base class gui/gui_frame.h:227:19: note: Function in derived class simtool.h:316:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simtool.h:302:7: note: Virtual function in base class simtool.h:316:7: note: Function in derived class simtool.h:398:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simtool.h:390:7: note: Virtual function in base class simtool.h:398:7: note: Function in derived class simtool.h:658:7: style: The function 'init' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:314:15: note: Virtual function in base class simtool.h:658:7: note: Function in derived class simtool.h:985:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:985:7: note: Function in derived class simtool.h:1001:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1001:7: note: Function in derived class simtool.h:1090:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1090:7: note: Function in derived class simtool.h:1097:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1097:7: note: Function in derived class simtool.h:1104:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1104:7: note: Function in derived class simtool.h:1111:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1111:7: note: Function in derived class simtool.h:1126:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1126:7: note: Function in derived class simtool.h:1134:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1134:7: note: Function in derived class simtool.h:1142:7: style: The function 'is_init_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:291:15: note: Virtual function in base class simtool.h:1142:7: note: Function in derived class vehicle/air_vehicle.h:86:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable air_vehicle [valueFlowBailoutIncompleteVar] vehicle/rail_vehicle.h:54:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rail_vehicle [valueFlowBailoutIncompleteVar] vehicle/rail_vehicle.h:80:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable monorail_vehicle [valueFlowBailoutIncompleteVar] vehicle/rail_vehicle.h:100:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable maglev_vehicle [valueFlowBailoutIncompleteVar] vehicle/rail_vehicle.h:120:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable narrowgauge_vehicle [valueFlowBailoutIncompleteVar] vehicle/road_vehicle.h:57:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable road_vehicle [valueFlowBailoutIncompleteVar] vehicle/water_vehicle.h:41:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable water_vehicle [valueFlowBailoutIncompleteVar] bauer/vehikelbauer.cc:139:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable year [valueFlowBailoutIncompleteVar] bauer/hausbauer.cc:511:17: style: C-style pointer casting [cstyleCast] bauer/hausbauer.cc:857:6: style: The scope of the variable 'level' can be reduced. [variableScope] obj/roadsign.h:68:14: style:inconclusive: Technically the member function 'roadsign_t::get_state' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const grund_t * , bool , ptrhash_tpl < const grund_t * > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const roadsign_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , tunnel_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < koord3d >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < koord3d >::node_t::operatordelete' can be const. [functionConst] descriptor/roadsign_desc.h:104:7: warning: The class 'roadsign_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/roadsign_desc.h:104:7: note: Derived function 'roadsign_desc_t::calc_checksum' descriptor/roadsign_desc.h:104:7: warning: The class 'roadsign_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/roadsign_desc.h:104:7: note: Derived function 'roadsign_desc_t::calc_checksum' obj/roadsign.h:81:2: style: Class 'roadsign_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/signal.h:24:2: style: Class 'signal_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/base_info.h:40:2: style: Class 'base_infowin_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_image.h:28:3: style: Class 'gui_image_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/messagebox.h:39:2: style: Class 'fatal_news' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/messagebox.h:52:2: style: Class 'news_img' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bauer/wegbauer.h:202:2: style: Class 'way_builder_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/roadsign.h:90:3: style: The destructor '~roadsign_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/roadsign.h:90:3: note: Destructor in derived class gui/components/gui_world_view_t.h:79:3: style: The destructor '~world_view_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_component.h:62:11: note: Virtual destructor in base class gui/components/gui_world_view_t.h:79:3: note: Destructor in derived class bauer/tunnelbauer.cc:424:5: style: Condition '!build_tunnel(player,gr->get_pos(),end,zv,desc)' is always false [knownConditionTrueFalse] bauer/tunnelbauer.cc:424:18: note: Calling function 'build_tunnel' returns 1 bauer/tunnelbauer.cc:424:5: note: Condition '!build_tunnel(player,gr->get_pos(),end,zv,desc)' is always false bauer/hausbauer.cc:455:65: style:inconclusive: Function 'build' argument 3 names different: declaration 'layout' definition 'org_layout'. [funcArgNamesDifferent] bauer/hausbauer.h:141:60: note: Function 'build' argument 3 names different: declaration 'layout' definition 'org_layout'. bauer/hausbauer.cc:455:65: note: Function 'build' argument 3 names different: declaration 'layout' definition 'org_layout'. bauer/hausbauer.cc:595:91: style:inconclusive: Function 'build_station_extension_depot' argument 3 names different: declaration 'layout' definition 'built_layout'. [funcArgNamesDifferent] bauer/hausbauer.h:148:86: note: Function 'build_station_extension_depot' argument 3 names different: declaration 'layout' definition 'built_layout'. bauer/hausbauer.cc:595:91: note: Function 'build_station_extension_depot' argument 3 names different: declaration 'layout' definition 'built_layout'. bauer/hausbauer.cc:756:74: style:inconclusive: Function 'find_tile' argument 2 names different: declaration 'idx' definition 'org_idx'. [funcArgNamesDifferent] bauer/hausbauer.h:63:69: note: Function 'find_tile' argument 2 names different: declaration 'idx' definition 'org_idx'. bauer/hausbauer.cc:756:74: note: Function 'find_tile' argument 2 names different: declaration 'idx' definition 'org_idx'. bauer/hausbauer.cc:787:85: style:inconclusive: Function 'get_random_station' argument 1 names different: declaration 'utype' definition 'type'. [funcArgNamesDifferent] bauer/hausbauer.h:60:80: note: Function 'get_random_station' argument 1 names different: declaration 'utype' definition 'type'. bauer/hausbauer.cc:787:85: note: Function 'get_random_station' argument 1 names different: declaration 'utype' definition 'type'. bauer/hausbauer.cc:811:84: style:inconclusive: Function 'get_special' argument 2 names different: declaration 'utype' definition 'type'. [funcArgNamesDifferent] bauer/hausbauer.h:121:79: note: Function 'get_special' argument 2 names different: declaration 'utype' definition 'type'. bauer/hausbauer.cc:811:84: note: Function 'get_special' argument 2 names different: declaration 'utype' definition 'type'. bauer/hausbauer.cc:915:84: style:inconclusive: Function 'get_commercial' argument 3 names different: declaration 'c' definition 'cl'. [funcArgNamesDifferent] bauer/hausbauer.h:84:79: note: Function 'get_commercial' argument 3 names different: declaration 'c' definition 'cl'. bauer/hausbauer.cc:915:84: note: Function 'get_commercial' argument 3 names different: declaration 'c' definition 'cl'. bauer/hausbauer.cc:356:14: style: Local variable 'player' shadows outer argument [shadowArgument] bauer/hausbauer.cc:323:37: note: Shadowed declaration bauer/hausbauer.cc:356:14: note: Shadow variable bauer/hausbauer.cc:443:16: style: Local variable 'gr' shadows outer variable [shadowVariable] bauer/hausbauer.cc:424:2: note: Shadowed declaration bauer/hausbauer.cc:443:16: note: Shadow variable bauer/hausbauer.cc:446:16: style: Local variable 'gr' shadows outer variable [shadowVariable] bauer/hausbauer.cc:424:2: note: Shadowed declaration bauer/hausbauer.cc:446:16: note: Shadow variable bauer/hausbauer.cc:947:90: style: Parameter 'list' can be declared as reference to const [constParameterReference] bauer/hausbauer.cc:323:57: style: Parameter 'gb' can be declared as pointer to const [constParameterPointer] bauer/hausbauer.cc:469:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/hausbauer.cc:484:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/hausbauer.cc:815:38: style: Variable 'list' can be declared as pointer to const [constVariablePointer] bauer/tunnelbauer.cc:431:63: style:inconclusive: Function 'build_tunnel' argument 2 names different: declaration 'pos' definition 'start'. [funcArgNamesDifferent] bauer/tunnelbauer.h:30:53: note: Function 'build_tunnel' argument 2 names different: declaration 'pos' definition 'start'. bauer/tunnelbauer.cc:431:63: note: Function 'build_tunnel' argument 2 names different: declaration 'pos' definition 'start'. bauer/tunnelbauer.cc:643:64: style:inconclusive: Function 'remove' argument 2 names different: declaration 'pos' definition 'start'. [funcArgNamesDifferent] bauer/tunnelbauer.h:52:54: note: Function 'remove' argument 2 names different: declaration 'pos' definition 'start'. bauer/tunnelbauer.cc:643:64: note: Function 'remove' argument 2 names different: declaration 'pos' definition 'start'. bauer/tunnelbauer.cc:643:94: style:inconclusive: Function 'remove' argument 4 names different: declaration 'all' definition 'remove_all'. [funcArgNamesDifferent] bauer/tunnelbauer.h:52:82: note: Function 'remove' argument 4 names different: declaration 'all' definition 'remove_all'. bauer/tunnelbauer.cc:643:94: note: Function 'remove' argument 4 names different: declaration 'all' definition 'remove_all'. bauer/tunnelbauer.cc:660:12: style: Local variable 'from' shadows outer variable [shadowVariable] bauer/tunnelbauer.cc:653:11: note: Shadowed declaration bauer/tunnelbauer.cc:660:12: note: Shadow variable bauer/tunnelbauer.cc:120:24: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] bauer/tunnelbauer.cc:153:13: style: Variable 'lt' can be declared as pointer to const [constVariablePointer] bauer/tunnelbauer.cc:337:14: style: Variable 'lt' can be declared as pointer to const [constVariablePointer] bauer/tunnelbauer.cc:617:10: style: Variable 'way_outside' can be declared as pointer to const [constVariablePointer] dataobj/tabfile.h:51:2: warning: Member variable 'tabfile_t::current_line_number' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::capacity' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::loading_time' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::weight' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::power' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::running_cost' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::gear' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::len' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::sound' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::leader_count' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::trailer_count' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::engine_type' is not initialized in the constructor. [uninitMemberVar] descriptor/vehicle_desc.h:88:2: warning:inconclusive: Member variable 'vehicle_desc_t::freight_image_type' is not initialized in the constructor. [uninitMemberVar] gui/components/gui_tab_panel.h:32:3: warning: Member variable 'tab::width' is not initialized in the constructor. [uninitMemberVar] gui/components/gui_speedbar.h:69:2: warning: Member variable 'gui_routebar_t::reserved_color' is not initialized in the constructor. [uninitMemberVar] gui/components/gui_label.h:76:15: style:inconclusive: Technically the member function 'gui_label_t::get_tooltip_pointer' can be const. [functionConst] gui/components/gui_scrollbar.h:91:17: style:inconclusive: Technically the member function 'scrollbar_t::get_visible_mode' can be const. [functionConst] gui/components/gui_combobox.h:124:6: style:inconclusive: Technically the member function 'gui_combobox_t::get_selection' can be const. [functionConst] vehicle/vehicle.h:232:7: style:inconclusive: Technically the member function 'vehicle_t::is_leading' can be const. [functionConst] vehicle/vehicle.h:235:7: style:inconclusive: Technically the member function 'vehicle_t::is_last' can be const. [functionConst] vehicle/air_vehicle.h:63:7: style:inconclusive: Technically the member function 'air_vehicle_t::get_event_index' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < vehicle_desc_t const * , gui_image_list_t :: image_data_t * , ptrhash_tpl < vehicle_desc_t const * > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , obj_info_t , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const vehicle_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < const skin_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < const skin_desc_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < tab >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < tab >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < info_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < info_t >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < const vehicle_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < const vehicle_desc_t * >::node_t::operatordelete' can be const. [functionConst] descriptor/vehicle_desc.h:271:7: warning: The class 'vehicle_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/vehicle_desc.h:271:7: note: Derived function 'vehicle_desc_t::calc_checksum' descriptor/vehicle_desc.h:271:7: warning: The class 'vehicle_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/vehicle_desc.h:271:7: note: Derived function 'vehicle_desc_t::calc_checksum' gui/components/gui_scrolled_list.h:172:7: warning: The class 'gui_scrolled_list_t' defines member function with name 'set_maximize' also defined in its parent class 'gui_scrollpane_t'. [duplInheritedMember] gui/components/gui_scrollpane.h:130:7: note: Parent function 'gui_scrollpane_t::set_maximize' gui/components/gui_scrolled_list.h:172:7: note: Derived function 'gui_scrolled_list_t::set_maximize' gui/components/gui_label.h:49:2: style: Class 'gui_label_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_label.h:122:2: style: Class 'gui_label_buf_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_image_list.h:72:2: style: Class 'gui_image_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_scrollbar.h:72:2: style: Class 'scrollbar_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_scrollpane.h:48:2: style: Class 'gui_scrollpane_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_scrolled_list.h:122:2: style: Class 'gui_scrolled_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_combobox.h:71:2: style: Class 'gui_combobox_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/depot_frame.h:203:2: style: Class 'depot_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bauer/vehikelbauer.cc:68:2: style: Class 'bonus_record_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_scrolled_list.h:124:3: style: The destructor '~gui_scrolled_list_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_component.h:62:11: note: Virtual destructor in base class gui/components/gui_scrolled_list.h:124:3: note: Destructor in derived class gui/depot_frame.h:205:3: style: The destructor '~depot_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/depot_frame.h:205:3: note: Destructor in derived class vehicle/vehicle.h:160:3: style: The destructor '~vehicle_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class vehicle/vehicle.h:160:3: note: Destructor in derived class vehicle/air_vehicle.h:67:3: style: The destructor '~air_vehicle_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] vehicle/vehicle.h:160:3: note: Virtual destructor in base class vehicle/air_vehicle.h:67:3: note: Destructor in derived class vehicle/rail_vehicle.h:58:3: style: The destructor '~rail_vehicle_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] vehicle/vehicle.h:160:3: note: Virtual destructor in base class vehicle/rail_vehicle.h:58:3: note: Destructor in derived class gui/components/gui_scrollpane.h:104:7: style: The function 'is_focusable' overrides a function in a base class but just delegates back to the base class. [uselessOverride] gui/components/gui_component.h:83:15: note: Virtual function in base class gui/components/gui_scrollpane.h:104:7: note: Function in derived class gui/components/gui_scrollpane.h:109:19: style: The function 'get_focus' overrides a function in a base class but just delegates back to the base class. [uselessOverride] gui/components/gui_component.h:186:27: note: Virtual function in base class gui/components/gui_scrollpane.h:109:19: note: Function in derived class bauer/vehikelbauer.cc:403:9: style: The scope of the variable 'desc_index' can be reduced. [variableScope] bauer/vehikelbauer.cc:515:9: style: The scope of the variable 'desc_index' can be reduced. [variableScope] bauer/vehikelbauer.cc:400:68: style:inconclusive: Function 'vehicle_search' argument 1 names different: declaration 'typ' definition 'wt'. [funcArgNamesDifferent] bauer/vehikelbauer.h:65:56: note: Function 'vehicle_search' argument 1 names different: declaration 'typ' definition 'wt'. bauer/vehikelbauer.cc:400:68: note: Function 'vehicle_search' argument 1 names different: declaration 'typ' definition 'wt'. bauer/vehikelbauer.cc:400:109: style:inconclusive: Function 'vehicle_search' argument 3 names different: declaration 'target_power' definition 'target_weight'. [funcArgNamesDifferent] bauer/vehikelbauer.h:65:96: note: Function 'vehicle_search' argument 3 names different: declaration 'target_power' definition 'target_weight'. bauer/vehikelbauer.cc:400:109: note: Function 'vehicle_search' argument 3 names different: declaration 'target_power' definition 'target_weight'. boden/brueckenboden.cc:43:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable draw_as_obj [valueFlowBailoutIncompleteVar] boden/brueckenboden.cc:112:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] boden/boden.cc:90:21: style: C-style pointer casting [cstyleCast] boden/boden.cc:73:45: style:inconclusive: Function 'boden_t' argument 2 names different: declaration 'slope' definition 'sl'. [funcArgNamesDifferent] boden/boden.h:23:37: note: Function 'boden_t' argument 2 names different: declaration 'slope' definition 'sl'. boden/boden.cc:73:45: note: Function 'boden_t' argument 2 names different: declaration 'slope' definition 'sl'. boden/boden.cc:90:14: style: Variable 'tree' can be declared as pointer to const [constVariablePointer] descriptor/bridge_desc.h:30:1: style: The class 'bridge_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] boden/brueckenboden.h:28:7: style: Virtual function 'rdwr' is called from constructor 'brueckenboden_t(loadsave_t*file,koord pos)' at line 23. Dynamic binding is not used. [virtualCallInConstructor] boden/brueckenboden.h:23:77: note: Calling rdwr boden/brueckenboden.h:28:7: note: rdwr is a virtual function descriptor/bridge_desc.h:126:7: warning: The class 'bridge_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/bridge_desc.h:126:7: note: Derived function 'bridge_desc_t::calc_checksum' descriptor/bridge_desc.h:126:7: warning: The class 'bridge_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/bridge_desc.h:126:7: note: Derived function 'bridge_desc_t::calc_checksum' descriptor/bridge_desc.h:56:14: warning: The class 'bridge_desc_t' defines member function with name 'get_name' also defined in its parent class 'obj_named_desc_t'. [duplInheritedMember] descriptor/obj_base_desc.h:22:14: note: Parent function 'obj_named_desc_t::get_name' descriptor/bridge_desc.h:56:14: note: Derived function 'bridge_desc_t::get_name' descriptor/bridge_desc.h:57:14: warning: The class 'bridge_desc_t' defines member function with name 'get_copyright' also defined in its parent class 'obj_named_desc_t'. [duplInheritedMember] descriptor/obj_base_desc.h:27:14: note: Parent function 'obj_named_desc_t::get_copyright' descriptor/bridge_desc.h:57:14: note: Derived function 'bridge_desc_t::get_copyright' obj/bruecke.h:28:2: style: Class 'bruecke_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/brueckenboden.cc:87:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] tpl/vector_tpl.h:297:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable i [valueFlowBailoutIncompleteVar] boden/monorailboden.h:29:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable monorailboden [valueFlowBailoutIncompleteVar] boden/monorailboden.h:23:7: style: Virtual function 'rdwr' is called from constructor 'monorailboden_t(loadsave_t*file,koord pos)' at line 18. Dynamic binding is not used. [virtualCallInConstructor] boden/monorailboden.h:18:77: note: Calling rdwr boden/monorailboden.h:23:7: note: rdwr is a virtual function dataobj/crossing_logic.h:73:19: style:inconclusive: Technically the member function 'crossing_logic_t::get_state' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const bridge_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , bridge_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < const crossing_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < const crossing_desc_t * >::node_t::operatordelete' can be const. [functionConst] obj/pillar.h:30:2: style: Class 'pillar_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/crossing_logic.h:51:2: style: Class 'crossing_logic_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bauer/brueckenbauer.cc:216:25: style: Condition 'w->get_waytype()==wt' is always true [knownConditionTrueFalse] bauer/brueckenbauer.cc:207:25: note: Assuming that condition 'w->get_waytype()!=wt' is not redundant bauer/brueckenbauer.cc:216:25: note: Condition 'w->get_waytype()==wt' is always true obj/crossing.h:34:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crossing [valueFlowBailoutIncompleteVar] obj/wayobj.h:72:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wayobj [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:625:94: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable leitung [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:984:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable z [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:1116:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable way_max_bridge_len [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:1278:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:1743:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:2164:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable z [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:2273:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable leitung [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:2346:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_set_slope [valueFlowBailoutIncompleteVar] bauer/wegbauer.cc:2848:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable z [valueFlowBailoutIncompleteVar] bauer/brueckenbauer.cc:985:17: style: The scope of the variable 'msg' can be reduced. [variableScope] bauer/brueckenbauer.cc:979:64: style:inconclusive: Function 'remove' argument 2 names different: declaration 'pos' definition 'pos_start'. [funcArgNamesDifferent] bauer/brueckenbauer.h:129:54: note: Function 'remove' argument 2 names different: declaration 'pos' definition 'pos_start'. bauer/brueckenbauer.cc:979:64: note: Function 'remove' argument 2 names different: declaration 'pos' definition 'pos_start'. bauer/brueckenbauer.cc:903:12: style: Local variable 'pos' shadows outer variable [shadowVariable] bauer/brueckenbauer.cc:814:10: note: Shadowed declaration bauer/brueckenbauer.cc:903:12: note: Shadow variable bauer/brueckenbauer.cc:904:18: style: Local variable 'gr' shadows outer variable [shadowVariable] bauer/brueckenbauer.cc:868:11: note: Shadowed declaration bauer/brueckenbauer.cc:904:18: note: Shadow variable bauer/brueckenbauer.cc:905:18: style: Local variable 'ribi' shadows outer variable [shadowVariable] bauer/brueckenbauer.cc:769:15: note: Shadowed declaration bauer/brueckenbauer.cc:905:18: note: Shadow variable bauer/brueckenbauer.cc:1025:14: style: Local variable 'to' shadows outer variable [shadowVariable] bauer/brueckenbauer.cc:996:12: note: Shadowed declaration bauer/brueckenbauer.cc:1025:14: note: Shadow variable bauer/brueckenbauer.cc:1192:17: style: Local variable 'bridge_ribi' shadows outer variable [shadowVariable] bauer/brueckenbauer.cc:1143:16: note: Shadowed declaration bauer/brueckenbauer.cc:1192:17: note: Shadow variable bauer/brueckenbauer.cc:248:12: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:264:11: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:273:16: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:286:68: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] bauer/brueckenbauer.cc:289:16: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:292:16: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:386:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:583:14: style: Variable 'to' can be declared as pointer to const [constVariablePointer] bauer/brueckenbauer.cc:594:49: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] bauer/brueckenbauer.cc:734:12: style: Variable 'gr_end' can be declared as pointer to const [constVariablePointer] boden/tunnelboden.cc:71:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable draw_as_obj [valueFlowBailoutIncompleteVar] boden/tunnelboden.h:25:7: style: Virtual function 'rdwr' is called from constructor 'tunnelboden_t(loadsave_t*file,koord pos)' at line 30. Dynamic binding is not used. [virtualCallInConstructor] boden/tunnelboden.cc:30:2: note: Calling rdwr boden/tunnelboden.h:25:7: note: rdwr is a virtual function boden/tunnelboden.cc:42:24: style: Condition 'weg' is always true [knownConditionTrueFalse] boden/tunnelboden.cc:48:13: style: Condition '!weg' is always false [knownConditionTrueFalse] boden/tunnelboden.cc:52:35: style: Condition 'weg' is always true [knownConditionTrueFalse] vehicle/simroadtraffic.h:127:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable road_user [valueFlowBailoutIncompleteVar] vehicle/pedestrian.h:54:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pedestrian [valueFlowBailoutIncompleteVar] boden/grund.cc:279:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] boden/grund.cc:485:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable boden [valueFlowBailoutIncompleteVar] boden/grund.cc:503:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] boden/grund.cc:532:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] boden/grund.cc:703:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ugm_none [valueFlowBailoutIncompleteVar] boden/grund.cc:1016:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wasser [valueFlowBailoutIncompleteVar] boden/grund.cc:1203:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] boden/grund.cc:1265:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] boden/grund.cc:1841:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_remove_tree [valueFlowBailoutIncompleteVar] boden/grund.cc:2034:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable boden [valueFlowBailoutIncompleteVar] boden/grund.h:76:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable code [valueFlowBailoutIncompleteVar] boden/wasser.cc:18:11: warning: Member variable 'wasser_t::display_ribi' is not initialized in the constructor. [uninitMemberVar] boden/wege/maglev.h:30:7: style: Virtual function 'rdwr' is called from constructor 'maglev_t(loadsave_t*file)' at line 21. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/maglev.cc:21:2: note: Calling rdwr boden/wege/maglev.h:30:7: note: rdwr is a virtual function boden/wege/maglev.h:26:2: style: Class 'maglev_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/kanal.h:26:7: style: Virtual function 'rdwr' is called from constructor 'kanal_t(loadsave_t*file)' at line 24. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/kanal.cc:24:2: note: Calling rdwr boden/wege/kanal.h:26:7: note: rdwr is a virtual function boden/wege/kanal.h:22:2: style: Class 'kanal_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/monorail.h:32:7: style: Virtual function 'rdwr' is called from constructor 'monorail_t(loadsave_t*file)' at line 18. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/monorail.cc:18:2: note: Calling rdwr boden/wege/monorail.h:32:7: note: rdwr is a virtual function boden/wege/monorail.h:28:2: style: Class 'monorail_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/narrowgauge.h:30:7: style: Virtual function 'rdwr' is called from constructor 'narrowgauge_t(loadsave_t*file)' at line 17. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/narrowgauge.cc:17:2: note: Calling rdwr boden/wege/narrowgauge.h:30:7: note: rdwr is a virtual function boden/wege/narrowgauge.h:26:2: style: Class 'narrowgauge_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/runway.h:39:7: style: Virtual function 'rdwr' is called from constructor 'runway_t(loadsave_t*file)' at line 26. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/runway.cc:26:2: note: Calling rdwr boden/wege/runway.h:39:7: note: rdwr is a virtual function boden/wege/runway.h:28:2: style: Class 'runway_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/schiene.cc:28:2: performance: Variable 'reserved' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] boden/wege/schiene.cc:41:2: performance: Variable 'reserved' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simconvoi.h:440:7: style:inconclusive: Technically the member function 'convoi_t::is_waiting' can be const. [functionConst] simconvoi.h:442:7: style:inconclusive: Technically the member function 'convoi_t::is_unloading' can be const. [functionConst] simconvoi.h:763:10: style:inconclusive: Technically the member function 'convoi_t::get_home_depot' can be const. [functionConst] simconvoi.h:783:19: style:inconclusive: Technically the member function 'convoi_t::get_next_reservation_index' can be const. [functionConst] boden/wege/schiene.h:82:7: style: Virtual function 'rdwr' is called from constructor 'schiene_t(loadsave_t*file)' at line 42. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/schiene.cc:42:2: note: Calling rdwr boden/wege/schiene.h:82:7: note: rdwr is a virtual function simconvoi.h:480:2: style: Class 'convoi_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simconvoi.h:482:2: style: Class 'convoi_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simconvoi.h:484:11: style: The destructor '~convoi_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ifc/sync_steppable.h:29:11: note: Virtual destructor in base class simconvoi.h:484:11: note: Destructor in derived class boden/wege/schiene.cc:151:8: style: Local variable 'old_max_speed' shadows outer variable [shadowVariable] boden/wege/schiene.cc:147:7: note: Shadowed declaration boden/wege/schiene.cc:151:8: note: Shadow variable boden/wege/strasse.h:27:7: style: Virtual function 'rdwr' is called from constructor 'strasse_t(loadsave_t*file)' at line 31. Dynamic binding is not used. [virtualCallInConstructor] boden/wege/strasse.cc:31:2: note: Calling rdwr boden/wege/strasse.h:27:7: note: rdwr is a virtual function boden/wege/strasse.cc:19:17: warning: The class 'strasse_t' defines member function with name 'set_gehweg' also defined in its parent class 'weg_t'. [duplInheritedMember] boden/wege/weg.h:251:7: note: Parent function 'weg_t::set_gehweg' boden/wege/strasse.cc:19:17: note: Derived function 'strasse_t::set_gehweg' boden/wege/strasse.h:20:2: style: Class 'strasse_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] boden/wege/strasse.cc:56:15: style: Local variable 's' shadows outer variable [shadowVariable] boden/wege/strasse.cc:45:12: note: Shadowed declaration boden/wege/strasse.cc:56:15: note: Shadow variable boden/grund.cc:1105:173: style:inconclusive: Boolean expression 'dirty' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] boden/grund.cc:1117:168: style:inconclusive: Boolean expression 'dirty' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] boden/grund.cc:1153:107: style:inconclusive: Boolean expression 'dirty' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] boden/grund.cc:1156:126: style:inconclusive: Boolean expression 'dirty' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] boden/grund.cc:461:10: warning: Member variable 'grund_t::slope' is not initialized in the constructor. [uninitMemberVar] descriptor/crossing_desc.h:25:1: style: The class 'crossing_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/way_obj_desc.h:31:1: style: The class 'way_obj_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] boden/grund.h:324:7: style:inconclusive: Technically the member function 'grund_t::mark_image_dirty' can be const. [functionConst] boden/grund.cc:748:15: note: Technically the member function 'grund_t::mark_image_dirty' can be const. boden/grund.h:324:7: note: Technically the member function 'grund_t::mark_image_dirty' can be const. boden/grund.h:350:7: style:inconclusive: Technically the member function 'grund_t::open_info_window' can be const. [functionConst] boden/grund.cc:581:15: note: Technically the member function 'grund_t::open_info_window' can be const. boden/grund.h:350:7: note: Technically the member function 'grund_t::open_info_window' can be const. boden/grund.h:539:7: style:inconclusive: Technically the member function 'grund_t::display_border' can be const. [functionConst] boden/grund.cc:1193:15: note: Technically the member function 'grund_t::display_border' can be const. boden/grund.h:539:7: note: Technically the member function 'grund_t::display_border' can be const. boden/grund.h:736:9: style:inconclusive: Technically the member function 'grund_t::remove_trees' can be const. [functionConst] boden/grund.cc:1833:17: note: Technically the member function 'grund_t::remove_trees' can be const. boden/grund.h:736:9: note: Technically the member function 'grund_t::remove_trees' can be const. boden/grund.h:842:8: style:inconclusive: Technically the member function 'grund_t::operatordelete' can be const. [functionConst] boden/grund.cc:164:15: note: Technically the member function 'grund_t::operatordelete' can be const. boden/grund.h:842:8: note: Technically the member function 'grund_t::operatordelete' can be const. obj/crossing.h:80:8: style:inconclusive: Technically the member function 'crossing_t::get_dir' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < unsigned long long , char * , inthash_tpl < unsigned long long > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const way_obj_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const citycar_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const pedestrian_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/crossing_desc.h:75:7: warning: The class 'crossing_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/crossing_desc.h:75:7: note: Derived function 'crossing_desc_t::calc_checksum' descriptor/way_obj_desc.h:182:7: warning: The class 'way_obj_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/way_obj_desc.h:182:7: note: Derived function 'way_obj_desc_t::calc_checksum' descriptor/way_obj_desc.h:182:7: warning: The class 'way_obj_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/way_obj_desc.h:182:7: note: Derived function 'way_obj_desc_t::calc_checksum' boden/wege/strasse.h:25:7: warning: The class 'strasse_t' defines member function with name 'set_gehweg' also defined in its parent class 'weg_t'. [duplInheritedMember] boden/wege/weg.h:251:7: note: Parent function 'weg_t::set_gehweg' boden/wege/strasse.h:25:7: note: Derived function 'strasse_t::set_gehweg' obj/crossing.h:44:2: style: Class 'crossing_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/label.h:20:2: style: Class 'label_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wayobj.h:44:2: style: Class 'wayobj_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_textarea.h:33:2: style: Class 'gui_textarea_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/ground_info.h:34:2: style: Class 'grund_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] vehicle/simroadtraffic.h:102:2: style: Class 'private_car_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] vehicle/pedestrian.h:44:2: style: Class 'pedestrian_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] vehicle/pedestrian.h:47:2: style: Class 'pedestrian_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/crossing.h:50:11: style: The destructor '~crossing_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/crossing.h:50:11: note: Destructor in derived class obj/label.h:22:3: style: The destructor '~label_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/label.h:22:3: note: Destructor in derived class obj/wayobj.h:46:11: style: The destructor '~wayobj_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/wayobj.h:46:11: note: Destructor in derived class vehicle/simroadtraffic.h:51:11: style: The destructor '~road_user_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class vehicle/simroadtraffic.h:51:11: note: Destructor in derived class vehicle/simroadtraffic.h:111:11: style: The destructor '~private_car_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] vehicle/simroadtraffic.h:51:11: note: Virtual destructor in base class vehicle/simroadtraffic.h:111:11: note: Destructor in derived class vehicle/pedestrian.h:49:11: style: The destructor '~pedestrian_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] vehicle/simroadtraffic.h:51:11: note: Virtual destructor in base class vehicle/pedestrian.h:49:11: note: Destructor in derived class obj/crossing.h:42:12: style: The function 'get_waytype' overrides a function in a base class but is identical to the overridden function [uselessOverride] obj/simobj.h:213:20: note: Virtual function in base class obj/crossing.h:42:12: note: Function in derived class boden/grund.cc:270:23: style: The if condition is the same as the previous if condition [duplicateCondition] boden/grund.cc:258:23: note: First condition boden/grund.cc:270:23: note: Second condition boden/grund.cc:321:21: style: The if condition is the same as the previous if condition [duplicateCondition] boden/grund.cc:270:23: note: First condition boden/grund.cc:321:21: note: Second condition boden/grund.cc:2096:9: style: Condition 'new_dir' is always false [knownConditionTrueFalse] boden/grund.cc:2094:13: note: Assuming that condition 'add==ribi_t::none' is not redundant boden/grund.cc:2095:37: note: Assignment 'new_dir=wayobj->get_dir()&add', assigned value is 0 boden/grund.cc:2096:9: note: Condition 'new_dir' is always false boden/grund.cc:446:69: style: C-style pointer casting [cstyleCast] boden/grund.cc:448:126: style: C-style pointer casting [cstyleCast] boden/grund.cc:449:47: style: C-style pointer casting [cstyleCast] boden/grund.cc:452:100: style: C-style pointer casting [cstyleCast] boden/grund.cc:1872:19: style: C-style pointer casting [cstyleCast] boden/grund.cc:1946:16: style: C-style pointer casting [cstyleCast] boden/grund.cc:2037:17: style: Redundant initialization for 'remove_halt'. The initialized value is overwritten before it is read. [redundantInitialization] boden/grund.cc:2034:21: note: remove_halt is initialized boden/grund.cc:2037:17: note: remove_halt is overwritten boden/grund.cc:563:38: style:inconclusive: Function 'take_obj_from' argument 1 names different: declaration 'gr' definition 'other_gr'. [funcArgNamesDifferent] boden/grund.h:608:31: note: Function 'take_obj_from' argument 1 names different: declaration 'gr' definition 'other_gr'. boden/grund.cc:563:38: note: Function 'take_obj_from' argument 1 names different: declaration 'gr' definition 'other_gr'. boden/grund.cc:1966:72: style:inconclusive: Function 'get_neighbour' argument 3 names different: declaration 'r' definition 'ribi'. [funcArgNamesDifferent] boden/grund.h:788:64: note: Function 'get_neighbour' argument 3 names different: declaration 'r' definition 'ribi'. boden/grund.cc:1966:72: note: Function 'get_neighbour' argument 3 names different: declaration 'r' definition 'ribi'. boden/grund.cc:2023:87: style:inconclusive: Function 'remove_everything_from_way' argument 3 names different: declaration 'ribi_rem' definition 'rem'. [funcArgNamesDifferent] boden/grund.h:835:77: note: Function 'remove_everything_from_way' argument 3 names different: declaration 'ribi_rem' definition 'rem'. boden/grund.cc:2023:87: note: Function 'remove_everything_from_way' argument 3 names different: declaration 'ribi_rem' definition 'rem'. boden/grund.cc:777:8: style: Local variable 'back_imageid' shadows outer variable [shadowVariable] boden/grund.h:205:8: note: Shadowed declaration boden/grund.cc:777:8: note: Shadow variable boden/grund.cc:797:24: style: Local variable 'slope' shadows outer variable [shadowVariable] boden/grund.h:200:16: note: Shadowed declaration boden/grund.cc:797:24: note: Shadow variable boden/grund.cc:839:19: style: Local variable 'w' shadows outer variable [shadowVariable] boden/grund.cc:784:15: note: Shadowed declaration boden/grund.cc:839:19: note: Shadow variable boden/grund.cc:1082:21: style: Local variable 'k' shadows outer variable [shadowVariable] boden/grund.cc:941:14: note: Shadowed declaration boden/grund.cc:1082:21: note: Shadow variable boden/grund.cc:1284:24: style: Local variable 'slope' shadows outer variable [shadowVariable] boden/grund.h:200:16: note: Shadowed declaration boden/grund.cc:1284:24: note: Shadow variable boden/grund.cc:1437:14: style: Local variable 'slope' shadows outer variable [shadowVariable] boden/grund.h:200:16: note: Shadowed declaration boden/grund.cc:1437:14: note: Shadow variable boden/grund.cc:2012:6: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration boden/grund.cc:2012:6: note: Shadow variable boden/grund.cc:2028:13: style: Local variable 'wt' shadows outer argument [shadowArgument] boden/grund.cc:2023:70: note: Shadowed declaration boden/grund.cc:2028:13: note: Shadow variable boden/grund.cc:2117:11: style: Local variable 'wt' shadows outer argument [shadowArgument] boden/grund.cc:2023:70: note: Shadowed declaration boden/grund.cc:2117:11: note: Shadow variable boden/grund.cc:602:19: style: Variable 'tunnel' can be declared as pointer to const [constVariablePointer] boden/grund.cc:607:20: style: Variable 'bridge' can be declared as pointer to const [constVariablePointer] boden/grund.cc:622:18: style: Variable 'crossing' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1030:12: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1166:11: style: Variable 'd' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1738:14: style: Variable 'w' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1775:9: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1782:9: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] boden/grund.cc:1872:11: style: Variable 'other' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:1196:3: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < crossing_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < crossing_t * >::node_t::operatordelete' can be const. [functionConst] boden/wege/weg.cc:501:21: style: Local variable 'ribi' shadows outer variable [shadowVariable] boden/wege/weg.h:80:8: note: Shadowed declaration boden/wege/weg.cc:501:21: note: Shadow variable boden/wege/weg.cc:339:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] boden/wege/weg.cc:407:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] boden/wege/weg.cc:507:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:1155:16: warning: Member variable 'way_builder_t::desc' is not initialized in the constructor. [uninitMemberVar] bauer/wegbauer.cc:1155:16: warning: Member variable 'way_builder_t::bridge_desc' is not initialized in the constructor. [uninitMemberVar] bauer/wegbauer.cc:1155:16: warning: Member variable 'way_builder_t::tunnel_desc' is not initialized in the constructor. [uninitMemberVar] dataobj/crossing_logic.cc:283:41: style:inconclusive: Function 'add' argument 1 names different: declaration 'cr' definition 'start_cr'. [funcArgNamesDifferent] dataobj/crossing_logic.h:96:31: note: Function 'add' argument 1 names different: declaration 'cr' definition 'start_cr'. dataobj/crossing_logic.cc:283:41: note: Function 'add' argument 1 names different: declaration 'cr' definition 'start_cr'. dataobj/crossing_logic.cc:66:16: style: Local variable 'i' shadows outer variable [shadowVariable] dataobj/crossing_logic.cc:63:3: note: Shadowed declaration dataobj/crossing_logic.cc:66:16: note: Shadow variable dataobj/crossing_logic.cc:65:23: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] dataobj/freelist.cc:94:9: style: C-style pointer casting [cstyleCast] dataobj/freelist.cc:111:13: style: C-style pointer casting [cstyleCast] dataobj/freelist.cc:119:28: style: C-style pointer casting [cstyleCast] dataobj/freelist.cc:133:27: style: C-style pointer casting [cstyleCast] dataobj/freelist.cc:206:25: style: C-style pointer casting [cstyleCast] dataobj/freelist.cc:133:21: style: Local variable 'tmp' shadows outer variable [shadowVariable] dataobj/freelist.cc:91:19: note: Shadowed declaration dataobj/freelist.cc:133:21: note: Shadow variable dataobj/freelist.cc:111:9: warning: Size of pointer 'p' used instead of size of its data. [pointerSize] dataobj/height_map_loader.h:38:8: style:inconclusive: Technically the member function 'height_map_loader_t::rgb_to_height' can be const. [functionConst] dataobj/height_map_loader.cc:72:28: note: Technically the member function 'height_map_loader_t::rgb_to_height' can be const. dataobj/height_map_loader.h:38:8: note: Technically the member function 'height_map_loader_t::rgb_to_height' can be const. dataobj/height_map_loader.cc:49:11: style: C-style pointer casting [cstyleCast] dataobj/height_map_loader.cc:22:48: style:inconclusive: Function 'height_map_loader_t' argument 1 names different: declaration 'min_allowed_height' definition 'min_height'. [funcArgNamesDifferent] dataobj/height_map_loader.h:20:28: note: Function 'height_map_loader_t' argument 1 names different: declaration 'min_allowed_height' definition 'min_height'. dataobj/height_map_loader.cc:22:48: note: Function 'height_map_loader_t' argument 1 names different: declaration 'min_allowed_height' definition 'min_height'. dataobj/height_map_loader.cc:22:66: style:inconclusive: Function 'height_map_loader_t' argument 2 names different: declaration 'max_allowed_height' definition 'max_height'. [funcArgNamesDifferent] dataobj/height_map_loader.h:20:54: note: Function 'height_map_loader_t' argument 2 names different: declaration 'max_allowed_height' definition 'max_height'. dataobj/height_map_loader.cc:22:66: note: Function 'height_map_loader_t' argument 2 names different: declaration 'max_allowed_height' definition 'max_height'. dataobj/height_map_loader.cc:22:108: style:inconclusive: Function 'height_map_loader_t' argument 3 names different: declaration 'conv_mode' definition 'mode'. [funcArgNamesDifferent] dataobj/height_map_loader.h:20:104: note: Function 'height_map_loader_t' argument 3 names different: declaration 'conv_mode' definition 'mode'. dataobj/height_map_loader.cc:22:108: note: Function 'height_map_loader_t' argument 3 names different: declaration 'conv_mode' definition 'mode'. bauer/wegbauer.h:165:7: style:inconclusive: Technically the member function 'way_builder_t::build_elevated' can be const. [functionConst] bauer/wegbauer.cc:2527:21: note: Technically the member function 'way_builder_t::build_elevated' can be const. bauer/wegbauer.h:165:7: note: Technically the member function 'way_builder_t::build_elevated' can be const. bauer/wegbauer.h:172:9: performance:inconclusive: Technically the member function 'way_builder_t::calc_distance' can be static (but you may consider moving to unnamed namespace). [functionStatic] bauer/wegbauer.cc:3042:23: note: Technically the member function 'way_builder_t::calc_distance' can be static (but you may consider moving to unnamed namespace). bauer/wegbauer.h:172:9: note: Technically the member function 'way_builder_t::calc_distance' can be static (but you may consider moving to unnamed namespace). bauer/wegbauer.h:215:7: performance:inconclusive: Technically the member function 'way_builder_t::check_owner' can be static (but you may consider moving to unnamed namespace). [functionStatic] bauer/wegbauer.cc:446:21: note: Technically the member function 'way_builder_t::check_owner' can be static (but you may consider moving to unnamed namespace). bauer/wegbauer.h:215:7: note: Technically the member function 'way_builder_t::check_owner' can be static (but you may consider moving to unnamed namespace). bauer/wegbauer.h:219:7: style:inconclusive: Technically the member function 'way_builder_t::check_slope' can be const. [functionConst] bauer/wegbauer.cc:415:21: note: Technically the member function 'way_builder_t::check_slope' can be const. bauer/wegbauer.h:219:7: note: Technically the member function 'way_builder_t::check_slope' can be const. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , const way_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , way_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < const way_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < const way_desc_t * >::node_t::operatordelete' can be const. [functionConst] dataobj/loadsave.cc:355:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bzip2 [valueFlowBailoutIncompleteVar] dataobj/loadsave.cc:410:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bzip2 [valueFlowBailoutIncompleteVar] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl < route_t :: ANode * >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/field.h:24:11: style: The destructor '~field_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/field.h:24:11: note: Destructor in derived class dataobj/koord3d.h:145:7: style:inconclusive: Technically the member function 'koord3d_vector_t::rotate90' can be const. [functionConst] dataobj/koord3d.cc:116:24: note: Technically the member function 'koord3d_vector_t::rotate90' can be const. dataobj/koord3d.h:145:7: note: Technically the member function 'koord3d_vector_t::rotate90' can be const. bauer/wegbauer.cc:2936:2: warning: Possible null pointer dereference: gr_first [nullPointer] bauer/wegbauer.cc:2912:22: note: Assignment 'gr_first=NULL', assigned value is 0 bauer/wegbauer.cc:2913:28: note: Assuming condition is false bauer/wegbauer.cc:2936:2: note: Null pointer dereference dataobj/loadsave.cc:230:13: warning: Member variable 'loadsave_t::buff' is not initialized in the constructor. [uninitMemberVar] dataobj/loadsave.cc:230:13: warning: Member variable 'loadsave_t::indent' is not initialized in the constructor. [uninitMemberVar] dataobj/loadsave.h:139:7: style:inconclusive: Technically the member function 'loadsave_t::is_eof' can be const. [functionConst] dataobj/loadsave.cc:521:18: note: Technically the member function 'loadsave_t::is_eof' can be const. dataobj/loadsave.h:139:7: note: Technically the member function 'loadsave_t::is_eof' can be const. io/rdwr/bzip2_file_rdwr_stream.h:20:3: style: The destructor '~bzip2_file_rdwr_stream_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] io/rdwr/rdwr_stream.h:22:11: note: Virtual destructor in base class io/rdwr/bzip2_file_rdwr_stream.h:20:3: note: Destructor in derived class io/rdwr/raw_file_rdwr_stream.h:25:3: style: The destructor '~raw_file_rdwr_stream_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] io/rdwr/rdwr_stream.h:22:11: note: Virtual destructor in base class io/rdwr/raw_file_rdwr_stream.h:25:3: note: Destructor in derived class io/rdwr/zlib_file_rdwr_stream.h:20:3: style: The destructor '~zlib_file_rdwr_stream_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] io/rdwr/rdwr_stream.h:22:11: note: Virtual destructor in base class io/rdwr/zlib_file_rdwr_stream.h:20:3: note: Destructor in derived class io/rdwr/compare_file_rd_stream.h:24:3: style: The destructor '~compare_file_rd_stream_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] io/rdwr/rdwr_stream.h:22:11: note: Virtual destructor in base class io/rdwr/compare_file_rd_stream.h:24:3: note: Destructor in derived class bauer/wegbauer.cc:2401:17: style: C-style pointer casting [cstyleCast] tpl/binary_heap_tpl.h:33:11: style: C-style pointer casting [cstyleCast] tpl/binary_heap_tpl.h:58:12: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:568:51: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:577:51: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:591:51: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:639:5: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:650:6: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:669:5: style: C-style pointer casting [cstyleCast] dataobj/loadsave.cc:1004:12: style: C-style pointer casting [cstyleCast] bauer/wegbauer.cc:638:7: style: Redundant initialization for 'br'. The initialized value is overwritten before it is read. [redundantInitialization] bauer/wegbauer.cc:637:19: note: br is initialized bauer/wegbauer.cc:638:7: note: br is overwritten bauer/wegbauer.cc:646:7: style: Redundant initialization for 'br'. The initialized value is overwritten before it is read. [redundantInitialization] bauer/wegbauer.cc:645:19: note: br is initialized bauer/wegbauer.cc:646:7: note: br is overwritten dataobj/loadsave.cc:310:59: style:inconclusive: Function 'rd_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. [funcArgNamesDifferent] dataobj/loadsave.h:123:36: note: Function 'rd_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. dataobj/loadsave.cc:310:59: note: Function 'rd_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. dataobj/loadsave.cc:402:60: style:inconclusive: Function 'wr_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. [funcArgNamesDifferent] dataobj/loadsave.h:126:36: note: Function 'wr_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. dataobj/loadsave.cc:402:60: note: Function 'wr_open' argument 1 names different: declaration 'filename' definition 'filename_utf8'. dataobj/loadsave.cc:402:82: style:inconclusive: Function 'wr_open' argument 2 names different: declaration 'mode' definition 'm'. [funcArgNamesDifferent] dataobj/loadsave.h:126:53: note: Function 'wr_open' argument 2 names different: declaration 'mode' definition 'm'. dataobj/loadsave.cc:402:82: note: Function 'wr_open' argument 2 names different: declaration 'mode' definition 'm'. dataobj/loadsave.cc:768:36: style:inconclusive: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. [funcArgNamesDifferent] dataobj/loadsave.h:156:25: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. dataobj/loadsave.cc:768:36: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. dataobj/loadsave.cc:796:36: style:inconclusive: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. [funcArgNamesDifferent] dataobj/loadsave.h:157:25: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. dataobj/loadsave.cc:796:36: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. dataobj/loadsave.cc:804:40: style:inconclusive: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. [funcArgNamesDifferent] dataobj/loadsave.h:158:29: note: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. dataobj/loadsave.cc:804:40: note: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. dataobj/loadsave.cc:1037:34: style:inconclusive: Function 'rdwr_str' argument 1 names different: declaration 's' definition 'result_buffer'. [funcArgNamesDifferent] dataobj/loadsave.h:172:22: note: Function 'rdwr_str' argument 1 names different: declaration 's' definition 'result_buffer'. dataobj/loadsave.cc:1037:34: note: Function 'rdwr_str' argument 1 names different: declaration 's' definition 'result_buffer'. dataobj/loadsave.cc:1130:40: style:inconclusive: Function 'rdwr_str' argument 1 names different: declaration 'str' definition 's'. [funcArgNamesDifferent] dataobj/loadsave.h:179:29: note: Function 'rdwr_str' argument 1 names different: declaration 'str' definition 's'. dataobj/loadsave.cc:1130:40: note: Function 'rdwr_str' argument 1 names different: declaration 'str' definition 's'. dataobj/loadsave.cc:1285:64: style:inconclusive: Function 'int_version' argument 2 names different: declaration 'pak' definition 'pak_extension_str'. [funcArgNamesDifferent] dataobj/loadsave.h:117:60: note: Function 'int_version' argument 2 names different: declaration 'pak' definition 'pak_extension_str'. dataobj/loadsave.cc:1285:64: note: Function 'int_version' argument 2 names different: declaration 'pak' definition 'pak_extension_str'. dataobj/loadsave.cc:1113:11: style: Local variable 's' shadows outer variable [shadowVariable] dataobj/loadsave.cc:1065:9: note: Shadowed declaration dataobj/loadsave.cc:1113:11: note: Shadow variable bauer/wegbauer.cc:893:9: style:inconclusive: Same expression used in consecutive assignments of 'start' and 'middle'. [duplicateAssignExpression] bauer/wegbauer.cc:894:9: note: Same expression used in consecutive assignments of 'start' and 'middle'. bauer/wegbauer.cc:893:9: note: Same expression used in consecutive assignments of 'start' and 'middle'. bauer/wegbauer.cc:168:7: style: The scope of the variable 'best_allowed' can be reduced. [variableScope] bauer/wegbauer.cc:461:20: style: Checking if unsigned expression 'to->obj_count()' is less than zero. [unsignedLessThanZero] bauer/wegbauer.cc:143:103: style:inconclusive: Function 'get_way_list' argument 2 names different: declaration 'system_type' definition 'styp'. [funcArgNamesDifferent] bauer/wegbauer.h:52:85: note: Function 'get_way_list' argument 2 names different: declaration 'system_type' definition 'styp'. bauer/wegbauer.cc:143:103: note: Function 'get_way_list' argument 2 names different: declaration 'system_type' definition 'styp'. bauer/wegbauer.cc:323:81: style:inconclusive: Function 'check_crossing' argument 3 names different: declaration 'wtyp' definition 'wtyp0'. [funcArgNamesDifferent] bauer/wegbauer.h:212:66: note: Function 'check_crossing' argument 3 names different: declaration 'wtyp' definition 'wtyp0'. bauer/wegbauer.cc:323:81: note: Function 'check_crossing' argument 3 names different: declaration 'wtyp' definition 'wtyp0'. bauer/wegbauer.cc:1186:65: style:inconclusive: Function 'init_builder' argument 2 names different: declaration 'desc' definition 'b'. [funcArgNamesDifferent] bauer/wegbauer.h:198:52: note: Function 'init_builder' argument 2 names different: declaration 'desc' definition 'b'. bauer/wegbauer.cc:1186:65: note: Function 'init_builder' argument 2 names different: declaration 'desc' definition 'b'. bauer/wegbauer.cc:1186:89: style:inconclusive: Function 'init_builder' argument 3 names different: declaration 'tunnel_desc' definition 'tunnel'. [funcArgNamesDifferent] bauer/wegbauer.h:198:79: note: Function 'init_builder' argument 3 names different: declaration 'tunnel_desc' definition 'tunnel'. bauer/wegbauer.cc:1186:89: note: Function 'init_builder' argument 3 names different: declaration 'tunnel_desc' definition 'tunnel'. bauer/wegbauer.cc:1186:118: style:inconclusive: Function 'init_builder' argument 4 names different: declaration 'bridge_desc' definition 'br'. [funcArgNamesDifferent] bauer/wegbauer.h:198:118: note: Function 'init_builder' argument 4 names different: declaration 'bridge_desc' definition 'br'. bauer/wegbauer.cc:1186:118: note: Function 'init_builder' argument 4 names different: declaration 'bridge_desc' definition 'br'. bauer/wegbauer.cc:2045:55: style:inconclusive: Function 'intern_calc_route_runways' argument 1 names different: declaration 'start' definition 'start3d'. [funcArgNamesDifferent] bauer/wegbauer.h:157:41: note: Function 'intern_calc_route_runways' argument 1 names different: declaration 'start' definition 'start3d'. bauer/wegbauer.cc:2045:55: note: Function 'intern_calc_route_runways' argument 1 names different: declaration 'start' definition 'start3d'. bauer/wegbauer.cc:2045:78: style:inconclusive: Function 'intern_calc_route_runways' argument 2 names different: declaration 'ziel' definition 'ziel3d'. [funcArgNamesDifferent] bauer/wegbauer.h:157:62: note: Function 'intern_calc_route_runways' argument 2 names different: declaration 'ziel' definition 'ziel3d'. bauer/wegbauer.cc:2045:78: note: Function 'intern_calc_route_runways' argument 2 names different: declaration 'ziel' definition 'ziel3d'. bauer/wegbauer.cc:2139:47: style:inconclusive: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. [funcArgNamesDifferent] bauer/wegbauer.h:205:33: note: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. bauer/wegbauer.cc:2139:47: note: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. bauer/wegbauer.cc:2150:59: style:inconclusive: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. [funcArgNamesDifferent] bauer/wegbauer.h:206:45: note: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. bauer/wegbauer.cc:2150:59: note: Function 'calc_route' argument 1 names different: declaration 'start3d' definition 'start'. bauer/wegbauer.cc:2261:13: style: Local variable 'end' shadows outer variable [shadowVariable] bauer/wegbauer.cc:2244:19: note: Shadowed declaration bauer/wegbauer.cc:2261:13: note: Shadow variable bauer/wegbauer.cc:2394:16: style: Local variable 'i' shadows outer variable [shadowVariable] bauer/wegbauer.cc:2356:13: note: Shadowed declaration bauer/wegbauer.cc:2394:16: note: Shadow variable bauer/wegbauer.cc:2759:8: style: Local variable 'build_powerline' shadows outer function [shadowFunction] bauer/wegbauer.h:169:7: note: Shadowed declaration bauer/wegbauer.cc:2759:8: note: Shadow variable bauer/wegbauer.cc:393:13: style: Variable 'lt' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:466:14: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:559:16: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:619:12: style: Variable 'to2' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:787:16: style: Variable 'lt' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:1641:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:1652:13: style: Variable 'bd_von' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2095:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2274:13: style: Variable 'gr_i' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2275:13: style: Variable 'gr_i1' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2336:12: style: Variable 'from' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2339:12: style: Variable 'to' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2862:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] bauer/wegbauer.cc:2901:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] dataobj/powernet.h:61:9: performance:inconclusive: Technically the member function 'powernet_t::get_max_capacity' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < powernet_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < powernet_t * >::node_t::operatordelete' can be const. [functionConst] bauer/wegbauer.cc:1196:6: style: Variable 'wt' is assigned a value that is never used. [unreadVariable] dataobj/ribi.cc:339:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable all [valueFlowBailoutIncompleteVar] dataobj/ribi.cc:292:38: style:inconclusive: Function 'ribi_type' argument 1 names different: declaration 'slope' definition 'hang'. [funcArgNamesDifferent] dataobj/ribi.h:299:38: note: Function 'ribi_type' argument 1 names different: declaration 'slope' definition 'hang'. dataobj/ribi.cc:292:38: note: Function 'ribi_type' argument 1 names different: declaration 'slope' definition 'hang'. dataobj/records.h:23:2: style: Class 'records_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_address.h:65:7: style:inconclusive: Technically the member function 'address_list_t::contains' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < packet_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < packet_t * >::node_t::operatordelete' can be const. [functionConst] dataobj/gameinfo.h:67:2: style: Class 'gameinfo_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/gameinfo.h:68:2: style: Class 'gameinfo_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_address.h:29:2: style: Class 'net_address_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_address.h:31:2: style: Class 'net_address_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_socket_list.h:224:3: style: Class 'socket_iterator_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_socket_list.h:233:3: style: Class 'server_socket_iterator_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_socket_list.h:241:3: style: Class 'client_socket_iterator_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wolke.h:53:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sync_wolke [valueFlowBailoutIncompleteVar] obj/wolke.h:82:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable async_wolke [valueFlowBailoutIncompleteVar] obj/wolke.h:90:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable raucher [valueFlowBailoutIncompleteVar] vehicle/movingobj.h:66:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable movingobj [valueFlowBailoutIncompleteVar] network/network_cmd_ingame.h:113:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable id [valueFlowBailoutIncompleteVar] script/api_param.h:112:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:134:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:158:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:210:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:218:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:224:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:229:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:243:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:249:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:254:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:271:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:281:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:417:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_param.h:436:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A2 [valueFlowBailoutIncompleteVar] script/api_param.h:452:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A3 [valueFlowBailoutIncompleteVar] script/api_function.h:66:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:128:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:166:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:213:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:253:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:261:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:277:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:286:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:296:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:316:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:359:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R [valueFlowBailoutIncompleteVar] script/api_function.h:372:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:389:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:406:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:425:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:443:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:461:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:478:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:502:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:520:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:541:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:561:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:589:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:608:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:639:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:660:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:685:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:708:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:731:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:757:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:780:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_function.h:808:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable P [valueFlowBailoutIncompleteVar] script/api_function.h:814:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable P [valueFlowBailoutIncompleteVar] script/api_class.h:44:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_class.h:166:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable C [valueFlowBailoutIncompleteVar] script/api_class.h:187:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_class.h:209:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_class.h:213:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_class.h:238:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:89:96: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:106:116: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:164:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:314:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable waiting_time [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:387:101: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] dataobj/schedule.cc:453:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] dataobj/objlist.cc:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] dataobj/scenario.cc:810:47: error: Using object that is a temporary. [danglingTemporaryLifetime] dataobj/scenario.cc:809:118: note: Pointer to container is created here. dataobj/scenario.cc:809:106: note: Temporary created here. dataobj/scenario.cc:810:47: note: Using object that is a temporary. dataobj/scenario.cc:818:47: error: Using object that is a temporary. [danglingTemporaryLifetime] dataobj/scenario.cc:816:110: note: Pointer to container is created here. dataobj/scenario.cc:816:98: note: Temporary created here. dataobj/scenario.cc:818:47: note: Using object that is a temporary. network/network_cmd.h:130:2: warning: Member variable 'nwc_service_t::flag' is not initialized in the constructor. [uninitMemberVar] network/network_cmd.h:130:2: warning: Member variable 'nwc_service_t::number' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.h:32:2: warning: Member variable 'nwc_gameinfo_t::client_id' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.h:281:2: warning: Member variable 'nwc_chg_player_t::cmd' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.h:281:2: warning: Member variable 'nwc_chg_player_t::player_nr' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.h:281:2: warning: Member variable 'nwc_chg_player_t::param' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.h:281:2: warning: Member variable 'nwc_chg_player_t::scripted_call' is not initialized in the constructor. [uninitMemberVar] dataobj/objlist.h:98:7: style:inconclusive: Technically the member function 'objlist_t::sort_trees' can be const. [functionConst] dataobj/objlist.cc:433:17: note: Technically the member function 'objlist_t::sort_trees' can be const. dataobj/objlist.h:98:7: note: Technically the member function 'objlist_t::sort_trees' can be const. obj/dummy.h:20:3: style: Class 'dummy_obj_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wolke.h:46:2: style: Class 'wolke_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wolke.h:81:2: style: Class 'async_wolke_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wolke.h:89:2: style: Class 'raucher_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] vehicle/movingobj.h:53:2: style: Class 'movingobj_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/wolke.h:48:3: style: The destructor '~wolke_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class obj/wolke.h:48:3: note: Destructor in derived class vehicle/movingobj.h:55:3: style: The destructor '~movingobj_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] obj/simobj.h:192:11: note: Virtual destructor in base class vehicle/movingobj.h:55:3: note: Destructor in derived class network/network_cmd.h:78:9: style:inconclusive: Technically the member function 'network_command_t::get_id' can be const. [functionConst] dataobj/scenario.h:218:14: style:inconclusive: Technically the member function 'scenario_t::load_language_file' can be const. [functionConst] dataobj/scenario.cc:703:25: note: Technically the member function 'scenario_t::load_language_file' can be const. dataobj/scenario.h:218:14: note: Technically the member function 'scenario_t::load_language_file' can be const. dataobj/scenario.h:252:9: style:inconclusive: Technically the member function 'scenario_t::get_completion' can be const. [functionConst] dataobj/scenario.cc:890:20: note: Technically the member function 'scenario_t::get_completion' can be const. dataobj/scenario.h:252:9: note: Technically the member function 'scenario_t::get_completion' can be const. dataobj/scenario.h:267:7: performance:inconclusive: Technically the member function 'scenario_t::koord_sq2w' can be static (but you may consider moving to unnamed namespace). [functionStatic] dataobj/scenario.cc:176:18: note: Technically the member function 'scenario_t::koord_sq2w' can be static (but you may consider moving to unnamed namespace). dataobj/scenario.h:267:7: note: Technically the member function 'scenario_t::koord_sq2w' can be static (but you may consider moving to unnamed namespace). dataobj/scenario.h:294:7: performance:inconclusive: Technically the member function 'scenario_t::open_info_win' can be static (but you may consider moving to unnamed namespace). [functionStatic] dataobj/scenario.cc:749:18: note: Technically the member function 'scenario_t::open_info_win' can be static (but you may consider moving to unnamed namespace). dataobj/scenario.h:294:7: note: Technically the member function 'scenario_t::open_info_win' can be static (but you may consider moving to unnamed namespace). dataobj/scenario.h:300:14: style:inconclusive: Technically the member function 'scenario_t::get_error_text' can be const. [functionConst] dataobj/scenario.cc:560:25: note: Technically the member function 'scenario_t::get_error_text' can be const. dataobj/scenario.h:300:14: note: Technically the member function 'scenario_t::get_error_text' can be const. dataobj/scenario.h:451:14: style:inconclusive: Technically the member function 'scenario_t::get_forbidden_text' can be const. [functionConst] dataobj/scenario.cc:182:25: note: Technically the member function 'scenario_t::get_forbidden_text' can be const. dataobj/scenario.h:451:14: note: Technically the member function 'scenario_t::get_forbidden_text' can be const. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < plainstring , plainstring , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < connection_info_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < connection_info_t >::node_t::operatordelete' can be const. [functionConst] dataobj/objlist.cc:195:7: style: C-style pointer casting [cstyleCast] dataobj/objlist.cc:366:16: style: C-style pointer casting [cstyleCast] dataobj/objlist.cc:371:60: style: C-style pointer casting [cstyleCast] dataobj/objlist.cc:375:62: style: C-style pointer casting [cstyleCast] dataobj/objlist.cc:383:27: style: C-style pointer casting [cstyleCast] dataobj/objlist.cc:1077:52: style: C-style pointer casting [cstyleCast] script/api_param.h:434:13: warning: The struct 'freevariable2' defines member function with name 'push' also defined in its parent struct 'freevariable'. [duplInheritedMember] script/api_param.h:415:13: note: Parent function 'freevariable::push' script/api_param.h:434:13: note: Derived function 'freevariable2::push' script/api_param.h:450:13: warning: The struct 'freevariable3' defines member function with name 'push' also defined in its parent struct 'freevariable2'. [duplInheritedMember] script/api_param.h:434:13: note: Parent function 'freevariable2::push' script/api_param.h:450:13: note: Derived function 'freevariable3::push' script/api_param.h:450:13: warning: The struct 'freevariable3' defines member function with name 'push' also defined in its parent struct 'freevariable'. [duplInheritedMember] script/api_param.h:415:13: note: Parent function 'freevariable::push' script/api_param.h:450:13: note: Derived function 'freevariable3::push' network/network_cmd.h:54:2: style: Class 'network_command_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd_ingame.h:48:2: style: Class 'nwc_nick_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd_ingame.h:83:2: style: Class 'nwc_chat_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd_ingame.h:112:2: style: Class 'nwc_join_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd_ingame.h:169:2: style: Class 'nwc_game_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd_scenario.h:63:2: style: Class 'nwc_scenario_rules_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_param.h:409:3: style: Struct 'freevariable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_command.h:29:3: style: Struct 'my_tool_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_command.h:71:3: style: Class 'call_tool_base_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_command.h:87:3: style: Class 'call_tool_init' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_command.h:119:3: style: Class 'call_tool_work' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmd.h:131:3: style: The destructor '~nwc_service_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] network/network_cmd.h:56:11: note: Virtual destructor in base class network/network_cmd.h:131:3: note: Destructor in derived class network/network_cmd_ingame.h:286:3: style: The destructor '~nwc_chg_player_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] network/network_cmd.h:56:11: note: Virtual destructor in base class network/network_cmd_ingame.h:286:3: note: Destructor in derived class network/network_cmd_ingame.h:337:11: style: The destructor '~nwc_tool_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] network/network_cmd.h:56:11: note: Virtual destructor in base class network/network_cmd_ingame.h:337:11: note: Destructor in derived class network/network_cmd_scenario.h:64:3: style: The destructor '~nwc_scenario_rules_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] network/network_cmd.h:56:11: note: Virtual destructor in base class network/network_cmd_scenario.h:64:3: note: Destructor in derived class gui/components/gui_flowtext.h:31:3: style: The destructor '~gui_flowtext_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/action_listener.h:21:11: note: Virtual destructor in base class gui/components/gui_flowtext.h:31:3: note: Destructor in derived class network/network_cmd_ingame.h:238:7: style: The function 'do_command' overrides a function in a base class but is identical to the overridden function [uselessOverride] network/network_cmd_ingame.h:190:15: note: Virtual function in base class network/network_cmd_ingame.h:238:7: note: Function in derived class script/api_class.h:170:28: style: C-style pointer casting [cstyleCast] script/api_class.h:277:10: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:90:70: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:109:72: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:536:156: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:733:22: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:752:24: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:836:73: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:916:51: style: C-style pointer casting [cstyleCast] script/api_function.h:718:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] script/api_function.h:768:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] dataobj/scenario.cc:896:9: style: The scope of the variable 'pl' can be reduced. [variableScope] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl < ANode * >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dataobj/objlist.cc:237:37: style:inconclusive: Function 'set_capacity' argument 1 names different: declaration 'new_cap' definition 'req_cap'. [funcArgNamesDifferent] dataobj/objlist.h:43:27: note: Function 'set_capacity' argument 1 names different: declaration 'new_cap' definition 'req_cap'. dataobj/objlist.cc:237:37: note: Function 'set_capacity' argument 1 names different: declaration 'new_cap' definition 'req_cap'. dataobj/objlist.cc:315:39: style:inconclusive: Function 'shrink_capacity' argument 1 names different: declaration 'last_index' definition 'o_top'. [funcArgNamesDifferent] dataobj/objlist.h:47:29: note: Function 'shrink_capacity' argument 1 names different: declaration 'last_index' definition 'o_top'. dataobj/objlist.cc:315:39: note: Function 'shrink_capacity' argument 1 names different: declaration 'last_index' definition 'o_top'. dataobj/objlist.cc:337:31: style:inconclusive: Function 'append' argument 1 names different: declaration 'obj' definition 'new_obj'. [funcArgNamesDifferent] dataobj/objlist.h:52:21: note: Function 'append' argument 1 names different: declaration 'obj' definition 'new_obj'. dataobj/objlist.cc:337:31: note: Function 'append' argument 1 names different: declaration 'obj' definition 'new_obj'. dataobj/objlist.cc:441:28: style:inconclusive: Function 'add' argument 1 names different: declaration 'obj' definition 'new_obj'. [funcArgNamesDifferent] dataobj/objlist.h:88:18: note: Function 'add' argument 1 names different: declaration 'obj' definition 'new_obj'. dataobj/objlist.cc:441:28: note: Function 'add' argument 1 names different: declaration 'obj' definition 'new_obj'. dataobj/objlist.cc:546:37: style:inconclusive: Function 'remove' argument 1 names different: declaration 'obj' definition 'remove_obj'. [funcArgNamesDifferent] dataobj/objlist.h:89:27: note: Function 'remove' argument 1 names different: declaration 'obj' definition 'remove_obj'. dataobj/objlist.cc:546:37: note: Function 'remove' argument 1 names different: declaration 'obj' definition 'remove_obj'. dataobj/objlist.cc:691:37: style:inconclusive: Function 'ist_da' argument 1 names different: declaration 'obj' definition 'test_obj'. [funcArgNamesDifferent] dataobj/objlist.h:91:27: note: Function 'ist_da' argument 1 names different: declaration 'obj' definition 'test_obj'. dataobj/objlist.cc:691:37: note: Function 'ist_da' argument 1 names different: declaration 'obj' definition 'test_obj'. dataobj/route.cc:653:46: style: Condition 'ok' is always true [knownConditionTrueFalse] dataobj/route.cc:652:9: note: Assuming that condition 'ok' is not redundant dataobj/route.cc:653:46: note: Condition 'ok' is always true dataobj/route.cc:499:49: style: C-style pointer casting [cstyleCast] dataobj/route.cc:503:25: style: C-style pointer casting [cstyleCast] dataobj/scenario.cc:77:70: style:inconclusive: Function 'init' argument 2 names different: declaration 'scenario_name' definition 'scenario_name_'. [funcArgNamesDifferent] dataobj/scenario.h:207:59: note: Function 'init' argument 2 names different: declaration 'scenario_name' definition 'scenario_name_'. dataobj/scenario.cc:77:70: note: Function 'init' argument 2 names different: declaration 'scenario_name' definition 'scenario_name_'. dataobj/scenario.cc:381:94: style:inconclusive: Function 'forbid_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. [funcArgNamesDifferent] dataobj/scenario.h:386:83: note: Function 'forbid_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. dataobj/scenario.cc:381:94: note: Function 'forbid_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. dataobj/scenario.cc:381:112: style:inconclusive: Function 'forbid_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. [funcArgNamesDifferent] dataobj/scenario.h:386:99: note: Function 'forbid_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. dataobj/scenario.cc:381:112: note: Function 'forbid_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. dataobj/scenario.cc:394:93: style:inconclusive: Function 'allow_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. [funcArgNamesDifferent] dataobj/scenario.h:392:82: note: Function 'allow_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. dataobj/scenario.cc:394:93: note: Function 'allow_way_tool_cube' argument 4 names different: declaration 'pos_nw' definition 'pos_nw_0'. dataobj/scenario.cc:394:111: style:inconclusive: Function 'allow_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. [funcArgNamesDifferent] dataobj/scenario.h:392:98: note: Function 'allow_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. dataobj/scenario.cc:394:111: note: Function 'allow_way_tool_cube' argument 5 names different: declaration 'pos_se' definition 'pos_se_0'. network/network_cmd_ingame.h:197:44: performance: Function parameter 'c' should be passed by const reference. [passedByValue] dataobj/scenario.cc:633:13: style: Variable 'tool' can be declared as pointer to const [constVariablePointer] script/api_function.h:240:26: style: Parameter 't' can be declared as pointer to const [constParameterPointer] network/network_cmd_ingame.h:198:43: style: Parameter 'nwc1' can be declared as pointer to const [constParameterPointer] network/network_cmd_ingame.h:198:74: style: Parameter 'nwc2' can be declared as pointer to const [constParameterPointer] dataobj/route.cc:39:37: style:inconclusive: Function 'append' argument 1 names different: declaration 'route' definition 'r'. [funcArgNamesDifferent] dataobj/route.h:109:29: note: Function 'append' argument 1 names different: declaration 'route' definition 'r'. dataobj/route.cc:39:37: note: Function 'append' argument 1 names different: declaration 'route' definition 'r'. dataobj/route.cc:74:46: style:inconclusive: Function 'append_straight_route' argument 1 names different: declaration 'w' definition 'welt'. [funcArgNamesDifferent] dataobj/route.h:135:39: note: Function 'append_straight_route' argument 1 names different: declaration 'w' definition 'welt'. dataobj/route.cc:74:46: note: Function 'append_straight_route' argument 1 names different: declaration 'w' definition 'welt'. dataobj/route.cc:74:60: style:inconclusive: Function 'append_straight_route' argument 2 names different: declaration 'target' definition 'dest'. [funcArgNamesDifferent] dataobj/route.h:135:50: note: Function 'append_straight_route' argument 2 names different: declaration 'target' definition 'dest'. dataobj/route.cc:74:60: note: Function 'append_straight_route' argument 2 names different: declaration 'target' definition 'dest'. dataobj/route.cc:116:35: style:inconclusive: Function 'find_route' argument 1 names different: declaration 'w' definition 'welt'. [funcArgNamesDifferent] dataobj/route.h:141:27: note: Function 'find_route' argument 1 names different: declaration 'w' definition 'welt'. dataobj/route.cc:116:35: note: Function 'find_route' argument 1 names different: declaration 'w' definition 'welt'. dataobj/route.cc:287:42: warning: Function 'intern_calc_route' argument order different: declaration 'w, start, ziel, tdriver, max_kmh, max_cost' definition 'welt, ziel, start, tdriver, max_speed, max_cost' [funcArgOrderDifferent] dataobj/route.h:36:34: note: Function 'intern_calc_route' argument order different: declaration 'w, start, ziel, tdriver, max_kmh, max_cost' definition 'welt, ziel, start, tdriver, max_speed, max_cost' dataobj/route.cc:287:42: note: Function 'intern_calc_route' argument order different: declaration 'w, start, ziel, tdriver, max_kmh, max_cost' definition 'welt, ziel, start, tdriver, max_speed, max_cost' dataobj/route.cc:677:54: warning: Function 'calc_route' argument order different: declaration 'welt, start, target, tdriver, max_speed_kmh, max_tile_len' definition 'welt, ziel, start, tdriver, max_khm, max_len' [funcArgOrderDifferent] dataobj/route.h:146:37: note: Function 'calc_route' argument order different: declaration 'welt, start, target, tdriver, max_speed_kmh, max_tile_len' definition 'welt, ziel, start, tdriver, max_khm, max_len' dataobj/route.cc:677:54: note: Function 'calc_route' argument order different: declaration 'welt, start, target, tdriver, max_speed_kmh, max_tile_len' definition 'welt, ziel, start, tdriver, max_khm, max_len' dataobj/schedule.h:174:7: style:inconclusive: Technically the member function 'schedule_t::rotate90' can be const. [functionConst] dataobj/schedule.cc:358:18: note: Technically the member function 'schedule_t::rotate90' can be const. dataobj/schedule.h:174:7: note: Technically the member function 'schedule_t::rotate90' can be const. dataobj/schedule.h:179:7: style:inconclusive: Technically the member function 'schedule_t::matches' can be const. [functionConst] dataobj/schedule.cc:370:18: note: Technically the member function 'schedule_t::matches' can be const. dataobj/schedule.h:179:7: note: Technically the member function 'schedule_t::matches' can be const. dataobj/route.cc:629:14: style: Variable 'end' can be declared as reference to const [constVariableReference] dataobj/route.cc:74:46: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] dataobj/route.cc:414:12: style: Variable 'w' can be declared as pointer to const [constVariablePointer] dataobj/route.cc:581:48: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] dataobj/route.cc:644:19: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] dataobj/schedule.cc:193:38: style:inconclusive: Function 'remove_entry' argument 1 names different: declaration 'entry' definition 'delete_enty'. [funcArgNamesDifferent] dataobj/schedule.h:84:27: note: Function 'remove_entry' argument 1 names different: declaration 'entry' definition 'delete_enty'. dataobj/schedule.cc:193:38: note: Function 'remove_entry' argument 1 names different: declaration 'entry' definition 'delete_enty'. dataobj/schedule.cc:204:44: style:inconclusive: Function 'move_entry_forward' argument 1 names different: declaration 'entry' definition 'cur'. [funcArgNamesDifferent] dataobj/schedule.h:88:33: note: Function 'move_entry_forward' argument 1 names different: declaration 'entry' definition 'cur'. dataobj/schedule.cc:204:44: note: Function 'move_entry_forward' argument 1 names different: declaration 'entry' definition 'cur'. dataobj/schedule.cc:238:45: style:inconclusive: Function 'move_entry_backward' argument 1 names different: declaration 'entry' definition 'cur'. [funcArgNamesDifferent] dataobj/schedule.h:92:34: note: Function 'move_entry_backward' argument 1 names different: declaration 'entry' definition 'cur'. dataobj/schedule.cc:238:45: note: Function 'move_entry_backward' argument 1 names different: declaration 'entry' definition 'cur'. dataobj/schedule.cc:73:12: style: Variable 'dp' can be declared as pointer to const [constVariablePointer] dataobj/schedule.cc:85:51: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] dataobj/schedule.cc:102:51: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] dataobj/schedule.cc:370:35: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] dataobj/schedule.cc:395:14: style: Variable 'gr1' can be declared as pointer to const [constVariablePointer] dataobj/schedule.cc:403:14: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] dataobj/schedule.cc:577:59: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] descriptor/bridge_desc.cc:123:21: warning: The class 'bridge_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/bridge_desc.cc:123:21: note: Derived function 'bridge_desc_t::calc_checksum' descriptor/bridge_desc.cc:123:21: warning: The class 'bridge_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/bridge_desc.cc:123:21: note: Derived function 'bridge_desc_t::calc_checksum' dataobj/translator.cc:159:15: style: Condition 'translate_from_utf' is always true [knownConditionTrueFalse] dataobj/translator.cc:150:15: note: Assuming that condition 'translate_to_utf' is not redundant dataobj/translator.cc:143:29: note: Assuming that condition 'translate_from_utf==translate_to_utf' is not redundant dataobj/translator.cc:159:15: note: Condition 'translate_from_utf' is always true dataobj/translator.cc:122:10: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:125:10: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:153:55: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:156:69: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:162:0: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:165:0: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:294:21: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:408:38: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:412:46: style: C-style pointer casting [cstyleCast] dataobj/translator.cc:403:46: style:inconclusive: Function 'guess_highest_unicode' argument 1 names different: declaration 'lang' definition 'n'. [funcArgNamesDifferent] dataobj/translator.h:37:42: note: Function 'guess_highest_unicode' argument 1 names different: declaration 'lang' definition 'n'. dataobj/translator.cc:403:46: note: Function 'guess_highest_unicode' argument 1 names different: declaration 'lang' definition 'n'. dataobj/translator.cc:457:37: style:inconclusive: Function 'load' argument 1 names different: declaration 'pakset_path' definition 'path_to_pakset'. [funcArgNamesDifferent] dataobj/translator.h:72:38: note: Function 'load' argument 1 names different: declaration 'pakset_path' definition 'path_to_pakset'. dataobj/translator.cc:457:37: note: Function 'load' argument 1 names different: declaration 'pakset_path' definition 'path_to_pakset'. dataobj/translator.cc:505:16: style: Local variable 'folderName' shadows outer variable [shadowVariable] dataobj/translator.cc:498:15: note: Shadowed declaration dataobj/translator.cc:505:16: note: Shadow variable dataobj/settings.cc:1095:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] descriptor/xref_desc.h:14:1: style: The class 'xref_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/building_desc.cc:128:23: warning: The class 'building_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/building_desc.cc:128:23: note: Derived function 'building_desc_t::calc_checksum' dataobj/tabfile.cc:368:19: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] dataobj/tabfile.cc:400:20: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] dataobj/tabfile.cc:731:26: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] dataobj/tabfile.h:83:6: performance:inconclusive: Technically the member function 'tabfile_t::find_parameter_expansion' can be static (but you may consider moving to unnamed namespace). [functionStatic] dataobj/tabfile.cc:509:16: note: Technically the member function 'tabfile_t::find_parameter_expansion' can be static (but you may consider moving to unnamed namespace). dataobj/tabfile.h:83:6: note: Technically the member function 'tabfile_t::find_parameter_expansion' can be static (but you may consider moving to unnamed namespace). dataobj/tabfile.h:93:7: style:inconclusive: Technically the member function 'tabfile_t::add_operator_parens' can be const. [functionConst] dataobj/tabfile.cc:585:17: note: Technically the member function 'tabfile_t::add_operator_parens' can be const. dataobj/tabfile.h:93:7: note: Technically the member function 'tabfile_t::add_operator_parens' can be const. dataobj/tabfile.h:98:6: style:inconclusive: Technically the member function 'tabfile_t::calculate_internal' can be const. [functionConst] dataobj/tabfile.cc:723:16: note: Technically the member function 'tabfile_t::calculate_internal' can be const. dataobj/tabfile.h:98:6: note: Technically the member function 'tabfile_t::calculate_internal' can be const. dataobj/tabfile.h:103:7: performance:inconclusive: Technically the member function 'tabfile_t::format_key' can be static (but you may consider moving to unnamed namespace). [functionStatic] dataobj/tabfile.cc:818:17: note: Technically the member function 'tabfile_t::format_key' can be static (but you may consider moving to unnamed namespace). dataobj/tabfile.h:103:7: note: Technically the member function 'tabfile_t::format_key' can be static (but you may consider moving to unnamed namespace). dataobj/tabfile.cc:407:11: style: The scope of the variable 'names' can be reduced. [variableScope] dataobj/tabfile.cc:492:9: style: The scope of the variable 'l' can be reduced. [variableScope] descriptor/image.cc:98:2: style:inconclusive: Statements following 'return' will never be executed. [unreachableCode] dataobj/tabfile.cc:509:104: style:inconclusive: Function 'find_parameter_expansion' argument 5 names different: declaration 'parameter_ptr' definition 'param_ptr'. [funcArgNamesDifferent] dataobj/tabfile.h:83:94: note: Function 'find_parameter_expansion' argument 5 names different: declaration 'parameter_ptr' definition 'param_ptr'. dataobj/tabfile.cc:509:104: note: Function 'find_parameter_expansion' argument 5 names different: declaration 'parameter_ptr' definition 'param_ptr'. dataobj/tabfile.cc:407:11: style: Local variable 'names' shadows outer variable [shadowVariable] dataobj/tabfile.cc:349:10: note: Shadowed declaration dataobj/tabfile.cc:407:11: note: Shadow variable dataobj/tabfile.cc:353:13: style: Variable 'token_ptr' can be declared as pointer to const [constVariablePointer] dataobj/tabfile.cc:419:14: style: Variable 'prev_end' can be declared as pointer to const [constVariablePointer] dataobj/tabfile.cc:454:15: style: Variable 'prev_end' can be declared as pointer to const [constVariablePointer] dataobj/tabfile.cc:585:43: style: Parameter 'expression' can be declared as pointer to const [constParameterPointer] dataobj/tabfile.cc:597:20: warning: Uninitialized variable: buffer [uninitvar] dataobj/tabfile.cc:593:19: note: Assuming condition is false dataobj/tabfile.cc:597:20: note: Uninitialized variable: buffer descriptor/obj_base_desc.cc:17:36: warning: The class 'obj_desc_transport_related_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.cc:10:28: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/obj_base_desc.cc:17:36: note: Derived function 'obj_desc_transport_related_t::calc_checksum' tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , obj_desc_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , slist_tpl < obj_desc_t * * > , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/reader/obj_reader.h:31:20: style: C-style pointer casting [cstyleCast] descriptor/reader/bridge_reader.cc:19:49: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/bridge_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/bridge_reader.cc:19:49: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/building_reader.cc:87:51: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/building_reader.h:29:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/building_reader.cc:87:51: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/citycar_desc.h:25:1: style: The class 'citycar_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/citycar_desc.h:45:7: warning: The class 'citycar_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/citycar_desc.h:45:7: note: Derived function 'citycar_desc_t::calc_checksum' descriptor/reader/citycar_reader.cc:22:50: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/citycar_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/citycar_reader.cc:22:50: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/citycar_reader.cc:24:18: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] descriptor/reader/crossing_reader.cc:21:51: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/crossing_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/crossing_reader.cc:21:51: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < image_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < image_t * >::node_t::operatordelete' can be const. [functionConst] descriptor/ground_desc.cc:117:9: style: The scope of the variable 'tile_x' can be reduced. [variableScope] descriptor/ground_desc.cc:117:17: style: The scope of the variable 'tile_y' can be reduced. [variableScope] descriptor/ground_desc.cc:933:50: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] descriptor/reader/good_reader.cc:17:48: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/good_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/good_reader.cc:17:48: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/ground_reader.cc:12:49: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/ground_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/ground_reader.cc:12:49: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/ground_reader.cc:26:64: style:inconclusive: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. [funcArgNamesDifferent] descriptor/reader/ground_reader.h:26:51: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. descriptor/reader/ground_reader.cc:26:64: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. descriptor/reader/ground_reader.cc:14:17: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] descriptor/reader/image_reader.h:25:7: style: Unused private function: 'image_reader_t::image_has_valid_data' [unusedPrivateFunction] descriptor/reader/image_reader.h:25:7: performance:inconclusive: Technically the member function 'image_reader_t::image_has_valid_data' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/reader/image_reader.cc:231:22: note: Technically the member function 'image_reader_t::image_has_valid_data' can be static (but you may consider moving to unnamed namespace). descriptor/reader/image_reader.h:25:7: note: Technically the member function 'image_reader_t::image_has_valid_data' can be static (but you may consider moving to unnamed namespace). tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < obj_type , obj_reader_t * , inthash_tpl < obj_type > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < obj_type , stringhashtable_tpl < obj_desc_t * > , inthash_tpl < obj_type > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < obj_type , stringhashtable_tpl < slist_tpl < obj_desc_t * * > > , inthash_tpl < obj_type > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < unsigned int , image_t * , inthash_tpl < unsigned int > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/reader/image_reader.cc:194:27: style: C-style pointer casting [cstyleCast] descriptor/reader/image_reader.cc:62:3: style:inconclusive: Statements following 'goto' will never be executed. [unreachableCode] descriptor/reader/image_reader.cc:87:3: style: Statements following 'goto' will never be executed. [unreachableCode] descriptor/reader/image_reader.cc:105:3: style: Statements following 'goto' will never be executed. [unreachableCode] descriptor/reader/image_reader.cc:231:52: style:inconclusive: Function 'image_has_valid_data' argument 1 names different: declaration 'img' definition 'image_in'. [funcArgNamesDifferent] descriptor/reader/image_reader.h:25:37: note: Function 'image_has_valid_data' argument 1 names different: declaration 'img' definition 'image_in'. descriptor/reader/image_reader.cc:231:52: note: Function 'image_has_valid_data' argument 1 names different: declaration 'img' definition 'image_in'. descriptor/reader/image_reader.cc:143:11: style: Variable 'end' can be declared as pointer to const [constVariablePointer] descriptor/reader/image_reader.cc:234:10: style: Variable 'end' can be declared as pointer to const [constVariablePointer] descriptor/reader/obj_reader.cc:200:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] descriptor/reader/factory_reader.cc:152:62: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/factory_reader.h:38:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/factory_reader.cc:152:62: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/factory_reader.cc:490:50: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/factory_reader.h:82:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/factory_reader.cc:490:50: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/pedestrian_desc.h:24:1: style: The class 'pedestrian_desc_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] descriptor/pedestrian_desc.h:53:7: warning: The class 'pedestrian_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/pedestrian_desc.h:53:7: note: Derived function 'pedestrian_desc_t::calc_checksum' descriptor/reader/pedestrian_reader.cc:18:53: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/pedestrian_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/pedestrian_reader.cc:18:53: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/pedestrian_reader.cc:20:21: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] descriptor/reader/root_reader.cc:10:47: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/root_reader.h:23:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/root_reader.cc:10:47: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/root_reader.cc:17:62: style:inconclusive: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. [funcArgNamesDifferent] descriptor/reader/root_reader.h:19:51: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. descriptor/reader/root_reader.cc:17:62: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < obj_desc_t * * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < obj_desc_t * * >::node_t::operatordelete' can be const. [functionConst] descriptor/reader/skin_reader.cc:19:47: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/skin_reader.h:24:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/skin_reader.cc:19:47: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/skin_reader.cc:43:62: style:inconclusive: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. [funcArgNamesDifferent] descriptor/reader/skin_reader.h:20:51: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. descriptor/reader/skin_reader.cc:43:62: note: Function 'read_node' argument 2 names different: declaration 'node' definition 'info'. descriptor/reader/skin_reader.cc:21:15: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] descriptor/reader/obj_reader.cc:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] descriptor/reader/sound_reader.cc:17:48: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/sound_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/sound_reader.cc:17:48: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < obj_desc_t * * , int , ptrhash_tpl < obj_desc_t * * > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < event_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < event_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < obj_desc_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < obj_desc_t * >::node_t::operatordelete' can be const. [functionConst] descriptor/reader/obj_reader.cc:83:9: style: The scope of the variable 'i' can be reduced. [variableScope] descriptor/reader/obj_reader.cc:163:8: style: The scope of the variable 'n' can be reduced. [variableScope] descriptor/reader/obj_reader.cc:109:5: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/reader/obj_reader.cc:83:9: note: Shadowed declaration descriptor/reader/obj_reader.cc:109:5: note: Shadow variable descriptor/reader/obj_reader.cc:128:16: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration descriptor/reader/obj_reader.cc:128:16: note: Shadow variable descriptor/reader/obj_reader.cc:164:3: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/reader/obj_reader.cc:83:9: note: Shadowed declaration descriptor/reader/obj_reader.cc:164:3: note: Shadow variable descriptor/reader/obj_reader.cc:345:49: style: Variable 'objtype_loaded' can be declared as pointer to const [constVariablePointer] dataobj/settings.cc:1114:21: error:inconclusive: Array 'env_t::river_type[10]' accessed at index -1, which is out of bounds. [negativeIndex] dataobj/settings.cc:1108:15: note: Assignment 'i=0', assigned value is 0 dataobj/settings.cc:1113:49: note: Assignment 'add_river=i::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/vehicle_desc.cc:33:22: style: Local variable 'xref' shadows outer variable [shadowVariable] descriptor/vehicle_desc.cc:29:21: note: Shadowed declaration descriptor/vehicle_desc.cc:33:22: note: Shadow variable descriptor/sound_desc.cc:32:2: style: Class 'sound_ids' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] descriptor/sound_desc.cc:76:4: warning: %i in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] descriptor/way_desc.cc:15:18: warning: The class 'way_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_transport_related_t'. [duplInheritedMember] descriptor/obj_base_desc.h:104:7: note: Parent function 'obj_desc_transport_related_t::calc_checksum' descriptor/way_desc.cc:15:18: note: Derived function 'way_desc_t::calc_checksum' descriptor/way_desc.cc:15:18: warning: The class 'way_desc_t' defines member function with name 'calc_checksum' also defined in its parent class 'obj_desc_timelined_t'. [duplInheritedMember] descriptor/obj_base_desc.h:74:7: note: Parent function 'obj_desc_timelined_t::calc_checksum' descriptor/way_desc.cc:15:18: note: Derived function 'way_desc_t::calc_checksum' descriptor/reader/way_reader.cc:151:14: style: Assignment 'desc->wtyp=powerline_wt' is redundant with condition 'desc->wtyp==128'. [duplicateConditionalAssign] descriptor/reader/way_reader.cc:150:20: note: Condition 'desc->wtyp==128' descriptor/reader/way_reader.cc:151:14: note: Assignment 'desc->wtyp=powerline_wt' is redundant descriptor/reader/way_reader.cc:20:46: style:inconclusive: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. [funcArgNamesDifferent] descriptor/reader/way_reader.h:19:33: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. descriptor/reader/way_reader.cc:20:46: note: Function 'register_obj' argument 1 names different: declaration 'desc' definition 'data'. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , obj_writer_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < std :: string >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < std :: string >::node_t::operatordelete' can be const. [functionConst] descriptor/writer/citycar_writer.cc:45:14: style: The scope of the variable 'str' can be reduced. [variableScope] tpl/slist_tpl.h:439:17: performance: Function parameter 'data' should be passed by const reference. [passedByValue] descriptor/writer/obj_pak_exception.h:21:3: performance: Variable 'classname' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] descriptor/writer/obj_pak_exception.h:22:3: performance: Variable 'problem' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] descriptor/writer/bridge_writer.cc:96:39: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/bridge_writer.h:28:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/bridge_writer.cc:96:39: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/bridge_writer.cc:148:11: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/bridge_writer.cc:138:9: note: Shadowed declaration descriptor/writer/bridge_writer.cc:148:11: note: Shadow variable descriptor/writer/image_writer.h:37:14: warning: The class 'image_writer_t' defines member function with name 'set_img_size' also defined in its parent class 'obj_writer_t'. [duplInheritedMember] descriptor/writer/obj_writer.h:60:14: note: Parent function 'obj_writer_t::set_img_size' descriptor/writer/image_writer.h:37:14: note: Derived function 'image_writer_t::set_img_size' descriptor/writer/crossing_writer.cc:126:8: style: Variable 'index' is assigned a value that is never used. [unreadVariable] descriptor/writer/get_climate.cc:41:12: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/get_climate.cc:26:9: note: Shadowed declaration descriptor/writer/get_climate.cc:41:12: note: Shadow variable tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < slist_tpl < std :: string > >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < slist_tpl < std :: string > >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < slist_tpl < slist_tpl < std :: string > > >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < slist_tpl < slist_tpl < std :: string > > >::node_t::operatordelete' can be const. [functionConst] descriptor/writer/building_writer.cc:315:9: warning: %d in format string (no. 5) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] descriptor/writer/building_writer.cc:320:10: warning: %d in format string (no. 5) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] descriptor/writer/building_writer.cc:311:25: style: Local variable 'h' shadows outer variable [shadowVariable] descriptor/writer/building_writer.cc:297:13: note: Shadowed declaration descriptor/writer/building_writer.cc:311:25: note: Shadow variable descriptor/writer/building_writer.cc:309:50: style: Variable 'keys' can be declared as reference to const [constVariableReference] descriptor/writer/building_writer.cc:72:17: portability: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour. See condition at line 71. [shiftTooManyBitsSigned] descriptor/writer/building_writer.cc:71:34: note: Assuming that condition 'ints[i]<=32' is not redundant descriptor/writer/building_writer.cc:72:17: note: Shift descriptor/writer/factory_writer.cc:21:52: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/factory_writer.h:29:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/factory_writer.cc:21:52: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/factory_writer.cc:39:52: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/factory_writer.h:46:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/factory_writer.cc:39:52: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/factory_writer.cc:102:46: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/factory_writer.h:63:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/factory_writer.cc:102:46: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/image_writer.cc:377:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] descriptor/writer/imagelist_writer.cc:19:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable debuglevel [valueFlowBailoutIncompleteVar] descriptor/writer/image_writer.cc:320:17: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] descriptor/writer/image_writer.h:49:7: performance:inconclusive: Technically the member function 'image_writer_t::load_image_from_file' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/image_writer.cc:287:22: note: Technically the member function 'image_writer_t::load_image_from_file' can be static (but you may consider moving to unnamed namespace). descriptor/writer/image_writer.h:49:7: note: Technically the member function 'image_writer_t::load_image_from_file' can be static (but you may consider moving to unnamed namespace). descriptor/writer/groundobj_writer.cc:64:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] descriptor/writer/image_writer.cc:90:6: style: The scope of the variable 'alpha' can be reduced. [variableScope] descriptor/writer/image_writer.cc:170:10: style: The scope of the variable 'colored_run_counter' can be reduced. [variableScope] descriptor/writer/image_writer.cc:348:38: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/image_writer.h:42:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/image_writer.cc:348:38: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/image_writer.cc:348:77: style:inconclusive: Function 'write_obj' argument 3 names different: declaration 'imagekey' definition 'an_imagekey'. [funcArgNamesDifferent] descriptor/writer/image_writer.h:42:59: note: Function 'write_obj' argument 3 names different: declaration 'imagekey' definition 'an_imagekey'. descriptor/writer/image_writer.cc:348:77: note: Function 'write_obj' argument 3 names different: declaration 'imagekey' definition 'an_imagekey'. descriptor/writer/image_writer.cc:134:30: style: Parameter 'image' can be declared as pointer to const [constParameterPointer] descriptor/writer/image_writer.cc:165:63: style: Parameter 'dim' can be declared as pointer to const [constParameterPointer] descriptor/writer/image_writer.cc:319:19: style: Variable 'ent' can be declared as pointer to const [constVariablePointer] descriptor/writer/obj_node.cc:91:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] descriptor/writer/obj_node.cc:15:38: style: Parameter 'writer' can be declared as pointer to const [constParameterPointer] descriptor/writer/obj_writer.cc:54:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable debuglevel [valueFlowBailoutIncompleteVar] descriptor/writer/root_writer.cc:53:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable debuglevel [valueFlowBailoutIncompleteVar] descriptor/writer/root_writer.cc:150:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] descriptor/writer/root_writer.cc:511:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable debuglevel [valueFlowBailoutIncompleteVar] descriptor/writer/obj_writer.h:35:7: performance:inconclusive: Technically the member function 'obj_writer_t::dump_nodes' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:73:20: note: Technically the member function 'obj_writer_t::dump_nodes' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:35:7: note: Technically the member function 'obj_writer_t::dump_nodes' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:37:9: performance:inconclusive: Technically the member function 'obj_writer_t::skip_nodes' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:160:22: note: Technically the member function 'obj_writer_t::skip_nodes' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:37:9: note: Technically the member function 'obj_writer_t::skip_nodes' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:38:7: performance:inconclusive: Technically the member function 'obj_writer_t::show_capabilites' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:118:20: note: Technically the member function 'obj_writer_t::show_capabilites' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:38:7: note: Technically the member function 'obj_writer_t::show_capabilites' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:40:14: performance:inconclusive: Technically the member function 'obj_writer_t::name_from_next_node' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:139:27: note: Technically the member function 'obj_writer_t::name_from_next_node' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:40:14: note: Technically the member function 'obj_writer_t::name_from_next_node' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:41:14: performance:inconclusive: Technically the member function 'obj_writer_t::node_writer_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:180:27: note: Technically the member function 'obj_writer_t::node_writer_name' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:41:14: note: Technically the member function 'obj_writer_t::node_writer_name' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:47:7: performance:inconclusive: Technically the member function 'obj_writer_t::write_head' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/obj_writer.cc:62:20: note: Technically the member function 'obj_writer_t::write_head' can be static (but you may consider moving to unnamed namespace). descriptor/writer/obj_writer.h:47:7: note: Technically the member function 'obj_writer_t::write_head' can be static (but you may consider moving to unnamed namespace). tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < obj_type , obj_writer_t * , inthash_tpl < obj_type > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < obj_writer_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < obj_writer_t * >::node_t::operatordelete' can be const. [functionConst] descriptor/writer/obj_writer.cc:114:2: portability: %lu in format string (no. 1) requires 'unsigned long' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_uint] descriptor/writer/obj_writer.cc:83:61: style: C-style pointer casting [cstyleCast] descriptor/writer/obj_writer.cc:108:50: style: C-style pointer casting [cstyleCast] descriptor/writer/obj_writer.cc:141:14: style: The scope of the variable 'ret' can be reduced. [variableScope] descriptor/writer/obj_writer.cc:102:16: style: Variable 'writer' can be declared as pointer to const [constVariablePointer] descriptor/writer/obj_writer.cc:185:16: style: Variable 'writer' can be declared as pointer to const [constVariablePointer] descriptor/writer/skin_writer.cc:31:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable debuglevel [valueFlowBailoutIncompleteVar] descriptor/writer/text_writer.cc:12:37: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/text_writer.h:32:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/text_writer.cc:12:37: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/root_writer.h:30:7: performance:inconclusive: Technically the member function 'root_writer_t::write_header' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/root_writer.cc:19:21: note: Technically the member function 'root_writer_t::write_header' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.h:30:7: note: Technically the member function 'root_writer_t::write_header' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.h:31:7: performance:inconclusive: Technically the member function 'root_writer_t::write_obj_node_info_t' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/root_writer.cc:126:21: note: Technically the member function 'root_writer_t::write_obj_node_info_t' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.h:31:7: note: Technically the member function 'root_writer_t::write_obj_node_info_t' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.h:57:7: performance:inconclusive: Technically the member function 'root_writer_t::expand_dat' can be static (but you may consider moving to unnamed namespace). [functionStatic] descriptor/writer/root_writer.cc:493:21: note: Technically the member function 'root_writer_t::expand_dat' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.h:57:7: note: Technically the member function 'root_writer_t::expand_dat' can be static (but you may consider moving to unnamed namespace). descriptor/writer/root_writer.cc:169:4: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] descriptor/writer/root_writer.cc:212:4: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] descriptor/writer/root_writer.cc:435:89: style: C-style pointer casting [cstyleCast] descriptor/writer/root_writer.cc:34:39: style:inconclusive: Function 'write' argument 1 names different: declaration 'name' definition 'filename'. [funcArgNamesDifferent] descriptor/writer/root_writer.h:41:25: note: Function 'write' argument 1 names different: declaration 'name' definition 'filename'. descriptor/writer/root_writer.cc:34:39: note: Function 'write' argument 1 names different: declaration 'name' definition 'filename'. descriptor/writer/root_writer.cc:469:74: style:inconclusive: Function 'copy_nodes' argument 3 names different: declaration 'info' definition 'start'. [funcArgNamesDifferent] descriptor/writer/root_writer.h:29:60: note: Function 'copy_nodes' argument 3 names different: declaration 'info' definition 'start'. descriptor/writer/root_writer.cc:469:74: note: Function 'copy_nodes' argument 3 names different: declaration 'info' definition 'start'. descriptor/writer/root_writer.cc:493:44: style:inconclusive: Function 'expand_dat' argument 1 names different: declaration 'name' definition 'filename'. [funcArgNamesDifferent] descriptor/writer/root_writer.h:57:30: note: Function 'expand_dat' argument 1 names different: declaration 'name' definition 'filename'. descriptor/writer/root_writer.cc:493:44: note: Function 'expand_dat' argument 1 names different: declaration 'name' definition 'filename'. descriptor/writer/root_writer.cc:65:3: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:61:12: note: Shadowed declaration descriptor/writer/root_writer.cc:65:3: note: Shadow variable descriptor/writer/root_writer.cc:192:4: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:182:11: note: Shadowed declaration descriptor/writer/root_writer.cc:192:4: note: Shadow variable descriptor/writer/root_writer.cc:245:4: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:235:11: note: Shadowed declaration descriptor/writer/root_writer.cc:245:4: note: Shadow variable descriptor/writer/root_writer.cc:330:4: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:322:12: note: Shadowed declaration descriptor/writer/root_writer.cc:330:4: note: Shadow variable descriptor/writer/root_writer.cc:452:21: style: Local variable 'root' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:380:20: note: Shadowed declaration descriptor/writer/root_writer.cc:452:21: note: Shadow variable descriptor/writer/root_writer.cc:521:3: style: Local variable 'i' shadows outer variable [shadowVariable] descriptor/writer/root_writer.cc:516:12: note: Shadowed declaration descriptor/writer/root_writer.cc:521:3: note: Shadow variable descriptor/writer/root_writer.cc:469:74: style: Parameter 'start' can be declared as reference to const [constParameterReference] descriptor/writer/root_writer.cc:79:15: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] descriptor/writer/root_writer.cc:535:15: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] descriptor/writer/skin_writer.cc:32:4: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] descriptor/writer/tree_writer.cc:46:4: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] descriptor/writer/tunnel_writer.cc:93:13: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/tunnel_writer.cc:45:9: note: Shadowed declaration descriptor/writer/tunnel_writer.cc:93:13: note: Shadow variable descriptor/writer/xref_writer.cc:12:37: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/xref_writer.h:31:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/xref_writer.cc:12:37: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/way_obj_writer.cc:22:40: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/way_obj_writer.h:27:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/way_obj_writer.cc:22:40: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. display/font.cc:196:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable advance [valueFlowBailoutIncompleteVar] display/font.cc:398:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] display/font.cc:460:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable advance [valueFlowBailoutIncompleteVar] display/font.cc:524:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable advance [valueFlowBailoutIncompleteVar] display/font.cc:541:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable width [valueFlowBailoutIncompleteVar] display/font.cc:554:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable yoff [valueFlowBailoutIncompleteVar] display/font.cc:567:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bitmap [valueFlowBailoutIncompleteVar] display/font.cc:475:36: style: Array index 'start_h' is used before limits check. [arrayIndexThenCheck] display/font.h:89:7: style: Unused private function: 'font_t::print_debug' [unusedPrivateFunction] display/font.cc:187:4: portability: %d in format string (no. 1) requires 'int *' but the argument type is 'uint32 * {aka unsigned int *}'. [invalidScanfArgType_int] display/font.cc:169:34: style:inconclusive: Function 'load_from_bdf' argument 1 names different: declaration 'fin' definition 'bdf_file'. [funcArgNamesDifferent] display/font.h:79:27: note: Function 'load_from_bdf' argument 1 names different: declaration 'fin' definition 'bdf_file'. display/font.cc:169:34: note: Function 'load_from_bdf' argument 1 names different: declaration 'fin' definition 'bdf_file'. display/font.cc:386:41: style:inconclusive: Function 'load_from_file' argument 1 names different: declaration 'fname' definition 'srcfilename'. [funcArgNamesDifferent] display/font.h:52:34: note: Function 'load_from_file' argument 1 names different: declaration 'fname' definition 'srcfilename'. display/font.cc:386:41: note: Function 'load_from_file' argument 1 names different: declaration 'fname' definition 'srcfilename'. display/font.cc:430:34: style:inconclusive: Function 'load_from_fnt' argument 1 names different: declaration 'fin' definition 'f'. [funcArgNamesDifferent] display/font.h:82:27: note: Function 'load_from_fnt' argument 1 names different: declaration 'fin' definition 'f'. display/font.cc:430:34: note: Function 'load_from_fnt' argument 1 names different: declaration 'fin' definition 'f'. descriptor/writer/vehicle_writer.cc:252:12: style: Local variable 'freight' shadows outer variable [shadowVariable] descriptor/writer/vehicle_writer.cc:193:14: note: Shadowed declaration descriptor/writer/vehicle_writer.cc:252:12: note: Shadow variable descriptor/writer/vehicle_writer.cc:363:7: style: Variable 'pos' is assigned a value that is never used. [unreadVariable] descriptor/writer/way_writer.cc:23:36: style:inconclusive: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. [funcArgNamesDifferent] descriptor/writer/way_writer.h:27:23: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/way_writer.cc:23:36: note: Function 'write_obj' argument 1 names different: declaration 'fp' definition 'outfp'. descriptor/writer/way_writer.cc:88:10: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:82:9: note: Shadowed declaration descriptor/writer/way_writer.cc:88:10: note: Shadow variable descriptor/writer/way_writer.cc:94:9: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:80:7: note: Shadowed declaration descriptor/writer/way_writer.cc:94:9: note: Shadow variable descriptor/writer/way_writer.cc:99:10: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:94:9: note: Shadowed declaration descriptor/writer/way_writer.cc:99:10: note: Shadow variable descriptor/writer/way_writer.cc:102:12: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:88:10: note: Shadowed declaration descriptor/writer/way_writer.cc:102:12: note: Shadow variable descriptor/writer/way_writer.cc:109:10: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:94:9: note: Shadowed declaration descriptor/writer/way_writer.cc:109:10: note: Shadow variable descriptor/writer/way_writer.cc:112:12: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:88:10: note: Shadowed declaration descriptor/writer/way_writer.cc:112:12: note: Shadow variable descriptor/writer/way_writer.cc:116:10: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:94:9: note: Shadowed declaration descriptor/writer/way_writer.cc:116:10: note: Shadow variable descriptor/writer/way_writer.cc:119:12: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:88:10: note: Shadowed declaration descriptor/writer/way_writer.cc:119:12: note: Shadow variable descriptor/writer/way_writer.cc:128:10: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:94:9: note: Shadowed declaration descriptor/writer/way_writer.cc:128:10: note: Shadow variable descriptor/writer/way_writer.cc:131:12: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:88:10: note: Shadowed declaration descriptor/writer/way_writer.cc:131:12: note: Shadow variable descriptor/writer/way_writer.cc:162:11: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:80:7: note: Shadowed declaration descriptor/writer/way_writer.cc:162:11: note: Shadow variable descriptor/writer/way_writer.cc:165:13: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:82:9: note: Shadowed declaration descriptor/writer/way_writer.cc:165:13: note: Shadow variable descriptor/writer/way_writer.cc:172:11: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:80:7: note: Shadowed declaration descriptor/writer/way_writer.cc:172:11: note: Shadow variable descriptor/writer/way_writer.cc:175:13: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:82:9: note: Shadowed declaration descriptor/writer/way_writer.cc:175:13: note: Shadow variable descriptor/writer/way_writer.cc:179:11: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:80:7: note: Shadowed declaration descriptor/writer/way_writer.cc:179:11: note: Shadow variable descriptor/writer/way_writer.cc:182:13: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:82:9: note: Shadowed declaration descriptor/writer/way_writer.cc:182:13: note: Shadow variable descriptor/writer/way_writer.cc:191:11: style: Local variable 'buf' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:80:7: note: Shadowed declaration descriptor/writer/way_writer.cc:191:11: note: Shadow variable descriptor/writer/way_writer.cc:194:13: style: Local variable 'str' shadows outer variable [shadowVariable] descriptor/writer/way_writer.cc:82:9: note: Shadowed declaration descriptor/writer/way_writer.cc:194:13: note: Shadow variable display/viewport.h:136:12: style:inconclusive: Technically the member function 'viewport_t::scale_offset' can be const. [functionConst] display/viewport.cc:64:23: note: Technically the member function 'viewport_t::scale_offset' can be const. display/viewport.h:136:12: note: Technically the member function 'viewport_t::scale_offset' can be const. display/viewport.h:232:10: style:inconclusive: Technically the member function 'viewport_t::get_new_cursor_position' can be const. [functionConst] display/viewport.cc:251:21: note: Technically the member function 'viewport_t::get_new_cursor_position' can be const. display/viewport.h:232:10: note: Technically the member function 'viewport_t::get_new_cursor_position' can be const. finder/placefinder.h:27:9: style:inconclusive: Technically the member function 'pos_list_t::find_best_row' can be const. [functionConst] finder/placefinder.cc:36:20: note: Technically the member function 'pos_list_t::find_best_row' can be const. finder/placefinder.h:27:9: note: Technically the member function 'pos_list_t::find_best_row' can be const. finder/placefinder.h:37:7: style:inconclusive: Technically the member function 'pos_list_t::get_pos' can be const. [functionConst] finder/placefinder.cc:89:18: note: Technically the member function 'pos_list_t::get_pos' can be const. finder/placefinder.h:37:7: note: Technically the member function 'pos_list_t::get_pos' can be const. finder/placefinder.cc:16:2: warning: Class 'pos_list_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] finder/placefinder.cc:16:2: warning: Class 'pos_list_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] finder/placefinder.h:59:7: warning: The class 'pos_list_wh_t' defines member function with name 'restart' also defined in its parent class 'pos_list_t'. [duplInheritedMember] finder/placefinder.cc:27:18: note: Parent function 'pos_list_t::restart' finder/placefinder.h:59:7: note: Derived function 'pos_list_wh_t::restart' display/viewport.cc:71:47: style:inconclusive: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. [funcArgNamesDifferent] display/viewport.h:171:36: note: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. display/viewport.cc:71:47: note: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. display/viewport.cc:71:62: style:inconclusive: Function 'change_world_position' argument 2 names different: declaration 'x' definition 'new_xoff'. [funcArgNamesDifferent] display/viewport.h:171:47: note: Function 'change_world_position' argument 2 names different: declaration 'x' definition 'new_xoff'. display/viewport.cc:71:62: note: Function 'change_world_position' argument 2 names different: declaration 'x' definition 'new_xoff'. display/viewport.cc:71:79: style:inconclusive: Function 'change_world_position' argument 3 names different: declaration 'y' definition 'new_yoff'. [funcArgNamesDifferent] display/viewport.h:171:59: note: Function 'change_world_position' argument 3 names different: declaration 'y' definition 'new_yoff'. display/viewport.cc:71:79: note: Function 'change_world_position' argument 3 names different: declaration 'y' definition 'new_yoff'. display/viewport.cc:104:56: style:inconclusive: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. [funcArgNamesDifferent] display/viewport.h:176:45: note: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. display/viewport.cc:104:56: note: Function 'change_world_position' argument 1 names different: declaration 'ij' definition 'new_ij'. finder/placefinder.cc:13:31: style:inconclusive: Function 'pos_list_t' argument 1 names different: declaration 'max_xy' definition 'max_radius'. [funcArgNamesDifferent] finder/placefinder.h:33:20: note: Function 'pos_list_t' argument 1 names different: declaration 'max_xy' definition 'max_radius'. finder/placefinder.cc:13:31: note: Function 'pos_list_t' argument 1 names different: declaration 'max_xy' definition 'max_radius'. display/simview.h:40:7: performance:inconclusive: Technically the member function 'main_view_t::display' can be static (but you may consider moving to unnamed namespace). [functionStatic] display/simview.cc:95:19: note: Technically the member function 'main_view_t::display' can be static (but you may consider moving to unnamed namespace). display/simview.h:40:7: note: Technically the member function 'main_view_t::display' can be static (but you may consider moving to unnamed namespace). display/simview.h:79:7: performance:inconclusive: Technically the member function 'main_view_t::display_background' can be static (but you may consider moving to unnamed namespace). [functionStatic] display/simview.cc:594:19: note: Technically the member function 'main_view_t::display_background' can be static (but you may consider moving to unnamed namespace). display/simview.h:79:7: note: Technically the member function 'main_view_t::display_background' can be static (but you may consider moving to unnamed namespace). display/simview.h:33:2: style: Class 'main_view_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] display/simview.cc:32:13: warning: Either the condition 'welt' is redundant or there is possible null pointer dereference: welt. [nullPointerRedundantCheck] display/simview.cc:33:9: note: Assuming that condition 'welt' is not redundant display/simview.cc:32:13: note: Null pointer dereference display/simview.cc:95:32: style:inconclusive: Function 'display' argument 1 names different: declaration 'dirty' definition 'force_dirty'. [funcArgNamesDifferent] display/simview.h:40:20: note: Function 'display' argument 1 names different: declaration 'dirty' definition 'force_dirty'. display/simview.cc:95:32: note: Function 'display' argument 1 names different: declaration 'dirty' definition 'force_dirty'. player/ai_scripted.h:52:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AI_SCRIPTED [valueFlowBailoutIncompleteVar] player/ai.h:23:2: style: Class 'ai_building_place_with_road_finder' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/ai.h:43:2: style: Class 'ai_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/ai_option_t.h:33:2: style: Class 'ai_option_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obj/simobj.h:273:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dirty [valueFlowBailoutIncompleteVar] gui/savegame_frame.h:145:9: style:inconclusive: Technically the member function 'savegame_frame_t::get_entries_count' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < dir_entry_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < dir_entry_t >::node_t::operatordelete' can be const. [functionConst] gui/ai_selector.h:46:2: style: Class 'ai_selector_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/ai_scripted.h:35:2: style: Class 'ai_scripted_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/savegame_frame.h:140:11: style: The destructor '~savegame_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/savegame_frame.h:140:11: note: Destructor in derived class player/ai_scripted.h:37:3: style: The destructor '~ai_scripted_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] player/simplay.h:259:11: note: Virtual destructor in base class player/ai_scripted.h:37:3: note: Destructor in derived class gui/ai_selector.cc:59:49: style:inconclusive: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. [funcArgNamesDifferent] gui/ai_selector.h:35:35: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. gui/ai_selector.cc:59:49: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. freight_list_sorter.cc:106:10: style: Condition 'sum>max_display' is always true [knownConditionTrueFalse] freight_list_sorter.cc:131:18: style: C-style pointer casting [cstyleCast] gui/base_info.cc:18:2: style: Class 'gui_textarea_with_embedded_element_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/base_info.cc:47:33: warning: Either the condition 'embedded' is redundant or there is possible null pointer dereference: embedded. [nullPointerRedundantCheck] gui/base_info.cc:49:8: note: Assuming that condition 'embedded' is not redundant gui/base_info.cc:47:33: note: Null pointer dereference gui/baum_edit.cc:74:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/baum_edit.cc:75:15: debug: Failed to instantiate template "new_component_span". The checking continues anyway. [templateInstantiation] gui/banner.h:41:14: performance:inconclusive: Technically the member function 'banner_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , sve_info_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/banner.h:41:14: warning: The class 'banner_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/banner.h:41:14: note: Derived function 'banner_t::get_name' gui/loadsave_frame.h:59:2: style: Class 'loadsave_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/loadsave_frame.h:64:3: style: The destructor '~loadsave_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/savegame_frame.h:140:11: note: Virtual destructor in base class gui/loadsave_frame.h:64:3: note: Destructor in derived class gui/banner.cc:202:41: style: Modulo of one is always equal to zero [moduloofone] gui/city_info.cc:56:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/city_info.cc:117:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/city_info.cc:257:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/city_info.cc:328:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/citybuilding_edit.cc:118:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] display/simgraph16.cc:1084:22: warning: The 2nd memset() argument '0xFFFFFFFF' doesn't fit into an 'unsigned char'. [memsetValueOutOfRange] display/simgraph16.cc:91:1: style: The class 'clip_line_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] gui/city_info.cc:42:2: warning: Member variable 'gui_city_minimap_t::pax_destinations_last_change' is not initialized in the constructor. [uninitMemberVar] gui/city_info.cc:46:3: performance: Variable 'minimaps_size' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] display/simgraph16.cc:5193:18: style: Condition 'testval==0' is always false [knownConditionTrueFalse] display/simgraph16.cc:5190:28: note: Assignment 'testval=~((~(0xFFFFFFFF<<(x1&31)))|tile_dirty_old[word_x1])', assigned value is greater than 0 display/simgraph16.cc:5193:18: note: Condition 'testval==0' is always false display/simgraph16.cc:1347:31: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1522:49: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1523:59: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1815:11: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1817:21: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1876:39: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1878:27: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:2123:12: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:2587:20: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:2597:11: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4148:17: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4152:8: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4275:29: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4284:29: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4315:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4411:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4430:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4455:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4569:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:4575:0: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:5349:15: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:5350:19: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:5475:17: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:5476:21: style: C-style pointer casting [cstyleCast] display/simgraph16.cc:1281:22: style: Redundant initialization for 'runlen'. The initialized value is overwritten before it is read. [redundantInitialization] display/simgraph16.cc:1253:18: note: runlen is initialized display/simgraph16.cc:1281:22: note: runlen is overwritten display/simgraph16.cc:1318:22: style: Redundant initialization for 'runlen'. The initialized value is overwritten before it is read. [redundantInitialization] display/simgraph16.cc:1290:18: note: runlen is initialized display/simgraph16.cc:1318:22: note: runlen is overwritten display/simgraph16.cc:129:4: style:inconclusive: Found duplicate branches for 'if' and 'else'. [duplicateBranch] display/simgraph16.cc:132:4: note: Found duplicate branches for 'if' and 'else'. display/simgraph16.cc:129:4: note: Found duplicate branches for 'if' and 'else'. gui/components/gui_chart.h:86:6: style:inconclusive: Technically the member function 'gui_chart_t::get_curve_count' can be const. [functionConst] gui/city_info.cc:38:7: style:inconclusive: Technically the member function 'gui_city_minimap_t::init_pax_dest' can be const. [functionConst] gui/city_info.cc:326:26: note: Technically the member function 'gui_city_minimap_t::init_pax_dest' can be const. gui/city_info.cc:38:7: note: Technically the member function 'gui_city_minimap_t::init_pax_dest' can be const. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < curve_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < curve_t >::node_t::operatordelete' can be const. [functionConst] gui/city_info.h:59:2: style: Class 'city_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/city_info.cc:42:2: style: Class 'gui_city_minimap_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/city_info.h:61:11: style: The destructor '~city_info_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/city_info.h:61:11: note: Destructor in derived class gui/city_info.cc:391:14: style: The scope of the variable 'param' can be reduced. [variableScope] gui/city_info.cc:365:17: style: Variable 'c' can be declared as pointer to const [constVariablePointer] gui/baum_edit.h:47:14: performance:inconclusive: Technically the member function 'baum_edit_frame_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/baum_edit.h:34:7: style: Virtual function 'fill_list' is called from constructor 'baum_edit_frame_t(player_t*player_)' at line 64. Dynamic binding is not used. [virtualCallInConstructor] gui/baum_edit.cc:64:2: note: Calling fill_list gui/baum_edit.h:34:7: note: fill_list is a virtual function gui/baum_edit.h:47:14: warning: The class 'baum_edit_frame_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/baum_edit.h:47:14: note: Derived function 'baum_edit_frame_t::get_name' gui/components/gui_building.h:28:2: style: Class 'gui_building_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/extend_edit.h:43:2: style: Class 'gui_rotation_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/extend_edit.h:60:2: style: Class 'gui_climates_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/extend_edit.h:90:2: style: Class 'gui_sorting_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/baum_edit.h:39:2: style: Class 'baum_edit_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_building.h:30:3: style: The destructor '~gui_building_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_component.h:62:11: note: Virtual destructor in base class gui/components/gui_building.h:30:3: note: Destructor in derived class display/simgraph16.cc:925:24: style:inconclusive: Function 'add_poly_clip' argument 1 names different: declaration 'x0_' definition 'x0'. [funcArgNamesDifferent] display/simgraph.h:106:24: note: Function 'add_poly_clip' argument 1 names different: declaration 'x0_' definition 'x0'. display/simgraph16.cc:925:24: note: Function 'add_poly_clip' argument 1 names different: declaration 'x0_' definition 'x0'. display/simgraph16.cc:925:31: style:inconclusive: Function 'add_poly_clip' argument 2 names different: declaration 'y0_' definition 'y0'. [funcArgNamesDifferent] display/simgraph.h:106:32: note: Function 'add_poly_clip' argument 2 names different: declaration 'y0_' definition 'y0'. display/simgraph16.cc:925:31: note: Function 'add_poly_clip' argument 2 names different: declaration 'y0_' definition 'y0'. display/simgraph16.cc:1091:59: style:inconclusive: Function 'display_mark_img_dirty' argument 2 names different: declaration 'x' definition 'xp'. [funcArgNamesDifferent] display/simgraph.h:153:60: note: Function 'display_mark_img_dirty' argument 2 names different: declaration 'x' definition 'xp'. display/simgraph16.cc:1091:59: note: Function 'display_mark_img_dirty' argument 2 names different: declaration 'x' definition 'xp'. display/simgraph16.cc:1091:77: style:inconclusive: Function 'display_mark_img_dirty' argument 3 names different: declaration 'y' definition 'yp'. [funcArgNamesDifferent] display/simgraph.h:153:77: note: Function 'display_mark_img_dirty' argument 3 names different: declaration 'y' definition 'yp'. display/simgraph16.cc:1091:77: note: Function 'display_mark_img_dirty' argument 3 names different: declaration 'y' definition 'yp'. display/simgraph16.cc:2654:88: style:inconclusive: Function 'display_img_aux' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. [funcArgNamesDifferent] display/simgraph.h:179:94: note: Function 'display_img_aux' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. display/simgraph16.cc:2654:88: note: Function 'display_img_aux' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. display/simgraph16.cc:2986:84: style:inconclusive: Function 'display_color_img' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. [funcArgNamesDifferent] display/simgraph.h:195:96: note: Function 'display_color_img' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. display/simgraph16.cc:2986:84: note: Function 'display_color_img' argument 4 names different: declaration 'player_nr' definition 'player_nr_raw'. display/simgraph16.cc:3405:104: style:inconclusive: Function 'display_blend_wh_rgb' argument 5 names different: declaration 'color' definition 'colval'. [funcArgNamesDifferent] display/simgraph.h:250:104: note: Function 'display_blend_wh_rgb' argument 5 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:3405:104: note: Function 'display_blend_wh_rgb' argument 5 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4207:104: style:inconclusive: Function 'display_vline_wh_clip_rgb' argument 4 names different: declaration 'c' definition 'color'. [funcArgNamesDifferent] display/simgraph.h:256:92: note: Function 'display_vline_wh_clip_rgb' argument 4 names different: declaration 'c' definition 'color'. display/simgraph16.cc:4207:104: note: Function 'display_vline_wh_clip_rgb' argument 4 names different: declaration 'c' definition 'color'. display/simgraph16.cc:4754:91: style:inconclusive: Function 'display_ddd_proportional_clip' argument 3 names different: declaration 'ddd_farbe' definition 'ddd_color'. [funcArgNamesDifferent] display/simgraph.h:338:91: note: Function 'display_ddd_proportional_clip' argument 3 names different: declaration 'ddd_farbe' definition 'ddd_color'. display/simgraph16.cc:4754:91: note: Function 'display_ddd_proportional_clip' argument 3 names different: declaration 'ddd_farbe' definition 'ddd_color'. display/simgraph16.cc:4754:117: style:inconclusive: Function 'display_ddd_proportional_clip' argument 4 names different: declaration 'text_farbe' definition 'text_color'. [funcArgNamesDifferent] display/simgraph.h:338:117: note: Function 'display_ddd_proportional_clip' argument 4 names different: declaration 'text_farbe' definition 'text_color'. display/simgraph16.cc:4754:117: note: Function 'display_ddd_proportional_clip' argument 4 names different: declaration 'text_farbe' definition 'text_color'. display/simgraph16.cc:4779:78: style:inconclusive: Function 'display_multiline_text_rgb' argument 3 names different: declaration 'inbuf' definition 'buf'. [funcArgNamesDifferent] display/simgraph.h:341:78: note: Function 'display_multiline_text_rgb' argument 3 names different: declaration 'inbuf' definition 'buf'. display/simgraph16.cc:4779:78: note: Function 'display_multiline_text_rgb' argument 3 names different: declaration 'inbuf' definition 'buf'. display/simgraph16.cc:4805:137: style:inconclusive: Function 'display_direct_line_rgb' argument 5 names different: declaration 'color' definition 'colval'. [funcArgNamesDifferent] display/simgraph.h:344:137: note: Function 'display_direct_line_rgb' argument 5 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4805:137: note: Function 'display_direct_line_rgb' argument 5 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4838:200: style:inconclusive: Function 'display_direct_line_dotted_rgb' argument 7 names different: declaration 'color' definition 'colval'. [funcArgNamesDifferent] display/simgraph.h:345:200: note: Function 'display_direct_line_dotted_rgb' argument 7 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4838:200: note: Function 'display_direct_line_dotted_rgb' argument 7 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4885:88: style:inconclusive: Function 'display_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. [funcArgNamesDifferent] display/simgraph.h:346:88: note: Function 'display_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4885:88: note: Function 'display_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4925:95: style:inconclusive: Function 'display_filled_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. [funcArgNamesDifferent] display/simgraph.h:347:95: note: Function 'display_filled_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:4925:95: note: Function 'display_filled_circle_rgb' argument 4 names different: declaration 'color' definition 'colval'. display/simgraph16.cc:5309:49: style:inconclusive: Function 'simgraph_init' argument 2 names different: declaration 'fullscreen' definition 'full_screen'. [funcArgNamesDifferent] display/simgraph.h:131:49: note: Function 'simgraph_init' argument 2 names different: declaration 'fullscreen' definition 'full_screen'. display/simgraph16.cc:5309:49: note: Function 'simgraph_init' argument 2 names different: declaration 'fullscreen' definition 'full_screen'. display/simgraph16.cc:1264:15: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:1264:15: note: Shadow variable display/simgraph16.cc:1301:15: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:1301:15: note: Shadow variable display/simgraph16.cc:1575:14: style: Local variable 'p1' shadows outer variable [shadowVariable] display/simgraph16.cc:1564:13: note: Shadowed declaration display/simgraph16.cc:1575:14: note: Shadow variable display/simgraph16.cc:2295:11: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:2295:11: note: Shadow variable display/simgraph16.cc:2381:11: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:2381:11: note: Shadow variable display/simgraph16.cc:3123:15: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:3123:15: note: Shadow variable display/simgraph16.cc:3408:16: style: Local variable 'alpha' shadows outer variable [shadowVariable] display/simgraph16.cc:3517:19: note: Shadowed declaration display/simgraph16.cc:3408:16: note: Shadow variable display/simgraph16.cc:3419:16: style: Local variable 'blend' shadows outer variable [shadowVariable] display/simgraph16.cc:3397:19: note: Shadowed declaration display/simgraph16.cc:3419:16: note: Shadow variable display/simgraph16.cc:4341:19: style: Variable 'gl' can be declared as reference to const [constVariableReference] display/simgraph16.cc:1370:37: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] display/simgraph16.cc:1382:45: style: Parameter 'pab' can be declared as pointer to const [constParameterPointer] display/simgraph16.cc:1382:57: style: Parameter 'prl' can be declared as pointer to const [constParameterPointer] display/simgraph16.cc:1382:69: style: Parameter 'pdia' can be declared as pointer to const [constParameterPointer] display/simgraph16.cc:1817:13: style: Variable 'line' can be declared as pointer to const [constVariablePointer] display/simgraph16.cc:2142:16: style: Variable 'src' can be declared as pointer to const [constVariablePointer] display/simgraph16.cc:2304:12: style: Variable 'trans_rgb' can be declared as pointer to const [constVariablePointer] display/simgraph16.cc:2390:12: style: Variable 'trans_rgb' can be declared as pointer to const [constVariablePointer] gui/citylist_frame_t.cc:118:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/citylist_frame_t.cc:108:7: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/baum_edit.cc:116:49: style:inconclusive: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. [funcArgNamesDifferent] gui/baum_edit.h:36:32: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/baum_edit.cc:116:49: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/climates.cc:64:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/climates.cc:85:19: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/climates.cc:90:18: debug: Failed to instantiate template "new_component_span". The checking continues anyway. [templateInstantiation] gui/citybuilding_edit.cc:141:48: style:inconclusive: Boolean expression 'bt_timeline.pressed' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] gui/citylist_stats_t.cc:94:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_BY_NAME [valueFlowBailoutIncompleteVar] gui/citylist_frame_t.cc:198:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/citybuilding_edit.h:50:14: performance:inconclusive: Technically the member function 'citybuilding_edit_frame_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/citybuilding_edit.h:36:7: style: Virtual function 'fill_list' is called from constructor 'citybuilding_edit_frame_t(player_t*player)' at line 133. Dynamic binding is not used. [virtualCallInConstructor] gui/citybuilding_edit.cc:133:2: note: Calling fill_list gui/citybuilding_edit.h:36:7: note: fill_list is a virtual function gui/citybuilding_edit.h:50:14: warning: The class 'citybuilding_edit_frame_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/citybuilding_edit.h:50:14: note: Derived function 'citybuilding_edit_frame_t::get_name' gui/citybuilding_edit.h:42:2: style: Class 'citybuilding_edit_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/citybuilding_edit.cc:94:64: style:inconclusive: Function 'citybuilding_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. [funcArgNamesDifferent] gui/citybuilding_edit.h:42:38: note: Function 'citybuilding_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/citybuilding_edit.cc:94:64: note: Function 'citybuilding_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/citybuilding_edit.cc:233:57: style:inconclusive: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. [funcArgNamesDifferent] gui/citybuilding_edit.h:39:32: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/citybuilding_edit.cc:233:57: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/citybuilding_edit.cc:168:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/citybuilding_edit.h:28:25: note: Shadowed declaration gui/citybuilding_edit.cc:168:3: note: Shadow variable gui/citybuilding_edit.cc:174:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/citybuilding_edit.h:28:25: note: Shadowed declaration gui/citybuilding_edit.cc:174:3: note: Shadow variable gui/citybuilding_edit.cc:180:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/citybuilding_edit.h:28:25: note: Shadowed declaration gui/citybuilding_edit.cc:180:3: note: Shadow variable gui/citylist_stats_t.h:42:2: style: Class 'citylist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/citylist_stats_t.cc:80:55: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/citylist_stats_t.h:51:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/citylist_stats_t.cc:80:55: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/citylist_stats_t.cc:80:82: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/citylist_stats_t.h:51:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/citylist_stats_t.cc:80:82: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/components/gui_aligned_container.cc:224:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_aligned_container.cc:356:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_aligned_container.cc:390:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/climates.h:65:2: style: Class 'climate_gui_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/welt.h:94:3: style: Class 'welt_gui_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_aligned_container.cc:44:49: style:inconclusive: Function 'set_size' argument 1 names different: declaration 'size' definition 'new_size'. [funcArgNamesDifferent] gui/components/gui_aligned_container.h:153:25: note: Function 'set_size' argument 1 names different: declaration 'size' definition 'new_size'. gui/components/gui_aligned_container.cc:44:49: note: Function 'set_size' argument 1 names different: declaration 'size' definition 'new_size'. gui/components/gui_aligned_container.cc:236:21: style: Variable 'comp' can be declared as pointer to const [constVariablePointer] gui/climates.cc:81:31: style: Same expression on both sides of '-'. [duplicateExpression] gui/climates.cc:225:30: style: Same expression on both sides of '-'. [duplicateExpression] gui/climates.cc:240:30: style: Same expression on both sides of '-'. [duplicateExpression] gui/climates.cc:283:28: style: Same expression on both sides of '-'. [duplicateExpression] gui/citylist_frame_t.cc:87:2: style: Class 'playername_const_scroll_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/citylist_frame_t.cc:234:101: style: C-style pointer casting [cstyleCast] gui/components/gui_colorbox.cc:13:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_colorbox.cc:19:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_colorbox.cc:25:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_colorbox.cc:33:70: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_colorbox.cc:13:2: performance: Variable 'max_size' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_colorbox.h:22:2: style: Class 'gui_colorbox_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_button.cc:58:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable posbutton [valueFlowBailoutIncompleteVar] gui/components/gui_button.cc:81:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_button.cc:182:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_button.cc:222:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_button.cc:296:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable posbutton [valueFlowBailoutIncompleteVar] gui/components/gui_button.cc:429:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_combobox.cc:144:91: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_combobox.cc:365:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_combobox.cc:388:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_combobox.cc:401:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_combobox.cc:299:30: style: C-style pointer casting [cstyleCast] gui/components/gui_combobox.cc:316:30: style: C-style pointer casting [cstyleCast] gui/components/gui_combobox.cc:200:38: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/components/gui_combobox.cc:234:37: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/components/gui_chart.cc:29:14: warning: Member variable 'gui_chart_t::y_elements' is not initialized in the constructor. [uninitMemberVar] gui/components/gui_chart.cc:32:2: performance: Variable 'tooltipcoord' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_chart.cc:38:2: performance: Variable 'min_size' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_chart.h:69:7: style:inconclusive: Technically the member function 'gui_chart_t::hide_curve' can be const. [functionConst] gui/components/gui_chart.cc:83:19: note: Technically the member function 'gui_chart_t::hide_curve' can be const. gui/components/gui_chart.h:69:7: note: Technically the member function 'gui_chart_t::hide_curve' can be const. gui/components/gui_chart.h:74:7: style:inconclusive: Technically the member function 'gui_chart_t::show_curve' can be const. [functionConst] gui/components/gui_chart.cc:91:19: note: Technically the member function 'gui_chart_t::show_curve' can be const. gui/components/gui_chart.h:74:7: note: Technically the member function 'gui_chart_t::show_curve' can be const. gui/components/gui_chart.h:88:11: style: The function 'get_max_size' overrides a function in a base class but is identical to the overridden function [uselessOverride] gui/components/gui_component.h:145:19: note: Virtual function in base class gui/components/gui_chart.h:88:11: note: Function in derived class gui/components/gui_chart.cc:113:9: style: The scope of the variable 'last_year' can be reduced. [variableScope] gui/components/gui_chart.cc:113:22: style: The scope of the variable 'tmp' can be reduced. [variableScope] gui/components/gui_chart.cc:255:9: style: The scope of the variable 'tmp' can be reduced. [variableScope] gui/components/gui_chart.cc:253:102: style:inconclusive: Function 'calc_gui_chart_values' argument 5 names different: declaration 'precision' definition 'maximum_axis_len'. [funcArgNamesDifferent] gui/components/gui_chart.h:94:82: note: Function 'calc_gui_chart_values' argument 5 names different: declaration 'precision' definition 'maximum_axis_len'. gui/components/gui_chart.cc:253:102: note: Function 'calc_gui_chart_values' argument 5 names different: declaration 'precision' definition 'maximum_axis_len'. gui/components/gui_chart.cc:256:9: style: Local variable 'min' shadows outer function [shadowFunction] simtypes.h:205:19: note: Shadowed declaration gui/components/gui_chart.cc:256:9: note: Shadow variable gui/components/gui_chart.cc:256:18: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration gui/components/gui_chart.cc:256:18: note: Shadow variable gui/components/gui_chart.cc:113:25: style: Variable 'tmp' is assigned a value that is never used. [unreadVariable] gui/components/gui_chart.cc:248:16: style: Variable 'tmp' is assigned a value that is never used. [unreadVariable] gui/components/gui_chart.cc:255:12: style: Variable 'tmp' is assigned a value that is never used. [unreadVariable] gui/components/gui_button.h:107:7: performance:inconclusive: Technically the member function 'button_t::draw_focus_rect' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/components/gui_button.cc:322:16: note: Technically the member function 'button_t::draw_focus_rect' can be static (but you may consider moving to unnamed namespace). gui/components/gui_button.h:107:7: note: Technically the member function 'button_t::draw_focus_rect' can be static (but you may consider moving to unnamed namespace). gui/components/gui_button.cc:71:34: style:inconclusive: Function 'set_typ' argument 1 names different: declaration 'typ' definition 't'. [funcArgNamesDifferent] gui/components/gui_button.h:126:25: note: Function 'set_typ' argument 1 names different: declaration 'typ' definition 't'. gui/components/gui_button.cc:71:34: note: Function 'set_typ' argument 1 names different: declaration 'typ' definition 't'. gui/components/gui_button.cc:230:41: style:inconclusive: Function 'set_tooltip' argument 1 names different: declaration 'tooltip' definition 't'. [funcArgNamesDifferent] gui/components/gui_button.h:153:32: note: Function 'set_tooltip' argument 1 names different: declaration 'tooltip' definition 't'. gui/components/gui_button.cc:230:41: note: Function 'set_tooltip' argument 1 names different: declaration 'tooltip' definition 't'. gui/components/gui_button.cc:341:9: style: Local variable 'text_color' shadows outer variable [shadowVariable] gui/components/gui_button.h:115:9: note: Shadowed declaration gui/components/gui_button.cc:341:9: note: Shadow variable gui/components/gui_button.cc:441:11: style: Local variable 'offset' shadows outer argument [shadowArgument] gui/components/gui_button.cc:334:31: note: Shadowed declaration gui/components/gui_button.cc:441:11: note: Shadow variable gui/components/gui_button.cc:443:20: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/components/gui_component.cc:13:50: style: Parameter 'component_par' can be declared as pointer to const [constParameterPointer] gui/components/gui_divider.cc:25:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_container.cc:308:51: style:inconclusive: Function 'set_focus' argument 1 names different: declaration 'comp_focus' definition 'c'. [funcArgNamesDifferent] gui/components/gui_container.h:75:35: note: Function 'set_focus' argument 1 names different: declaration 'comp_focus' definition 'c'. gui/components/gui_container.cc:308:51: note: Function 'set_focus' argument 1 names different: declaration 'comp_focus' definition 'c'. gui/components/gui_flowtext.cc:56:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_image.cc:14:2: performance: Variable 'remove_offset' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_image.h:29:8: style: Virtual function 'set_size' is called from constructor 'gui_image_t(const int i=((int)' at line 16. Dynamic binding is not used. [virtualCallInConstructor] gui/components/gui_image.cc:16:2: note: Calling set_image gui/components/gui_image.cc:68:2: note: Calling set_size gui/components/gui_image.h:29:8: note: set_size is a virtual function gui/components/gui_image.cc:9:100: style:inconclusive: Function 'gui_image_t' argument 4 names different: declaration 'remove_offset' definition 'remove_offset_enabled'. [funcArgNamesDifferent] gui/components/gui_image.h:28:114: note: Function 'gui_image_t' argument 4 names different: declaration 'remove_offset' definition 'remove_offset_enabled'. gui/components/gui_image.cc:9:100: note: Function 'gui_image_t' argument 4 names different: declaration 'remove_offset' definition 'remove_offset_enabled'. gui/components/gui_fixedwidth_textarea.h:51:11: style: The function 'get_max_size' overrides a function in a base class but is identical to the overridden function [uselessOverride] gui/components/gui_component.h:145:19: note: Virtual function in base class gui/components/gui_fixedwidth_textarea.h:51:11: note: Function in derived class gui/components/gui_fixedwidth_textarea.cc:90:32: style: Condition '*text!='\0'' is always true [knownConditionTrueFalse] gui/components/gui_fixedwidth_textarea.cc:86:6: warning: Either the condition 'text!=NULL' is redundant or there is possible null pointer dereference: text. [nullPointerRedundantCheck] gui/components/gui_fixedwidth_textarea.cc:90:13: note: Assuming that condition 'text!=NULL' is not redundant gui/components/gui_fixedwidth_textarea.cc:86:6: note: Null pointer dereference gui/components/gui_fixedwidth_textarea.cc:80:19: style: C-style pointer casting [cstyleCast] gui/components/gui_fixedwidth_textarea.cc:164:67: style: C-style pointer casting [cstyleCast] gui/components/gui_fixedwidth_textarea.cc:152:12: style: Variable 'line_end' is reassigned a value before the old one has been used. [redundantAssignment] gui/components/gui_fixedwidth_textarea.cc:126:14: note: line_end is assigned gui/components/gui_fixedwidth_textarea.cc:152:12: note: line_end is overwritten gui/components/gui_fixedwidth_textarea.cc:87:17: style: The scope of the variable 'new_lines' can be reduced. [variableScope] gui/components/gui_fixedwidth_textarea.cc:15:65: style:inconclusive: Function 'gui_fixedwidth_textarea_t' argument 1 names different: declaration 'buf' definition 'buf_'. [funcArgNamesDifferent] gui/components/gui_fixedwidth_textarea.h:37:39: note: Function 'gui_fixedwidth_textarea_t' argument 1 names different: declaration 'buf' definition 'buf_'. gui/components/gui_fixedwidth_textarea.cc:15:65: note: Function 'gui_fixedwidth_textarea_t' argument 1 names different: declaration 'buf' definition 'buf_'. gui/components/gui_fixedwidth_textarea.cc:91:16: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/components/gui_fixedwidth_textarea.h:26:13: note: Shadowed declaration gui/components/gui_fixedwidth_textarea.cc:91:16: note: Shadow variable gui/components/gui_image_list.cc:77:6: style: The scope of the variable 'xpos' can be reduced. [variableScope] gui/components/gui_image_list.cc:78:6: style: The scope of the variable 'ypos' can be reduced. [variableScope] gui/components/gui_image_list.cc:66:39: style:inconclusive: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. [funcArgNamesDifferent] gui/components/gui_image_list.h:91:22: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. gui/components/gui_image_list.cc:66:39: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. gui/components/gui_label.cc:33:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_label.cc:41:90: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_label.cc:46:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable left [valueFlowBailoutIncompleteVar] gui/components/gui_label.cc:117:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable left [valueFlowBailoutIncompleteVar] gui/components/gui_label.cc:27:23: style: C-style pointer casting [cstyleCast] gui/components/gui_label.cc:146:34: style: C-style pointer casting [cstyleCast] gui/components/gui_label.cc:19:51: style:inconclusive: Function 'gui_label_t' argument 2 names different: declaration 'color' definition 'color_'. [funcArgNamesDifferent] gui/components/gui_label.h:49:44: note: Function 'gui_label_t' argument 2 names different: declaration 'color' definition 'color_'. gui/components/gui_label.cc:19:51: note: Function 'gui_label_t' argument 2 names different: declaration 'color' definition 'color_'. gui/components/gui_label.cc:19:67: style:inconclusive: Function 'gui_label_t' argument 3 names different: declaration 'align' definition 'align_'. [funcArgNamesDifferent] gui/components/gui_label.h:49:71: note: Function 'gui_label_t' argument 3 names different: declaration 'align' definition 'align_'. gui/components/gui_label.cc:19:67: note: Function 'gui_label_t' argument 3 names different: declaration 'align' definition 'align_'. gui/components/gui_label.cc:61:48: style:inconclusive: Function 'set_text_pointer' argument 1 names different: declaration 'text' definition 'text_par'. [funcArgNamesDifferent] gui/components/gui_label.h:66:36: note: Function 'set_text_pointer' argument 1 names different: declaration 'text' definition 'text_par'. gui/components/gui_label.cc:61:48: note: Function 'set_text_pointer' argument 1 names different: declaration 'text' definition 'text_par'. gui/components/gui_convoiinfo.h:38:2: style: Class 'gui_convoiinfo_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_convoiinfo.cc:31:2: style: Class 'gui_convoi_images_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_numberinput.cc:42:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_numberinput.cc:51:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_numberinput.cc:63:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_convoiinfo.cc:170:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/components/gui_convoiinfo.cc:174:21: style: Variable 'pl' can be declared as pointer to const [constVariablePointer] gui/components/gui_numberinput.h:28:7: style:inconclusive: Technically the member function 'gui_numberinput_t::check_value' can be const. [functionConst] gui/components/gui_numberinput.cc:100:25: note: Technically the member function 'gui_numberinput_t::check_value' can be const. gui/components/gui_numberinput.h:28:7: note: Technically the member function 'gui_numberinput_t::check_value' can be const. gui/components/gui_numberinput.h:35:9: style:inconclusive: Technically the member function 'gui_numberinput_t::get_next_value' can be const. [functionConst] gui/components/gui_numberinput.cc:143:27: note: Technically the member function 'gui_numberinput_t::get_next_value' can be const. gui/components/gui_numberinput.h:35:9: note: Technically the member function 'gui_numberinput_t::get_next_value' can be const. gui/components/gui_numberinput.h:77:9: style:inconclusive: Technically the member function 'gui_numberinput_t::get_value' can be const. [functionConst] gui/components/gui_numberinput.cc:93:27: note: Technically the member function 'gui_numberinput_t::get_value' can be const. gui/components/gui_numberinput.h:77:9: note: Technically the member function 'gui_numberinput_t::get_value' can be const. gui/components/gui_numberinput.h:68:7: style: Virtual function 'set_size' is called from constructor 'gui_numberinput_t()' at line 42. Dynamic binding is not used. [virtualCallInConstructor] gui/components/gui_numberinput.cc:42:2: note: Calling set_size gui/components/gui_numberinput.h:68:7: note: set_size is a virtual function gui/components/gui_numberinput.cc:45:43: style:inconclusive: Function 'set_size' argument 1 names different: declaration 'size' definition 'size_par'. [funcArgNamesDifferent] gui/components/gui_numberinput.h:68:25: note: Function 'set_size' argument 1 names different: declaration 'size' definition 'size_par'. gui/components/gui_numberinput.cc:45:43: note: Function 'set_size' argument 1 names different: declaration 'size' definition 'size_par'. gui/components/gui_numberinput.cc:232:101: style:inconclusive: Function 'init' argument 6 names different: declaration 'digits' definition 'digits_'. [funcArgNamesDifferent] gui/components/gui_numberinput.h:71:93: note: Function 'init' argument 6 names different: declaration 'digits' definition 'digits_'. gui/components/gui_numberinput.cc:232:101: note: Function 'init' argument 6 names different: declaration 'digits' definition 'digits_'. gui/components/gui_numberinput.cc:163:26: portability: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour [shiftTooManyBitsSigned] gui/components/gui_numberinput.cc:162:20: note: Assuming that condition 'i<32' is not redundant gui/components/gui_numberinput.cc:163:26: note: Shift gui/components/gui_schedule.cc:402:11: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/components/gui_scrollbar.cc:30:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrollbar.cc:64:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrollbar.cc:82:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_scrollbar.cc:106:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_obj_view_t.h:41:7: style: Virtual function 'set_size' is called from constructor 'obj_view_t(const obj_t*d,const scr_size size)' at line 15. Dynamic binding is not used. [virtualCallInConstructor] gui/components/gui_obj_view_t.cc:15:2: note: Calling set_size gui/components/gui_obj_view_t.h:41:7: note: set_size is a virtual function gui/components/gui_obj_view_t.h:26:2: style: Class 'obj_view_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_scrollbar.cc:159:6: style: The scope of the variable 'i' can be reduced. [variableScope] gui/components/gui_scrollbar.cc:90:35: style:inconclusive: Function 'set_knob' argument 1 names different: declaration 'knob_size' definition 'new_visible_size'. [funcArgNamesDifferent] gui/components/gui_scrollbar.h:83:23: note: Function 'set_knob' argument 1 names different: declaration 'knob_size' definition 'new_visible_size'. gui/components/gui_scrollbar.cc:90:35: note: Function 'set_knob' argument 1 names different: declaration 'knob_size' definition 'new_visible_size'. gui/components/gui_scrollbar.cc:90:60: style:inconclusive: Function 'set_knob' argument 2 names different: declaration 'total_size' definition 'new_total_size'. [funcArgNamesDifferent] gui/components/gui_scrollbar.h:83:41: note: Function 'set_knob' argument 2 names different: declaration 'total_size' definition 'new_total_size'. gui/components/gui_scrollbar.cc:90:60: note: Function 'set_knob' argument 2 names different: declaration 'total_size' definition 'new_total_size'. gui/components/gui_scrollbar.cc:144:33: style:inconclusive: Function 'scroll' argument 1 names different: declaration 'amout_to_scroll' definition 'updown'. [funcArgNamesDifferent] gui/components/gui_scrollbar.h:68:22: note: Function 'scroll' argument 1 names different: declaration 'amout_to_scroll' definition 'updown'. gui/components/gui_scrollbar.cc:144:33: note: Function 'scroll' argument 1 names different: declaration 'amout_to_scroll' definition 'updown'. gui/components/gui_scrollbar.cc:246:34: style:inconclusive: Function 'draw' argument 1 names different: declaration 'pos' definition 'pos_par'. [funcArgNamesDifferent] gui/components/gui_scrollbar.h:95:22: note: Function 'draw' argument 1 names different: declaration 'pos' definition 'pos_par'. gui/components/gui_scrollbar.cc:246:34: note: Function 'draw' argument 1 names different: declaration 'pos' definition 'pos_par'. gui/components/gui_scrollpane.cc:27:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrollpane.cc:59:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_scrollpane.cc:193:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrollpane.cc:241:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_scrolled_list.cc:34:105: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrolled_list.cc:47:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrolled_list.cc:174:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_scrolled_list.h:106:7: style:inconclusive: Technically the member function 'gui_scrolled_list_t::calc_selection' can be const. [functionConst] gui/components/gui_scrolled_list.cc:225:27: note: Technically the member function 'gui_scrolled_list_t::calc_selection' can be const. gui/components/gui_scrolled_list.h:106:7: note: Technically the member function 'gui_scrolled_list_t::calc_selection' can be const. gui/components/gui_scrolled_list.cc:87:46: style:inconclusive: Function 'show_selection' argument 1 names different: declaration 's' definition 'sel'. [funcArgNamesDifferent] gui/components/gui_scrolled_list.h:126:26: note: Function 'show_selection' argument 1 names different: declaration 's' definition 'sel'. gui/components/gui_scrolled_list.cc:87:46: note: Function 'show_selection' argument 1 names different: declaration 's' definition 'sel'. gui/components/gui_scrolled_list.cc:283:42: style:inconclusive: Function 'draw' argument 1 names different: declaration 'pos' definition 'offset'. [funcArgNamesDifferent] gui/components/gui_scrolled_list.h:169:22: note: Function 'draw' argument 1 names different: declaration 'pos' definition 'offset'. gui/components/gui_scrolled_list.cc:283:42: note: Function 'draw' argument 1 names different: declaration 'pos' definition 'offset'. gui/components/gui_scrolled_list.cc:225:100: performance: Function parameter 'ev' should be passed by const reference. [passedByValue] gui/components/gui_scrolled_list.cc:130:17: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/components/gui_scrolled_list.cc:286:16: style: Variable 'focus' can be declared as pointer to const [constVariablePointer] gui/components/gui_scrollpane.cc:33:2: performance: Variable 'old_comp_size' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_scrollpane.h:124:11: style: The function 'get_max_size' overrides a function in a base class but just delegates back to the base class. [uselessOverride] gui/components/gui_component.h:145:19: note: Virtual function in base class gui/components/gui_scrollpane.h:124:11: note: Function in derived class gui/components/gui_scrollpane.cc:253:39: style:inconclusive: Function 'draw' argument 1 names different: declaration 'offset' definition 'pos'. [funcArgNamesDifferent] gui/components/gui_scrollpane.h:91:22: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'pos'. gui/components/gui_scrollpane.cc:253:39: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'pos'. gui/components/gui_scrollpane.cc:156:20: style: Variable 'focused' can be declared as pointer to const [constVariablePointer] gui/components/gui_schedule.cc:263:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/components/gui_schedule.cc:301:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/components/gui_schedule.cc:562:64: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/components/gui_schedule.cc:627:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable minimum_loading [valueFlowBailoutIncompleteVar] gui/components/gui_speedbar.cc:35:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_speedbar.cc:135:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_speedbar.cc:140:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_speedbar.cc:102:9: style: The scope of the variable 'col' can be reduced. [variableScope] gui/components/gui_textarea.cc:58:15: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/components/gui_textarea.h:23:13: note: Shadowed declaration gui/components/gui_textarea.cc:58:15: note: Shadow variable gui/components/gui_textarea.cc:94:15: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/components/gui_textarea.h:23:13: note: Shadowed declaration gui/components/gui_textarea.cc:94:15: note: Shadow variable gui/components/gui_tab_panel.cc:76:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_tab_panel.cc:131:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_tab_panel.cc:186:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_schedule.cc:738:2: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] gui/components/gui_schedule.cc:208:2: warning: Member variable 'schedule_gui_stats_t::player' is not initialized in the constructor. [uninitMemberVar] gui/components/gui_schedule.cc:67:3: performance: Variable 'entry' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_textinput.cc:35:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_textinput.cc:41:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/components/gui_schedule.h:95:7: style: Virtual function 'set_size' is called from constructor 'gui_schedule_t()' at line 461. Dynamic binding is not used. [virtualCallInConstructor] gui/components/gui_schedule.cc:461:2: note: Calling set_size gui/components/gui_schedule.h:95:7: note: set_size is a virtual function gui/components/gui_timeinput.h:34:2: style: Class 'gui_timeinput_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_schedule.h:86:11: style: The destructor '~gui_schedule_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_aligned_container.h:65:3: note: Virtual destructor in base class gui/components/gui_schedule.h:86:11: note: Destructor in derived class gui/components/gui_schedule.cc:218:3: style: The destructor '~schedule_gui_stats_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_aligned_container.h:65:3: note: Virtual destructor in base class gui/components/gui_schedule.cc:218:3: note: Destructor in derived class gui/components/gui_schedule.cc:529:52: style: C-style pointer casting [cstyleCast] gui/components/gui_schedule.cc:535:70: style: C-style pointer casting [cstyleCast] gui/components/gui_schedule.cc:540:70: style: C-style pointer casting [cstyleCast] gui/components/gui_schedule.cc:696:7: style: The scope of the variable 'idx' can be reduced. [variableScope] gui/components/gui_schedule.cc:472:39: style:inconclusive: Function 'init' argument 1 names different: declaration 'schedule' definition 'schedule_'. [funcArgNamesDifferent] gui/components/gui_schedule.h:84:24: note: Function 'init' argument 1 names different: declaration 'schedule' definition 'schedule_'. gui/components/gui_schedule.cc:472:39: note: Function 'init' argument 1 names different: declaration 'schedule' definition 'schedule_'. gui/components/gui_schedule.cc:738:7: style: Variable 'size' is assigned a value that is never used. [unreadVariable] gui/components/gui_tab_panel.cc:132:7: style: The scope of the variable 'k' can be reduced. [variableScope] gui/components/gui_tab_panel.cc:199:6: style: The scope of the variable 'i' can be reduced. [variableScope] gui/components/gui_tab_panel.cc:259:7: style: The scope of the variable 'i' can be reduced. [variableScope] gui/components/gui_tab_panel.cc:35:88: style:inconclusive: Function 'add_tab' argument 3 names different: declaration 'b' definition 'desc'. [funcArgNamesDifferent] gui/components/gui_tab_panel.h:58:72: note: Function 'add_tab' argument 3 names different: declaration 'b' definition 'desc'. gui/components/gui_tab_panel.cc:35:88: note: Function 'add_tab' argument 3 names different: declaration 'b' definition 'desc'. gui/components/gui_tab_panel.cc:176:38: style:inconclusive: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. [funcArgNamesDifferent] gui/components/gui_tab_panel.h:75:22: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. gui/components/gui_tab_panel.cc:176:38: note: Function 'draw' argument 1 names different: declaration 'offset' definition 'parent_pos'. gui/components/gui_tab_panel.cc:258:7: style: Local variable 'text_x' shadows outer variable [shadowVariable] gui/components/gui_tab_panel.cc:190:6: note: Shadowed declaration gui/components/gui_tab_panel.cc:258:7: note: Shadow variable gui/components/gui_tab_panel.cc:259:7: style: Local variable 'i' shadows outer variable [shadowVariable] gui/components/gui_tab_panel.cc:199:6: note: Shadowed declaration gui/components/gui_tab_panel.cc:259:7: note: Shadow variable gui/components/gui_flowtext.cc:108:2: performance: Variable 'last_offset' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/components/gui_flowtext.cc:44:11: style:inconclusive: Technically the member function 'gui_flowtext_intern_t::get_preferred_size' can be const. [functionConst] gui/components/gui_flowtext.cc:331:33: note: Technically the member function 'gui_flowtext_intern_t::get_preferred_size' can be const. gui/components/gui_flowtext.cc:44:11: note: Technically the member function 'gui_flowtext_intern_t::get_preferred_size' can be const. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < hyperlink_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < hyperlink_t >::node_t::operatordelete' can be const. [functionConst] gui/components/gui_flowtext.cc:561:2: warning: Class 'gui_flowtext_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] gui/components/gui_flowtext.cc:561:2: warning: Class 'gui_flowtext_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] gui/components/gui_flowtext.cc:89:3: style: Struct 'hyperlink_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/components/gui_flowtext.cc:126:31: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:127:31: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:147:19: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:212:21: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:238:22: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:279:19: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:528:0: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:536:0: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:541:0: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:546:0: style: C-style pointer casting [cstyleCast] gui/components/gui_flowtext.cc:362:6: style: The scope of the variable 'xpos' can be reduced. [variableScope] gui/components/gui_flowtext.cc:366:7: style: The scope of the variable 'double_it' can be reduced. [variableScope] gui/components/gui_flowtext.cc:367:7: style: The scope of the variable 'link_it' can be reduced. [variableScope] gui/components/gui_flowtext.cc:368:6: style: The scope of the variable 'extra_pixel' can be reduced. [variableScope] gui/components/gui_flowtext.cc:369:6: style: The scope of the variable 'last_link_x' can be reduced. [variableScope] gui/components/gui_flowtext.cc:356:50: style:inconclusive: Function 'output' argument 1 names different: declaration 'pos' definition 'offset'. [funcArgNamesDifferent] gui/components/gui_flowtext.cc:59:28: note: Function 'output' argument 1 names different: declaration 'pos' definition 'offset'. gui/components/gui_flowtext.cc:356:50: note: Function 'output' argument 1 names different: declaration 'pos' definition 'offset'. gui/components/gui_flowtext.cc:415:20: style: Local variable 'width' shadows outer variable [shadowVariable] gui/components/gui_flowtext.cc:358:12: note: Shadowed declaration gui/components/gui_flowtext.cc:415:20: note: Shadow variable gui/components/gui_flowtext.cc:124:17: style: Variable 'att' is assigned a value that is never used. [unreadVariable] gui/components/gui_textinput.cc:96:24: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:311:40: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:360:15: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:382:25: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:688:0: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:689:0: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:694:0: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:697:0: style: C-style pointer casting [cstyleCast] gui/components/gui_textinput.cc:87:53: style:inconclusive: Function 'set_composition_status' argument 1 names different: declaration 'composition' definition 'c'. [funcArgNamesDifferent] gui/components/gui_textinput.h:99:37: note: Function 'set_composition_status' argument 1 names different: declaration 'composition' definition 'c'. gui/components/gui_textinput.cc:87:53: note: Function 'set_composition_status' argument 1 names different: declaration 'composition' definition 'c'. gui/components/gui_textinput.cc:87:60: style:inconclusive: Function 'set_composition_status' argument 2 names different: declaration 'target_start' definition 'start'. [funcArgNamesDifferent] gui/components/gui_textinput.h:99:54: note: Function 'set_composition_status' argument 2 names different: declaration 'target_start' definition 'start'. gui/components/gui_textinput.cc:87:60: note: Function 'set_composition_status' argument 2 names different: declaration 'target_start' definition 'start'. gui/components/gui_textinput.cc:87:71: style:inconclusive: Function 'set_composition_status' argument 3 names different: declaration 'target_length' definition 'length'. [funcArgNamesDifferent] gui/components/gui_textinput.h:99:72: note: Function 'set_composition_status' argument 3 names different: declaration 'target_length' definition 'length'. gui/components/gui_textinput.cc:87:71: note: Function 'set_composition_status' argument 3 names different: declaration 'target_length' definition 'length'. gui/convoi_filter_frame.cc:104:34: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/components/gui_waytype_tab_panel.h:23:2: warning: Member variable 'gui_waytype_tab_panel_t::tabs_to_waytype' is not initialized in the constructor. [uninitMemberVar] gui/convoi_filter_frame.cc:87:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/components/gui_waytype_tab_panel.h:23:30: style: Instance of 'gui_tab_panel_t' object is destroyed immediately. [unusedScopedObject] gui/components/gui_world_view_t.h:87:7: style: Virtual function 'set_size' is called from constructor 'world_view_t(scr_size size)' at line 39. Dynamic binding is not used. [virtualCallInConstructor] gui/components/gui_world_view_t.cc:39:2: note: Calling set_size gui/components/gui_world_view_t.h:87:7: note: set_size is a virtual function gui/convoi_frame.cc:221:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/components/gui_world_view_t.cc:167:12: style: Local variable 'kb' shadows outer variable [shadowVariable] gui/components/gui_world_view_t.cc:98:23: note: Shadowed declaration gui/components/gui_world_view_t.cc:167:12: note: Shadow variable gui/components/gui_world_view_t.cc:197:25: style: Local variable 'kb' shadows outer variable [shadowVariable] gui/components/gui_world_view_t.cc:98:23: note: Shadowed declaration gui/components/gui_world_view_t.cc:197:25: note: Shadow variable gui/convoi_filter_frame.h:58:7: performance:inconclusive: Technically the member function 'convoi_filter_frame_t::get_filter' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/convoi_filter_frame.h:59:7: performance:inconclusive: Technically the member function 'convoi_filter_frame_t::set_filter' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/convoi_frame.h:66:7: performance:inconclusive: Technically the member function 'convoi_frame_t::get_filter' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/convoi_frame.h:67:7: performance:inconclusive: Technically the member function 'convoi_frame_t::set_filter' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < ware_item_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < ware_item_t * >::node_t::operatordelete' can be const. [functionConst] gui/convoi_frame.h:99:3: style: The destructor '~convoi_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/convoi_frame.h:99:3: note: Destructor in derived class gui/convoi_filter_frame.cc:43:80: style:inconclusive: Function 'convoi_filter_frame_t' argument 2 names different: declaration 'parent' definition 'm'. [funcArgNamesDifferent] gui/convoi_filter_frame.h:119:58: note: Function 'convoi_filter_frame_t' argument 2 names different: declaration 'parent' definition 'm'. gui/convoi_filter_frame.cc:43:80: note: Function 'convoi_filter_frame_t' argument 2 names different: declaration 'parent' definition 'm'. gui/convoi_detail_t.h:43:2: style: Class 'convoi_detail_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/convoi_frame.cc:251:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/curiosity_edit.cc:114:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/convoi_info_t.cc:260:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/convoi_info_t.cc:473:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/convoi_info_t.cc:583:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/convoy_item.h:21:129: performance: Variable 'cnv' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/convoi_frame.h:67:7: style: Unused private function: 'convoi_frame_t::set_filter' [unusedPrivateFunction] gui/convoy_item.h:21:2: style: Class 'convoy_scrollitem_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/convoi_frame.cc:67:2: style: Class 'gui_scrolled_convoy_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/curiositylist_frame_t.cc:52:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/curiositylist_frame_t.cc:55:17: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/line_item.h:40:174: performance: Variable 'line' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/convoi_info_t.h:150:7: performance:inconclusive: Technically the member function 'convoi_info_t::route_search_finished' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/convoi_info_t.h:114:2: style: Class 'convoi_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/line_item.h:40:2: style: Class 'line_scrollitem_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/line_management_gui.h:75:2: style: Class 'line_management_gui_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/convoi_info_t.h:116:11: style: The destructor '~convoi_info_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/convoi_info_t.h:116:11: note: Destructor in derived class gui/curiositylist_frame_t.cc:87:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/curiosity_edit.cc:139:48: style:inconclusive: Boolean expression 'bt_timeline.pressed' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] gui/convoi_info_t.cc:77:55: style:inconclusive: Function 'convoi_info_t' argument 2 names different: declaration 'change_schedule' definition 'edit_schedule'. [funcArgNamesDifferent] gui/convoi_info_t.h:114:60: note: Function 'convoi_info_t' argument 2 names different: declaration 'change_schedule' definition 'edit_schedule'. gui/convoi_info_t.cc:77:55: note: Function 'convoi_info_t' argument 2 names different: declaration 'change_schedule' definition 'edit_schedule'. gui/convoi_info_t.cc:473:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/convoi_info_t.cc:526:26: style: Variable 'li' can be declared as pointer to const [constVariablePointer] gui/convoi_info_t.cc:583:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/convoi_info_t.cc:621:28: style: Variable 'li' can be declared as pointer to const [constVariablePointer] gui/curiositylist_stats_t.cc:70:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/curiosity_edit.h:46:14: performance:inconclusive: Technically the member function 'curiosity_edit_frame_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/curiosity_edit.h:32:7: style: Virtual function 'fill_list' is called from constructor 'curiosity_edit_frame_t(player_t*player)' at line 129. Dynamic binding is not used. [virtualCallInConstructor] gui/curiosity_edit.cc:129:2: note: Calling fill_list gui/curiosity_edit.h:32:7: note: fill_list is a virtual function gui/curiosity_edit.h:46:14: warning: The class 'curiosity_edit_frame_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/curiosity_edit.h:46:14: note: Derived function 'curiosity_edit_frame_t::get_name' gui/curiosity_edit.h:38:2: style: Class 'curiosity_edit_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/curiosity_edit.cc:91:58: style:inconclusive: Function 'curiosity_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. [funcArgNamesDifferent] gui/curiosity_edit.h:38:35: note: Function 'curiosity_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/curiosity_edit.cc:91:58: note: Function 'curiosity_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/curiosity_edit.cc:227:54: style:inconclusive: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. [funcArgNamesDifferent] gui/curiosity_edit.h:35:32: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/curiosity_edit.cc:227:54: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/curiosity_edit.cc:164:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/curiosity_edit.h:24:25: note: Shadowed declaration gui/curiosity_edit.cc:164:3: note: Shadow variable gui/curiosity_edit.cc:170:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/curiosity_edit.h:24:25: note: Shadowed declaration gui/curiosity_edit.cc:170:3: note: Shadow variable gui/curiosity_edit.cc:176:3: style: Local variable 'desc' shadows outer variable [shadowVariable] gui/curiosity_edit.h:24:25: note: Shadowed declaration gui/curiosity_edit.cc:176:3: note: Shadow variable gui/curiositylist_stats_t.h:39:2: style: Class 'curiositylist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/curiositylist_frame_t.cc:30:2: style: Class 'playername_const_scroll_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/curiositylist_frame_t.cc:98:100: style: C-style pointer casting [cstyleCast] gui/curiositylist_frame_t.cc:107:20: style: Local variable 'pl' shadows outer variable [shadowVariable] gui/curiositylist_frame_t.cc:98:12: note: Shadowed declaration gui/curiositylist_frame_t.cc:107:20: note: Shadow variable gui/curiositylist_stats_t.cc:145:29: style:inconclusive: Boolean expression 'mail' is used in bitwise operation. Did you mean '&&'? [bitwiseOnBoolean] gui/curiositylist_stats_t.h:41:14: style: Virtual function 'get_text' is called from constructor 'curiositylist_stats_t(gebaeude_t*att)' at line 80. Dynamic binding is not used. [virtualCallInConstructor] gui/curiositylist_stats_t.cc:80:29: note: Calling get_text gui/curiositylist_stats_t.h:41:14: note: get_text is a virtual function gui/curiositylist_stats_t.cc:87:31: style: C-style pointer casting [cstyleCast] gui/curiositylist_stats_t.cc:30:60: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/curiositylist_stats_t.h:37:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/curiositylist_stats_t.cc:30:60: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/curiositylist_stats_t.cc:30:87: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/curiositylist_stats_t.h:37:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/curiositylist_stats_t.cc:30:87: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/display_settings.cc:518:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/depotlist_frame.cc:165:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/depotlist_frame.cc:185:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/depot_frame.cc:430:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/enlarge_map_frame_t.cc:46:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/enlarge_map_frame_t.cc:182:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/display_settings.cc:65:2: style: Class 'gui_label_stationname_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/themeselector.h:33:14: style: The function 'get_help_filename' overrides a function in a base class but is identical to the overridden function [uselessOverride] gui/gui_frame.h:148:23: note: Virtual function in base class gui/themeselector.h:33:14: note: Function in derived class gui/depotlist_frame.h:37:2: style: Class 'depotlist_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/depotlist_frame.h:64:2: style: Class 'depotlist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/depotlist_frame.cc:126:56: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/depotlist_frame.h:73:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/depotlist_frame.cc:126:56: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/depotlist_frame.cc:126:83: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/depotlist_frame.h:73:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/depotlist_frame.cc:126:83: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/enlarge_map_frame_t.h:58:3: style: The destructor '~enlarge_map_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/enlarge_map_frame_t.h:58:3: note: Destructor in derived class gui/extend_edit.cc:115:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/extend_edit.cc:138:17: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/extend_edit.cc:116:15: debug: Failed to instantiate template "new_component_span". The checking continues anyway. [templateInstantiation] gui/enlarge_map_frame_t.cc:28:72: warning: Function 'koord_from_rotation' argument order different: declaration ', y, x, w, h' definition 'sets, x, y, w, h' [funcArgOrderDifferent] gui/enlarge_map_frame_t.h:55:0: note: Function 'koord_from_rotation' argument order different: declaration ', y, x, w, h' definition 'sets, x, y, w, h' gui/enlarge_map_frame_t.cc:28:72: note: Function 'koord_from_rotation' argument order different: declaration ', y, x, w, h' definition 'sets, x, y, w, h' gui/extend_edit.cc:79:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/factory_chart.cc:161:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/extend_edit.cc:37:48: style:inconclusive: Function 'gui_climates_item_t' argument 1 names different: declaration 'r' definition 'c'. [funcArgNamesDifferent] gui/extend_edit.h:60:28: note: Function 'gui_climates_item_t' argument 1 names different: declaration 'r' definition 'c'. gui/extend_edit.cc:37:48: note: Function 'gui_climates_item_t' argument 1 names different: declaration 'r' definition 'c'. gui/extend_edit.cc:49:46: style:inconclusive: Function 'gui_sorting_item_t' argument 1 names different: declaration 'r' definition 's'. [funcArgNamesDifferent] gui/extend_edit.h:90:27: note: Function 'gui_sorting_item_t' argument 1 names different: declaration 'r' definition 's'. gui/extend_edit.cc:49:46: note: Function 'gui_sorting_item_t' argument 1 names different: declaration 'r' definition 's'. gui/extend_edit.cc:261:27: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/extend_edit.cc:268:27: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/extend_edit.cc:276:26: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/depot_frame.h:210:7: style: Virtual function 'set_windowsize' is called from constructor 'depot_frame_t(depot_t*depot=NULL)' at line 162. Dynamic binding is not used. [virtualCallInConstructor] gui/depot_frame.cc:162:3: note: Calling init gui/depot_frame.cc:429:2: note: Calling set_windowsize gui/depot_frame.h:210:7: note: set_windowsize is a virtual function gui/schedule_list.h:58:2: style: Class 'schedule_list_gui_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/depot_frame.cc:1385:32: style: C-style pointer casting [cstyleCast] gui/depot_frame.cc:1452:35: style: C-style pointer casting [cstyleCast] gui/depot_frame.cc:500:22: style: The scope of the variable 'freight' can be reduced. [variableScope] gui/depot_frame.cc:876:9: style: The scope of the variable 'total_pax' can be reduced. [variableScope] gui/depot_frame.cc:877:9: style: The scope of the variable 'total_mail' can be reduced. [variableScope] gui/depot_frame.cc:878:9: style: The scope of the variable 'total_goods' can be reduced. [variableScope] gui/depot_frame.cc:880:9: style: The scope of the variable 'total_power' can be reduced. [variableScope] gui/depot_frame.cc:881:9: style: The scope of the variable 'total_empty_weight' can be reduced. [variableScope] gui/depot_frame.cc:882:9: style: The scope of the variable 'total_selected_weight' can be reduced. [variableScope] gui/depot_frame.cc:883:9: style: The scope of the variable 'total_max_weight' can be reduced. [variableScope] gui/depot_frame.cc:884:9: style: The scope of the variable 'total_min_weight' can be reduced. [variableScope] gui/depot_frame.cc:885:7: style: The scope of the variable 'use_sel_weight' can be reduced. [variableScope] gui/depot_frame.cc:1451:9: style: The scope of the variable 'convoi_number' can be reduced. [variableScope] gui/factory_edit.cc:141:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/factory_edit.cc:126:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/depot_frame.cc:166:35: style:inconclusive: Function 'init' argument 1 names different: declaration 'depot' definition 'dep'. [funcArgNamesDifferent] gui/depot_frame.h:189:21: note: Function 'init' argument 1 names different: declaration 'depot' definition 'dep'. gui/depot_frame.cc:166:35: note: Function 'init' argument 1 names different: declaration 'depot' definition 'dep'. gui/depot_frame.cc:471:53: style:inconclusive: Function 'activate_convoi' argument 1 names different: declaration 'cnv' definition 'c'. [funcArgNamesDifferent] gui/depot_frame.h:193:39: note: Function 'activate_convoi' argument 1 names different: declaration 'cnv' definition 'c'. gui/depot_frame.cc:471:53: note: Function 'activate_convoi' argument 1 names different: declaration 'cnv' definition 'c'. gui/depot_frame.cc:916:7: style: Local variable 'i' shadows outer variable [shadowVariable] gui/depot_frame.cc:898:19: note: Shadowed declaration gui/depot_frame.cc:916:7: note: Shadow variable gui/depot_frame.cc:1074:77: style: Parameter 'image_data' can be declared as pointer to const [constParameterPointer] gui/depot_frame.cc:1143:18: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] gui/depot_frame.cc:1234:19: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] gui/depot_frame.cc:1254:23: style: Variable 'item' can be declared as pointer to const [constVariablePointer] gui/depot_frame.cc:1571:19: style: Variable 'old_tab' can be declared as pointer to const [constVariablePointer] gui/depot_frame.cc:1354:7: style: Variable 'cnv' is assigned a value that is never used. [unreadVariable] gui/depot_frame.cc:1451:23: style: Variable 'convoi_number' is assigned a value that is never used. [unreadVariable] gui/factory_chart.h:45:2: style: Class 'factory_chart_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/factory_chart.h:46:11: style: The destructor '~factory_chart_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/components/gui_aligned_container.h:65:3: note: Virtual destructor in base class gui/factory_chart.h:46:11: note: Destructor in derived class gui/factory_chart.cc:164:16: style: Local variable 'input_count' shadows outer variable [shadowVariable] gui/factory_chart.cc:152:15: note: Shadowed declaration gui/factory_chart.cc:164:16: note: Shadow variable gui/factory_chart.cc:165:16: style: Local variable 'output_count' shadows outer variable [shadowVariable] gui/factory_chart.cc:153:15: note: Shadowed declaration gui/factory_chart.cc:165:16: note: Shadow variable gui/fabrik_info.h:75:2: style: Class 'fabrik_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/fabrik_info.h:77:11: style: The destructor '~fabrik_info_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/fabrik_info.h:77:11: note: Destructor in derived class gui/fabrik_info.cc:197:18: style: C-style pointer casting [cstyleCast] gui/factorylist_frame_t.cc:51:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/factorylist_frame_t.cc:54:17: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/fabrik_info.cc:75:40: style:inconclusive: Function 'fabrik_info_t' argument 1 names different: declaration 'fab' definition 'fab_'. [funcArgNamesDifferent] gui/fabrik_info.h:75:26: note: Function 'fabrik_info_t' argument 1 names different: declaration 'fab' definition 'fab_'. gui/fabrik_info.cc:75:40: note: Function 'fabrik_info_t' argument 1 names different: declaration 'fab' definition 'fab_'. gui/fabrik_info.cc:90:36: style:inconclusive: Function 'init' argument 1 names different: declaration 'fab' definition 'fab_'. [funcArgNamesDifferent] gui/fabrik_info.h:79:22: note: Function 'init' argument 1 names different: declaration 'fab' definition 'fab_'. gui/fabrik_info.cc:90:36: note: Function 'init' argument 1 names different: declaration 'fab' definition 'fab_'. gui/fabrik_info.cc:421:5: style: Local variable 'gr' shadows outer variable [shadowVariable] gui/fabrik_info.cc:418:15: note: Shadowed declaration gui/fabrik_info.cc:421:5: note: Shadow variable gui/fabrik_info.cc:423:18: style: Local variable 'gb' shadows outer variable [shadowVariable] gui/fabrik_info.cc:419:19: note: Shadowed declaration gui/fabrik_info.cc:423:18: note: Shadow variable gui/fabrik_info.cc:395:15: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/fabrik_info.cc:419:19: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/goods_frame_t.cc:86:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/factorylist_frame_t.cc:84:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/factorylist_stats_t.cc:32:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/goods_frame_t.cc:106:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/factorylist_stats_t.h:52:2: style: Class 'factorylist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/factorylist_frame_t.cc:28:2: style: Class 'playername_const_scroll_item_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/factory_edit.cc:161:48: style:inconclusive: Boolean expression 'bt_timeline.pressed' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] gui/factorylist_frame_t.cc:137:101: style: C-style pointer casting [cstyleCast] gui/factorylist_stats_t.cc:128:58: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/factorylist_stats_t.h:61:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/factorylist_stats_t.cc:128:58: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/factorylist_stats_t.cc:128:85: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/factorylist_stats_t.h:61:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/factorylist_stats_t.cc:128:85: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/factorylist_stats_t.cc:134:12: style: Variable 'a' can be declared as pointer to const [constVariablePointer] gui/factorylist_stats_t.cc:134:24: style: Variable 'b' can be declared as pointer to const [constVariablePointer] gui/factory_edit.h:55:14: performance:inconclusive: Technically the member function 'factory_edit_frame_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/factory_edit.h:42:7: style: Virtual function 'fill_list' is called from constructor 'factory_edit_frame_t(player_t*player)' at line 150. Dynamic binding is not used. [virtualCallInConstructor] gui/factory_edit.cc:150:2: note: Calling fill_list gui/factory_edit.h:42:7: note: fill_list is a virtual function gui/factory_edit.h:55:14: warning: The class 'factory_edit_frame_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/factory_edit.h:55:14: note: Derived function 'factory_edit_frame_t::get_name' gui/factory_edit.h:47:2: style: Class 'factory_edit_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/groundobj_edit.cc:79:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/groundobj_edit.cc:64:14: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/groundobj_edit.cc:80:15: debug: Failed to instantiate template "new_component_span". The checking continues anyway. [templateInstantiation] gui/factory_edit.cc:110:54: style:inconclusive: Function 'factory_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. [funcArgNamesDifferent] gui/factory_edit.h:47:33: note: Function 'factory_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/factory_edit.cc:110:54: note: Function 'factory_edit_frame_t' argument 1 names different: declaration 'player' definition 'player_'. gui/factory_edit.cc:252:52: style:inconclusive: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. [funcArgNamesDifferent] gui/factory_edit.h:44:32: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/factory_edit.cc:252:52: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/goods_stats_t.cc:30:94: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/ground_info.cc:14:43: style:inconclusive: Function 'grund_info_t' argument 1 names different: declaration 'gr' definition 'gr_'. [funcArgNamesDifferent] gui/ground_info.h:34:30: note: Function 'grund_info_t' argument 1 names different: declaration 'gr' definition 'gr_'. gui/ground_info.cc:14:43: note: Function 'grund_info_t' argument 1 names different: declaration 'gr' definition 'gr_'. gui/gui_frame.cc:170:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable opaque [valueFlowBailoutIncompleteVar] gui/gui_frame.cc:23:14: warning: Member variable 'gui_frame_t::percent_transparent' is not initialized in the constructor. [uninitMemberVar] gui/gui_frame.cc:23:14: warning: Member variable 'gui_frame_t::color_transparent' is not initialized in the constructor. [uninitMemberVar] gui/gui_frame.cc:26:2: performance: Variable 'windowsize' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/gui_frame.cc:44:43: style:inconclusive: Function 'set_windowsize' argument 1 names different: declaration 'size' definition 'new_windowsize'. [funcArgNamesDifferent] gui/gui_frame.h:119:39: note: Function 'set_windowsize' argument 1 names different: declaration 'size' definition 'new_windowsize'. gui/gui_frame.cc:44:43: note: Function 'set_windowsize' argument 1 names different: declaration 'size' definition 'new_windowsize'. gui/halt_list_filter_frame.cc:87:38: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/gui_theme.cc:202:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/gui_theme.cc:321:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/gui_theme.cc:440:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/groundobj_edit.h:45:14: performance:inconclusive: Technically the member function 'groundobj_edit_frame_t::get_name' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/groundobj_edit.h:32:7: style: Virtual function 'fill_list' is called from constructor 'groundobj_edit_frame_t(player_t*player_)' at line 69. Dynamic binding is not used. [virtualCallInConstructor] gui/groundobj_edit.cc:69:2: note: Calling fill_list gui/groundobj_edit.h:32:7: note: fill_list is a virtual function gui/groundobj_edit.h:45:14: warning: The class 'groundobj_edit_frame_t' defines member function with name 'get_name' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:90:14: note: Parent function 'gui_frame_t::get_name' gui/groundobj_edit.h:45:14: note: Derived function 'groundobj_edit_frame_t::get_name' gui/groundobj_edit.h:37:2: style: Class 'groundobj_edit_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_list_filter_frame.cc:80:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/groundobj_edit.cc:121:54: style:inconclusive: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. [funcArgNamesDifferent] gui/groundobj_edit.h:34:32: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/groundobj_edit.cc:121:54: note: Function 'change_item_info' argument 1 names different: declaration 'i' definition 'entry'. gui/gui_theme.cc:225:56: style:inconclusive: Function 'init_size_from_image' argument 1 names different: declaration 'pic' definition 'image'. [funcArgNamesDifferent] gui/gui_theme.h:321:51: note: Function 'init_size_from_image' argument 1 names different: declaration 'pic' definition 'image'. gui/gui_theme.cc:225:56: note: Function 'init_size_from_image' argument 1 names different: declaration 'pic' definition 'image'. gui/gui_theme.cc:383:43: style:inconclusive: Function 'themes_init' argument 1 names different: declaration 'dir_name' definition 'file_name'. [funcArgNamesDifferent] gui/gui_theme.h:330:38: note: Function 'themes_init' argument 1 names different: declaration 'dir_name' definition 'file_name'. gui/gui_theme.cc:383:43: note: Function 'themes_init' argument 1 names different: declaration 'dir_name' definition 'file_name'. gui/gui_theme.cc:383:59: style:inconclusive: Function 'themes_init' argument 2 names different: declaration 'init_font' definition 'init_fonts'. [funcArgNamesDifferent] gui/gui_theme.h:330:52: note: Function 'themes_init' argument 2 names different: declaration 'init_font' definition 'init_fonts'. gui/gui_theme.cc:383:59: note: Function 'themes_init' argument 2 names different: declaration 'init_font' definition 'init_fonts'. gui/halt_info.cc:424:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/halt_info.cc:781:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable waiting_time [valueFlowBailoutIncompleteVar] gui/gui_theme.cc:259:4: style: Variable 'y' is assigned a value that is never used. [unreadVariable] gui/gui_theme.cc:400:25: style: Variable 'theme_name' is assigned a value that is never used. [unreadVariable] gui/halt_list_stats.h:36:2: style: Class 'halt_list_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_list_frame.h:90:3: style: The destructor '~halt_list_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/halt_list_frame.h:90:3: note: Destructor in derived class gui/halt_list_filter_frame.h:108:3: style: The destructor '~halt_list_filter_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/halt_list_filter_frame.h:108:3: note: Destructor in derived class gui/halt_list_frame.cc:142:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/halt_list_frame.cc:166:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/halt_info.cc:256:2: performance: Variable 'halt' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/halt_info.cc:67:9: performance:inconclusive: Technically the member function 'gui_departure_board_t::calc_ticks_until_arrival' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/halt_info.cc:709:31: note: Technically the member function 'gui_departure_board_t::calc_ticks_until_arrival' can be static (but you may consider moving to unnamed namespace). gui/halt_info.cc:67:9: note: Technically the member function 'gui_departure_board_t::calc_ticks_until_arrival' can be static (but you may consider moving to unnamed namespace). tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < quickstone_tpl < haltestelle_t > >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < quickstone_tpl < haltestelle_t > >::node_t::operatordelete' can be const. [functionConst] gui/halt_info.h:39:2: style: Class 'gui_halt_type_images_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.h:92:2: style: Class 'halt_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.cc:175:2: style: Class 'gui_halt_detail_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.cc:103:3: style: Class 'gui_line_button_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.cc:134:3: style: Class 'gui_convoi_button_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.h:94:11: style: The destructor '~halt_info_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/halt_info.h:94:11: note: Destructor in derived class gui/headquarter_info.h:29:2: style: Class 'headquarter_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/halt_info.cc:532:58: style:inconclusive: Function 'update_connections' argument 1 names different: declaration 'h' definition 'halt'. [funcArgNamesDifferent] gui/halt_info.cc:184:39: note: Function 'update_connections' argument 1 names different: declaration 'h' definition 'halt'. gui/halt_info.cc:532:58: note: Function 'update_connections' argument 1 names different: declaration 'h' definition 'halt'. gui/halt_info.cc:688:22: style: Local variable 'lb' shadows outer variable [shadowVariable] gui/halt_info.cc:661:21: note: Shadowed declaration gui/halt_info.cc:688:22: note: Shadow variable gui/halt_info.cc:814:6: style: Variable 'elem' can be declared as reference to const [constVariableReference] gui/halt_info.cc:849:5: style: Variable 'elem' can be declared as reference to const [constVariableReference] gui/halt_info.cc:795:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/headquarter_info.cc:39:15: style: Variable 'hq' can be declared as pointer to const [constVariablePointer] gui/halt_list_stats.cc:54:2: performance: Variable 'halt' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/halt_list_stats.cc:52:51: style:inconclusive: Function 'halt_list_stats_t' argument 1 names different: declaration 'halt_' definition 'h'. [funcArgNamesDifferent] gui/halt_list_stats.h:36:33: note: Function 'halt_list_stats_t' argument 1 names different: declaration 'halt_' definition 'h'. gui/halt_list_stats.cc:52:51: note: Function 'halt_list_stats_t' argument 1 names different: declaration 'halt_' definition 'h'. gui/jump_frame.cc:24:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/help_frame.cc:41:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/help_frame.cc:161:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/help_frame.cc:286:83: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/help_frame.cc:544:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/kennfarbe.cc:25:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/kennfarbe.cc:29:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/labellist_frame_t.cc:43:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/kennfarbe.h:33:3: style: Class 'farbengui_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/kennfarbe.cc:111:14: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/kennfarbe.h:26:13: note: Shadowed declaration gui/kennfarbe.cc:111:14: note: Shadow variable gui/kennfarbe.cc:130:14: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/kennfarbe.h:26:13: note: Shadowed declaration gui/kennfarbe.cc:130:14: note: Shadow variable gui/labellist_frame_t.cc:64:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/help_frame.h:38:14: performance:inconclusive: Technically the member function 'help_frame_t::extract_title' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/help_frame.cc:423:27: note: Technically the member function 'help_frame_t::extract_title' can be static (but you may consider moving to unnamed namespace). gui/help_frame.h:38:14: note: Technically the member function 'help_frame_t::extract_title' can be static (but you may consider moving to unnamed namespace). tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < plainstring >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < plainstring >::node_t::operatordelete' can be const. [functionConst] gui/help_frame.h:49:7: style: Virtual function 'resize' is called from constructor 'help_frame_t()' at line 34. Dynamic binding is not used. [virtualCallInConstructor] gui/help_frame.cc:34:2: note: Calling set_text gui/help_frame.cc:312:2: note: Calling resize gui/help_frame.h:49:7: note: resize is a virtual function gui/help_frame.h:36:2: style: Class 'help_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/label_info.h:30:2: style: Class 'label_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/help_frame.cc:510:12: style: Condition 'mode!=missing' is always true [knownConditionTrueFalse] gui/help_frame.cc:156:4: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:170:27: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:204:10: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:230:18: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:231:17: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:245:11: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:357:30: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:425:24: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:426:22: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:532:17: style: C-style pointer casting [cstyleCast] gui/help_frame.cc:83:7: style: The scope of the variable 'special' can be reduced. [variableScope] gui/help_frame.cc:328:9: style: The scope of the variable 'str' can be reduced. [variableScope] gui/help_frame.cc:427:7: style: The scope of the variable 'convert_to_utf' can be reduced. [variableScope] gui/help_frame.cc:255:42: style:inconclusive: Function 'set_text' argument 1 names different: declaration 'text' definition 'buf'. [funcArgNamesDifferent] gui/help_frame.h:44:29: note: Function 'set_text' argument 1 names different: declaration 'text' definition 'buf'. gui/help_frame.cc:255:42: note: Function 'set_text' argument 1 names different: declaration 'text' definition 'buf'. gui/help_frame.cc:255:52: style:inconclusive: Function 'set_text' argument 2 names different: declaration 'resize' definition 'resize_frame'. [funcArgNamesDifferent] gui/help_frame.h:44:40: note: Function 'set_text' argument 2 names different: declaration 'resize' definition 'resize_frame'. gui/help_frame.cc:255:52: note: Function 'set_text' argument 2 names different: declaration 'resize' definition 'resize_frame'. gui/help_frame.cc:231:11: style: Variable 'src' can be declared as pointer to const [constVariablePointer] gui/label_info.cc:36:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/label_info.cc:58:12: style: Variable 'gd' can be declared as pointer to const [constVariablePointer] gui/labellist_stats_t.h:39:2: style: Class 'labellist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/labellist_frame_t.cc:79:61: style: Condition 'label' is always true [knownConditionTrueFalse] gui/labellist_frame_t.cc:97:61: style: Condition 'label' is always true [knownConditionTrueFalse] gui/load_relief_frame.cc:72:13: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/line_item.cc:100:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_BY_NAME [valueFlowBailoutIncompleteVar] gui/labellist_stats_t.h:52:14: style: Virtual function 'get_text' is called from constructor 'labellist_stats_t(koord label_pos)' at line 75. Dynamic binding is not used. [virtualCallInConstructor] gui/labellist_stats_t.cc:75:53: note: Calling get_text gui/labellist_stats_t.h:52:14: note: get_text is a virtual function gui/labellist_stats_t.cc:24:56: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/labellist_stats_t.h:37:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/labellist_stats_t.cc:24:56: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/labellist_stats_t.cc:24:83: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/labellist_stats_t.h:37:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/labellist_stats_t.cc:24:83: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/labellist_stats_t.cc:107:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/line_management_gui.cc:177:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/line_item.cc:55:14: style: The scope of the variable 'infotext' can be reduced. [variableScope] gui/line_item.cc:88:56: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/line_item.h:47:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/line_item.cc:88:56: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/line_item.cc:88:83: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/line_item.h:47:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/line_item.cc:88:83: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/load_relief_frame.h:37:2: style: Class 'load_relief_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/load_relief_frame.cc:32:2: style: Class 'load_relief_mode_scrollitem_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/loadfont_frame.cc:204:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LI_HEADER [valueFlowBailoutIncompleteVar] gui/loadfont_frame.cc:238:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LI_HEADER [valueFlowBailoutIncompleteVar] gui/load_relief_frame.cc:91:14: style: The scope of the variable 'size' can be reduced. [variableScope] gui/loadfont_frame.cc:67:20: style: C-style pointer casting [cstyleCast] gui/loadfont_frame.cc:45:46: style:inconclusive: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. [funcArgNamesDifferent] gui/loadfont_frame.h:50:32: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadfont_frame.cc:45:46: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadsoundfont_frame.cc:115:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LI_HEADER [valueFlowBailoutIncompleteVar] gui/loadsoundfont_frame.cc:130:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LI_HEADER [valueFlowBailoutIncompleteVar] gui/map_frame.cc:231:19: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/map_frame.cc:357:18: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/loadsoundfont_frame.cc:41:51: style:inconclusive: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. [funcArgNamesDifferent] gui/loadsoundfont_frame.h:29:32: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadsoundfont_frame.cc:41:51: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadsoundfont_frame.cc:66:57: style:inconclusive: Function 'get_info' argument 1 names different: declaration 'fname' definition 'sfname'. [funcArgNamesDifferent] gui/loadsoundfont_frame.h:33:35: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'sfname'. gui/loadsoundfont_frame.cc:66:57: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'sfname'. gui/loadsave_frame.cc:214:18: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] gui/line_management_gui.cc:273:18: style: Local variable 'i' shadows outer variable [shadowVariable] gui/line_management_gui.cc:271:15: note: Shadowed declaration gui/line_management_gui.cc:273:18: note: Shadow variable gui/line_management_gui.cc:226:13: style: Variable 'ap' can be declared as pointer to const [constVariablePointer] gui/loadsave_frame.cc:103:46: style:inconclusive: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. [funcArgNamesDifferent] gui/loadsave_frame.h:44:32: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadsave_frame.cc:103:46: note: Function 'ok_action' argument 1 names different: declaration 'fullpath' definition 'filename'. gui/loadsave_frame.cc:204:9: style: Variable 'key' can be declared as pointer to const [constVariablePointer] gui/loadsave_frame.cc:214:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] gui/loadsave_frame.cc:191:3: performance: Assigning the result of c_str() to a std::string is slow and redundant. [stlcstrAssignment] gui/loadsave_frame.cc:69:19: style: Variable 'start_load' is assigned a value that is never used. [unreadVariable] gui/loadsave_frame.cc:91:19: style: Variable 'start_save' is assigned a value that is never used. [unreadVariable] gui/message_frame_t.cc:102:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/map_frame.cc:67:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/map_frame.cc:72:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/map_frame.cc:78:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/map_frame.cc:104:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/map_frame.cc:161:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/message_option_t.cc:36:28: style: C-style pointer casting [cstyleCast] gui/message_option_t.cc:81:3: style: C-style pointer casting [cstyleCast] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < message_t :: node * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < message_t :: node * >::node_t::operatordelete' can be const. [functionConst] gui/message_frame_t.cc:117:9: style: The scope of the variable 'id' can be reduced. [variableScope] gui/message_frame_t.cc:160:7: style: The scope of the variable 'count' can be reduced. [variableScope] gui/message_stats_t.cc:55:54: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/message_stats_t.h:33:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/message_stats_t.cc:55:54: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/message_stats_t.cc:55:81: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/message_stats_t.h:33:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/message_stats_t.cc:55:81: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/message_frame_t.cc:159:16: style: Local variable 'message_type' shadows outer variable [shadowVariable] gui/message_frame_t.h:36:9: note: Shadowed declaration gui/message_frame_t.cc:159:16: note: Shadow variable gui/map_frame.h:115:7: style: Virtual function 'set_windowsize' is called from constructor 'map_frame_t()' at line 372. Dynamic binding is not used. [virtualCallInConstructor] gui/map_frame.cc:372:2: note: Calling set_windowsize gui/map_frame.h:115:7: note: set_windowsize is a virtual function gui/map_frame.h:34:21: warning: The class 'map_frame_t' defines member variable with name 'welt' also defined in its parent class 'gui_frame_t'. [duplInheritedMember] gui/gui_frame.h:75:21: note: Parent variable 'gui_frame_t::welt' gui/map_frame.h:34:21: note: Derived variable 'map_frame_t::welt' gui/map_frame.cc:50:2: style: Class 'gui_scrollpane_map_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/map_frame.cc:571:29: style:inconclusive: Function 'zoom' argument 1 names different: declaration 'zoom_out' definition 'magnify'. [funcArgNamesDifferent] gui/map_frame.h:87:17: note: Function 'zoom' argument 1 names different: declaration 'zoom_out' definition 'magnify'. gui/map_frame.cc:571:29: note: Function 'zoom' argument 1 names different: declaration 'zoom_out' definition 'magnify'. gui/map_frame.cc:718:18: style: Local variable 'size' shadows outer argument [shadowArgument] gui/map_frame.cc:707:48: note: Shadowed declaration gui/map_frame.cc:718:18: note: Shadow variable gui/money_frame.cc:298:22: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/money_frame.cc:374:36: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/messagebox.cc:17:59: style:inconclusive: Function 'news_window' argument 2 names different: declaration 'color' definition 'title_color'. [funcArgNamesDifferent] gui/messagebox.h:25:47: note: Function 'news_window' argument 2 names different: declaration 'color' definition 'title_color'. gui/messagebox.cc:17:59: note: Function 'news_window' argument 2 names different: declaration 'color' definition 'title_color'. gui/messagebox.cc:60:47: style:inconclusive: Function 'news_img' argument 2 names different: declaration 'image' definition 'id'. [funcArgNamesDifferent] gui/messagebox.h:53:38: note: Function 'news_img' argument 2 names different: declaration 'image' definition 'id'. gui/messagebox.cc:60:47: note: Function 'news_img' argument 2 names different: declaration 'image' definition 'id'. gui/messagebox.cc:73:30: style:inconclusive: Function 'init' argument 1 names different: declaration 'image' definition 'id'. [funcArgNamesDifferent] gui/messagebox.h:56:21: note: Function 'init' argument 1 names different: declaration 'image' definition 'id'. gui/messagebox.cc:73:30: note: Function 'init' argument 1 names different: declaration 'image' definition 'id'. gui/money_frame.cc:405:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/obj_info.h:24:2: style: Class 'obj_infowin_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/pakinstaller.cc:30:8: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/minimap.cc:251:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/minimap.cc:534:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] gui/minimap.cc:982:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/minimap.cc:1030:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] gui/minimap.cc:1046:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAP_TOWN [valueFlowBailoutIncompleteVar] gui/minimap.cc:1235:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/pakinstaller.cc:33:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/pakinstaller.cc:91:20: style: Variable 'retval' is assigned a value that is never used. [unreadVariable] gui/pakinstaller.cc:107:20: style: Variable 'retval' is assigned a value that is never used. [unreadVariable] gui/money_frame.h:59:9: style:inconclusive: Technically the member function 'money_frame_t::get_statistics_value' can be const. [functionConst] gui/money_frame.cc:159:23: note: Technically the member function 'money_frame_t::get_statistics_value' can be const. gui/money_frame.h:59:9: note: Technically the member function 'money_frame_t::get_statistics_value' can be const. gui/money_frame.h:99:7: style: Virtual function 'set_windowsize' is called from constructor 'money_frame_t(player_t*player)' at line 418. Dynamic binding is not used. [virtualCallInConstructor] gui/money_frame.cc:418:2: note: Calling set_windowsize gui/money_frame.h:99:7: note: set_windowsize is a virtual function gui/money_frame.h:85:2: style: Class 'money_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/money_frame.h:87:3: style: The destructor '~money_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/money_frame.h:87:3: note: Destructor in derived class gui/sound_frame.h:45:11: style: The destructor '~sound_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/gui_frame.h:84:11: note: Virtual destructor in base class gui/sound_frame.h:45:11: note: Destructor in derived class gui/money_frame.cc:159:48: style:inconclusive: Function 'get_statistics_value' argument 1 names different: declaration 'transport_type' definition 'tt'. [funcArgNamesDifferent] gui/money_frame.h:59:34: note: Function 'get_statistics_value' argument 1 names different: declaration 'transport_type' definition 'tt'. gui/money_frame.cc:159:48: note: Function 'get_statistics_value' argument 1 names different: declaration 'transport_type' definition 'tt'. gui/pakselector.cc:101:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable compare [valueFlowBailoutIncompleteVar] gui/minimap.cc:1039:12: warning: Member variable 'minimap_t::last_schedule_counter' is not initialized in the constructor. [uninitMemberVarPrivate] gui/minimap.cc:1039:12: warning: Member variable 'minimap_t::pax_destinations_last_change' is not initialized in the constructor. [uninitMemberVarPrivate] gui/minimap.cc:1039:12: warning: Member variable 'minimap_t::player_showed_on_map' is not initialized in the constructor. [uninitMemberVarPrivate] gui/minimap.cc:1039:12: warning: Member variable 'minimap_t::freight_type_group_index_showed_on_map' is not initialized in the constructor. [uninitMemberVarPrivate] gui/minimap.cc:1048:12: performance: Variable 'new_off' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/minimap.h:160:7: style:inconclusive: Technically the member function 'minimap_t::is_matching_freight_catg' can be const. [functionConst] gui/minimap.cc:1786:17: note: Technically the member function 'minimap_t::is_matching_freight_catg' can be const. gui/minimap.h:160:7: note: Technically the member function 'minimap_t::is_matching_freight_catg' can be const. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < int , slist_tpl < schedule_t * > , inthash_tpl < int > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < schedule_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < schedule_t * >::node_t::operatordelete' can be const. [functionConst] gui/minimap.cc:1026:6: style: Condition 'isometric' is always true [knownConditionTrueFalse] gui/minimap.cc:1014:7: note: Assuming that condition '!isometric' is not redundant gui/minimap.cc:1026:6: note: Condition 'isometric' is always true gui/minimap.cc:892:30: style: C-style pointer casting [cstyleCast] gui/minimap.cc:228:42: style: The scope of the variable 'temp_offset' can be reduced. [variableScope] gui/minimap.cc:844:12: style: The scope of the variable 'cargo' can be reduced. [variableScope] gui/minimap.cc:871:12: style: The scope of the variable 'passed' can be reduced. [variableScope] gui/minimap.cc:1356:6: style: The scope of the variable 'offset' can be reduced. [variableScope] gui/minimap.cc:1358:7: style: The scope of the variable 'diagonal' can be reduced. [variableScope] gui/player_frame_t.cc:35:75: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/minimap.cc:580:61: style:inconclusive: Function 'calc_severity_color' argument 2 names different: declaration 'scale' definition 'max_value'. [funcArgNamesDifferent] gui/minimap.h:182:58: note: Function 'calc_severity_color' argument 2 names different: declaration 'scale' definition 'max_value'. gui/minimap.cc:580:61: note: Function 'calc_severity_color' argument 2 names different: declaration 'scale' definition 'max_value'. gui/minimap.cc:591:65: style:inconclusive: Function 'calc_severity_color_log' argument 2 names different: declaration 'scale' definition 'max_value'. [funcArgNamesDifferent] gui/minimap.h:188:62: note: Function 'calc_severity_color_log' argument 2 names different: declaration 'scale' definition 'max_value'. gui/minimap.cc:591:65: note: Function 'calc_severity_color_log' argument 2 names different: declaration 'scale' definition 'max_value'. gui/minimap.cc:615:37: style:inconclusive: Function 'set_map_color' argument 1 names different: declaration 'k' definition 'k_'. [funcArgNamesDifferent] gui/minimap.h:163:27: note: Function 'set_map_color' argument 1 names different: declaration 'k' definition 'k_'. gui/minimap.cc:615:37: note: Function 'set_map_color' argument 1 names different: declaration 'k' definition 'k_'. gui/minimap.cc:664:50: style:inconclusive: Function 'calc_height_color' argument 1 names different: declaration 'height' definition 'hoehe'. [funcArgNamesDifferent] gui/minimap.h:193:47: note: Function 'calc_height_color' argument 1 names different: declaration 'height' definition 'hoehe'. gui/minimap.cc:664:50: note: Function 'calc_height_color' argument 1 names different: declaration 'height' definition 'hoehe'. gui/minimap.cc:1132:64: style:inconclusive: Function 'get_factory_near' argument 2 names different: declaration 'large_area' definition 'enlarge'. [funcArgNamesDifferent] gui/minimap.h:147:51: note: Function 'get_factory_near' argument 2 names different: declaration 'large_area' definition 'enlarge'. gui/minimap.cc:1132:64: note: Function 'get_factory_near' argument 2 names different: declaration 'large_area' definition 'enlarge'. gui/minimap.cc:282:16: style: Local variable 'key' shadows outer variable [shadowVariable] gui/minimap.cc:251:13: note: Shadowed declaration gui/minimap.cc:282:16: note: Shadow variable gui/minimap.cc:284:30: style: Local variable 'pt_list' shadows outer variable [shadowVariable] gui/minimap.cc:254:27: note: Shadowed declaration gui/minimap.cc:284:30: note: Shadow variable gui/minimap.cc:850:19: style: Local variable 'w' shadows outer variable [shadowVariable] gui/minimap.cc:847:18: note: Shadowed declaration gui/minimap.cc:850:19: note: Shadow variable gui/minimap.cc:877:18: style: Local variable 'w' shadows outer variable [shadowVariable] gui/minimap.cc:874:18: note: Shadowed declaration gui/minimap.cc:877:18: note: Shadow variable gui/minimap.cc:1231:10: style: Local variable 'pos' shadows outer argument [shadowArgument] gui/minimap.cc:1186:32: note: Shadowed declaration gui/minimap.cc:1231:10: note: Shadow variable gui/minimap.cc:1231:15: style: Local variable 'min' shadows outer function [shadowFunction] simtypes.h:205:19: note: Shadowed declaration gui/minimap.cc:1231:15: note: Shadow variable gui/minimap.cc:1231:20: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration gui/minimap.cc:1231:20: note: Shadow variable gui/minimap.cc:1747:28: style: Local variable 'fab' shadows outer variable [shadowVariable] gui/minimap.cc:1729:25: note: Shadowed declaration gui/minimap.cc:1747:28: note: Shadow variable gui/minimap.cc:1756:17: style: Local variable 'offset' shadows outer variable [shadowVariable] gui/minimap.cc:1356:6: note: Shadowed declaration gui/minimap.cc:1756:17: note: Shadow variable gui/minimap.cc:713:18: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:714:16: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:726:18: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:727:16: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:877:18: style: Variable 'w' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:938:22: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:941:22: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:956:22: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:1314:15: style: Variable 'required_vehicle_owner' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:1662:21: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:1713:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] gui/minimap.cc:844:17: style: Variable 'cargo' is assigned a value that is never used. [unreadVariable] gui/minimap.cc:871:18: style: Variable 'passed' is assigned a value that is never used. [unreadVariable] gui/password_frame.h:30:2: style: Class 'password_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/privatesign_info.h:28:2: style: Class 'privatesign_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/player_frame_t.cc:130:40: portability: Undefined behaviour, pointer arithmetic 'player_active+i' is out of bounds. [pointerOutOfBounds] gui/savegame_frame.cc:33:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:37:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:78:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:166:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILENAME_MAX [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:318:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:655:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] gui/savegame_frame.cc:679:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] gui/player_frame_t.cc:298:29: style: The comparison 'player_t::MAX_AI == 5' is always true. [knownConditionTrueFalse] gui/player_frame_t.cc:137:20: style: Variable 'ai' can be declared as pointer to const [constVariablePointer] gui/player_frame_t.cc:160:19: style: Variable 'ai' can be declared as pointer to const [constVariablePointer] gui/player_frame_t.cc:173:20: style: Variable 'prevplayer' can be declared as pointer to const [constVariablePointer] gui/player_frame_t.cc:249:19: style: Variable 'ai' can be declared as pointer to const [constVariablePointer] gui/player_frame_t.cc:315:13: style: Variable 'player' can be declared as pointer to const [constVariablePointer] gui/player_frame_t.cc:355:13: style: Variable 'player' can be declared as pointer to const [constVariablePointer] gui/savegame_frame.h:114:14: performance:inconclusive: Technically the member function 'savegame_frame_t::cleanup_path' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/savegame_frame.cc:595:24: note: Technically the member function 'savegame_frame_t::cleanup_path' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:114:14: note: Technically the member function 'savegame_frame_t::cleanup_path' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:115:14: performance:inconclusive: Technically the member function 'savegame_frame_t::shorten_path' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/savegame_frame.cc:624:24: note: Technically the member function 'savegame_frame_t::shorten_path' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:115:14: note: Technically the member function 'savegame_frame_t::shorten_path' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:116:14: performance:inconclusive: Technically the member function 'savegame_frame_t::get_filename' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/savegame_frame.cc:672:31: note: Technically the member function 'savegame_frame_t::get_filename' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:116:14: note: Technically the member function 'savegame_frame_t::get_filename' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:117:14: performance:inconclusive: Technically the member function 'savegame_frame_t::get_basename' can be static (but you may consider moving to unnamed namespace). [functionStatic] gui/savegame_frame.cc:651:31: note: Technically the member function 'savegame_frame_t::get_basename' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.h:117:14: note: Technically the member function 'savegame_frame_t::get_basename' can be static (but you may consider moving to unnamed namespace). gui/savegame_frame.cc:244:8: style: The scope of the variable 'section_added' can be reduced. [variableScope] gui/savegame_frame.cc:52:61: style:inconclusive: Function 'savegame_frame_t' argument 2 names different: declaration 'only_directorie' definition 'only_directories'. [funcArgNamesDifferent] gui/savegame_frame.h:138:44: note: Function 'savegame_frame_t' argument 2 names different: declaration 'only_directorie' definition 'only_directories'. gui/savegame_frame.cc:52:61: note: Function 'savegame_frame_t' argument 2 names different: declaration 'only_directorie' definition 'only_directories'. gui/savegame_frame.cc:356:45: style:inconclusive: Function 'add_file' argument 1 names different: declaration 'path' definition 'fullpath'. [funcArgNamesDifferent] gui/savegame_frame.h:110:41: note: Function 'add_file' argument 1 names different: declaration 'path' definition 'fullpath'. gui/savegame_frame.cc:356:45: note: Function 'add_file' argument 1 names different: declaration 'path' definition 'fullpath'. gui/savegame_frame.cc:356:89: style:inconclusive: Function 'add_file' argument 3 names different: declaration 'pak' definition 'info'. [funcArgNamesDifferent] gui/savegame_frame.h:110:81: note: Function 'add_file' argument 3 names different: declaration 'pak' definition 'info'. gui/savegame_frame.cc:356:89: note: Function 'add_file' argument 3 names different: declaration 'pak' definition 'info'. gui/savegame_frame.cc:696:93: style:inconclusive: Function 'compare_items' argument 3 names different: declaration 'filename' definition 'name'. [funcArgNamesDifferent] gui/savegame_frame.h:123:88: note: Function 'compare_items' argument 3 names different: declaration 'filename' definition 'name'. gui/savegame_frame.cc:696:93: note: Function 'compare_items' argument 3 names different: declaration 'filename' definition 'name'. gui/savegame_frame.cc:152:49: style: Parameter 'name' can be declared as reference to const [constParameterReference] gui/savegame_frame.cc:384:3: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] gui/schedule_list.cc:85:18: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/scenario_info.cc:70:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/scenario_info.cc:82:94: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/scenario_frame.cc:84:52: style:inconclusive: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. [funcArgNamesDifferent] gui/scenario_frame.h:32:35: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. gui/scenario_frame.cc:84:52: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'filename'. script/api_param.h:176:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:184:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:190:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api_param.h:195:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] gui/schedule_list.cc:167:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/scenario_info.h:28:9: style:inconclusive: Technically the member function 'scenario_info_t::get_tab_index' can be const. [functionConst] gui/scenario_info.cc:26:25: note: Technically the member function 'scenario_info_t::get_tab_index' can be const. gui/scenario_info.h:28:9: note: Technically the member function 'scenario_info_t::get_tab_index' can be const. gui/scenario_info.cc:107:23: style: C-style pointer casting [cstyleCast] simtool-scripted.h:46:3: performance: Variable 'cursor_area' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] gui/scenario_info.cc:100:77: style:inconclusive: Function 'action_triggered' argument 2 names different: declaration 'extra' definition 'v'. [funcArgNamesDifferent] gui/scenario_info.h:38:61: note: Function 'action_triggered' argument 2 names different: declaration 'extra' definition 'v'. gui/scenario_info.cc:100:77: note: Function 'action_triggered' argument 2 names different: declaration 'extra' definition 'v'. simtool-scripted.h:72:2: style: Class 'exec_script_base_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simtool-scripted.h:95:2: style: Class 'tool_exec_script_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simtool-scripted.h:112:2: style: Class 'tool_exec_two_click_script_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/script_tool_frame.h:39:3: style: The destructor '~script_tool_frame_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] gui/savegame_frame.h:140:11: note: Virtual destructor in base class gui/script_tool_frame.h:39:3: note: Destructor in derived class gui/server_frame.cc:182:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/settings_frame.cc:52:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/schedule_list.cc:191:25: style: C-style pointer casting [cstyleCast] gui/schedule_list.cc:227:30: style: C-style pointer casting [cstyleCast] gui/schedule_list.cc:299:25: style: C-style pointer casting [cstyleCast] gui/schedule_list.cc:191:17: style: Local variable 'line' shadows outer variable [shadowVariable] gui/schedule_list.h:52:15: note: Shadowed declaration gui/schedule_list.cc:191:17: note: Shadow variable gui/schedule_list.cc:299:17: style: Local variable 'line' shadows outer variable [shadowVariable] gui/schedule_list.h:52:15: note: Shadowed declaration gui/schedule_list.cc:299:17: note: Shadow variable utils/csv.h:98:2: style: Class 'CSV_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmp_pakset.h:28:2: style: Class 'nwc_pakset_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_cmp_pakset.h:29:3: style: The destructor '~nwc_pakset_info_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] network/network_cmd.h:56:11: note: Virtual destructor in base class network/network_cmp_pakset.h:29:3: note: Destructor in derived class gui/schedule_list.cc:227:27: style: Variable 'li' can be declared as pointer to const [constVariablePointer] gui/schedule_list.cc:230:17: style: Variable 'line_info' can be declared as pointer to const [constVariablePointer] gui/settings_stats.h:119:2: warning: Member variable 'settings_stats_t::new_world' is not initialized in the constructor. [uninitMemberVar] gui/settings_stats.h:166:1: style: The class 'settings_climates_stats_t' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] gui/server_frame.cc:420:32: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:423:42: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:424:21: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:427:30: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:500:17: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:525:42: style: C-style pointer casting [cstyleCast] gui/server_frame.cc:302:6: style: The scope of the variable 'ret' can be reduced. [variableScope] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < gui_numberinput_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < gui_numberinput_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < button_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < button_t * >::node_t::operatordelete' can be const. [functionConst] gui/settings_stats.h:134:7: warning: The class 'settings_general_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.h:134:7: note: Derived function 'settings_general_stats_t::init' gui/settings_stats.h:141:7: warning: The class 'settings_display_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.h:141:7: note: Derived function 'settings_display_stats_t::init' gui/settings_stats.h:148:7: warning: The class 'settings_routing_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.h:148:7: note: Derived function 'settings_routing_stats_t::init' gui/settings_stats.h:155:7: warning: The class 'settings_economy_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.h:155:7: note: Derived function 'settings_economy_stats_t::init' gui/settings_stats.h:162:7: warning: The class 'settings_costs_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.h:162:7: note: Derived function 'settings_costs_stats_t::init' gui/settings_frame.h:46:2: style: Class 'settings_frame_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/server_frame.cc:283:7: style: Local variable 'revision' shadows outer variable [shadowVariable] gui/server_frame.h:40:18: note: Shadowed declaration gui/server_frame.cc:283:7: note: Shadow variable gui/server_frame.cc:293:12: style: Local variable 'buf' shadows outer variable [shadowVariable] gui/server_frame.h:29:12: note: Shadowed declaration gui/server_frame.cc:293:12: note: Shadow variable gui/server_frame.cc:519:22: style: Variable 'info' can be declared as pointer to const [constVariablePointer] gui/server_frame.cc:376:8: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] gui/settings_stats.cc:62:32: warning: The class 'settings_general_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.cc:62:32: note: Derived function 'settings_general_stats_t::init' gui/settings_stats.cc:154:32: warning: The class 'settings_display_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.cc:154:32: note: Derived function 'settings_display_stats_t::init' gui/settings_stats.cc:215:32: warning: The class 'settings_routing_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.cc:215:32: note: Derived function 'settings_routing_stats_t::init' gui/settings_stats.cc:270:32: warning: The class 'settings_economy_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.cc:270:32: note: Derived function 'settings_economy_stats_t::init' gui/settings_stats.cc:430:30: warning: The class 'settings_costs_stats_t' defines member function with name 'init' also defined in its parent class 'settings_stats_t'. [duplInheritedMember] gui/settings_stats.h:121:7: note: Parent function 'settings_stats_t::init' gui/settings_stats.cc:430:30: note: Derived function 'settings_costs_stats_t::init' gui/settings_stats.cc:619:7: style: The scope of the variable 'i' can be reduced. [variableScope] gui/sound_frame.cc:155:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/sprachen.cc:182:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable button [valueFlowBailoutIncompleteVar] gui/sprachen.cc:196:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable button [valueFlowBailoutIncompleteVar] gui/sprachen.cc:58:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] gui/sprachen.cc:63:8: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] gui/sprachen.cc:132:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] gui/sprachen.cc:147:8: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] gui/sprachen.cc:58:9: style: Variable 'f' can be declared as pointer to const [constVariablePointer] gui/sprachen.cc:132:9: style: Variable 'f' can be declared as pointer to const [constVariablePointer] gui/sprachen.cc:42:23: style: Variable 'old_font' is assigned a value that is never used. [unreadVariable] gui/themeselector.cc:111:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LI_HEADER [valueFlowBailoutIncompleteVar] gui/simwin.cc:211:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:262:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:343:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:365:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/simwin.cc:532:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:542:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:682:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:753:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable magic_number [valueFlowBailoutIncompleteVar] gui/simwin.cc:912:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:952:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:980:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sticky [valueFlowBailoutIncompleteVar] gui/simwin.cc:1004:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rollup [valueFlowBailoutIncompleteVar] gui/simwin.cc:1024:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rollup [valueFlowBailoutIncompleteVar] gui/simwin.cc:1076:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:1139:64: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/simwin.cc:1170:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dauer [valueFlowBailoutIncompleteVar] gui/simwin.cc:1214:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:1303:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/simwin.cc:1344:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] gui/simwin.cc:1389:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:1401:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gui [valueFlowBailoutIncompleteVar] gui/simwin.cc:1468:95: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/simwin.cc:1675:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] gui/simwin.cc:1730:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/themeselector.cc:79:51: style:inconclusive: Function 'get_info' argument 1 names different: declaration 'fname' definition 'fn'. [funcArgNamesDifferent] gui/themeselector.h:26:42: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'fn'. gui/themeselector.cc:79:51: note: Function 'get_info' argument 1 names different: declaration 'fname' definition 'fn'. gui/station_building_select.h:31:2: style: Class 'station_building_select_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/tool_selector.cc:36:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:55:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:90:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:100:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:124:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:274:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable w [valueFlowBailoutIncompleteVar] gui/vehiclelist_frame.cc:173:15: debug: Failed to instantiate template "new_component". The checking continues anyway. [templateInstantiation] gui/trafficlight_info.h:27:2: style: Class 'trafficlight_info_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] gui/tool_selector.cc:23:18: warning: Member variable 'tool_selector_t::tool_icon_width' is not initialized in the constructor. [uninitMemberVar] gui/tool_selector.cc:23:18: warning: Member variable 'tool_selector_t::tool_icon_height' is not initialized in the constructor. [uninitMemberVar] gui/vehiclelist_frame.cc:221:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable diagonal_resize [valueFlowBailoutIncompleteVar] gui/tool_selector.cc:265:52: style:inconclusive: Function 'draw' argument 2 names different: declaration 'size' definition 'sz'. [funcArgNamesDifferent] gui/tool_selector.h:98:36: note: Function 'draw' argument 2 names different: declaration 'size' definition 'sz'. gui/tool_selector.cc:265:52: note: Function 'draw' argument 2 names different: declaration 'size' definition 'sz'. gui/tool_selector.cc:240:7: style: Local variable 'xy' shadows outer variable [shadowVariable] gui/tool_selector.cc:180:6: note: Shadowed declaration gui/tool_selector.cc:240:7: note: Shadow variable io/classify_file.cc:43:14: warning: Member variable 'file_info_t::header_size' is not initialized in the constructor. [uninitMemberVar] io/raw_image.cc:33:9: style: C-style pointer casting [cstyleCast] io/raw_image.cc:46:9: style: C-style pointer casting [cstyleCast] gui/simwin.cc:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] io/raw_image_bmp.cc:171:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::dauer' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::wt' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::magic_number' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::gui' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::gadget_state' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::sticky' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::rollup' is not initialized in the constructor. [uninitMemberVar] gui/simwin.cc:116:2: warning: Member variable 'simwin_t::dirty' is not initialized in the constructor. [uninitMemberVar] gui/vehiclelist_frame.h:64:2: style: Class 'vehiclelist_stats_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] io/raw_image_bmp.cc:253:20: style: Condition 'Count==0' is always true [knownConditionTrueFalse] io/raw_image_bmp.cc:245:15: note: Assuming that condition 'Count>0' is not redundant io/raw_image_bmp.cc:253:20: note: Condition 'Count==0' is always true io/raw_image_bmp.cc:137:9: style: C-style pointer casting [cstyleCast] gui/vehiclelist_frame.cc:143:58: style:inconclusive: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. [funcArgNamesDifferent] gui/vehiclelist_frame.h:71:45: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/vehiclelist_frame.cc:143:58: note: Function 'compare' argument 1 names different: declaration 'a' definition 'aa'. gui/vehiclelist_frame.cc:143:85: style:inconclusive: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. [funcArgNamesDifferent] gui/vehiclelist_frame.h:71:71: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. gui/vehiclelist_frame.cc:143:85: note: Function 'compare' argument 2 names different: declaration 'b' definition 'bb'. io/raw_image_bmp.cc:115:9: style: Local variable 'width' shadows outer variable [shadowVariable] io/raw_image.h:86:9: note: Shadowed declaration io/raw_image_bmp.cc:115:9: note: Shadow variable io/raw_image_bmp.cc:116:9: style: Local variable 'height' shadows outer variable [shadowVariable] io/raw_image.h:87:9: note: Shadowed declaration io/raw_image_bmp.cc:116:9: note: Shadow variable io/raw_image_bmp.cc:409:14: error: Uninitialized variable: iheader [legacyUninitvar] io/raw_image_png.cc:74:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PNG_COLOR_TYPE_PALETTE [valueFlowBailoutIncompleteVar] io/raw_image_png.cc:178:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] io/raw_image_png.cc:230:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PNG_COLOR_TYPE_RGBA [valueFlowBailoutIncompleteVar] io/raw_image_png.cc:61:48: style: C-style pointer casting [cstyleCast] io/raw_image_png.cc:98:28: style: C-style pointer casting [cstyleCast] io/raw_image_png.cc:100:20: style: C-style pointer casting [cstyleCast] io/raw_image_png.cc:121:48: style: C-style pointer casting [cstyleCast] io/raw_image_png.cc:134:10: style: C-style pointer casting [cstyleCast] io/raw_image_png.cc:165:40: style:inconclusive: Function 'read_png' argument 1 names different: declaration 'filename' definition 'fname'. [funcArgNamesDifferent] io/raw_image.h:80:28: note: Function 'read_png' argument 1 names different: declaration 'filename' definition 'fname'. io/raw_image_png.cc:165:40: note: Function 'read_png' argument 1 names different: declaration 'filename' definition 'fname'. io/raw_image_png.cc:184:41: style:inconclusive: Function 'write_png' argument 1 names different: declaration 'filename' definition 'file_name'. [funcArgNamesDifferent] io/raw_image.h:73:29: note: Function 'write_png' argument 1 names different: declaration 'filename' definition 'file_name'. io/raw_image_png.cc:184:41: note: Function 'write_png' argument 1 names different: declaration 'filename' definition 'file_name'. io/raw_image_ppm.cc:77:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] io/raw_image.h:75:7: performance:inconclusive: Technically the member function 'raw_image_t::write_ppm' can be static (but you may consider moving to unnamed namespace). [functionStatic] io/raw_image_ppm.cc:93:19: note: Technically the member function 'raw_image_t::write_ppm' can be static (but you may consider moving to unnamed namespace). io/raw_image.h:75:7: note: Technically the member function 'raw_image_t::write_ppm' can be static (but you may consider moving to unnamed namespace). io/raw_image_ppm.cc:68:9: style: C-style pointer casting [cstyleCast] io/raw_image_ppm.cc:71:10: style: Local variable 'data' shadows outer variable [shadowVariable] io/raw_image.h:85:9: note: Shadowed declaration io/raw_image_ppm.cc:71:10: note: Shadow variable io/rdwr/adler32_stream.cc:17:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/bzip2_file_rdwr_stream.cc:25:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BZ_OK [valueFlowBailoutIncompleteVar] io/rdwr/bzip2_file_rdwr_stream.cc:38:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/bzip2_file_rdwr_stream.cc:55:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BZ_OK [valueFlowBailoutIncompleteVar] io/rdwr/bzip2_file_rdwr_stream.cc:71:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BZ_OK [valueFlowBailoutIncompleteVar] io/rdwr/compare_file_rd_stream.cc:15:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/bzip2_file_rdwr_stream.h:27:9: style: Virtual function 'write' is called from destructor '~bzip2_file_rdwr_stream_t()' at line 39. Dynamic binding is not used. [virtualCallInConstructor] io/rdwr/bzip2_file_rdwr_stream.cc:39:4: note: Calling write io/rdwr/bzip2_file_rdwr_stream.h:27:9: note: write is a virtual function tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < long , scr_coord , inthash_tpl < long > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] io/rdwr/bzip2_file_rdwr_stream.cc:29:9: style: Variable 'status' is reassigned a value before the old one has been used. [redundantAssignment] io/rdwr/bzip2_file_rdwr_stream.cc:26:10: note: status is assigned io/rdwr/bzip2_file_rdwr_stream.cc:29:9: note: status is overwritten tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < long , scr_size , inthash_tpl < long > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] io/rdwr/compare_file_rd_stream.cc:35:13: style: C-style pointer casting [cstyleCast] io/rdwr/compare_file_rd_stream.cc:50:23: style: C-style pointer casting [cstyleCast] io/rdwr/raw_file_rdwr_stream.cc:18:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_ERR_NOT_EXISTING [valueFlowBailoutIncompleteVar] io/rdwr/raw_file_rdwr_stream.cc:30:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_ERR_NOT_EXISTING [valueFlowBailoutIncompleteVar] io/rdwr/raw_file_rdwr_stream.cc:57:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/raw_file_rdwr_stream.cc:77:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/raw_file_rdwr_stream.cc:21:9: style: Variable 'status' is reassigned a value before the old one has been used. [redundantAssignment] io/rdwr/raw_file_rdwr_stream.cc:18:10: note: status is assigned io/rdwr/raw_file_rdwr_stream.cc:21:9: note: status is overwritten io/rdwr/zlib_file_rdwr_stream.cc:27:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/zlib_file_rdwr_stream.cc:48:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/zlib_file_rdwr_stream.cc:76:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_ERR_FULL [valueFlowBailoutIncompleteVar] io/rdwr/zlib_file_rdwr_stream.cc:20:8: style: Variable 'compr' can be declared as const array [constVariable] makeobj/makeobj.cc:39:7: style: Condition 'argc' is always true [knownConditionTrueFalse] makeobj/makeobj.cc:43:12: style: Condition 'argc' is always true [knownConditionTrueFalse] makeobj/makeobj.cc:47:12: style: Condition 'argc' is always true [knownConditionTrueFalse] makeobj/makeobj.cc:59:15: style: Variable 'argc' is assigned a value that is never used. [unreadVariable] makeobj/makeobj.cc:151:16: style: Variable 'argc' is assigned a value that is never used. [unreadVariable] io/rdwr/zstd_file_rdwr_stream.cc:21:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_OK [valueFlowBailoutIncompleteVar] io/rdwr/zstd_file_rdwr_stream.cc:154:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_ERR_CORRUPT [valueFlowBailoutIncompleteVar] io/rdwr/zstd_file_rdwr_stream.cc:203:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATUS_ERR_CORRUPT [valueFlowBailoutIncompleteVar] io/rdwr/zstd_file_rdwr_stream.cc:84:2: warning: Class 'zstd_file_rdwr_stream_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] io/rdwr/zstd_file_rdwr_stream.cc:84:2: warning: Class 'zstd_file_rdwr_stream_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] io/rdwr/zstd_file_rdwr_stream.h:25:3: style: The destructor '~zstd_file_rdwr_stream_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] io/rdwr/raw_file_rdwr_stream.h:25:3: note: Virtual destructor in base class io/rdwr/zstd_file_rdwr_stream.h:25:3: note: Destructor in derived class io/rdwr/zstd_file_rdwr_stream.cc:17:97: style:inconclusive: Function 'zstd_file_rdwr_stream_t' argument 3 names different: declaration 'compression' definition 'compression_level'. [funcArgNamesDifferent] io/rdwr/zstd_file_rdwr_stream.h:24:73: note: Function 'zstd_file_rdwr_stream_t' argument 3 names different: declaration 'compression' definition 'compression_level'. io/rdwr/zstd_file_rdwr_stream.cc:17:97: note: Function 'zstd_file_rdwr_stream_t' argument 3 names different: declaration 'compression' definition 'compression_level'. music/fluidsynth.cc:61:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLUID_OK [valueFlowBailoutIncompleteVar] music/fluidsynth.cc:99:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLUID_OK [valueFlowBailoutIncompleteVar] music/fluidsynth.cc:120:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLUID_OK [valueFlowBailoutIncompleteVar] music/fluidsynth.cc:136:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLUID_PLAYER_PLAYING [valueFlowBailoutIncompleteVar] music/fluidsynth.cc:164:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLUID_FAILED [valueFlowBailoutIncompleteVar] music/fluidsynth.cc:206:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] gui/simwin.cc:1955:16: style: The scope of the variable 'middle' can be reduced. [variableScope] gui/simwin.cc:2107:10: style: The scope of the variable 'frame_start_time' can be reduced. [variableScope] music/sdl_midi.cc:26:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MIX_MAX_VOLUME [valueFlowBailoutIncompleteVar] music/sdl_midi.cc:112:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] music/w32_midi.cc:78:7: style: The scope of the variable 'str' can be reduced. [variableScope] music/w32_midi.cc:78:17: style: The scope of the variable 'retstr' can be reduced. [variableScope] music/fluidsynth.cc:160:13: style: The scope of the variable 'previous_id' can be reduced. [variableScope] network/checksum.cc:18:25: warning: 'operator=' should check for assignment to self to avoid problems with dynamic memory. [operatorEqToSelf] network/checksum.cc:96:14: style: C-style pointer casting [cstyleCast] network/checksum.cc:110:14: style: C-style pointer casting [cstyleCast] network/checksum.cc:124:14: style: C-style pointer casting [cstyleCast] gui/simwin.cc:539:34: style:inconclusive: Function 'top_win' argument 1 names different: declaration 'ig' definition 'gui'. [funcArgNamesDifferent] gui/simwin.h:184:33: note: Function 'top_win' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:539:34: note: Function 'top_win' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:680:85: style:inconclusive: Function 'win_clamp_xywh_position' argument 4 names different: declaration 'move_to_full_view' definition 'move_topleft'. [funcArgNamesDifferent] gui/simwin.h:135:84: note: Function 'win_clamp_xywh_position' argument 4 names different: declaration 'move_to_full_view' definition 'move_topleft'. gui/simwin.cc:680:85: note: Function 'win_clamp_xywh_position' argument 4 names different: declaration 'move_to_full_view' definition 'move_topleft'. gui/simwin.cc:720:120: style:inconclusive: Function 'create_win' argument 6 names different: declaration 'move_to_show_full' definition 'move_to_full_view'. [funcArgNamesDifferent] gui/simwin.h:138:95: note: Function 'create_win' argument 6 names different: declaration 'move_to_show_full' definition 'move_to_full_view'. gui/simwin.cc:720:120: note: Function 'create_win' argument 6 names different: declaration 'move_to_show_full' definition 'move_to_full_view'. gui/simwin.cc:877:42: style:inconclusive: Function 'destroy_framed_win' argument 1 names different: declaration 'win' definition 'wins'. [funcArgNamesDifferent] gui/simwin.cc:157:42: note: Function 'destroy_framed_win' argument 1 names different: declaration 'win' definition 'wins'. gui/simwin.cc:877:42: note: Function 'destroy_framed_win' argument 1 names different: declaration 'win' definition 'wins'. gui/simwin.cc:943:37: style:inconclusive: Function 'destroy_win' argument 1 names different: declaration 'ig' definition 'gui'. [funcArgNamesDifferent] gui/simwin.h:176:37: note: Function 'destroy_win' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:943:37: note: Function 'destroy_win' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:1158:27: style:inconclusive: Function 'win_rotate90' argument 1 names different: declaration 'new_size' definition 'new_ysize'. [funcArgNamesDifferent] gui/simwin.h:186:27: note: Function 'win_rotate90' argument 1 names different: declaration 'new_size' definition 'new_ysize'. gui/simwin.cc:1158:27: note: Function 'win_rotate90' argument 1 names different: declaration 'new_size' definition 'new_ysize'. gui/simwin.cc:1370:31: style:inconclusive: Function 'win_is_open' argument 1 names different: declaration 'ig' definition 'gui'. [funcArgNamesDifferent] gui/simwin.h:145:31: note: Function 'win_is_open' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:1370:31: note: Function 'win_is_open' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:1398:31: style:inconclusive: Function 'win_set_pos' argument 1 names different: declaration 'ig' definition 'gui'. [funcArgNamesDifferent] gui/simwin.h:149:31: note: Function 'win_set_pos' argument 1 names different: declaration 'ig' definition 'gui'. gui/simwin.cc:1398:31: note: Function 'win_set_pos' argument 1 names different: declaration 'ig' definition 'gui'. nettools/nettool.cc:88:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ECHO [valueFlowBailoutIncompleteVar] nettools/nettool.cc:129:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:142:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:168:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:209:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:225:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:235:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:284:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:298:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:325:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:353:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:394:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] nettools/nettool.cc:508:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] network/memory_rw.cc:17:14: style: C-style pointer casting [cstyleCast] network/memory_rw.cc:146:9: style: C-style pointer casting [cstyleCast] network/memory_rw.cc:149:8: style: C-style pointer casting [cstyleCast] network/memory_rw.cc:87:37: style:inconclusive: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. [funcArgNamesDifferent] network/memory_rw.h:50:25: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. network/memory_rw.cc:87:37: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. network/memory_rw.cc:104:37: style:inconclusive: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. [funcArgNamesDifferent] network/memory_rw.h:51:25: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. network/memory_rw.cc:104:37: note: Function 'rdwr_long' argument 1 names different: declaration 'i' definition 'l'. network/memory_rw.cc:112:41: style:inconclusive: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. [funcArgNamesDifferent] network/memory_rw.h:52:29: note: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. network/memory_rw.cc:112:41: note: Function 'rdwr_longlong' argument 1 names different: declaration 'i' definition 'll'. gui/simwin.cc:221:25: style: Parameter 'flags' can be declared as pointer to const [constParameterPointer] gui/simwin.cc:724:20: style: Variable 'win' can be declared as pointer to const [constVariablePointer] gui/simwin.cc:739:19: style: Variable 'k' can be declared as pointer to const [constVariablePointer] gui/simwin.cc:1006:17: style: Variable 'gui' can be declared as pointer to const [constVariablePointer] gui/simwin.cc:1025:16: style: Variable 'gui' can be declared as pointer to const [constVariablePointer] gui/simwin.cc:1298:33: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] gui/simwin.cc:1335:35: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] gui/simwin.cc:1370:31: style: Parameter 'gui' can be declared as pointer to const [constParameterPointer] gui/simwin.cc:1398:31: style: Parameter 'gui' can be declared as pointer to const [constParameterPointer] gui/simwin.cc:1613:20: style: Variable 'gui' can be declared as pointer to const [constVariablePointer] gui/simwin.cc:2121:23: style: Variable 'win' can be declared as pointer to const [constVariablePointer] gui/welt.cc:468:88: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable h [valueFlowBailoutIncompleteVar] gui/simwin.cc:310:10: style: Variable 'offset' is assigned a value that is never used. [unreadVariable] gui/simwin.cc:1906:18: style: Variable 'tooltip_check' is assigned a value that is never used. [unreadVariable] network/network.cc:225:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] network/network.cc:378:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] network/network.cc:502:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] network/network.cc:612:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] network/network.cc:673:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] network/network.cc:742:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] network/network_packet.h:80:9: style:inconclusive: Technically the member function 'packet_t::get_sender' can be const. [functionConst] network/network_packet.h:55:2: style: Class 'packet_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] nettools/nettool.cc:189:4: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:189:4: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:189:4: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:189:4: portability: %d in format string (no. 4) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:189:4: portability: %d in format string (no. 5) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:255:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] nettools/nettool.cc:145:23: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:171:23: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:238:23: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:352:24: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:363:24: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:502:17: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:586:14: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:615:24: style: C-style pointer casting [cstyleCast] nettools/nettool.cc:180:30: style: Variable 'list' can be declared as reference to const [constVariableReference] nettools/nettool.cc:484:8: style: Variable 'server_address' can be declared as pointer to const [constVariablePointer] network/network_address.cc:54:3: portability: %i in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_address.cc:54:3: portability: %i in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_address.cc:54:3: portability: %i in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_address.cc:54:3: portability: %i in format string (no. 4) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_cmd.cc:23:2: warning: Class 'network_command_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] network/network_cmd.cc:23:2: warning: Class 'network_command_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] network/network_cmd.cc:21:45: style:inconclusive: Function 'network_command_t' argument 1 names different: declaration 'id' definition 'id_'. [funcArgNamesDifferent] network/network_cmd.h:54:27: note: Function 'network_command_t' argument 1 names different: declaration 'id' definition 'id_'. network/network_cmd.cc:21:45: note: Function 'network_command_t' argument 1 names different: declaration 'id' definition 'id_'. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < network_command_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < network_command_t * >::node_t::operatordelete' can be const. [functionConst] network/network.cc:110:6: style: Condition '!network_initialize()' is always false [knownConditionTrueFalse] network/network.cc:110:25: note: Calling function 'network_initialize' returns 1 network/network.cc:110:6: note: Condition '!network_initialize()' is always false network/network.cc:335:8: style: Condition '!network_initialize()' is always false [knownConditionTrueFalse] network/network.cc:335:27: note: Calling function 'network_initialize' returns 1 network/network.cc:335:8: note: Condition '!network_initialize()' is always false network/network.cc:373:3: warning: %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] network/network.cc:469:47: style: C-style pointer casting [cstyleCast] network/network.cc:516:36: style: C-style pointer casting [cstyleCast] network/network.cc:732:14: style: C-style pointer casting [cstyleCast] network/network.cc:836:55: style:inconclusive: Function 'get_external_IP' argument 2 names different: declaration 'alt_IP' definition 'altIPaddr'. [funcArgNamesDifferent] network/network.h:152:55: note: Function 'get_external_IP' argument 2 names different: declaration 'alt_IP' definition 'altIPaddr'. network/network.cc:836:55: note: Function 'get_external_IP' argument 2 names different: declaration 'alt_IP' definition 'altIPaddr'. network/network.cc:990:56: style:inconclusive: Function 'prepare_for_server' argument 2 names different: declaration 'alter_IP' definition 'externalAltIPAddress'. [funcArgNamesDifferent] network/network.h:155:57: note: Function 'prepare_for_server' argument 2 names different: declaration 'alter_IP' definition 'externalAltIPAddress'. network/network.cc:990:56: note: Function 'prepare_for_server' argument 2 names different: declaration 'alter_IP' definition 'externalAltIPAddress'. network/network.cc:546:11: style: Local variable 'client_id' shadows outer variable [shadowVariable] network/network.cc:65:15: note: Shadowed declaration network/network.cc:546:11: note: Shadow variable network/network.cc:584:11: style: Local variable 'client_id' shadows outer variable [shadowVariable] network/network.cc:65:15: note: Shadowed declaration network/network.cc:584:11: note: Shadow variable network/network.cc:286:21: style: Variable 'walk_remote' can be declared as pointer to const [constVariablePointer] gui/welt.cc:327:37: style: C-style pointer casting [cstyleCast] gui/welt.cc:485:16: style: Variable 'sg' can be declared as pointer to const [constVariablePointer] gui/welt.cc:496:16: style: Variable 'climate_gui' can be declared as pointer to const [constVariablePointer] network/network_cmp_pakset.cc:158:14: style: Condition 'num_paks>0' is always true [knownConditionTrueFalse] network/network_cmp_pakset.cc:153:45: note: Assignment 'num_paks=addons.get_count()+1', assigned value is greater than 0 network/network_cmp_pakset.cc:158:14: note: Condition 'num_paks>0' is always true network/network_cmd_ingame.cc:907:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable param < wayobj_t * > [valueFlowBailoutIncompleteVar] network/network_cmp_pakset.cc:168:13: style: C-style pointer casting [cstyleCast] network/network_cmp_pakset.cc:289:16: style: C-style pointer casting [cstyleCast] network/network_cmp_pakset.cc:154:10: style: The scope of the variable 'progress' can be reduced. [variableScope] network/network_cmp_pakset.cc:203:19: style: Variable 'chk' can be declared as pointer to const [constVariablePointer] network/network_packet.cc:21:11: warning: Member variable 'packet_t::buf' is not initialized in the constructor. [uninitMemberVar] network/network_packet.cc:49:11: warning: Member variable 'packet_t::buf' is not initialized in the constructor. [uninitMemberVar] network/network_packet.cc:123:30: style: C-style pointer casting [cstyleCast] network/network_packet.cc:49:27: style:inconclusive: Function 'packet_t' argument 1 names different: declaration 's' definition 'sender'. [funcArgNamesDifferent] network/network_packet.h:55:18: note: Function 'packet_t' argument 1 names different: declaration 's' definition 'sender'. network/network_packet.cc:49:27: note: Function 'packet_t' argument 1 names different: declaration 's' definition 'sender'. network/pakset_info.cc:39:2: style: Struct 'entry_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] network/network_file_transfer.cc:57:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::last_sync_step' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::tool_client_id' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::callback_id' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::tool_id' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::wt' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::flags' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::player_nr' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:972:13: warning: Member variable 'nwc_tool_t::custom_data_buf' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:980:13: warning: Member variable 'nwc_tool_t::custom_data_buf' is not initialized in the constructor. [uninitMemberVar] network/network_cmd_ingame.cc:1006:13: warning: Member variable 'nwc_tool_t::last_sync_step' is not initialized in the copy constructor. [uninitMemberVar] network/network_cmd_ingame.cc:1006:13: warning: Member variable 'nwc_tool_t::custom_data_buf' is not initialized in the copy constructor. [uninitMemberVar] network/network_cmd_ingame.cc:984:2: performance: Variable 'pos' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] network/network_cmd_ingame.cc:1010:2: performance: Variable 'pos' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] network/network_cmd_ingame.cc:1014:2: performance: Variable 'default_param' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] network/network_cmd_ingame.cc:720:3: portability: %i in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_cmd_ingame.cc:178:15: style: C-style pointer casting [cstyleCast] network/network_cmd_ingame.cc:615:29: style: C-style pointer casting [cstyleCast] network/network_cmd_ingame.cc:965:29: style: C-style pointer casting [cstyleCast] network/network_socket_list.cc:390:67: style:inconclusive: Function 'rdwr' argument 2 names different: declaration 'writeto' definition 'list'. [funcArgNamesDifferent] network/network_socket_list.h:197:60: note: Function 'rdwr' argument 2 names different: declaration 'writeto' definition 'list'. network/network_socket_list.cc:390:67: note: Function 'rdwr' argument 2 names different: declaration 'writeto' definition 'list'. network/network_cmd_ingame.cc:1414:13: style: The scope of the variable 'j' can be reduced. [variableScope] network/network_socket_list.cc:345:40: style: Parameter 'fds' can be declared as pointer to const [constParameterPointer] network/network_cmd_ingame.cc:980:50: style:inconclusive: Function 'nwc_tool_t' argument 2 names different: declaration 'tool' definition 'tool_'. [funcArgNamesDifferent] network/network_cmd_ingame.h:331:39: note: Function 'nwc_tool_t' argument 2 names different: declaration 'tool' definition 'tool_'. network/network_cmd_ingame.cc:980:50: note: Function 'nwc_tool_t' argument 2 names different: declaration 'tool' definition 'tool_'. network/network_cmd_ingame.cc:980:65: style:inconclusive: Function 'nwc_tool_t' argument 3 names different: declaration 'pos' definition 'pos_'. [funcArgNamesDifferent] network/network_cmd_ingame.h:331:53: note: Function 'nwc_tool_t' argument 3 names different: declaration 'pos' definition 'pos_'. network/network_cmd_ingame.cc:980:65: note: Function 'nwc_tool_t' argument 3 names different: declaration 'pos' definition 'pos_'. network/network_cmd_ingame.cc:980:115: style:inconclusive: Function 'nwc_tool_t' argument 6 names different: declaration 'init' definition 'init_'. [funcArgNamesDifferent] network/network_cmd_ingame.h:331:102: note: Function 'nwc_tool_t' argument 6 names different: declaration 'init' definition 'init_'. network/network_cmd_ingame.cc:980:115: note: Function 'nwc_tool_t' argument 6 names different: declaration 'init' definition 'init_'. network/network_cmd_ingame.cc:796:24: style: Local variable 'nwc' shadows outer variable [shadowVariable] network/network_cmd_ingame.cc:790:16: note: Shadowed declaration network/network_cmd_ingame.cc:796:24: note: Shadow variable network/network_file_transfer.cc:141:3: portability: %i in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_file_transfer.cc:255:3: portability: %i in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] network/network_file_transfer.cc:344:19: portability: %d in format string (no. 4) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] network/network_cmd_ingame.cc:159:19: style: Variable 'info' can be declared as reference to const [constVariableReference] network/network_cmd_ingame.cc:350:18: style: Variable 'info' can be declared as reference to const [constVariableReference] network/network_cmd_ingame.cc:379:20: style: Variable 'dest_info' can be declared as reference to const [constVariableReference] network/network_cmd_ingame.cc:1307:20: style: Variable 'info' can be declared as reference to const [constVariableReference] network/network_cmd_ingame.cc:1320:21: style: Variable 'info' can be declared as reference to const [constVariableReference] network/network_cmd_ingame.cc:709:17: style: Variable 'player' can be declared as pointer to const [constVariablePointer] network/network_cmd_ingame.cc:1146:28: style: Variable 'two_ctool' can be declared as pointer to const [constVariablePointer] network/network_file_transfer.cc:231:28: style: C-style pointer casting [cstyleCast] network/network_file_transfer.cc:252:14: style: C-style pointer casting [cstyleCast] network/network_file_transfer.cc:41:8: style: The scope of the variable 'rbuf' can be reduced. [variableScope] network/network_file_transfer.cc:118:19: style: Local variable 'nwgi' shadows outer variable [shadowVariable] network/network_file_transfer.cc:111:19: note: Shadowed declaration network/network_file_transfer.cc:118:19: note: Shadow variable network/network_file_transfer.cc:111:19: style: Variable 'nwgi' can be declared as pointer to const [constVariablePointer] obj/baum.h:120:7: style:inconclusive: Technically the member function 'baum_t::operatordelete' can be const. [functionConst] obj/baum.cc:334:14: note: Technically the member function 'baum_t::operatordelete' can be const. obj/baum.h:120:7: note: Technically the member function 'baum_t::operatordelete' can be const. obj/baum.h:71:7: style: Virtual function 'rdwr' is called from constructor 'baum_t(loadsave_t*file)' at line 38. Dynamic binding is not used. [virtualCallInConstructor] obj/baum.cc:38:2: note: Calling rdwr obj/baum.h:71:7: note: rdwr is a virtual function obj/baum.h:84:7: style: Virtual function 'calc_image' is called from constructor 'baum_t(koord3d pos)' at line 50. Dynamic binding is not used. [virtualCallInConstructor] obj/baum.cc:50:2: note: Calling calc_image obj/baum.h:84:7: note: calc_image is a virtual function obj/baum.h:84:7: style: Virtual function 'calc_image' is called from constructor 'baum_t(koord3d pos,char type,short age,char slope)' at line 61. Dynamic binding is not used. [virtualCallInConstructor] obj/baum.cc:61:2: note: Calling calc_image obj/baum.h:84:7: note: calc_image is a virtual function obj/baum.h:84:7: style: Virtual function 'calc_image' is called from constructor 'baum_t(koord3d pos,const tree_desc_t*desc)' at line 73. Dynamic binding is not used. [virtualCallInConstructor] obj/baum.cc:73:2: note: Calling calc_image obj/baum.h:84:7: note: calc_image is a virtual function obj/baum.cc:262:50: style:inconclusive: Function 'calc_off' argument 2 names different: declaration 'x' definition 'x_'. [funcArgNamesDifferent] obj/baum.h:124:43: note: Function 'calc_off' argument 2 names different: declaration 'x' definition 'x_'. obj/baum.cc:262:50: note: Function 'calc_off' argument 2 names different: declaration 'x' definition 'x_'. obj/baum.cc:262:60: style:inconclusive: Function 'calc_off' argument 3 names different: declaration 'y' definition 'y_'. [funcArgNamesDifferent] obj/baum.h:124:57: note: Function 'calc_off' argument 3 names different: declaration 'y' definition 'y_'. obj/baum.cc:262:60: note: Function 'calc_off' argument 3 names different: declaration 'y' definition 'y_'. obj/bruecke.cc:21:12: warning: Member variable 'bruecke_t::desc' is not initialized in the constructor. [uninitMemberVar] obj/bruecke.cc:21:12: warning: Member variable 'bruecke_t::img' is not initialized in the constructor. [uninitMemberVar] obj/bruecke.cc:222:36: style:inconclusive: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. [funcArgNamesDifferent] obj/bruecke.h:56:25: note: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. obj/bruecke.cc:222:36: note: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. obj/bruecke.cc:51:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/bruecke.cc:98:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/bruecke.cc:166:15: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] obj/crossing.cc:35:13: warning: Member variable 'crossing_t::ns' is not initialized in the constructor. [uninitMemberVar] obj/crossing.cc:35:13: warning: Member variable 'crossing_t::state' is not initialized in the constructor. [uninitMemberVar] obj/crossing.cc:35:13: warning: Member variable 'crossing_t::desc' is not initialized in the constructor. [uninitMemberVar] obj/crossing.cc:166:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/field.h:29:11: style: Virtual function 'get_image' is called from destructor '~field_t()' at line 36. Dynamic binding is not used. [virtualCallInConstructor] obj/field.cc:36:20: note: Calling get_image obj/field.h:29:11: note: get_image is a virtual function obj/field.cc:22:26: style:inconclusive: Function 'field_t' argument 1 names different: declaration 'pos' definition 'p'. [funcArgNamesDifferent] obj/field.h:23:24: note: Function 'field_t' argument 1 names different: declaration 'pos' definition 'p'. obj/field.cc:22:26: note: Function 'field_t' argument 1 names different: declaration 'pos' definition 'p'. obj/gebaeude.cc:750:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_multiply_remove_haus [valueFlowBailoutIncompleteVar] obj/gebaeude.cc:973:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_multiply_remove_haus [valueFlowBailoutIncompleteVar] obj/label.cc:48:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_buy_land [valueFlowBailoutIncompleteVar] obj/groundobj.h:78:7: style:inconclusive: Technically the member function 'groundobj_t::operatordelete' can be const. [functionConst] obj/groundobj.cc:303:19: note: Technically the member function 'groundobj_t::operatordelete' can be const. obj/groundobj.h:78:7: note: Technically the member function 'groundobj_t::operatordelete' can be const. obj/groundobj.h:49:7: style: Virtual function 'rdwr' is called from constructor 'groundobj_t(loadsave_t*file)' at line 214. Dynamic binding is not used. [virtualCallInConstructor] obj/groundobj.cc:214:2: note: Calling rdwr obj/groundobj.h:49:7: note: rdwr is a virtual function obj/groundobj.h:54:7: style: Virtual function 'calc_image' is called from constructor 'groundobj_t(koord3d pos,const groundobj_desc_t*)' at line 221. Dynamic binding is not used. [virtualCallInConstructor] obj/groundobj.cc:221:2: note: Calling calc_image obj/groundobj.h:54:7: note: calc_image is a virtual function obj/groundobj.cc:250:21: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] obj/leitung2.cc:379:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable leitung [valueFlowBailoutIncompleteVar] obj/leitung2.cc:433:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_maintain_transformer [valueFlowBailoutIncompleteVar] obj/label.cc:88:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/gebaeude.h:135:7: style: Virtual function 'rdwr' is called from constructor 'gebaeude_t(loadsave_t*file)' at line 80. Dynamic binding is not used. [virtualCallInConstructor] obj/gebaeude.cc:80:2: note: Calling rdwr obj/gebaeude.h:135:7: note: rdwr is a virtual function obj/pillar.h:27:7: style: Virtual function 'rdwr' is called from constructor 'pillar_t(loadsave_t*file)' at line 30. Dynamic binding is not used. [virtualCallInConstructor] obj/pillar.cc:30:2: note: Calling rdwr obj/pillar.h:27:7: note: rdwr is a virtual function obj/pillar.h:45:7: style: Virtual function 'calc_image' is called from constructor 'pillar_t(koord3d pos,player_t*player,const bridge_desc_t*desc,bridge_desc_t::img_t img,int hoehe)' at line 41. Dynamic binding is not used. [virtualCallInConstructor] obj/pillar.cc:41:2: note: Calling calc_image obj/pillar.h:45:7: note: calc_image is a virtual function obj/gebaeude.cc:406:8: style: The scope of the variable 'colours' can be reduced. [variableScope] obj/gebaeude.cc:497:25: style: The scope of the variable 'desc' can be reduced. [variableScope] obj/pillar.cc:49:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/pillar.cc:77:17: style: Variable 'plan' can be declared as pointer to const [constVariablePointer] obj/gebaeude.cc:239:56: style:inconclusive: Function 'set_tile' argument 1 names different: declaration 't' definition 'new_tile'. [funcArgNamesDifferent] obj/gebaeude.h:150:45: note: Function 'set_tile' argument 1 names different: declaration 't' definition 'new_tile'. obj/gebaeude.cc:239:56: note: Function 'set_tile' argument 1 names different: declaration 't' definition 'new_tile'. obj/gebaeude.cc:103:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/gebaeude.cc:543:27: style: Variable 'add_gb' can be declared as pointer to const [constVariablePointer] obj/gebaeude.cc:654:17: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/leitung2.cc:111:12: warning: Member variable 'leitung_t::is_crossing' is not initialized in the constructor. [uninitMemberVar] obj/leitung2.cc:111:12: warning: Member variable 'leitung_t::ribi' is not initialized in the constructor. [uninitMemberVar] obj/leitung2.h:70:15: style: Virtual function 'set_net' is called from constructor 'leitung_t(loadsave_t*file)' at line 104. Dynamic binding is not used. [virtualCallInConstructor] obj/leitung2.cc:104:2: note: Calling set_net obj/leitung2.h:70:15: note: set_net is a virtual function obj/leitung2.h:112:7: style: Virtual function 'rdwr' is called from constructor 'leitung_t(loadsave_t*file)' at line 107. Dynamic binding is not used. [virtualCallInConstructor] obj/leitung2.cc:107:2: note: Calling rdwr obj/leitung2.h:112:7: note: rdwr is a virtual function obj/leitung2.h:70:15: style: Virtual function 'set_net' is called from constructor 'leitung_t(koord3d pos,player_t*player)' at line 114. Dynamic binding is not used. [virtualCallInConstructor] obj/leitung2.cc:114:2: note: Calling set_net obj/leitung2.h:70:15: note: set_net is a virtual function obj/leitung2.h:173:7: style: Virtual function 'rdwr' is called from constructor 'pumpe_t(loadsave_t*file)' at line 462. Dynamic binding is not used. [virtualCallInConstructor] obj/leitung2.cc:462:2: note: Calling rdwr obj/leitung2.h:173:7: note: rdwr is a virtual function obj/leitung2.h:260:7: style: Virtual function 'rdwr' is called from constructor 'senke_t(loadsave_t*file)' at line 656. Dynamic binding is not used. [virtualCallInConstructor] obj/leitung2.cc:656:2: note: Calling rdwr obj/leitung2.h:260:7: note: rdwr is a virtual function obj/leitung2.cc:242:6: style: Condition 'my_net' is always true [knownConditionTrueFalse] obj/leitung2.cc:821:23: style: C-style reference casting [cstyleCast] obj/leitung2.cc:185:37: style:inconclusive: Function 'replace' argument 1 names different: declaration 'neu' definition 'new_net'. [funcArgNamesDifferent] obj/leitung2.h:52:27: note: Function 'replace' argument 1 names different: declaration 'neu' definition 'new_net'. obj/leitung2.cc:185:37: note: Function 'replace' argument 1 names different: declaration 'neu' definition 'new_net'. obj/leitung2.cc:64:15: style: Local variable 'ribi' shadows outer variable [shadowVariable] obj/leitung2.h:37:15: note: Shadowed declaration obj/leitung2.cc:64:15: note: Shadow variable obj/leitung2.cc:330:21: style: Local variable 'net' shadows outer variable [shadowVariable] obj/leitung2.h:42:15: note: Shadowed declaration obj/leitung2.cc:330:21: note: Shadow variable obj/leitung2.cc:392:23: style: Local variable 'desc' shadows outer variable [shadowVariable] obj/leitung2.h:44:20: note: Shadowed declaration obj/leitung2.cc:392:23: note: Shadow variable obj/leitung2.cc:44:42: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] obj/leitung2.cc:255:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/leitung2.cc:274:11: style: Variable 'way' can be declared as pointer to const [constVariablePointer] obj/signal.cc:29:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable STATE_RED [valueFlowBailoutIncompleteVar] obj/simobj.cc:94:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] obj/simobj.cc:252:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] obj/roadsign.cc:544:146: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dirty [valueFlowBailoutIncompleteVar] obj/signal.cc:57:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/signal.cc:66:10: style: Variable 'sch' can be declared as pointer to const [constVariablePointer] obj/tunnel.cc:187:35: style:inconclusive: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. [funcArgNamesDifferent] obj/tunnel.h:56:25: note: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. obj/tunnel.cc:187:35: note: Function 'cleanup' argument 1 names different: declaration 'player' definition 'player2'. obj/tunnel.cc:96:15: style: Local variable 'w' shadows outer variable [shadowVariable] obj/tunnel.cc:93:14: note: Shadowed declaration obj/tunnel.cc:96:15: note: Shadow variable obj/simobj.cc:79:68: style: C-style pointer casting [cstyleCast] obj/simobj.cc:86:5: style: C-style pointer casting [cstyleCast] obj/simobj.cc:100:7: style: C-style pointer casting [cstyleCast] obj/simobj.cc:96:14: style: Local variable 'gr' shadows outer variable [shadowVariable] obj/simobj.cc:76:11: note: Shadowed declaration obj/simobj.cc:96:14: note: Shadow variable obj/simobj.cc:311:15: style: Variable 'vp' can be declared as pointer to const [constVariablePointer] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , roadsign_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] obj/roadsign.h:164:7: style: Virtual function 'rdwr' is called from constructor 'roadsign_t(loadsave_t*file)' at line 48. Dynamic binding is not used. [virtualCallInConstructor] obj/roadsign.cc:48:2: note: Calling rdwr obj/roadsign.h:164:7: note: rdwr is a virtual function obj/roadsign.cc:232:9: style: Local variable 'image' shadows outer variable [shadowVariable] obj/roadsign.h:25:11: note: Shadowed declaration obj/roadsign.cc:232:9: note: Shadow variable obj/roadsign.cc:454:9: style: Local variable 'image' shadows outer variable [shadowVariable] obj/roadsign.h:25:11: note: Shadowed declaration obj/roadsign.cc:454:9: note: Shadow variable obj/roadsign.cc:367:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] obj/roadsign.cc:638:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/zeiger.cc:58:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] obj/wolke.cc:72:10: warning: Member variable 'wolke_t::insta_zeit' is not initialized in the constructor. [uninitMemberVar] obj/wolke.cc:72:10: warning: Member variable 'wolke_t::base_y_off' is not initialized in the constructor. [uninitMemberVar] obj/wolke.cc:72:10: warning: Member variable 'wolke_t::lifetime' is not initialized in the constructor. [uninitMemberVar] obj/wolke.cc:72:10: warning: Member variable 'wolke_t::uplift' is not initialized in the constructor. [uninitMemberVar] obj/wolke.cc:72:10: warning: Member variable 'wolke_t::cloud_nr' is not initialized in the constructor. [uninitMemberVar] obj/wolke.h:44:7: style:inconclusive: Technically the member function 'wolke_t::operatordelete' can be const. [functionConst] obj/wolke.cc:43:15: note: Technically the member function 'wolke_t::operatordelete' can be const. obj/wolke.h:44:7: note: Technically the member function 'wolke_t::operatordelete' can be const. obj/wolke.h:55:11: style: Virtual function 'get_image' is called from destructor '~wolke_t()' at line 65. Dynamic binding is not used. [virtualCallInConstructor] obj/wolke.cc:65:20: note: Calling get_image obj/wolke.h:55:11: note: get_image is a virtual function obj/wolke.cc:130:15: style: Condition 'new_img!=old_img' is always false [knownConditionTrueFalse] obj/wolke.cc:126:25: note: new_img is assigned 'get_front_image()' here. obj/wolke.cc:116:25: note: old_img is assigned 'get_front_image()' here. obj/wolke.cc:119:18: note: Assuming condition is false obj/wolke.cc:130:15: note: Condition 'new_img!=old_img' is always false obj/wolke.cc:50:37: style:inconclusive: Function 'wolke_t' argument 2 names different: declaration 'xoff' definition 'b_x_off'. [funcArgNamesDifferent] obj/wolke.h:47:29: note: Function 'wolke_t' argument 2 names different: declaration 'xoff' definition 'b_x_off'. obj/wolke.cc:50:37: note: Function 'wolke_t' argument 2 names different: declaration 'xoff' definition 'b_x_off'. obj/wolke.cc:50:52: style:inconclusive: Function 'wolke_t' argument 3 names different: declaration 'yoff' definition 'b_y_off'. [funcArgNamesDifferent] obj/wolke.h:47:41: note: Function 'wolke_t' argument 3 names different: declaration 'yoff' definition 'b_y_off'. obj/wolke.cc:50:52: note: Function 'wolke_t' argument 3 names different: declaration 'yoff' definition 'b_y_off'. obj/wolke.cc:50:68: style:inconclusive: Function 'wolke_t' argument 4 names different: declaration 'hoff' definition 'b_h_off'. [funcArgNamesDifferent] obj/wolke.h:47:54: note: Function 'wolke_t' argument 4 names different: declaration 'hoff' definition 'b_h_off'. obj/wolke.cc:50:68: note: Function 'wolke_t' argument 4 names different: declaration 'hoff' definition 'b_h_off'. obj/wolke.cc:50:84: style:inconclusive: Function 'wolke_t' argument 5 names different: declaration 'lifetime' definition 'lt'. [funcArgNamesDifferent] obj/wolke.h:47:67: note: Function 'wolke_t' argument 5 names different: declaration 'lifetime' definition 'lt'. obj/wolke.cc:50:84: note: Function 'wolke_t' argument 5 names different: declaration 'lifetime' definition 'lt'. obj/wolke.cc:50:95: style:inconclusive: Function 'wolke_t' argument 6 names different: declaration 'uplift' definition 'ul'. [funcArgNamesDifferent] obj/wolke.h:47:84: note: Function 'wolke_t' argument 6 names different: declaration 'uplift' definition 'ul'. obj/wolke.cc:50:95: note: Function 'wolke_t' argument 6 names different: declaration 'uplift' definition 'ul'. obj/wolke.cc:50:118: style:inconclusive: Function 'wolke_t' argument 7 names different: declaration 'cloud' definition 'desc'. [funcArgNamesDifferent] obj/wolke.h:47:111: note: Function 'wolke_t' argument 7 names different: declaration 'cloud' definition 'desc'. obj/wolke.cc:50:118: note: Function 'wolke_t' argument 7 names different: declaration 'cloud' definition 'desc'. obj/wolke.cc:149:55: style:inconclusive: Function 'display_after' argument 3 names different: declaration 'is_global' definition 'extra_param'. [funcArgNamesDifferent] obj/wolke.h:70:55: note: Function 'display_after' argument 3 names different: declaration 'is_global' definition 'extra_param'. obj/wolke.cc:149:55: note: Function 'display_after' argument 3 names different: declaration 'is_global' definition 'extra_param'. obj/zeiger.cc:21:2: performance: Variable 'area' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] obj/zeiger.cc:48:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , way_obj_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] obj/wayobj.h:77:12: style: Virtual function 'get_waytype' is called from destructor '~wayobj_t()' at line 79. Dynamic binding is not used. [virtualCallInConstructor] obj/wayobj.cc:79:68: note: Calling get_waytype obj/wayobj.h:77:12: note: get_waytype is a virtual function obj/wayobj.h:65:11: style: Virtual function 'get_front_image' is called from destructor '~wayobj_t()' at line 112. Dynamic binding is not used. [virtualCallInConstructor] obj/wayobj.cc:112:20: note: Calling get_front_image obj/wayobj.h:65:11: note: get_front_image is a virtual function obj/wayobj.h:55:11: style: Virtual function 'get_image' is called from destructor '~wayobj_t()' at line 113. Dynamic binding is not used. [virtualCallInConstructor] obj/wayobj.cc:113:20: note: Calling get_image obj/wayobj.h:55:11: note: get_image is a virtual function player/ai.cc:190:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] player/ai.cc:417:71: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] obj/wayobj.cc:61:81: style:inconclusive: Function 'wayobj_t' argument 3 names different: declaration 'dir' definition 'd'. [funcArgNamesDifferent] obj/wayobj.h:42:54: note: Function 'wayobj_t' argument 3 names different: declaration 'dir' definition 'd'. obj/wayobj.cc:61:81: note: Function 'wayobj_t' argument 3 names different: declaration 'dir' definition 'd'. obj/wayobj.cc:61:112: style:inconclusive: Function 'wayobj_t' argument 4 names different: declaration 'desc' definition 'b'. [funcArgNamesDifferent] obj/wayobj.h:42:81: note: Function 'wayobj_t' argument 4 names different: declaration 'desc' definition 'b'. obj/wayobj.cc:61:112: note: Function 'wayobj_t' argument 4 names different: declaration 'desc' definition 'b'. obj/wayobj.cc:82:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:93:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:99:17: style: Variable 'b' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:114:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:202:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:274:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] obj/wayobj.cc:289:15: style: Variable 'sec_w' can be declared as pointer to const [constVariablePointer] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < oldsignal_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < oldsignal_t * >::node_t::operatordelete' can be const. [functionConst] old_blockmanager.cc:47:7: style: Virtual function 'rdwr' is called from constructor 'oldsignal_t(loadsave_t*file,obj_t::typ type)' at line 62. Dynamic binding is not used. [virtualCallInConstructor] old_blockmanager.cc:62:2: note: Calling rdwr old_blockmanager.cc:47:7: note: rdwr is a virtual function old_blockmanager.cc:85:16: style: Variable 'typ' is assigned a value that is never used. [unreadVariable] player/ai.h:63:7: performance:inconclusive: Technically the member function 'ai_t::is_connected' can be static (but you may consider moving to unnamed namespace). [functionStatic] player/ai.cc:85:12: note: Technically the member function 'ai_t::is_connected' can be static (but you may consider moving to unnamed namespace). player/ai.h:63:7: note: Technically the member function 'ai_t::is_connected' can be static (but you may consider moving to unnamed namespace). player/ai.h:82:8: performance:inconclusive: Technically the member function 'ai_t::find_shore' can be static (but you may consider moving to unnamed namespace). [functionStatic] player/ai.cc:370:13: note: Technically the member function 'ai_t::find_shore' can be static (but you may consider moving to unnamed namespace). player/ai.h:82:8: note: Technically the member function 'ai_t::find_shore' can be static (but you may consider moving to unnamed namespace). player/ai.cc:138:7: style: The scope of the variable 'place_ok' can be reduced. [variableScope] player/ai.cc:72:41: style:inconclusive: Function 'get_halt' argument 1 names different: declaration 'haltpos' definition 'pos'. [funcArgNamesDifferent] player/ai.h:76:37: note: Function 'get_halt' argument 1 names different: declaration 'haltpos' definition 'pos'. player/ai.cc:72:41: note: Function 'get_halt' argument 1 names different: declaration 'haltpos' definition 'pos'. player/ai.cc:85:38: style:inconclusive: Function 'is_connected' argument 1 names different: declaration 'star_pos' definition 'start_pos'. [funcArgNamesDifferent] player/ai.h:63:32: note: Function 'is_connected' argument 1 names different: declaration 'star_pos' definition 'start_pos'. player/ai.cc:85:38: note: Function 'is_connected' argument 1 names different: declaration 'star_pos' definition 'start_pos'. player/ai.cc:85:61: style:inconclusive: Function 'is_connected' argument 2 names different: declaration 'end_pos' definition 'dest_pos'. [funcArgNamesDifferent] player/ai.h:63:54: note: Function 'is_connected' argument 2 names different: declaration 'end_pos' definition 'dest_pos'. player/ai.cc:85:61: note: Function 'is_connected' argument 2 names different: declaration 'end_pos' definition 'dest_pos'. player/ai.cc:441:113: style:inconclusive: Function 'create_simple_road_transport' argument 5 names different: declaration 'road' definition 'road_weg'. [funcArgNamesDifferent] player/ai.h:88:108: note: Function 'create_simple_road_transport' argument 5 names different: declaration 'road' definition 'road_weg'. player/ai.cc:441:113: note: Function 'create_simple_road_transport' argument 5 names different: declaration 'road' definition 'road_weg'. player/ai.cc:144:13: style: Local variable 'gr' shadows outer variable [shadowVariable] player/ai.cc:131:17: note: Shadowed declaration player/ai.cc:144:13: note: Shadow variable player/ai.cc:37:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] player/ai.cc:74:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai.cc:105:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai.cc:127:55: style: Parameter 'dirs' can be declared as pointer to const [constParameterPointer] player/ai.cc:144:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai.cc:320:17: style: Variable 'prev_hq' can be declared as pointer to const [constVariablePointer] player/ai.cc:333:14: style: Variable 'st' can be declared as pointer to const [constVariablePointer] player/ai.cc:419:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai.cc:461:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] player/ai_goods.h:114:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AI_GOODS [valueFlowBailoutIncompleteVar] player/ai_goods.cc:110:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NR_INIT [valueFlowBailoutIncompleteVar] player/ai_goods.cc:138:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] player/ai_goods.cc:1245:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] player/ai_goods.cc:1345:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NR_INIT [valueFlowBailoutIncompleteVar] player/ai_goods.cc:1533:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NR_INIT [valueFlowBailoutIncompleteVar] player/ai_passenger.h:83:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AI_PASSENGER [valueFlowBailoutIncompleteVar] player/ai_passenger.cc:451:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] player/ai_passenger.cc:897:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] player/ai_passenger.cc:1018:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable factory [valueFlowBailoutIncompleteVar] player/ai_scripted.cc:255:39: error: Using object that is a temporary. [danglingTemporaryLifetime] player/ai_scripted.cc:254:72: note: Pointer to container is created here. player/ai_scripted.cc:254:60: note: Temporary created here. player/ai_scripted.cc:255:39: note: Using object that is a temporary. player/ai_scripted.cc:262:39: error: Using object that is a temporary. [danglingTemporaryLifetime] player/ai_scripted.cc:260:84: note: Pointer to container is created here. player/ai_scripted.cc:260:72: note: Temporary created here. player/ai_scripted.cc:262:39: note: Using object that is a temporary. player/ai_scripted.cc:48:73: style: C-style pointer casting [cstyleCast] player/ai_scripted.cc:118:84: style: C-style pointer casting [cstyleCast] player/ai_scripted.cc:284:74: style: C-style pointer casting [cstyleCast] player/ai_scripted.cc:33:67: style:inconclusive: Function 'init' argument 2 names different: declaration 'ai_name' definition 'ai_name_'. [funcArgNamesDifferent] player/ai_scripted.h:42:53: note: Function 'init' argument 2 names different: declaration 'ai_name' definition 'ai_name_'. player/ai_scripted.cc:33:67: note: Function 'init' argument 2 names different: declaration 'ai_name' definition 'ai_name_'. player/ai_scripted.cc:165:37: style: Parameter 'str' can be declared as reference to const [constParameterReference] player/ai_scripted.cc:173:8: style: Variable 'equal' can be declared as pointer to const [constVariablePointer] player/ai_scripted.cc:174:8: style: Variable 'first_digit' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:35:17: warning: Member variable 'ai_passenger_t::marker' is not initialized in the constructor. [uninitMemberVar] player/ai_passenger.h:61:8: performance:inconclusive: Technically the member function 'ai_passenger_t::find_harbour_pos' can be static (but you may consider moving to unnamed namespace). [functionStatic] player/ai_passenger.cc:141:23: note: Technically the member function 'ai_passenger_t::find_harbour_pos' can be static (but you may consider moving to unnamed namespace). player/ai_passenger.h:61:8: note: Technically the member function 'ai_passenger_t::find_harbour_pos' can be static (but you may consider moving to unnamed namespace). player/ai_passenger.h:80:2: style: Class 'ai_passenger_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/ai_goods.h:97:6: style:inconclusive: Technically the member function 'ai_goods_t::get_factory_tree_missing_count' can be const. [functionConst] player/ai_goods.cc:179:17: note: Technically the member function 'ai_goods_t::get_factory_tree_missing_count' can be const. player/ai_goods.h:97:6: note: Technically the member function 'ai_goods_t::get_factory_tree_missing_count' can be const. tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < fabrik_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < fabrik_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < fabconnection_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < fabconnection_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < haltestelle_t :: tile_t >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < haltestelle_t :: tile_t >::node_t::operatordelete' can be const. [functionConst] player/ai_goods.h:111:2: style: Class 'ai_goods_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/ai_goods.h:75:3: style: Class 'fabconnection_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] player/ai_passenger.cc:541:10: style: Redundant initialization for 'bushalt'. The initialized value is overwritten before it is read. [redundantInitialization] player/ai_passenger.cc:510:16: note: bushalt is initialized player/ai_passenger.cc:541:10: note: bushalt is overwritten player/ai_passenger.cc:1101:18: style: Redundant initialization for 'end_hub_pos'. The initialized value is overwritten before it is read. [redundantInitialization] player/ai_passenger.cc:1093:22: note: end_hub_pos is initialized player/ai_passenger.cc:1101:18: note: end_hub_pos is overwritten player/ai_passenger.cc:1005:15: style: The scope of the variable 'dist' can be reduced. [variableScope] player/ai_goods.cc:959:8: style: The scope of the variable 'income_rail' can be reduced. [variableScope] player/ai_goods.cc:959:23: style: The scope of the variable 'income_road' can be reduced. [variableScope] player/ai_goods.cc:988:9: style: The scope of the variable 'length' can be reduced. [variableScope] player/ai_passenger.cc:58:38: style:inconclusive: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. [funcArgNamesDifferent] player/ai_passenger.h:94:24: note: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. player/ai_passenger.cc:58:38: note: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. player/ai_passenger.cc:448:80: style:inconclusive: Function 'build_airport' argument 3 names different: declaration 'rotate' definition 'rotation'. [funcArgNamesDifferent] player/ai_passenger.h:65:65: note: Function 'build_airport' argument 3 names different: declaration 'rotate' definition 'rotation'. player/ai_passenger.cc:448:80: note: Function 'build_airport' argument 3 names different: declaration 'rotate' definition 'rotation'. player/ai_passenger.cc:768:57: style:inconclusive: Function 'create_bus_transport_vehicle' argument 1 names different: declaration 'startpos' definition 'startpos2d'. [funcArgNamesDifferent] player/ai_passenger.h:77:42: note: Function 'create_bus_transport_vehicle' argument 1 names different: declaration 'startpos' definition 'startpos2d'. player/ai_passenger.cc:768:57: note: Function 'create_bus_transport_vehicle' argument 1 names different: declaration 'startpos' definition 'startpos2d'. player/ai_passenger.cc:188:11: style: Local variable 'end_stadt' shadows outer variable [shadowVariable] player/ai_passenger.h:47:17: note: Shadowed declaration player/ai_passenger.cc:188:11: note: Shadow variable player/ai_passenger.cc:189:11: style: Local variable 'ziel' shadows outer variable [shadowVariable] player/ai_passenger.h:49:12: note: Shadowed declaration player/ai_passenger.cc:189:11: note: Shadow variable player/ai_passenger.cc:1302:18: style: Local variable 'i' shadows outer variable [shadowVariable] player/ai_passenger.cc:1280:16: note: Shadowed declaration player/ai_passenger.cc:1302:18: note: Shadow variable player/ai_passenger.cc:1321:21: style: Local variable 'v' shadows outer variable [shadowVariable] player/ai_passenger.cc:1311:38: note: Shadowed declaration player/ai_passenger.cc:1321:21: note: Shadow variable player/ai_passenger.cc:141:49: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] player/ai_passenger.cc:156:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:188:11: style: Variable 'end_stadt' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:190:14: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:323:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:334:12: style: Variable 'harbour_gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:356:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:367:12: style: Variable 'harbour_gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:388:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:405:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:489:13: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:511:8: style: Variable 'trypos' can be declared as const array [constVariable] player/ai_passenger.cc:557:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_passenger.cc:587:40: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] player/ai_passenger.cc:806:72: style: Parameter 'start' can be declared as pointer to const [constParameterPointer] player/ai_goods.cc:102:34: style:inconclusive: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. [funcArgNamesDifferent] player/ai_goods.h:123:24: note: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. player/ai_goods.cc:102:34: note: Function 'set_active' argument 1 names different: declaration 'b' definition 'new_state'. player/ai_goods.cc:501:60: style:inconclusive: Function 'create_rail_transport_vehikel' argument 1 names different: declaration 'pos1' definition 'platz1'. [funcArgNamesDifferent] player/ai_goods.h:108:49: note: Function 'create_rail_transport_vehikel' argument 1 names different: declaration 'pos1' definition 'platz1'. player/ai_goods.cc:501:60: note: Function 'create_rail_transport_vehikel' argument 1 names different: declaration 'pos1' definition 'platz1'. player/ai_goods.cc:501:80: style:inconclusive: Function 'create_rail_transport_vehikel' argument 2 names different: declaration 'pos2' definition 'platz2'. [funcArgNamesDifferent] player/ai_goods.h:108:66: note: Function 'create_rail_transport_vehikel' argument 2 names different: declaration 'pos2' definition 'platz2'. player/ai_goods.cc:501:80: note: Function 'create_rail_transport_vehikel' argument 2 names different: declaration 'pos2' definition 'platz2'. player/ai_goods.cc:152:11: style: Local variable 'ware_nr' shadows outer variable [shadowVariable] player/ai_goods.cc:135:8: note: Shadowed declaration player/ai_goods.cc:152:11: note: Shadow variable player/ai_goods.cc:242:8: style: Local variable 'start' shadows outer variable [shadowVariable] player/ai_goods.h:41:12: note: Shadowed declaration player/ai_goods.cc:242:8: note: Shadow variable player/ai_goods.cc:244:8: style: Local variable 'ziel' shadows outer variable [shadowVariable] player/ai_goods.h:42:12: note: Shadowed declaration player/ai_goods.cc:244:8: note: Shadow variable player/ai_goods.cc:268:7: style: Local variable 'i' shadows outer variable [shadowVariable] player/ai_goods.cc:255:15: note: Shadowed declaration player/ai_goods.cc:268:7: note: Shadow variable player/ai_goods.cc:399:13: style: Local variable 'gr' shadows outer variable [shadowVariable] player/ai_goods.cc:381:11: note: Shadowed declaration player/ai_goods.cc:399:13: note: Shadow variable player/ai_goods.cc:539:14: style: Local variable 'v' shadows outer variable [shadowVariable] player/ai_goods.cc:526:13: note: Shadowed declaration player/ai_goods.cc:539:14: note: Shadow variable player/ai_goods.cc:1230:15: style: Local variable 'i' shadows outer variable [shadowVariable] player/ai_goods.cc:1205:16: note: Shadowed declaration player/ai_goods.cc:1230:15: note: Shadow variable player/ai_goods.cc:1263:8: style: Local variable 'line' shadows outer variable [shadowVariable] player/ai_goods.cc:1239:19: note: Shadowed declaration player/ai_goods.cc:1263:8: note: Shadow variable player/ai_goods.cc:1264:21: style: Local variable 'schedule' shadows outer variable [shadowVariable] player/ai_goods.cc:1243:18: note: Shadowed declaration player/ai_goods.cc:1264:21: note: Shadow variable player/ai_goods.cc:1268:26: style: Local variable 'cnv' shadows outer variable [shadowVariable] player/ai_goods.cc:1206:26: note: Shadowed declaration player/ai_goods.cc:1268:26: note: Shadow variable player/ai_goods.cc:354:58: style: Parameter 'qfab' can be declared as pointer to const [constParameterPointer] player/ai_goods.cc:399:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:451:58: style: Parameter 'qfab' can be declared as pointer to const [constParameterPointer] player/ai_goods.cc:571:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:653:12: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:673:12: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:1144:19: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:1264:21: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] player/ai_goods.cc:665:10: style: Variable 'perpend' is assigned a value that is never used. [unreadVariable] player/ai_goods.cc:959:19: style: Variable 'income_rail' is assigned a value that is never used. [unreadVariable] player/ai_goods.cc:959:34: style: Variable 'income_road' is assigned a value that is never used. [unreadVariable] player/ai_goods.cc:988:16: style: Variable 'length' is assigned a value that is never used. [unreadVariable] script/api_function.h:304:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:317:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:426:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:503:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:590:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:640:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:686:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:709:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_function.h:758:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_param.h:437:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A1 [valueFlowBailoutIncompleteVar] script/api_param.h:434:13: warning: The struct 'freevariable2 < bool , signed int >' defines member function with name 'push' also defined in its parent struct 'freevariable < bool >'. [duplInheritedMember] script/api_param.h:415:13: note: Parent function 'freevariable < bool >::push' script/api_param.h:434:13: note: Derived function 'freevariable2 < bool , signed int >::push' script/api/api_city.cc:46:2: style: Class 'city_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_param.h:409:3: style: Struct 'freevariable < bool >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_city.cc:58:57: style: C-style pointer casting [cstyleCast] script/api/api_city.cc:73:64: style: C-style pointer casting [cstyleCast] player/simplay.cc:521:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] script/api/api_city.cc:54:40: style: Parameter 'city' can be declared as pointer to const. However it seems that 'set_citygrowth' is a callback function, if 'city' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_city.cc:257:23: note: You might need to cast the function pointer here script/api/api_city.cc:54:40: note: Parameter 'city' can be declared as pointer to const script/api/api_city.cc:67:42: style: Parameter 'city' can be declared as pointer to const. However it seems that 'city_change_size' is a callback function, if 'city' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_city.cc:251:22: note: You might need to cast the function pointer here script/api/api_city.cc:67:42: note: Parameter 'city' can be declared as pointer to const script/api/api_city.cc:71:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api_function.h:253:48: debug: Failed to instantiate template "embed_call_t". The checking continues anyway. [templateInstantiation] script/api/api_command.cc:414:95: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_set_slope [valueFlowBailoutIncompleteVar] script/api_function.h:359:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable func [valueFlowBailoutIncompleteVar] script/api/api_simple.h:21:2: style: Struct 'my_ribi_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_simple.h:27:2: style: Struct 'my_slope_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_simple.h:37:3: style: Struct 'mytime_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_command.cc:119:34: style: C-style pointer casting [cstyleCast] script/api/api_command.cc:131:34: style: C-style pointer casting [cstyleCast] script/api/api_command.cc:161:28: style: C-style pointer casting [cstyleCast] script/api/api_command.cc:173:10: style: Local variable 'tool' shadows outer variable [shadowVariable] script/api/api_command.h:56:11: note: Shadowed declaration script/api/api_command.cc:173:10: note: Shadow variable script/api/api_command.cc:267:25: style: Parameter 'tool' can be declared as pointer to const. However it seems that 'get_flags' is a callback function, if 'tool' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_command.cc:464:23: note: You might need to cast the function pointer here script/api/api_command.cc:267:25: note: Parameter 'tool' can be declared as pointer to const player/simplay.h:291:7: style:inconclusive: Technically the member function 'player_t::display_messages' can be const. [functionConst] player/simplay.cc:217:16: note: Technically the member function 'player_t::display_messages' can be const. player/simplay.h:291:7: note: Technically the member function 'player_t::display_messages' can be const. player/simplay.h:342:7: style:inconclusive: Technically the member function 'player_t::tell_tool_result' can be const. [functionConst] player/simplay.cc:906:16: note: Technically the member function 'player_t::tell_tool_result' can be const. player/simplay.h:342:7: note: Technically the member function 'player_t::tell_tool_result' can be const. player/simplay.h:77:8: style:inconclusive: Technically the member function 'player_t::income_message_t::operatordelete' can be const. [functionConst] player/simplay.cc:211:34: note: Technically the member function 'player_t::income_message_t::operatordelete' can be const. player/simplay.h:77:8: note: Technically the member function 'player_t::income_message_t::operatordelete' can be const. player/simplay.cc:65:2: warning: Class 'player_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] player/simplay.cc:65:2: warning: Class 'player_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] player/simplay.cc:568:19: style: C-style pointer casting [cstyleCast] player/simplay.cc:579:36: style: C-style pointer casting [cstyleCast] player/simplay.cc:584:18: style: C-style pointer casting [cstyleCast] player/simplay.cc:603:18: style: C-style pointer casting [cstyleCast] player/simplay.cc:610:18: style: C-style pointer casting [cstyleCast] player/simplay.cc:611:15: style: C-style pointer casting [cstyleCast] player/simplay.cc:789:40: style: C-style pointer casting [cstyleCast] player/simplay.cc:800:40: style: C-style pointer casting [cstyleCast] script/api/api_control.cc:46:28: style: C-style pointer casting [cstyleCast] player/simplay.cc:64:26: style:inconclusive: Function 'player_t' argument 1 names different: declaration 'player_nr' definition 'nr'. [funcArgNamesDifferent] player/simplay.h:257:17: note: Function 'player_t' argument 1 names different: declaration 'player_nr' definition 'nr'. player/simplay.cc:64:26: note: Function 'player_t' argument 1 names different: declaration 'player_nr' definition 'nr'. player/simplay.cc:120:67: style:inconclusive: Function 'add_money_message' argument 2 names different: declaration 'k' definition 'pos'. [funcArgNamesDifferent] player/simplay.h:91:46: note: Function 'add_money_message' argument 2 names different: declaration 'k' definition 'pos'. player/simplay.cc:120:67: note: Function 'add_money_message' argument 2 names different: declaration 'k' definition 'pos'. player/simplay.cc:136:46: style:inconclusive: Function 'book_new_vehicle' argument 1 names different: declaration 'price' definition 'amount'. [funcArgNamesDifferent] player/simplay.h:146:37: note: Function 'book_new_vehicle' argument 1 names different: declaration 'price' definition 'amount'. player/simplay.cc:136:46: note: Function 'book_new_vehicle' argument 1 names different: declaration 'price' definition 'amount'. player/simplay.cc:143:92: style:inconclusive: Function 'book_revenue' argument 4 names different: declaration 'cathegory' definition 'index'. [funcArgNamesDifferent] player/simplay.h:157:93: note: Function 'book_revenue' argument 4 names different: declaration 'cathegory' definition 'index'. player/simplay.cc:143:92: note: Function 'book_revenue' argument 4 names different: declaration 'cathegory' definition 'index'. player/simplay.cc:196:68: style:inconclusive: Function 'income_message_t' argument 2 names different: declaration 'pos' definition 'p'. [funcArgNamesDifferent] player/simplay.h:75:42: note: Function 'income_message_t' argument 2 names different: declaration 'pos' definition 'p'. player/simplay.cc:196:68: note: Function 'income_message_t' argument 2 names different: declaration 'pos' definition 'p'. player/simplay.cc:251:35: style:inconclusive: Function 'add_message' argument 1 names different: declaration 'amount' definition 'betrag'. [funcArgNamesDifferent] player/simplay.h:86:26: note: Function 'add_message' argument 1 names different: declaration 'amount' definition 'betrag'. player/simplay.cc:251:35: note: Function 'add_message' argument 1 names different: declaration 'amount' definition 'betrag'. player/simplay.cc:811:37: style:inconclusive: Function 'init_undo' argument 1 names different: declaration 't' definition 'wtype'. [funcArgNamesDifferent] player/simplay.h:362:27: note: Function 'init_undo' argument 1 names different: declaration 't' definition 'wtype'. player/simplay.cc:811:37: note: Function 'init_undo' argument 1 names different: declaration 't' definition 'wtype'. player/simplay.cc:850:18: style: Local variable 'i' shadows outer variable [shadowVariable] player/simplay.cc:841:2: note: Shadowed declaration player/simplay.cc:850:18: note: Shadow variable player/simplay.cc:906:41: style: Parameter 'tool' can be declared as pointer to const [constParameterPointer] script/api_param.h:409:3: style: Struct 'freevariable < signed int >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_param.h:409:3: style: Struct 'freevariable < unsigned char >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_convoy.cc:27:35: style: Parameter 'cnv' can be declared as pointer to const. However it seems that 'get_convoy_wt' is a callback function, if 'cnv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_convoy.cc:266:23: note: You might need to cast the function pointer here script/api/api_convoy.cc:27:35: note: Parameter 'cnv' can be declared as pointer to const script/api/api_convoy.cc:36:53: style: Parameter 'cnv' can be declared as pointer to const. However it seems that 'get_convoy_stat' is a callback function, if 'cnv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_convoy.cc:305:26: note: You might need to cast the function pointer here script/api/api_convoy.cc:36:53: note: Parameter 'cnv' can be declared as pointer to const script/api/api_convoy.cc:49:72: style: Parameter 'cnv' can be declared as pointer to const. However it seems that 'convoi_get_vehicles' is a callback function, if 'cnv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_convoy.cc:324:22: note: You might need to cast the function pointer here script/api/api_convoy.cc:49:72: note: Parameter 'cnv' can be declared as pointer to const script/api/api_convoy.cc:157:47: style: Parameter 'cnv' can be declared as pointer to const. However it seems that 'convoy_is_schedule_editor_open' is a callback function, if 'cnv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_convoy.cc:376:22: note: You might need to cast the function pointer here script/api/api_convoy.cc:157:47: note: Parameter 'cnv' can be declared as pointer to const script/api/api_convoy.cc:162:34: style: Parameter 'cnv' can be declared as pointer to const. However it seems that 'convoy_is_loading' is a callback function, if 'cnv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_convoy.cc:365:22: note: You might need to cast the function pointer here script/api/api_convoy.cc:162:34: note: Parameter 'cnv' can be declared as pointer to const script/api/api_halt.cc:33:10: debug: Failed to instantiate template "param". The checking continues anyway. [templateInstantiation] script/api_param.h:270:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable i [valueFlowBailoutIncompleteVar] script/api_param.h:409:3: style: Struct 'freevariable < const char * >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_include.cc:29:7: style: C-style pointer casting [cstyleCast] script/api_function.h:218:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F [valueFlowBailoutIncompleteVar] script/api_function.h:128:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable funcptr [valueFlowBailoutIncompleteVar] script/api/api_line.cc:261:72: debug: Failed to instantiate template "param". The checking continues anyway. [templateInstantiation] script/api/api_halt.cc:136:17: error: Reference to temporary returned. [returnTempReference] script/api_function.h:104:3: style: Struct 'function_info_t < bool ( haltestelle_t :: * ) ( const goods_desc_t * ) const >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_function.h:132:47: style: C-style pointer casting [cstyleCast] script/api_function.h:104:19: style: C-style pointer casting [cstyleCast] script/api_function.h:253:61: style: C-style pointer casting [cstyleCast] script/api_function.h:263:41: style: C-style pointer casting [cstyleCast] script/api_function.h:264:46: style: C-style pointer casting [cstyleCast] script/api_function.h:267:53: style: C-style pointer casting [cstyleCast] script/api_function.h:277:50: style: C-style pointer casting [cstyleCast] script/api_function.h:286:40: style: C-style pointer casting [cstyleCast] script/api_function.h:289:40: style: C-style pointer casting [cstyleCast] script/api_function.h:296:48: style: C-style pointer casting [cstyleCast] script/api_function.h:304:61: style: C-style pointer casting [cstyleCast] script/api_function.h:316:52: style: C-style pointer casting [cstyleCast] script/api_function.h:317:51: style: C-style pointer casting [cstyleCast] script/api_function.h:320:40: style: C-style pointer casting [cstyleCast] script/api/api_factory.cc:64:54: style: Parameter 'fab' can be declared as pointer to const. However it seems that 'get_factory_stat' is a callback function, if 'fab' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_factory.cc:340:26: note: You might need to cast the function pointer here script/api/api_factory.cc:64:54: note: Parameter 'fab' can be declared as pointer to const script/api/api_factory.cc:102:58: style: Parameter 'fab' can be declared as pointer to const. However it seems that 'factory_get_tile_list' is a callback function, if 'fab' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_factory.cc:346:23: note: You might need to cast the function pointer here script/api/api_factory.cc:102:58: note: Parameter 'fab' can be declared as pointer to const script/api/api_factory.cc:111:65: style: Parameter 'fab' can be declared as pointer to const. However it seems that 'factory_get_halt_list' is a callback function, if 'fab' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_factory.cc:352:23: note: You might need to cast the function pointer here script/api/api_factory.cc:111:65: note: Parameter 'fab' can be declared as pointer to const script/api/api_factory.cc:122:43: style: Parameter 'fab' can be declared as pointer to const. However it seems that 'factory_set_name' is a callback function, if 'fab' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_factory.cc:274:23: note: You might need to cast the function pointer here script/api/api_factory.cc:122:43: note: Parameter 'fab' can be declared as pointer to const script/api/api_factory.cc:128:43: style: Parameter 'fab' can be declared as pointer to const. However it seems that 'fabrik_get_raw_name' is a callback function, if 'fab' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_factory.cc:268:23: note: You might need to cast the function pointer here script/api/api_factory.cc:128:43: note: Parameter 'fab' can be declared as pointer to const script/api/api_factory.cc:136:12: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] network/network_cmd_ingame.h:282:2: warning: Member variable 'nwc_chg_player_t::param' is not initialized in the constructor. [uninitMemberVar] script/api/api_factory.cc:446:76: warning: Conversion of string literal "x" to bool always evaluates to true. [incorrectStringBooleanError] script/api/api_factory.cc:453:74: warning: Conversion of string literal "x" to bool always evaluates to true. [incorrectStringBooleanError] script/api/api_gui.cc:32:58: style: C-style pointer casting [cstyleCast] script/api/api_gui.cc:41:58: style: C-style pointer casting [cstyleCast] script/api/api_gui.cc:50:58: style: C-style pointer casting [cstyleCast] script/api/api_line.cc:28:52: style: Parameter 'line' can be declared as pointer to const. However it seems that 'get_line_stat' is a callback function, if 'line' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_line.cc:256:26: note: You might need to cast the function pointer here script/api/api_line.cc:28:52: note: Parameter 'line' can be declared as pointer to const script/api/api_line.cc:59:48: style: Parameter 'line' can be declared as pointer to const. However it seems that 'line_change_schedule' is a callback function, if 'line' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_line.cc:273:22: note: You might need to cast the function pointer here script/api/api_line.cc:59:48: note: Parameter 'line' can be declared as pointer to const script/api/api_line.cc:80:39: style: Parameter 'line' can be declared as pointer to const. However it seems that 'line_delete' is a callback function, if 'line' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_line.cc:279:22: note: You might need to cast the function pointer here script/api/api_line.cc:80:39: note: Parameter 'line' can be declared as pointer to const script/api/api_line.cc:103:41: style: Parameter 'line' can be declared as pointer to const. However it seems that 'line_set_name' is a callback function, if 'line' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_line.cc:202:23: note: You might need to cast the function pointer here script/api/api_line.cc:103:41: note: Parameter 'line' can be declared as pointer to const script/api_class.h:198:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api/api_obj_desc.cc:268:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_remove_tree [valueFlowBailoutIncompleteVar] tpl/hashtable_tpl.h:215:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable node [valueFlowBailoutIncompleteVar] tpl/hashtable_tpl.h:233:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable node [valueFlowBailoutIncompleteVar] script/api_class.h:228:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] script/api/api_map_objects.cc:58:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable objtype [valueFlowBailoutIncompleteVar] script/api/api_map_objects.cc:93:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable objtype [valueFlowBailoutIncompleteVar] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/binary_heap_tpl.h:139:11: style:inconclusive: Technically the member function 'binary_heap_tpl < heap_node_t >::front' can be const. [functionConst] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl < heap_node_t >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_pathfinding.cc:116:49: style: Parameter 'bob' can be declared as pointer to const. However it seems that 'way_builder_is_allowed_step' is a callback function, if 'bob' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_pathfinding.cc:207:22: note: You might need to cast the function pointer here script/api/api_pathfinding.cc:116:49: note: Parameter 'bob' can be declared as pointer to const script/api/api_pathfinding.cc:116:63: style: Parameter 'from' can be declared as pointer to const. However it seems that 'way_builder_is_allowed_step' is a callback function, if 'from' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_pathfinding.cc:207:22: note: You might need to cast the function pointer here script/api/api_pathfinding.cc:116:63: note: Parameter 'from' can be declared as pointer to const script/api/api_pathfinding.cc:116:78: style: Parameter 'to' can be declared as pointer to const. However it seems that 'way_builder_is_allowed_step' is a callback function, if 'to' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_pathfinding.cc:207:22: note: You might need to cast the function pointer here script/api/api_pathfinding.cc:116:78: note: Parameter 'to' can be declared as pointer to const script/api/api_pathfinding.cc:135:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] tpl/hashtable_tpl.h:214:18: style: Variable 'nix' is not assigned a value. [unassignedVariable] script/api/api_obj_desc.cc:415:66: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:482:53: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:494:62: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:605:56: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:648:62: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:671:65: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:681:65: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:731:53: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:777:63: style: C-style pointer casting [cstyleCast] script/api/api_obj_desc.cc:825:65: style: C-style pointer casting [cstyleCast] script/api_function.h:104:3: style: Struct 'function_info_t < const char * ( * ) ( const char * ) >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_param.h:409:3: style: Struct 'freevariable < quickstone_tpl < convoi_t > >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_map_objects.cc:242:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:243:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:244:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:245:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:246:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:247:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:248:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:250:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:251:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:252:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:253:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:254:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:255:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:256:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:257:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:259:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:260:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:261:3: style: C-style pointer casting [cstyleCast] script/api/api_map_objects.cc:263:3: style: C-style pointer casting [cstyleCast] player/finance.h:356:73: warning: Either the condition 'INDEX!=ATV_TRANSPORTED' is redundant or the array 'com_year[25][4]' is accessed at index com_year[*][21], which is out of bounds. [arrayIndexOutOfBoundsCond] script/api/api_player.cc:48:125: note: Assuming that condition 'INDEX!=ATV_TRANSPORTED' is not redundant script/api/api_player.cc:46:109: note: Calling function 'get_history_com_year', 2nd argument 'INDEX' value is 21 player/finance.h:356:73: note: Array index out of bounds player/finance.h:357:76: warning: Either the condition 'INDEX!=ATV_TRANSPORTED' is redundant or the array 'com_month[25][4]' is accessed at index com_month[*][21], which is out of bounds. [arrayIndexOutOfBoundsCond] script/api/api_player.cc:48:125: note: Assuming that condition 'INDEX!=ATV_TRANSPORTED' is not redundant script/api/api_player.cc:46:67: note: Calling function 'get_history_com_month', 2nd argument 'INDEX' value is 21 player/finance.h:357:76: note: Array index out of bounds script/api/api_map_objects.cc:181:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:389:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:181:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:182:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:390:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:182:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:183:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:391:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:183:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:184:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:393:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:184:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:185:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:392:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:185:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:186:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:394:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:186:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:187:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:395:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:187:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:211:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:191:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:211:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:213:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:192:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:213:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:214:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:193:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:214:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:215:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:194:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:215:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:216:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:195:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:216:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:217:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:196:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:217:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:218:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:197:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:218:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:219:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:198:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:219:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:220:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:199:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:220:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:222:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:202:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:222:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:223:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:203:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:223:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:225:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:206:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:225:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:226:1: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api/api_map_objects.cc:207:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:226:1: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:234:73: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. [funcArgNamesDifferent] script/api_param.h:388:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:234:73: note: Function 'push' argument 2 names different: declaration 'v' definition 'obj'. script/api/api_map_objects.cc:63:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:128:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:277:9: style: Variable 'w' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:316:30: style: Parameter 'obj' can be declared as pointer to const. However it seems that 'object_is_marked' is a callback function, if 'obj' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:518:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:316:30: note: Parameter 'obj' can be declared as pointer to const script/api/api_map_objects.cc:330:40: style: Parameter 'l' can be declared as pointer to const. However it seems that 'label_set_text' is a callback function, if 'l' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:702:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:330:40: note: Parameter 'l' can be declared as pointer to const script/api/api_map_objects.cc:335:37: style: Parameter 'l' can be declared as pointer to const. However it seems that 'label_get_text' is a callback function, if 'l' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:707:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:335:37: note: Parameter 'l' can be declared as pointer to const script/api/api_map_objects.cc:338:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:346:56: style: Parameter 'player' can be declared as pointer to const. However it seems that 'roadsign_can_pass' is a callback function, if 'player' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:725:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:346:56: note: Parameter 'player' can be declared as pointer to const script/api/api_map_objects.cc:352:46: style: Parameter 'depot' can be declared as pointer to const. However it seems that 'depot_append_vehicle' is a callback function, if 'depot' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:598:22: note: You might need to cast the function pointer here script/api/api_map_objects.cc:352:46: note: Parameter 'depot' can be declared as pointer to const script/api/api_map_objects.cc:365:44: style: Parameter 'depot' can be declared as pointer to const. However it seems that 'depot_start_convoy' is a callback function, if 'depot' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:608:25: note: You might need to cast the function pointer here script/api/api_map_objects.cc:365:44: note: Parameter 'depot' can be declared as pointer to const script/api/api_map_objects.cc:396:54: style: Parameter 'player' can be declared as pointer to const. However it seems that 'get_depot_list' is a callback function, if 'player' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:619:30: note: You might need to cast the function pointer here script/api/api_map_objects.cc:396:54: note: Parameter 'player' can be declared as pointer to const script/api/api_map_objects.cc:419:15: style: Variable 'p' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:422:15: style: Variable 's' can be declared as pointer to const [constVariablePointer] script/api/api_map_objects.cc:428:38: style: Parameter 'lt1' can be declared as pointer to const. However it seems that 'leitung_is_connected' is a callback function, if 'lt1' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:738:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:428:38: note: Parameter 'lt1' can be declared as pointer to const script/api/api_map_objects.cc:428:54: style: Parameter 'lt2' can be declared as pointer to const. However it seems that 'leitung_is_connected' is a callback function, if 'lt2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:738:23: note: You might need to cast the function pointer here script/api/api_map_objects.cc:428:54: note: Parameter 'lt2' can be declared as pointer to const script/api/api_map_objects.cc:439:47: style: Parameter 'weg' can be declared as pointer to const. However it seems that 'get_way_stat' is a callback function, if 'weg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:681:26: note: You might need to cast the function pointer here script/api/api_map_objects.cc:439:47: note: Parameter 'weg' can be declared as pointer to const script/api/api_map_objects.cc:451:56: style: Parameter 'gb' can be declared as pointer to const. However it seems that 'get_tile_list' is a callback function, if 'gb' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_map_objects.cc:578:24: note: You might need to cast the function pointer here script/api/api_map_objects.cc:451:56: note: Parameter 'gb' can be declared as pointer to const script/api_param.h:434:13: warning: The struct 'freevariable2 < signed int , signed int >' defines member function with name 'push' also defined in its parent struct 'freevariable < signed int >'. [duplInheritedMember] script/api_param.h:415:13: note: Parent function 'freevariable < signed int >::push' script/api_param.h:434:13: note: Derived function 'freevariable2 < signed int , signed int >::push' script/api_param.h:450:13: warning: The struct 'freevariable3 < signed int , signed int , bool >' defines member function with name 'push' also defined in its parent struct 'freevariable2 < signed int , signed int >'. [duplInheritedMember] script/api_param.h:434:13: note: Parent function 'freevariable2 < signed int , signed int >::push' script/api_param.h:450:13: note: Derived function 'freevariable3 < signed int , signed int , bool >::push' script/api_param.h:450:13: warning: The struct 'freevariable3 < signed int , signed int , bool >' defines member function with name 'push' also defined in its parent struct 'freevariable < signed int >'. [duplInheritedMember] script/api_param.h:415:13: note: Parent function 'freevariable < signed int >::push' script/api_param.h:450:13: note: Derived function 'freevariable3 < signed int , signed int , bool >::push' script/api/api_player.cc:70:13: style: Variable 'player' can be declared as pointer to const [constVariablePointer] script/api/api_player.cc:87:16: style: Variable 'player' can be declared as pointer to const [constVariablePointer] script/api/api_player.cc:107:46: style: Parameter 'player' can be declared as pointer to const. However it seems that 'player_book_account' is a callback function, if 'player' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_player.cc:273:23: note: You might need to cast the function pointer here script/api/api_player.cc:107:46: note: Parameter 'player' can be declared as pointer to const script/api/api_settings.cc:21:37: style: Parameter 'settings' can be declared as pointer to const. However it seems that 'get_start_time' is a callback function, if 'settings' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_settings.cc:72:28: note: You might need to cast the function pointer here script/api/api_settings.cc:21:37: note: Parameter 'settings' can be declared as pointer to const script/api/api_simple.cc:112:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable idx [valueFlowBailoutIncompleteVar] script/api/api_schedule.cc:79:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] tpl/vector_tpl.h:40:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:44:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:57:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable new_data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:75:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:89:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:102:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:111:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable elem [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:126:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:145:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mid_elem [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:198:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:208:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] tpl/vector_tpl.h:220:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] script/api/get_next.cc:8:69: debug: Function::addArguments found argument 'int' with varid 0. [varid0] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl::node_t::operatordelete' can be const. [functionConst] script/api/export_desc.cc:26:55: style: C-style pointer casting [cstyleCast] script/api/export_desc.cc:28:24: style: C-style pointer casting [cstyleCast] script/api/export_desc.cc:42:24: style: C-style pointer casting [cstyleCast] tpl/vector_tpl.h:145:4: style: C-style pointer casting [cstyleCast] script/api/export_desc.cc:37:69: style:inconclusive: Function 'begin_desc_class' argument 3 names different: declaration 'parent' definition 'base'. [funcArgNamesDifferent] script/api/export_desc.h:22:69: note: Function 'begin_desc_class' argument 3 names different: declaration 'parent' definition 'base'. script/api/export_desc.cc:37:69: note: Function 'begin_desc_class' argument 3 names different: declaration 'parent' definition 'base'. script/api_function.h:104:3: style: Struct 'function_info_t < bool ( grund_t :: * ) ( ) const >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_tiles.cc:58:54: style: C-style pointer casting [cstyleCast] script/api/api_tiles.cc:76:49: style: C-style pointer casting [cstyleCast] script/api_function.cc:28:58: style:inconclusive: Function 'start_squirrel_type_logging' argument 1 names different: declaration 'suffix' definition 's'. [funcArgNamesDifferent] script/api_function.h:29:47: note: Function 'start_squirrel_type_logging' argument 1 names different: declaration 'suffix' definition 's'. script/api_function.cc:28:58: note: Function 'start_squirrel_type_logging' argument 1 names different: declaration 'suffix' definition 's'. script/api_function.cc:65:48: performance: Function parameter 'classname' should be passed by const reference. [passedByValue] script/api_function.cc:65:89: performance: Function parameter 'squirrel_type' should be passed by const reference. [passedByValue] script/api/api_tiles.cc:31:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_tiles.cc:38:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_tiles.cc:50:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_tiles.cc:54:44: style: Parameter 'gr' can be declared as pointer to const. However it seems that 'tile_remove_object' is a callback function, if 'gr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:180:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:54:44: note: Parameter 'gr' can be declared as pointer to const script/api/api_tiles.cc:64:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] script/api/api_tiles.cc:83:33: style: Parameter 'gr' can be declared as pointer to const. However it seems that 'get_neighbour' is a callback function, if 'gr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:280:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:83:33: note: Parameter 'gr' can be declared as pointer to const script/api/api_tiles.cc:92:31: style: Parameter 'gr' can be declared as pointer to const. However it seems that 'get_slope' is a callback function, if 'gr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:221:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:92:31: note: Parameter 'gr' can be declared as pointer to const script/api/api_tiles.cc:98:54: style: Parameter 'plan' can be declared as pointer to const. However it seems that 'get_first_halt_on_square' is a callback function, if 'plan' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:373:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:98:54: note: Parameter 'plan' can be declared as pointer to const script/api/api_tiles.cc:103:69: style: Parameter 'plan' can be declared as pointer to const. However it seems that 'square_get_halt_list' is a callback function, if 'plan' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:399:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:103:69: note: Parameter 'plan' can be declared as pointer to const script/api/api_tiles.cc:116:59: style: Parameter 'gr' can be declared as pointer to const. However it seems that 'get_convoy_list' is a callback function, if 'gr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_tiles.cc:310:23: note: You might need to cast the function pointer here script/api/api_tiles.cc:116:59: note: Parameter 'gr' can be declared as pointer to const script/api/api_tiles.cc:123:18: style: Variable 'veh' can be declared as pointer to const [constVariablePointer] script/api/api_world.cc:84:2: style: Class 'attraction_list_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api_function.h:104:3: style: Struct 'function_info_t < bool ( karte_t :: * ) ( koord ) const >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/api/api_world.cc:29:51: style: Parameter 'welt' can be declared as pointer to const. However it seems that 'get_world_stat' is a callback function, if 'welt' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_world.cc:312:33: note: You might need to cast the function pointer here script/api/api_world.cc:29:51: note: Parameter 'welt' can be declared as pointer to const script/api/api_world.cc:48:51: style: Parameter 'player' can be declared as pointer to const. However it seems that 'world_remove_player' is a callback function, if 'player' is declared with const you might also need to cast function pointer(s). [constParameterCallback] script/api/api_world.cc:172:31: note: You might need to cast the function pointer here script/api/api_world.cc:48:51: note: Parameter 'player' can be declared as pointer to const script/script.cc:289:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:329:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:360:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:512:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:545:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:589:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:615:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:630:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:657:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:685:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script.cc:719:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __FUNCTION__ [valueFlowBailoutIncompleteVar] script/script_loader.cc:21:65: style: C-style pointer casting [cstyleCast] script/script_loader.cc:15:53: style:inconclusive: Function 'load_base_script' argument 1 names different: declaration 'vm' definition 'script'. [funcArgNamesDifferent] script/script_loader.h:23:44: note: Function 'load_base_script' argument 1 names different: declaration 'vm' definition 'script'. script/script_loader.cc:15:53: note: Function 'load_base_script' argument 1 names different: declaration 'vm' definition 'script'. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < unsigned int , SQVM * , inthash_tpl < unsigned int > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] script/script.cc:115:2: warning: Class 'script_vm_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] script/script.cc:115:2: warning: Class 'script_vm_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] script/api_param.cc:51:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] script/api_param.cc:66:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] script/api_param.cc:298:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable invalid [valueFlowBailoutIncompleteVar] script/api_param.cc:311:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable invalid [valueFlowBailoutIncompleteVar] script/api_param.cc:320:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable invalid [valueFlowBailoutIncompleteVar] script/api_param.cc:335:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable invalid [valueFlowBailoutIncompleteVar] script/script.cc:42:28: style: C-style pointer casting [cstyleCast] script/script.cc:59:24: style: C-style pointer casting [cstyleCast] script/script.cc:107:38: style:inconclusive: Function 'script_vm_t' argument 1 names different: declaration 'include_path' definition 'include_path_'. [funcArgNamesDifferent] script/script.h:31:26: note: Function 'script_vm_t' argument 1 names different: declaration 'include_path' definition 'include_path_'. script/script.cc:107:38: note: Function 'script_vm_t' argument 1 names different: declaration 'include_path' definition 'include_path_'. script/script.cc:744:50: style:inconclusive: Function 'get_unique_key' argument 1 names different: declaration 'key' definition 'ptr'. [funcArgNamesDifferent] script/script.h:287:37: note: Function 'get_unique_key' argument 1 names different: declaration 'key' definition 'ptr'. script/script.cc:744:50: note: Function 'get_unique_key' argument 1 names different: declaration 'key' definition 'ptr'. tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < plainstring , cached_string_t * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] script/dynamic_string.cc:28:2: style: Struct 'cached_string_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] script/dynamic_string.cc:105:26: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:118:64: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:123:16: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:130:50: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:132:26: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:153:13: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:203:20: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:236:9: style: C-style pointer casting [cstyleCast] script/dynamic_string.cc:240:90: style:inconclusive: Function 'call_script' argument 3 names different: declaration 'result' definition 'str'. [funcArgNamesDifferent] script/dynamic_string.h:89:82: note: Function 'call_script' argument 3 names different: declaration 'result' definition 'str'. script/dynamic_string.cc:240:90: note: Function 'call_script' argument 3 names different: declaration 'result' definition 'str'. script/dynamic_string.cc:130:22: style: Local variable 'entry' shadows outer variable [shadowVariable] script/dynamic_string.cc:109:20: note: Shadowed declaration script/dynamic_string.cc:130:22: note: Shadow variable script/dynamic_string.cc:59:2: style: Variable 'iter' can be declared as reference to const [constVariableReference] script/api_param.cc:394:80: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. [funcArgNamesDifferent] script/api_param.h:364:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. script/api_param.cc:394:80: note: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. script/api_param.cc:404:68: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. [funcArgNamesDifferent] script/api_param.h:363:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. script/api_param.cc:404:68: note: Function 'push' argument 2 names different: declaration 'v' definition 'fab'. script/api_param.cc:493:68: style:inconclusive: Function 'push' argument 2 names different: declaration 'v' definition 'player'. [funcArgNamesDifferent] script/api_param.h:378:2: note: Function 'push' argument 2 names different: declaration 'v' definition 'player'. script/api_param.cc:493:68: note: Function 'push' argument 2 names different: declaration 'v' definition 'player'. script/api_param.cc:404:68: style: Parameter 'fab' can be declared as pointer to const [constParameterReference] script/api_param.cc:411:13: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] script/api_param.cc:436:13: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] script/api_param.cc:458:13: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] script/api_param.cc:547:66: style: Parameter 'v' can be declared as pointer to const [constParameterReference] script/api_param.cc:573:72: style: Parameter 'v' can be declared as pointer to const [constParameterReference] script/api_param.cc:612:66: style: Parameter 'v' can be declared as pointer to const [constParameterReference] simevent.cc:217:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable meta_event [valueFlowBailoutIncompleteVar] simevent.cc:273:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ev_class [valueFlowBailoutIncompleteVar] simevent.cc:289:27: style:inconclusive: Function 'queue_event' argument 1 names different: declaration 'event' definition 'events'. [funcArgNamesDifferent] simevent.h:219:27: note: Function 'queue_event' argument 1 names different: declaration 'event' definition 'events'. simevent.cc:289:27: note: Function 'queue_event' argument 1 names different: declaration 'event' definition 'events'. simdepot.cc:80:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simdepot.cc:160:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] simdepot.cc:410:69: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] simcity.cc:684:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simcity.cc:706:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable factory_pos_x [valueFlowBailoutIncompleteVar] simcity.cc:927:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simcity.cc:2227:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simcity.cc:3759:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simconvoi.cc:2960:85: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] simconvoi.cc:3413:97: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] simdepot.h:65:7: style:inconclusive: Technically the member function 'depot_t::call_depot_tool' can be const. [functionConst] simdepot.cc:122:15: note: Technically the member function 'depot_t::call_depot_tool' can be const. simdepot.h:65:7: note: Technically the member function 'depot_t::call_depot_tool' can be const. simdepot.cc:410:69: debug: CheckClass::isMemberVar found used member variable 'pos' with varid 0 [varid0] simdepot.h:201:7: style:inconclusive: Technically the member function 'depot_t::update_win' can be const. [functionConst] simdepot.cc:599:15: note: Technically the member function 'depot_t::update_win' can be const. simdepot.h:201:7: note: Technically the member function 'depot_t::update_win' can be const. simdepot.h:69:7: style: Virtual function 'rdwr' is called from constructor 'depot_t(loadsave_t*file)' at line 46. Dynamic binding is not used. [virtualCallInConstructor] simdepot.cc:46:2: note: Calling rdwr simdepot.h:69:7: note: rdwr is a virtual function simfab.cc:322:103: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:554:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:828:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] simfab.cc:873:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable location [valueFlowBailoutIncompleteVar] simfab.cc:903:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable location [valueFlowBailoutIncompleteVar] simfab.cc:1257:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:1610:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] simfab.cc:1722:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:1737:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:1771:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simfab.cc:1957:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] simfab.cc:2564:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable index_offset [valueFlowBailoutIncompleteVar] simfab.cc:3006:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable max_transit [valueFlowBailoutIncompleteVar] simfab.cc:3050:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable field_class_index [valueFlowBailoutIncompleteVar] simfab.cc:3304:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] simfab.cc:3369:103: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable precision_bits [valueFlowBailoutIncompleteVar] simdepot.cc:82:9: style: The scope of the variable 'start_hash' can be reduced. [variableScope] simdepot.cc:77:104: style:inconclusive: Function 'find_depot' argument 4 names different: declaration 'next' definition 'forward'. [funcArgNamesDifferent] simdepot.h:57:103: note: Function 'find_depot' argument 4 names different: declaration 'next' definition 'forward'. simdepot.cc:77:104: note: Function 'find_depot' argument 4 names different: declaration 'next' definition 'forward'. simdepot.cc:143:45: style:inconclusive: Function 'convoi_arrived' argument 1 names different: declaration 'cnv' definition 'acnv'. [funcArgNamesDifferent] simdepot.h:158:37: note: Function 'convoi_arrived' argument 1 names different: declaration 'cnv' definition 'acnv'. simdepot.cc:143:45: note: Function 'convoi_arrived' argument 1 names different: declaration 'cnv' definition 'acnv'. simdepot.cc:275:42: style: Local variable 'i' shadows outer variable [shadowVariable] simdepot.cc:270:12: note: Shadowed declaration simdepot.cc:275:42: note: Shadow variable simfab.cc:780:11: warning: Member variable 'fabrik_t::control_type' is not initialized in the constructor. [uninitMemberVar] simfab.cc:780:11: warning: Member variable 'fabrik_t::demand_type' is not initialized in the constructor. [uninitMemberVar] simfab.cc:780:11: warning: Member variable 'fabrik_t::boost_type' is not initialized in the constructor. [uninitMemberVar] simfab.cc:780:11: warning: Member variable 'fabrik_t::rotate' is not initialized in the constructor. [uninitMemberVar] simfab.cc:2531:2: warning:inconclusive: Member variable 'distribute_ware_t::space_left' is not initialized in the constructor. [uninitMemberVar] simfab.cc:2531:2: warning:inconclusive: Member variable 'distribute_ware_t::amount_waiting' is not initialized in the constructor. [uninitMemberVar] simfab.cc:2531:2: warning:inconclusive: Member variable 'distribute_ware_t::ratio_free_space' is not initialized in the constructor. [uninitMemberVar] simfab.cc:750:2: performance: Variable 'pos' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simfab.cc:2523:3: performance: Variable 'halt' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simfab.cc:2526:3: performance: Variable 'ware' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simfab.h:422:7: style:inconclusive: Technically the member function 'fabrik_t::update_transit_intern' can be const. [functionConst] simfab.cc:339:16: note: Technically the member function 'fabrik_t::update_transit_intern' can be const. simfab.h:422:7: note: Technically the member function 'fabrik_t::update_transit_intern' can be const. simfab.h:448:7: style:inconclusive: Technically the member function 'fabrik_t::set_power_supply' can be const. [functionConst] simfab.cc:1633:16: note: Technically the member function 'fabrik_t::set_power_supply' can be const. simfab.h:448:7: note: Technically the member function 'fabrik_t::set_power_supply' can be const. simfab.h:463:7: style:inconclusive: Technically the member function 'fabrik_t::set_power_demand' can be const. [functionConst] simfab.cc:1669:16: note: Technically the member function 'fabrik_t::set_power_demand' can be const. simfab.h:463:7: note: Technically the member function 'fabrik_t::set_power_demand' can be const. simfab.h:564:9: style:inconclusive: Technically the member function 'fabrik_t::input_vorrat_an' can be const. [functionConst] simfab.cc:1716:18: note: Technically the member function 'fabrik_t::input_vorrat_an' can be const. simfab.h:564:9: note: Technically the member function 'fabrik_t::input_vorrat_an' can be const. simfab.h:565:9: style:inconclusive: Technically the member function 'fabrik_t::vorrat_an' can be const. [functionConst] simfab.cc:1731:18: note: Technically the member function 'fabrik_t::vorrat_an' can be const. simfab.h:565:9: note: Technically the member function 'fabrik_t::vorrat_an' can be const. simfab.h:690:7: style:inconclusive: Technically the member function 'fabrik_t::display_status' can be const. [functionConst] simfab.cc:3349:16: note: Technically the member function 'fabrik_t::display_status' can be const. simfab.h:690:7: note: Technically the member function 'fabrik_t::display_status' can be const. simfab.h:700:7: style:inconclusive: Technically the member function 'fabrik_t::add_supplier' can be const. [functionConst] simfab.cc:3247:16: note: Technically the member function 'fabrik_t::add_supplier' can be const. simfab.h:700:7: note: Technically the member function 'fabrik_t::add_supplier' can be const. tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < grund_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < grund_t * >::node_t::operatordelete' can be const. [functionConst] simfab.cc:81:2: style: Class 'RelativeDistanceOrdering' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simfab.cc:1248:32: style: Condition 'desc' is always true [knownConditionTrueFalse] simfab.cc:1349:33: style: Condition 'desc' is always true [knownConditionTrueFalse] simfab.cc:2469:27: style: Condition '(++activity_count)==0' is always false [knownConditionTrueFalse] simfab.cc:2162:33: style: Variable 'currently_requiring_power' is reassigned a value before the old one has been used. [redundantAssignment] simfab.cc:2155:35: note: currently_requiring_power is assigned simfab.cc:2162:33: note: currently_requiring_power is overwritten simfab.cc:1932:10: style: The scope of the variable 'cons_comp' can be reduced. [variableScope] simfab.cc:3230:23: style: The scope of the variable 'ware' can be reduced. [variableScope] simfab.cc:3362:7: style: The scope of the variable 'i' can be reduced. [variableScope] simfab.cc:3398:7: style: The scope of the variable 'i' can be reduced. [variableScope] simfab.cc:739:37: style:inconclusive: Function 'rem_lieferziel' argument 1 names different: declaration 'pos' definition 'ziel'. [funcArgNamesDifferent] simfab.h:551:29: note: Function 'rem_lieferziel' argument 1 names different: declaration 'pos' definition 'ziel'. simfab.cc:739:37: note: Function 'rem_lieferziel' argument 1 names different: declaration 'pos' definition 'ziel'. simfab.cc:780:28: style:inconclusive: Function 'fabrik_t' argument 1 names different: declaration 'pos' definition 'pos_'. [funcArgNamesDifferent] simfab.h:482:19: note: Function 'fabrik_t' argument 1 names different: declaration 'pos' definition 'pos_'. simfab.cc:780:28: note: Function 'fabrik_t' argument 1 names different: declaration 'pos' definition 'pos_'. simfab.cc:1096:56: style:inconclusive: Function 'sind_da_welche' argument 1 names different: declaration 'min' definition 'min_pos'. [funcArgNamesDifferent] simfab.h:627:55: note: Function 'sind_da_welche' argument 1 names different: declaration 'min' definition 'min_pos'. simfab.cc:1096:56: note: Function 'sind_da_welche' argument 1 names different: declaration 'min' definition 'min_pos'. simfab.cc:1096:71: style:inconclusive: Function 'sind_da_welche' argument 2 names different: declaration 'max' definition 'max_pos'. [funcArgNamesDifferent] simfab.h:627:66: note: Function 'sind_da_welche' argument 2 names different: declaration 'max' definition 'max_pos'. simfab.cc:1096:71: note: Function 'sind_da_welche' argument 2 names different: declaration 'max' definition 'max_pos'. simfab.cc:1124:37: style:inconclusive: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. [funcArgNamesDifferent] simfab.h:601:29: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simfab.cc:1124:37: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simfab.cc:1716:54: style:inconclusive: Function 'input_vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. [funcArgNamesDifferent] simfab.h:564:45: note: Function 'input_vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. simfab.cc:1716:54: note: Function 'input_vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. simfab.cc:1731:48: style:inconclusive: Function 'vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. [funcArgNamesDifferent] simfab.h:565:39: note: Function 'vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. simfab.cc:1731:48: note: Function 'vorrat_an' argument 1 names different: declaration 'ware' definition 'typ'. simfab.cc:3144:35: style:inconclusive: Function 'add_supplier' argument 1 names different: declaration 'pos' definition 'ziel'. [funcArgNamesDifferent] simfab.h:556:27: note: Function 'add_supplier' argument 1 names different: declaration 'pos' definition 'ziel'. simfab.cc:3144:35: note: Function 'add_supplier' argument 1 names different: declaration 'pos' definition 'ziel'. simfab.cc:558:43: style: Local variable 'input' shadows outer variable [shadowVariable] simfab.h:310:31: note: Shadowed declaration simfab.cc:558:43: note: Shadow variable simfab.cc:569:42: style: Local variable 'output' shadows outer variable [shadowVariable] simfab.h:311:31: note: Shadowed declaration simfab.cc:569:42: note: Shadow variable simfab.cc:584:42: style: Local variable 'input' shadows outer variable [shadowVariable] simfab.h:310:31: note: Shadowed declaration simfab.cc:584:42: note: Shadow variable simfab.cc:595:41: style: Local variable 'output' shadows outer variable [shadowVariable] simfab.h:311:31: note: Shadowed declaration simfab.cc:595:41: note: Shadow variable simfab.cc:1257:18: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration simfab.cc:1257:18: note: Shadow variable simfab.cc:1283:14: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1283:14: note: Shadow variable simfab.cc:1286:14: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1286:14: note: Shadow variable simfab.cc:1379:14: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1379:14: note: Shadow variable simfab.cc:1382:14: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1382:14: note: Shadow variable simfab.cc:1445:10: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1445:10: note: Shadow variable simfab.cc:1468:18: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1468:18: note: Shadow variable simfab.cc:1477:18: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1477:18: note: Shadow variable simfab.cc:1490:18: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1490:18: note: Shadow variable simfab.cc:1502:18: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1502:18: note: Shadow variable simfab.cc:1517:13: style: Local variable 'i' shadows outer variable [shadowVariable] simfab.cc:1144:9: note: Shadowed declaration simfab.cc:1517:13: note: Shadow variable simfab.cc:1592:12: style: Local variable 'smoke' shadows outer function [shadowFunction] simfab.h:440:7: note: Shadowed declaration simfab.cc:1592:12: note: Shadow variable simfab.cc:1796:19: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration simfab.cc:1796:19: note: Shadow variable simfab.cc:2680:20: style: Local variable 'input' shadows outer variable [shadowVariable] simfab.h:310:31: note: Shadowed declaration simfab.cc:2680:20: note: Shadow variable simfab.cc:2686:22: style: Local variable 'prod_factor' shadows outer variable [shadowVariable] simfab.cc:2572:15: note: Shadowed declaration simfab.cc:2686:22: note: Shadow variable simfab.cc:2521:74: performance: Function parameter 'w' should be passed by const reference. [passedByValue] simfab.cc:683:15: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simfab.cc:895:14: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simfab.cc:1650:17: style: Variable 'trans' can be declared as pointer to const [constVariablePointer] simfab.cc:1662:17: style: Variable 'trans' can be declared as pointer to const [constVariablePointer] simfab.cc:1686:17: style: Variable 'trans' can be declared as pointer to const [constVariablePointer] simfab.cc:1698:17: style: Variable 'trans' can be declared as pointer to const [constVariablePointer] simfab.cc:2587:15: style: Variable 'ziel_fab' can be declared as pointer to const [constVariablePointer] simfab.cc:2918:14: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simfab.cc:3266:14: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simfab.cc:3275:17: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simfab.cc:3276:27: style: Variable 'add_gb' can be declared as pointer to const [constVariablePointer] simconvoi.cc:176:2: performance: Variable 'self' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simconvoi.h:371:7: style:inconclusive: Technically the member function 'convoi_t::matches_halt' can be const. [functionConst] simconvoi.cc:3384:16: note: Technically the member function 'convoi_t::matches_halt' can be const. simconvoi.h:371:7: note: Technically the member function 'convoi_t::matches_halt' can be const. simhalt.cc:161:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simhalt.cc:481:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable grund [valueFlowBailoutIncompleteVar] simhalt.cc:1227:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] simhalt.cc:1349:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable catg_connected_component [valueFlowBailoutIncompleteVar] simhalt.cc:1536:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable catg_connected_component [valueFlowBailoutIncompleteVar] simhalt.cc:1817:82: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable aggregate_weight [valueFlowBailoutIncompleteVar] simhalt.cc:2435:92: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_make_public_months [valueFlowBailoutIncompleteVar] simhalt.cc:2530:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable grund [valueFlowBailoutIncompleteVar] simhalt.cc:2911:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable menge [valueFlowBailoutIncompleteVar] simhalt.cc:3181:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simconvoi.cc:3043:7: style: The if condition is the same as the previous if condition [duplicateCondition] simconvoi.cc:3038:7: note: First condition simconvoi.cc:3043:7: note: Second condition simconvoi.cc:281:27: style: C-style pointer casting [cstyleCast] simconvoi.cc:1026:29: style: C-style pointer casting [cstyleCast] simconvoi.cc:2383:23: style: C-style pointer casting [cstyleCast] simconvoi.cc:3301:4: style: C-style pointer casting [cstyleCast] simconvoi.cc:3304:4: style: C-style pointer casting [cstyleCast] simconvoi.cc:3306:4: style: C-style pointer casting [cstyleCast] simconvoi.cc:829:15: style: The scope of the variable 'pm' can be reduced. [variableScope] simconvoi.cc:830:15: style: The scope of the variable 'sm' can be reduced. [variableScope] simconvoi.cc:2666:33: style:inconclusive: Function 'set_sortby' argument 1 names different: declaration 'order' definition 'sort_order'. [funcArgNamesDifferent] simconvoi.h:669:24: note: Function 'set_sortby' argument 1 names different: declaration 'order' definition 'sort_order'. simconvoi.cc:2666:33: note: Function 'set_sortby' argument 1 names different: declaration 'order' definition 'sort_order'. simconvoi.cc:305:23: style: Local variable 'gr' shadows outer variable [shadowVariable] simconvoi.cc:299:11: note: Shadowed declaration simconvoi.cc:305:23: note: Shadow variable simconvoi.cc:611:17: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:611:17: note: Shadow variable simconvoi.cc:728:21: style: Local variable 'v' shadows outer variable [shadowVariable] simconvoi.cc:720:20: note: Shadowed declaration simconvoi.cc:728:21: note: Shadow variable simconvoi.cc:1035:11: style: Local variable 'start' shadows outer function [shadowFunction] simconvoi.h:587:7: note: Shadowed declaration simconvoi.cc:1035:11: note: Shadow variable simconvoi.cc:1686:25: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:1686:25: note: Shadow variable simconvoi.cc:1738:26: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:1738:26: note: Shadow variable simconvoi.cc:1761:17: style: Local variable 'i' shadows outer argument [shadowArgument] simconvoi.cc:1723:47: note: Shadowed declaration simconvoi.cc:1761:17: note: Shadow variable simconvoi.cc:1771:17: style: Local variable 'i' shadows outer argument [shadowArgument] simconvoi.cc:1723:47: note: Shadowed declaration simconvoi.cc:1771:17: note: Shadow variable simconvoi.cc:1978:16: style: Local variable 'i' shadows outer variable [shadowVariable] simconvoi.cc:1930:11: note: Shadowed declaration simconvoi.cc:1978:16: note: Shadow variable simconvoi.cc:2061:13: style: Local variable 'gr' shadows outer variable [shadowVariable] simconvoi.cc:2053:11: note: Shadowed declaration simconvoi.cc:2061:13: note: Shadow variable simconvoi.cc:2345:26: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:2345:26: note: Shadow variable simconvoi.cc:2773:23: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:2773:23: note: Shadow variable simconvoi.cc:3692:13: style: Local variable 'gr' shadows outer variable [shadowVariable] simconvoi.cc:3673:12: note: Shadowed declaration simconvoi.cc:3692:13: note: Shadow variable simconvoi.cc:3696:11: style: Local variable 'str' shadows outer variable [shadowVariable] simconvoi.cc:3678:10: note: Shadowed declaration simconvoi.cc:3696:11: note: Shadow variable simconvoi.cc:3904:11: style: Local variable 'route' shadows outer variable [shadowVariable] simconvoi.h:180:10: note: Shadowed declaration simconvoi.cc:3904:11: note: Shadow variable simconvoi.cc:3929:22: style: Local variable 'info' shadows outer function [shadowFunction] simconvoi.h:663:7: note: Shadowed declaration simconvoi.cc:3929:22: note: Shadow variable simconvoi.cc:3936:15: style: Local variable 'schedule' shadows outer variable [shadowVariable] simconvoi.h:190:14: note: Shadowed declaration simconvoi.cc:3936:15: note: Shadow variable simconvoi.cc:240:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:263:19: style: Variable 'lok' can be declared as pointer to const [constVariablePointer] simconvoi.cc:280:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:332:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:498:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:654:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1025:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1043:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1240:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1258:16: style: Variable 'v' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1307:20: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1488:19: style: Variable 's' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1508:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1934:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1976:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:1998:15: style: Variable 'v' can be declared as pointer to const [constVariablePointer] simconvoi.cc:2053:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:2913:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:2966:19: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3399:15: style: Variable 'new_schedule' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3637:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3673:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3678:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3692:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3696:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3763:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3830:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3836:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3862:22: style: Variable 'ocnv' can be declared as pointer to const [constVariablePointer] simconvoi.cc:3867:36: style: Variable 'caut' can be declared as pointer to const [constVariablePointer] simconvoi.cc:852:7: style: Variable 'pr' is assigned a value that is never used. [unreadVariable] simconvoi.cc:3403:19: style: Variable 'current' is assigned a value that is never used. [unreadVariable] simcity.cc:1071:10: warning: Member variable 'stadt_t::pax_destinations_new_change' is not initialized in the constructor. [uninitMemberVar] simcity.cc:1071:10: warning: Member variable 'stadt_t::best_haus_wert' is not initialized in the constructor. [uninitMemberVar] simcity.cc:1071:10: warning: Member variable 'stadt_t::best_strasse_wert' is not initialized in the constructor. [uninitMemberVar] simcity.cc:1071:10: warning: Member variable 'stadt_t::best_haus' is not initialized in the constructor. [uninitMemberVar] simcity.cc:1071:10: warning: Member variable 'stadt_t::best_strasse' is not initialized in the constructor. [uninitMemberVar] simcity.h:354:7: style:inconclusive: Technically the member function 'stadt_t::check_bau_factory' can be const. [functionConst] simcity.cc:2653:15: note: Technically the member function 'stadt_t::check_bau_factory' can be const. simcity.h:354:7: note: Technically the member function 'stadt_t::check_bau_factory' can be const. simcity.h:358:7: style:inconclusive: Technically the member function 'stadt_t::bewerte_res_com_ind' can be const. [functionConst] simcity.cc:2669:15: note: Technically the member function 'stadt_t::bewerte_res_com_ind' can be const. simcity.h:358:7: note: Technically the member function 'stadt_t::bewerte_res_com_ind' can be const. simcity.cc:706:4: debug: CheckClass::isMemberVar found used member variable 'factory_pos_x' with varid 0 [varid0] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < koord >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < koord >::const_iterator::operator!=' can be const. [functionConst] simcity.cc:109:2: style: Class 'rule_entry_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simcity.cc:125:2: style: Class 'rule_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simcity.cc:1136:21: style: The if condition is the same as the previous if condition [duplicateCondition] simcity.cc:1132:22: note: First condition simcity.cc:1136:21: note: Second condition simcity.cc:2759:56: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] simcity.cc:1303:20: style: Condition 'step_interval<1' is always false [knownConditionTrueFalse] simcity.cc:1302:29: note: Assignment 'step_interval=(2<<18u)/(buildings.get_count()*4+1)', assigned value is greater than 524287 simcity.cc:1303:20: note: Condition 'step_interval<1' is always false simcity.cc:315:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:326:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:338:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:341:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:382:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:385:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simcity.cc:2437:38: warning: Either the condition 'gb' is redundant or there is possible null pointer dereference: gb. [nullPointerRedundantCheck] simcity.cc:2513:9: note: Assuming that condition 'gb' is not redundant simcity.cc:2437:38: note: Null pointer dereference simcity.cc:2442:17: warning: Either the condition 'gb' is redundant or there is possible null pointer dereference: gb. [nullPointerRedundantCheck] simcity.cc:2513:9: note: Assuming that condition 'gb' is not redundant simcity.cc:2442:17: note: Null pointer dereference simcity.cc:2443:24: warning: Either the condition 'gb' is redundant or there is possible null pointer dereference: gb. [nullPointerRedundantCheck] simcity.cc:2513:9: note: Assuming that condition 'gb' is not redundant simcity.cc:2443:24: note: Null pointer dereference simcity.cc:2444:56: warning: Either the condition 'gb' is redundant or there is possible null pointer dereference: gb. [nullPointerRedundantCheck] simcity.cc:2513:9: note: Assuming that condition 'gb' is not redundant simcity.cc:2444:56: note: Null pointer dereference boden/grund.h:219:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dirty [valueFlowBailoutIncompleteVar] simcity.cc:580:10: style: The scope of the variable 'level' can be reduced. [variableScope] simcity.cc:2856:7: style: The scope of the variable 'rotation' can be reduced. [variableScope] simcity.cc:256:37: style:inconclusive: Function 'bewerte_strasse' argument 1 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simcity.h:393:29: note: Function 'bewerte_strasse' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:256:37: note: Function 'bewerte_strasse' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:264:34: style:inconclusive: Function 'bewerte_haus' argument 1 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simcity.h:394:26: note: Function 'bewerte_haus' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:264:34: note: Function 'bewerte_haus' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:275:49: style:inconclusive: Function 'cityrules_init' argument 1 names different: declaration 'objpathname' definition 'objfilename'. [funcArgNamesDifferent] simcity.h:107:48: note: Function 'cityrules_init' argument 1 names different: declaration 'objpathname' definition 'objfilename'. simcity.cc:275:49: note: Function 'cityrules_init' argument 1 names different: declaration 'objpathname' definition 'objfilename'. simcity.cc:1375:36: style:inconclusive: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. [funcArgNamesDifferent] simcity.h:451:29: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simcity.cc:1375:36: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simcity.cc:1417:35: style:inconclusive: Function 'change_size' argument 1 names different: declaration 'delta_citizens' definition 'delta_citizen'. [funcArgNamesDifferent] simcity.h:504:27: note: Function 'change_size' argument 1 names different: declaration 'delta_citizens' definition 'delta_citizen'. simcity.cc:1417:35: note: Function 'change_size' argument 1 names different: declaration 'delta_citizens' definition 'delta_citizen'. simcity.cc:2224:42: style:inconclusive: Function 'merke_passagier_ziel' argument 1 names different: declaration 'ziel' definition 'k'. [funcArgNamesDifferent] simcity.h:339:34: note: Function 'merke_passagier_ziel' argument 1 names different: declaration 'ziel' definition 'k'. simcity.cc:2224:42: note: Function 'merke_passagier_ziel' argument 1 names different: declaration 'ziel' definition 'k'. simcity.cc:2669:57: style:inconclusive: Function 'bewerte_res_com_ind' argument 2 names different: declaration 'ind' definition 'ind_score'. [funcArgNamesDifferent] simcity.h:358:49: note: Function 'bewerte_res_com_ind' argument 2 names different: declaration 'ind' definition 'ind_score'. simcity.cc:2669:57: note: Function 'bewerte_res_com_ind' argument 2 names different: declaration 'ind' definition 'ind_score'. simcity.cc:2669:73: style:inconclusive: Function 'bewerte_res_com_ind' argument 3 names different: declaration 'com' definition 'com_score'. [funcArgNamesDifferent] simcity.h:358:59: note: Function 'bewerte_res_com_ind' argument 3 names different: declaration 'com' definition 'com_score'. simcity.cc:2669:73: note: Function 'bewerte_res_com_ind' argument 3 names different: declaration 'com' definition 'com_score'. simcity.cc:2669:89: style:inconclusive: Function 'bewerte_res_com_ind' argument 4 names different: declaration 'res' definition 'res_score'. [funcArgNamesDifferent] simcity.h:358:69: note: Function 'bewerte_res_com_ind' argument 4 names different: declaration 'res' definition 'res_score'. simcity.cc:2669:89: note: Function 'bewerte_res_com_ind' argument 4 names different: declaration 'res' definition 'res_score'. simcity.cc:3005:47: style:inconclusive: Function 'build_city_building' argument 1 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simcity.h:363:33: note: Function 'build_city_building' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:3005:47: note: Function 'build_city_building' argument 1 names different: declaration 'pos' definition 'k'. simcity.cc:188:15: style: Local variable 'k' shadows outer variable [shadowVariable] simcity.cc:176:8: note: Shadowed declaration simcity.cc:188:15: note: Shadow variable simcity.cc:1356:8: style: Local variable 'pos' shadows outer variable [shadowVariable] simcity.h:135:8: note: Shadowed declaration simcity.cc:1356:8: note: Shadow variable simcity.cc:1689:9: style: Local variable 'pos' shadows outer variable [shadowVariable] simcity.h:135:8: note: Shadowed declaration simcity.cc:1689:9: note: Shadow variable simcity.cc:1726:14: style: Local variable 'i' shadows outer variable [shadowVariable] simcity.cc:1721:2: note: Shadowed declaration simcity.cc:1726:14: note: Shadow variable simcity.cc:2472:20: style: Local variable 'gr' shadows outer variable [shadowVariable] simcity.cc:2424:12: note: Shadowed declaration simcity.cc:2472:20: note: Shadow variable simcity.cc:2499:12: style: Local variable 'k' shadows outer variable [shadowVariable] simcity.cc:2430:9: note: Shadowed declaration simcity.cc:2499:12: note: Shadow variable simcity.cc:2523:19: style: Local variable 'pos' shadows outer variable [shadowVariable] simcity.h:135:8: note: Shadowed declaration simcity.cc:2523:19: note: Shadow variable simcity.cc:3048:12: style: Local variable 'gr' shadows outer variable [shadowVariable] simcity.cc:3007:11: note: Shadowed declaration simcity.cc:3048:12: note: Shadow variable simcity.cc:3074:15: style: Local variable 'gr' shadows outer variable [shadowVariable] simcity.cc:3007:11: note: Shadowed declaration simcity.cc:3074:15: note: Shadow variable simcity.cc:3327:25: style: Local variable 'gb' shadows outer argument [shadowArgument] simcity.cc:3144:50: note: Shadowed declaration simcity.cc:3327:25: note: Shadow variable simcity.cc:3356:22: style: Local variable 'gb' shadows outer argument [shadowArgument] simcity.cc:3144:50: note: Shadowed declaration simcity.cc:3356:22: note: Shadow variable simcity.cc:3534:24: style: Local variable 'gb' shadows outer variable [shadowVariable] simcity.cc:3479:20: note: Shadowed declaration simcity.cc:3534:24: note: Shadow variable simcity.cc:3797:16: style: Local variable 'i' shadows outer variable [shadowVariable] simcity.cc:3783:11: note: Shadowed declaration simcity.cc:3797:16: note: Shadow variable simcity.cc:3798:17: style: Local variable 'j' shadows outer variable [shadowVariable] simcity.cc:3793:17: note: Shadowed declaration simcity.cc:3798:17: note: Shadow variable simcity.cc:772:20: style: Variable 'entry' can be declared as reference to const [constVariableReference] simcity.cc:642:15: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simcity.cc:2202:22: style: Variable 'attraction' can be declared as pointer to const [constVariableReference] simcity.cc:2292:25: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simcity.cc:2451:15: style: Variable 'gr0' can be declared as pointer to const [constVariablePointer] simcity.cc:2473:23: style: Variable 'gb_part' can be declared as pointer to const [constVariablePointer] simcity.cc:2855:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3007:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3048:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3074:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3144:50: style: Parameter 'gb' can be declared as pointer to const [constParameterPointer] simcity.cc:3206:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3300:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3313:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simcity.cc:3327:25: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simcity.cc:3356:22: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simcity.cc:3498:10: style: Variable 'sch' can be declared as pointer to const [constVariablePointer] simcity.cc:3597:13: style: Variable 'bd_next' can be declared as pointer to const [constVariablePointer] simcity.cc:3684:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] siminteraction.cc:170:23: style: Variable 'win' can be declared as pointer to const [constVariablePointer] siminteraction.cc:32:23: style: Variable 'old_move_dx' is assigned a value that is never used. [unreadVariable] siminteraction.cc:32:38: style: Variable 'old_move_dy' is assigned a value that is never used. [unreadVariable] simintr.cc:197:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:197:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:204:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:204:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:291:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:291:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:296:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:296:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:300:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:300:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simintr.cc:70:28: style:inconclusive: Function 'set_frame_time' argument 1 names different: declaration 'ms' definition 'time'. [funcArgNamesDifferent] simintr.h:23:28: note: Function 'set_frame_time' argument 1 names different: declaration 'ms' definition 'time'. simintr.cc:70:28: note: Function 'set_frame_time' argument 1 names different: declaration 'ms' definition 'time'. simintr.cc:147:48: style:inconclusive: Function 'tick_to_string' argument 2 names different: declaration 'omit_season_year' definition 'only_DDMMHHMM'. [funcArgNamesDifferent] simintr.h:55:48: note: Function 'tick_to_string' argument 2 names different: declaration 'omit_season_year' definition 'only_DDMMHHMM'. simintr.cc:147:48: note: Function 'tick_to_string' argument 2 names different: declaration 'omit_season_year' definition 'only_DDMMHHMM'. simintr.cc:211:52: style:inconclusive: Function 'difftick_to_string' argument 2 names different: declaration 'round' definition 'round_to_quaters'. [funcArgNamesDifferent] simintr.h:60:52: note: Function 'difftick_to_string' argument 2 names different: declaration 'round' definition 'round_to_quaters'. simintr.cc:211:52: note: Function 'difftick_to_string' argument 2 names different: declaration 'round' definition 'round_to_quaters'. simcity.cc:2801:20: style: Variable 'gr' is assigned a value that is never used. [unreadVariable] simcity.cc:2855:19: style: Variable 'gr' is assigned a value that is never used. [unreadVariable] simloadingscreen.h:33:7: style:inconclusive: Technically the member function 'loadingscreen_t::display_logo' can be const. [functionConst] simloadingscreen.cc:43:23: note: Technically the member function 'loadingscreen_t::display_logo' can be const. simloadingscreen.h:33:7: note: Technically the member function 'loadingscreen_t::display_logo' can be const. simloadingscreen.cc:21:47: style:inconclusive: Function 'loadingscreen_t' argument 1 names different: declaration 'what' definition 'w'. [funcArgNamesDifferent] simloadingscreen.h:39:31: note: Function 'loadingscreen_t' argument 1 names different: declaration 'what' definition 'w'. simloadingscreen.cc:21:47: note: Function 'loadingscreen_t' argument 1 names different: declaration 'what' definition 'w'. simloadingscreen.cc:21:57: style:inconclusive: Function 'loadingscreen_t' argument 2 names different: declaration 'max_progress' definition 'max_p'. [funcArgNamesDifferent] simloadingscreen.h:39:44: note: Function 'loadingscreen_t' argument 2 names different: declaration 'max_progress' definition 'max_p'. simloadingscreen.cc:21:57: note: Function 'loadingscreen_t' argument 2 names different: declaration 'max_progress' definition 'max_p'. simloadingscreen.cc:21:69: style:inconclusive: Function 'loadingscreen_t' argument 3 names different: declaration 'show_logo' definition 'logo'. [funcArgNamesDifferent] simloadingscreen.h:39:63: note: Function 'loadingscreen_t' argument 3 names different: declaration 'show_logo' definition 'logo'. simloadingscreen.cc:21:69: note: Function 'loadingscreen_t' argument 3 names different: declaration 'show_logo' definition 'logo'. simlinemgmt.h:37:7: performance:inconclusive: Technically the member function 'simlinemgmt_t::update_line' can be static (but you may consider moving to unnamed namespace). [functionStatic] simlinemgmt.cc:54:21: note: Technically the member function 'simlinemgmt_t::update_line' can be static (but you may consider moving to unnamed namespace). simlinemgmt.h:37:7: note: Technically the member function 'simlinemgmt_t::update_line' can be static (but you may consider moving to unnamed namespace). simlinemgmt.h:59:7: style:inconclusive: Technically the member function 'simlinemgmt_t::rotate90' can be const. [functionConst] simlinemgmt.cc:174:21: note: Technically the member function 'simlinemgmt_t::rotate90' can be const. simlinemgmt.h:59:7: note: Technically the member function 'simlinemgmt_t::rotate90' can be const. simlinemgmt.h:61:7: style:inconclusive: Technically the member function 'simlinemgmt_t::new_month' can be const. [functionConst] simlinemgmt.cc:184:21: note: Technically the member function 'simlinemgmt_t::new_month' can be const. simlinemgmt.h:61:7: note: Technically the member function 'simlinemgmt_t::new_month' can be const. simlinemgmt.h:90:7: performance:inconclusive: Technically the member function 'simlinemgmt_t::show_lineinfo' can be static (but you may consider moving to unnamed namespace). [functionStatic] simlinemgmt.cc:227:21: note: Technically the member function 'simlinemgmt_t::show_lineinfo' can be static (but you may consider moving to unnamed namespace). simlinemgmt.h:90:7: note: Technically the member function 'simlinemgmt_t::show_lineinfo' can be static (but you may consider moving to unnamed namespace). simlinemgmt.cc:198:14: style: Variable 'line' can be declared as pointer to const [constVariablePointer] simlinemgmt.cc:230:16: style: Variable 'line_info' can be declared as pointer to const [constVariablePointer] simline.cc:61:2: performance: Variable 'self' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] simline.h:177:7: style:inconclusive: Technically the member function 'simline_t::check_freight' can be const. [functionConst] simline.cc:378:17: note: Technically the member function 'simline_t::check_freight' can be const. simline.h:177:7: note: Technically the member function 'simline_t::check_freight' can be const. simline.cc:31:47: style:inconclusive: Function 'convoi_to_line_catgory' argument 1 names different: declaration 'convoi_cost_type' definition 'cnv_cost'. [funcArgNamesDifferent] simline.h:186:44: note: Function 'convoi_to_line_catgory' argument 1 names different: declaration 'convoi_cost_type' definition 'cnv_cost'. simline.cc:31:47: note: Function 'convoi_to_line_catgory' argument 1 names different: declaration 'convoi_cost_type' definition 'cnv_cost'. simline.cc:130:38: style:inconclusive: Function 'set_name' argument 1 names different: declaration 'str' definition 'new_name'. [funcArgNamesDifferent] simline.h:146:28: note: Function 'set_name' argument 1 names different: declaration 'str' definition 'new_name'. simline.cc:130:38: note: Function 'set_name' argument 1 names different: declaration 'str' definition 'new_name'. simline.cc:335:45: style: Parameter 'schedule' can be declared as pointer to const [constParameterPointer] simline.cc:358:47: style: Parameter 'schedule' can be declared as pointer to const [constParameterPointer] simhalt.h:345:7: performance:inconclusive: Technically the member function 'haltestelle_t::liefere_an_fabrik' can be static (but you may consider moving to unnamed namespace). [functionStatic] simhalt.cc:2025:21: note: Technically the member function 'haltestelle_t::liefere_an_fabrik' can be static (but you may consider moving to unnamed namespace). simhalt.h:345:7: note: Technically the member function 'haltestelle_t::liefere_an_fabrik' can be static (but you may consider moving to unnamed namespace). simhalt.h:529:7: style:inconclusive: Technically the member function 'haltestelle_t::search_route_resumable' can be const. [functionConst] simhalt.cc:1765:21: note: Technically the member function 'haltestelle_t::search_route_resumable' can be const. simhalt.h:529:7: note: Technically the member function 'haltestelle_t::search_route_resumable' can be const. simhalt.h:686:7: style:inconclusive: Technically the member function 'haltestelle_t::open_info_window' can be const. [functionConst] simhalt.cc:2392:21: note: Technically the member function 'haltestelle_t::open_info_window' can be const. simhalt.h:686:7: note: Technically the member function 'haltestelle_t::open_info_window' can be const. tpl/binary_heap_tpl.h:139:11: style:inconclusive: Technically the member function 'binary_heap_tpl < route_node_t >::front' can be const. [functionConst] tpl/binary_heap_tpl.h:139:11: style:inconclusive: Technically the member function 'binary_heap_tpl < haltestelle_t :: route_node_t >::front' can be const. [functionConst] simhalt.cc:449:2: warning: Class 'haltestelle_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] simhalt.cc:449:2: warning: Class 'haltestelle_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] simhalt.cc:1398:3: warning: Class 'bucket_heap_tpl < route_node_t >' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] simhalt.cc:1398:3: warning: Class 'bucket_heap_tpl < route_node_t >' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] simhalt.cc:1398:3: warning: Class 'bucket_heap_tpl < haltestelle_t :: route_node_t >' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] simhalt.cc:1398:3: warning: Class 'bucket_heap_tpl < haltestelle_t :: route_node_t >' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] simhalt.h:359:2: style: Class 'haltestelle_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl < route_node_t >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl < haltestelle_t :: route_node_t >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simhalt.cc:924:21: style: The if condition is the same as the previous if condition [duplicateCondition] simhalt.cc:920:21: note: First condition simhalt.cc:924:21: note: Second condition simhalt.cc:408:10: style: C-style pointer casting [cstyleCast] simhalt.cc:448:10: style: C-style pointer casting [cstyleCast] simhalt.cc:229:9: style: The scope of the variable 'distance' can be reduced. [variableScope] simhalt.cc:687:9: style: The scope of the variable 'this_distance' can be reduced. [variableScope] simhalt.cc:1317:29: style: The scope of the variable 'connections' can be reduced. [variableScope] simhalt.cc:278:30: warning: Either the condition 'level_sum>0' is redundant or there is division by zero at line 278. [zerodivcond] simhalt.cc:285:17: note: Assuming that condition 'level_sum>0' is not redundant simhalt.cc:278:30: note: Division by zero simhalt.cc:430:36: style:inconclusive: Function 'haltestelle_t' argument 1 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simhalt.h:360:22: note: Function 'haltestelle_t' argument 1 names different: declaration 'pos' definition 'k'. simhalt.cc:430:36: note: Function 'haltestelle_t' argument 1 names different: declaration 'pos' definition 'k'. simhalt.cc:575:42: style:inconclusive: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. [funcArgNamesDifferent] simhalt.h:702:28: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simhalt.cc:575:42: note: Function 'set_name' argument 1 names different: declaration 'name' definition 'new_name'. simhalt.cc:1329:52: style:inconclusive: Function 'fill_connected_component' argument 1 names different: declaration 'catg' definition 'catg_idx'. [funcArgNamesDifferent] simhalt.h:302:38: note: Function 'fill_connected_component' argument 1 names different: declaration 'catg' definition 'catg_idx'. simhalt.cc:1329:52: note: Function 'fill_connected_component' argument 1 names different: declaration 'catg' definition 'catg_idx'. simhalt.cc:2147:58: style:inconclusive: Function 'get_ware_summe' argument 1 names different: declaration 'warentyp' definition 'wtyp'. [funcArgNamesDifferent] simhalt.h:608:44: note: Function 'get_ware_summe' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2147:58: note: Function 'get_ware_summe' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2162:65: style:inconclusive: Function 'get_ware_fuer_zielpos' argument 1 names different: declaration 'warentyp' definition 'wtyp'. [funcArgNamesDifferent] simhalt.h:613:51: note: Function 'get_ware_fuer_zielpos' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2162:65: note: Function 'get_ware_fuer_zielpos' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2176:70: style:inconclusive: Function 'get_ware_fuer_zwischenziel' argument 1 names different: declaration 'warentyp' definition 'wtyp'. [funcArgNamesDifferent] simhalt.h:618:56: note: Function 'get_ware_fuer_zwischenziel' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2176:70: note: Function 'get_ware_fuer_zwischenziel' argument 1 names different: declaration 'warentyp' definition 'wtyp'. simhalt.cc:2506:46: style:inconclusive: Function 'merge_halt' argument 1 names different: declaration 'halt_to_join' definition 'halt_merged'. [funcArgNamesDifferent] simhalt.h:424:32: note: Function 'merge_halt' argument 1 names different: declaration 'halt_to_join' definition 'halt_merged'. simhalt.cc:2506:46: note: Function 'merge_halt' argument 1 names different: declaration 'halt_to_join' definition 'halt_merged'. simhalt.cc:3165:40: style:inconclusive: Function 'add_grund' argument 1 names different: declaration 'gb' definition 'gr'. [funcArgNamesDifferent] simhalt.h:582:26: note: Function 'add_grund' argument 1 names different: declaration 'gb' definition 'gr'. simhalt.cc:3165:40: note: Function 'add_grund' argument 1 names different: declaration 'gb' definition 'gr'. simhalt.cc:3267:40: style:inconclusive: Function 'rem_grund' argument 1 names different: declaration 'gb' definition 'gr'. [funcArgNamesDifferent] simhalt.h:583:26: note: Function 'rem_grund' argument 1 names different: declaration 'gb' definition 'gr'. simhalt.cc:3267:40: note: Function 'rem_grund' argument 1 names different: declaration 'gb' definition 'gr'. simhalt.cc:3400:70: style:inconclusive: Function 'find_matching_position' argument 1 names different: declaration 'wt' definition 'w'. [funcArgNamesDifferent] simhalt.h:652:50: note: Function 'find_matching_position' argument 1 names different: declaration 'wt' definition 'w'. simhalt.cc:3400:70: note: Function 'find_matching_position' argument 1 names different: declaration 'wt' definition 'w'. simhalt.cc:510:15: style: Local variable 'i' shadows outer variable [shadowVariable] simhalt.cc:465:6: note: Shadowed declaration simhalt.cc:510:15: note: Shadow variable simhalt.cc:1078:25: style: Local variable 'warray' shadows outer variable [shadowVariable] simhalt.cc:1037:25: note: Shadowed declaration simhalt.cc:1078:25: note: Shadow variable simhalt.cc:1184:18: style: Local variable 'owner' shadows outer variable [shadowVariable] simhalt.h:313:12: note: Shadowed declaration simhalt.cc:1184:18: note: Shadow variable simhalt.cc:2084:18: style: Local variable 'i' shadows outer variable [shadowVariable] simhalt.cc:2079:16: note: Shadowed declaration simhalt.cc:2084:18: note: Shadow variable simhalt.cc:2371:9: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration simhalt.cc:2371:9: note: Shadow variable simhalt.cc:2473:15: style: Local variable 'i' shadows outer variable [shadowVariable] simhalt.cc:2421:2: note: Shadowed declaration simhalt.cc:2473:15: note: Shadow variable simhalt.cc:2876:16: style: Local variable 'k' shadows outer variable [shadowVariable] simhalt.cc:2724:10: note: Shadowed declaration simhalt.cc:2876:16: note: Shadow variable simhalt.cc:2884:16: style: Local variable 'k' shadows outer variable [shadowVariable] simhalt.cc:2724:10: note: Shadowed declaration simhalt.cc:2884:16: note: Shadow variable simhalt.cc:2888:15: style: Local variable 'k' shadows outer variable [shadowVariable] simhalt.cc:2724:10: note: Shadowed declaration simhalt.cc:2888:15: note: Shadow variable simhalt.cc:3308:16: style: Local variable 'i' shadows outer variable [shadowVariable] simhalt.cc:3274:30: note: Shadowed declaration simhalt.cc:3308:16: note: Shadow variable simhalt.cc:3326:20: style: Local variable 'pl' shadows outer variable [shadowVariable] simhalt.cc:3303:17: note: Shadowed declaration simhalt.cc:3326:20: note: Shadow variable simhalt.cc:3446:13: style: Local variable 'gr' shadows outer argument [shadowArgument] simhalt.cc:3436:47: note: Shadowed declaration simhalt.cc:3446:13: note: Shadow variable simhalt.cc:1041:14: style: Variable 'ware' can be declared as reference to const [constVariableReference] simhalt.cc:1317:29: style: Variable 'connections' can be declared as reference to const [constVariableReference] simhalt.cc:1319:3: style: Variable 'c' can be declared as reference to const [constVariableReference] simhalt.cc:1889:17: style: Variable 'current_halt_data' can be declared as reference to const [constVariableReference] simhalt.cc:252:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simhalt.cc:305:18: style: Variable 'p' can be declared as pointer to const [constVariablePointer] simhalt.cc:373:17: style: Variable 'p' can be declared as pointer to const [constVariablePointer] simhalt.cc:562:12: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simhalt.cc:1185:14: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] simhalt.cc:3303:17: style: Variable 'pl' can be declared as pointer to const [constVariablePointer] simhalt.cc:3446:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simmain.cc:775:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] simmesg.h:65:7: style:inconclusive: Technically the member function 'message_t::get_message_flags' can be const. [functionConst] simmesg.cc:88:17: note: Technically the member function 'message_t::get_message_flags' can be const. simmesg.h:65:7: note: Technically the member function 'message_t::get_message_flags' can be const. simmesg.h:87:7: style:inconclusive: Technically the member function 'message_t::rotate90' can be const. [functionConst] simmesg.cc:233:17: note: Technically the member function 'message_t::rotate90' can be const. simmesg.h:87:7: note: Technically the member function 'message_t::rotate90' can be const. simmesg.cc:132:10: style: The scope of the variable 'i' can be reduced. [variableScope] simmesg.cc:148:10: style: The scope of the variable 'i' can be reduced. [variableScope] simmesg.cc:115:65: style:inconclusive: Function 'add_message' argument 3 names different: declaration 'what' definition 'what_flags'. [funcArgNamesDifferent] simmesg.h:62:56: note: Function 'add_message' argument 3 names different: declaration 'what' definition 'what_flags'. simmesg.cc:115:65: note: Function 'add_message' argument 3 names different: declaration 'what' definition 'what_flags'. simmesg.cc:201:38: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] simmesg.cc:49:59: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simmesg.cc:54:13: style: Variable 'player' can be declared as pointer to const [constVariablePointer] simmesg.cc:183:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] simmesg.cc:190:15: style: Variable 'old_top' can be declared as pointer to const [constVariablePointer] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < skin_desc_t const * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < skin_desc_t const * >::node_t::operatordelete' can be const. [functionConst] simsound.cc:69:9: style: The scope of the variable 'volume' can be reduced. [variableScope] simsound.cc:141:11: style: The scope of the variable 'len' can be reduced. [variableScope] simsound.cc:55:26: style:inconclusive: Function 'sound_set_mute' argument 1 names different: declaration 'new_flag' definition 'f'. [funcArgNamesDifferent] simsound.h:13:26: note: Function 'sound_set_mute' argument 1 names different: declaration 'new_flag' definition 'f'. simsound.cc:55:26: note: Function 'sound_set_mute' argument 1 names different: declaration 'new_flag' definition 'f'. simsound.cc:67:47: style:inconclusive: Function 'sound_play' argument 2 names different: declaration 'volume' definition 'v'. [funcArgNamesDifferent] simsound.h:35:35: note: Function 'sound_play' argument 2 names different: declaration 'volume' definition 'v'. simsound.cc:67:47: note: Function 'sound_play' argument 2 names different: declaration 'volume' definition 'v'. simsound.cc:132:27: style:inconclusive: Function 'midi_init' argument 1 names different: declaration 'path' definition 'directory'. [funcArgNamesDifferent] simsound.h:62:34: note: Function 'midi_init' argument 1 names different: declaration 'path' definition 'directory'. simsound.cc:132:27: note: Function 'midi_init' argument 1 names different: declaration 'path' definition 'directory'. simmain.cc:335:18: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < node >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < node >::node_t::operatordelete' can be const. [functionConst] simticker.cc:168:2: style: Variable 'n' can be declared as reference to const [constVariableReference] simticker.cc:195:2: style: Variable 'n' can be declared as reference to const [constVariableReference] simplan.cc:775:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable halt [valueFlowBailoutIncompleteVar] simmain.cc:457:8: style: Condition 'cli_syslog_enabled' is always false [knownConditionTrueFalse] simmain.cc:442:28: note: Assignment 'cli_syslog_enabled=false', assigned value is 0 simmain.cc:457:8: note: Condition 'cli_syslog_enabled' is always false simmain.cc:896:14: style: Variable 'themes_ok' is assigned a value that is never used. [unreadVariable] simmain.cc:1452:12: style: Variable 'loadgame' is assigned a value that is never used. [unreadVariable] simmain.cc:1595:12: style: Variable 'loadgame' is assigned a value that is never used. [unreadVariable] simmenu.cc:912:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable icon [valueFlowBailoutIncompleteVar] simmenu.cc:1332:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable WFL_SHIFT [valueFlowBailoutIncompleteVar] simplan.cc:751:2: style: Struct 'halt_dist_node' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simplan.cc:333:24: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simplan.cc:337:7: note: Assuming that condition 'gr' is not redundant simplan.cc:333:24: note: Null pointer dereference simplan.cc:334:21: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simplan.cc:337:7: note: Assuming that condition 'gr' is not redundant simplan.cc:334:21: note: Null pointer dereference simplan.cc:335:12: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simplan.cc:337:7: note: Assuming that condition 'gr' is not redundant simplan.cc:335:12: note: Null pointer dereference simplan.cc:201:45: style:inconclusive: Function 'boden_ersetzen' argument 1 names different: declaration 'old_ground' definition 'alt'. [funcArgNamesDifferent] simplan.h:63:31: note: Function 'boden_ersetzen' argument 1 names different: declaration 'old_ground' definition 'alt'. simplan.cc:201:45: note: Function 'boden_ersetzen' argument 1 names different: declaration 'old_ground' definition 'alt'. simplan.cc:201:59: style:inconclusive: Function 'boden_ersetzen' argument 2 names different: declaration 'new_ground' definition 'neu'. [funcArgNamesDifferent] simplan.h:63:52: note: Function 'boden_ersetzen' argument 2 names different: declaration 'new_ground' definition 'neu'. simplan.cc:201:59: note: Function 'boden_ersetzen' argument 2 names different: declaration 'new_ground' definition 'neu'. simplan.cc:274:13: style: Local variable 'pos' shadows outer argument [shadowArgument] simplan.cc:235:50: note: Shadowed declaration simplan.cc:274:13: note: Shadow variable simplan.cc:643:13: style: Local variable 'gr' shadows outer variable [shadowVariable] simplan.cc:556:11: note: Shadowed declaration simplan.cc:643:13: note: Shadow variable simplan.cc:71:50: style: Parameter 'obj' can be declared as pointer to const [constParameterPointer] simplan.cc:146:46: style: Parameter 'bd' can be declared as pointer to const [constParameterPointer] simplan.cc:572:15: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simplan.cc:574:14: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] simplan.cc:655:48: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool-scripted.cc:140:24: warning: Possible null pointer dereference: script [nullPointer] simtool-scripted.cc:136:13: note: Assignment 'script=NULL', assigned value is 0 simtool-scripted.cc:140:24: note: Null pointer dereference simtool-scripted.cc:134:81: style: C-style pointer casting [cstyleCast] simtool-scripted.cc:268:64: style: C-style pointer casting [cstyleCast] simtool-scripted.cc:345:64: style: C-style pointer casting [cstyleCast] simtool-scripted.cc:402:79: style:inconclusive: Function 'mark_tile' argument 2 names different: declaration 'start' definition 'pos'. [funcArgNamesDifferent] simtool-scripted.h:124:50: note: Function 'mark_tile' argument 2 names different: declaration 'start' definition 'pos'. simtool-scripted.cc:402:79: note: Function 'mark_tile' argument 2 names different: declaration 'start' definition 'pos'. simtool-scripted.cc:45:88: style: Parameter 'v' can be declared as pointer to const [constParameterReference] simtool-scripted.cc:109:66: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simware.cc:34:36: style:inconclusive: Function 'ware_t' argument 1 names different: declaration 'typ' definition 'wtyp'. [funcArgNamesDifferent] simware.h:78:29: note: Function 'ware_t' argument 1 names different: declaration 'typ' definition 'wtyp'. simware.cc:34:36: note: Function 'ware_t' argument 1 names different: declaration 'typ' definition 'wtyp'. simware.cc:54:10: style: Local variable 'max' shadows outer function [shadowFunction] simtypes.h:210:19: note: Shadowed declaration simware.cc:54:10: note: Shadow variable simware.cc:135:33: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simware.cc:163:13: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] sound/sdl2_sound.cc:108:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] sound/sdl2_sound.cc:208:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_MIX_MAXVOLUME [valueFlowBailoutIncompleteVar] sound/sdl2_sound.cc:176:16: style: C-style pointer casting [cstyleCast] sound/sdl2_sound.cc:197:25: style:inconclusive: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. [funcArgNamesDifferent] sound/sound.h:25:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/sdl2_sound.cc:197:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/sdl_mixer_sound.cc:41:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] sound/sdl_mixer_sound.cc:123:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MIX_MAX_VOLUME [valueFlowBailoutIncompleteVar] sound/sdl_mixer_sound.cc:117:25: style:inconclusive: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. [funcArgNamesDifferent] sound/sound.h:25:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/sdl_mixer_sound.cc:117:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/sdl_mixer_sound.cc:48:7: style: Local variable 'samples' shadows outer variable [shadowVariable] sound/sdl_mixer_sound.cc:22:19: note: Shadowed declaration sound/sdl_mixer_sound.cc:48:7: note: Shadow variable sound/sdl_sound.cc:109:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] sound/sdl_sound.cc:234:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_MIX_MAXVOLUME [valueFlowBailoutIncompleteVar] sound/sdl_sound.cc:192:17: style: C-style pointer casting [cstyleCast] sound/sdl_sound.cc:219:25: style:inconclusive: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. [funcArgNamesDifferent] sound/sound.h:25:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/sdl_sound.cc:219:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/win32_sound.cc:51:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GMEM_MOVEABLE [valueFlowBailoutIncompleteVar] sound/win32_sound.cc:81:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_MEMORY [valueFlowBailoutIncompleteVar] sound/win32_sound.cc:70:25: style:inconclusive: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. [funcArgNamesDifferent] sound/sound.h:25:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/win32_sound.cc:70:25: note: Function 'dr_play_sample' argument 1 names different: declaration 'key' definition 'sample_number'. sound/win32_sound_xa.cc:31:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XAUDIO2_DEFAULT_PROCESSOR [valueFlowBailoutIncompleteVar] sound/win32_sound_xa.cc:57:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_OK [valueFlowBailoutIncompleteVar] sound/win32_sound_xa.cc:112:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_OK [valueFlowBailoutIncompleteVar] sound/win32_sound_xa.cc:132:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INVALID_HANDLE_VALUE [valueFlowBailoutIncompleteVar] sound/win32_sound_xa.cc:172:52: style: C-style pointer casting [cstyleCast] simmenu.cc:217:7: style: The function 'is_move_network_safe' overrides a function in a base class but is identical to the overridden function [uselessOverride] simmenu.h:292:15: note: Virtual function in base class simmenu.cc:217:7: note: Function in derived class simmenu.cc:832:22: style: Redundant condition: The condition '*str' is redundant since '*str == ' '' is sufficient. [redundantCondition] simmenu.cc:505:14: style: Condition 'str[1]==0' is always false [knownConditionTrueFalse] simmenu.cc:499:30: note: Assuming that condition 'str[1]<=' '' is not redundant simmenu.cc:505:14: note: Condition 'str[1]==0' is always false simmenu.cc:532:0: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqobject.h:296:3: warning: Member variable 'tagSQObject::_type' is not initialized in the constructor. Maybe it should be initialized directly in the class tagSQObject? [uninitDerivedMemberVarPrivate] squirrel/squirrel/sqopcodes.h:111:2: warning:inconclusive: Member variable 'SQInstruction::_arg1' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqopcodes.h:111:2: warning:inconclusive: Member variable 'SQInstruction::op' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqopcodes.h:111:2: warning:inconclusive: Member variable 'SQInstruction::_arg0' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqopcodes.h:111:2: warning:inconclusive: Member variable 'SQInstruction::_arg2' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqopcodes.h:111:2: warning:inconclusive: Member variable 'SQInstruction::_arg3' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqvm.h:21:2: warning:inconclusive: Member variable 'SQExceptionTrap::_stackbase' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqvm.h:21:2: warning:inconclusive: Member variable 'SQExceptionTrap::_stacksize' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqvm.h:21:2: warning:inconclusive: Member variable 'SQExceptionTrap::_ip' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqvm.h:21:2: warning:inconclusive: Member variable 'SQExceptionTrap::_extarget' is not initialized in the constructor. [uninitMemberVar] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < SQVM * , my_vm_info_t , ptrhash_tpl < SQVM * > >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQObjectPtr >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < int >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < CallInfo >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQExceptionTrap >::capacity' can be const. [functionConst] squirrel/squirrel/sqvm.h:173:17: warning: The struct 'SQVM' defines member variable with name '_sharedstate' also defined in its parent struct 'SQCollectable'. [duplInheritedMember] squirrel/squirrel/sqobject.h:316:17: note: Parent variable 'SQCollectable::_sharedstate' squirrel/squirrel/sqvm.h:173:17: note: Derived variable 'SQVM::_sharedstate' squirrel/squirrel/sqobject.h:219:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:225:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:226:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:227:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:228:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:229:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:230:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:231:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:232:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:233:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:234:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:235:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:236:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:237:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:239:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:240:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:241:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:243:2: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:296:3: style: Struct 'SQObjectPtr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqstate.h:14:2: style: Struct 'SQStringTable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqopcodes.h:112:2: style: Struct 'SQInstruction' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqvm.h:55:2: style: Struct 'SQVM' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqvm.h:190:2: style: Struct 'AutoDec' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.h:100:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:94:15: note: Virtual function in base class squirrel/squirrel/sqobject.h:100:7: note: Function in derived class squirrel/squirrel/sqobject.h:318:15: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:94:15: note: Virtual function in base class squirrel/squirrel/sqobject.h:318:15: note: Function in derived class squirrel/squirrel/sqvm.h:56:3: style: The destructor '~SQVM' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqvm.h:56:3: note: Destructor in derived class squirrel/squirrel/sqvm.h:120:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqvm.h:120:7: note: Function in derived class squirrel/squirrel/sqvm.h:121:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqvm.h:121:15: note: Function in derived class squirrel/squirrel/sqvm.h:123:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqvm.h:123:7: note: Function in derived class squirrel/squirrel/sqvm.h:132:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqvm.h:132:7: note: Function in derived class squirrel/squirrel/squtils.h:41:9: style: C-style pointer casting [cstyleCast] squirrel/squirrel/squtils.h:60:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/squtils.h:79:17: style: C-style pointer casting [cstyleCast] squirrel/squirrel/squtils.h:109:11: style: C-style pointer casting [cstyleCast] squirrel/squirrel/squtils.h:74:37: style: Checking if unsigned expression '_size' is less than zero. [unsignedLessThanZero] squirrel/sqstdlib/sqstdaux.cc:17:17: style: The scope of the variable 'name' can be reduced. [variableScope] squirrel/sqstdlib/sqstdaux.cc:18:13: style: The scope of the variable 'seq' can be reduced. [variableScope] squirrel/sqstdlib/sqstdaux.cc:17:21: style: Variable 'name' is assigned a value that is never used. [unreadVariable] squirrel/sqstdlib/sqstdaux.cc:18:16: style: Variable 'seq' is assigned a value that is never used. [unreadVariable] squirrel/sqstdlib/sqstdblobimpl.h:68:7: style:inconclusive: Technically the member function 'SQBlob::CanAdvance' can be const. [functionConst] squirrel/sqstdlib/sqstdblobimpl.h:7:2: style: Struct 'SQBlob' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/sqstdlib/sqstdblobimpl.h:15:11: style: The destructor '~SQBlob' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:10:11: note: Virtual destructor in base class squirrel/sqstdlib/sqstdblobimpl.h:15:11: note: Destructor in derived class squirrel/sqstdlib/sqstdblobimpl.h:18:12: style: The function 'Write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:12:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:18:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:26:12: style: The function 'Read' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:11:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:26:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:72:12: style: The function 'Seek' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:16:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:72:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:90:7: style: The function 'IsValid' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:17:15: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:90:7: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:93:7: style: The function 'EOS' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:18:15: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:93:7: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:96:12: style: The function 'Flush' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:13:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:96:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:97:12: style: The function 'Tell' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:14:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:97:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:98:12: style: The function 'Len' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:15:20: note: Virtual function in base class squirrel/sqstdlib/sqstdblobimpl.h:98:12: note: Function in derived class squirrel/sqstdlib/sqstdblobimpl.h:83:23: warning: Invalid test for overflow '_size+offset>_size'; signed integer overflow is undefined behavior. Some mainstream compilers removes handling of overflows when optimising the code and change the code to 'offset>0'. [invalidTestForOverflow] squirrel/sqstdlib/sqstdblobimpl.h:10:10: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblobimpl.h:40:28: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:25:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:48:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:50:18: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:59:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:61:22: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:70:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:76:3: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:83:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:94:20: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:100:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:125:17: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:155:6: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:211:15: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:227:5: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:236:5: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:252:7: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdblob.cc:211:15: portability: Casting from float * to unsigned int * is not portable due to different binary data representations on different platforms. [invalidPointerCast] simmenu.cc:629:43: style:inconclusive: Function 'read_menu' argument 1 names different: declaration 'menuconf' definition 'menuconf_path'. [funcArgNamesDifferent] simmenu.h:258:43: note: Function 'read_menu' argument 1 names different: declaration 'menuconf' definition 'menuconf_path'. simmenu.cc:629:43: note: Function 'read_menu' argument 1 names different: declaration 'menuconf' definition 'menuconf_path'. simmenu.cc:694:10: style: Local variable 'i' shadows outer variable [shadowVariable] simmenu.cc:661:16: note: Shadowed declaration simmenu.cc:694:10: note: Shadow variable simmenu.cc:849:9: style: Local variable 'create_tool' shadows outer function [shadowFunction] simmenu.h:486:9: note: Shadowed declaration simmenu.cc:849:9: note: Shadow variable simmenu.cc:810:11: style: Local variable 'i' shadows outer variable [shadowVariable] simmenu.cc:762:15: note: Shadowed declaration simmenu.cc:810:11: note: Shadow variable simmenu.cc:927:12: style: Local variable 'c' shadows outer variable [shadowVariable] simmenu.cc:908:31: note: Shadowed declaration simmenu.cc:927:12: note: Shadow variable simmenu.cc:991:11: style: Local variable 'id' shadows outer variable [shadowVariable] simmenu.h:186:9: note: Shadowed declaration simmenu.cc:991:11: note: Shadow variable squirrel/sqstdlib/sqstdio.cc:479:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] simmenu.cc:1004:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simmenu.cc:1030:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] squirrel/sqstdlib/sqstdio.cc:66:11: style: The destructor '~SQFile' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:10:11: note: Virtual destructor in base class squirrel/sqstdlib/sqstdio.cc:66:11: note: Destructor in derived class squirrel/sqstdlib/sqstdio.cc:82:12: style: The function 'Read' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:11:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:82:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:85:12: style: The function 'Write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:12:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:85:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:88:12: style: The function 'Flush' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:13:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:88:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:91:12: style: The function 'Tell' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:14:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:91:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:94:12: style: The function 'Len' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:15:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:94:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:101:12: style: The function 'Seek' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:16:20: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:101:12: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:104:7: style: The function 'IsValid' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:17:15: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:104:7: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:105:7: style: The function 'EOS' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/sqstdio.h:18:15: note: Virtual function in base class squirrel/sqstdlib/sqstdio.cc:105:7: note: Function in derived class squirrel/sqstdlib/sqstdio.cc:21:53: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:27:45: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:39:15: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:44:15: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:49:16: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:54:16: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:59:14: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:120:17: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:157:5: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:203:5: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:244:22: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:252:23: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:263:23: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:311:23: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:320:23: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:331:37: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:337:31: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdio.cc:344:12: style: The scope of the variable 'ret' can be reduced. [variableScope] squirrel/sqstdlib/sqstdmath.cc:101:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] squirrel/sqstdlib/sqstdrex.cc:382:38: style: Condition 'node=&exp->_nodes[node->next]' is always true [knownConditionTrueFalse] squirrel/sqstdlib/sqstdrex.cc:486:34: style: Condition 'n=&exp->_nodes[n->next]' is always true [knownConditionTrueFalse] squirrel/sqstdlib/sqstdrex.cc:83:18: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:93:12: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:556:26: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:560:17: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:567:14: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:589:20: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdrex.cc:459:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] squirrel/sqstdlib/sqstdrex.cc:406:18: style: The scope of the variable 'stop' can be reduced. [variableScope] squirrel/sqstdlib/sqstdrex.cc:369:43: style: Parameter 'exp' can be declared as pointer to const [constParameterPointer] squirrel/sqstdlib/sqstdrex.cc:369:58: style: Parameter 'node' can be declared as pointer to const [constParameterPointer] squirrel/sqstdlib/sqstdrex.cc:655:43: style: Parameter 'exp' can be declared as pointer to const [constParameterPointer] squirrel/sqstdlib/sqstdstream.cc:21:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:42:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:104:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:116:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:185:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:204:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:211:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:218:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstream.cc:228:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdsystem.cc:57:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCKS_PER_SEC [valueFlowBailoutIncompleteVar] squirrel/sqstdlib/sqstdsystem.cc:111:10: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] squirrel/sqstdlib/sqstdsystem.cc:113:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] squirrel/sqstdlib/sqstdsystem.cc:103:22: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdsystem.cc:109:6: style: Variable 'date' can be declared as pointer to const [constVariablePointer] squirrel/sqstdlib/sqstdstring.cc:312:18: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:396:18: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:403:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:428:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:442:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:466:2: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:474:6: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:527:16: style: C-style pointer casting [cstyleCast] squirrel/sqstdlib/sqstdstring.cc:313:9: style: The scope of the variable 'c' can be reduced. [variableScope] squirrel/sqstdlib/sqstdstring.cc:314:9: style: The scope of the variable 'escch' can be reduced. [variableScope] squirrel/sqstdlib/sqstdstring.cc:291:16: style: Variable 'resstr' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqclass.h:43:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.h:56:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.h:125:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqapi.cc:1165:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _type [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqapi.cc:1460:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqapi.cc:1584:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable realkey [valueFlowBailoutIncompleteVar] simtool.cc:803:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simtool.cc:1667:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_found_city [valueFlowBailoutIncompleteVar] simtool.cc:1798:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_alter_climate [valueFlowBailoutIncompleteVar] simtool.cc:1968:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] simtool.cc:2166:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_remove_tree [valueFlowBailoutIncompleteVar] simtool.cc:2747:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_remove_tree [valueFlowBailoutIncompleteVar] simtool.cc:5693:75: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_multiply_found_industry [valueFlowBailoutIncompleteVar] simtool.cc:5771:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_multiply_found_industry [valueFlowBailoutIncompleteVar] simtool.cc:5857:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_multiply_found_industry [valueFlowBailoutIncompleteVar] simtool.cc:6173:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] simtool.cc:6448:141: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_make_public_months [valueFlowBailoutIncompleteVar] simtool.cc:6522:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cst_make_public_months [valueFlowBailoutIncompleteVar] simtool.cc:6671:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable allow_merge_distant_halt [valueFlowBailoutIncompleteVar] simtool.cc:6708:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable allow_merge_distant_halt [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqbaselib.cc:1011:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pArray [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqstring.h:16:2: warning: Member variable 'SQString::_sharedstate' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstring.h:16:2: warning: Member variable 'SQString::_next' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstring.h:16:2: warning: Member variable 'SQString::_len' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstring.h:16:2: warning: Member variable 'SQString::_hash' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstring.h:16:2: warning: Member variable 'SQString::_val' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqfuncproto.h:15:2: warning:inconclusive: Member variable 'SQOuterVar::_type' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqfuncproto.h:18:3: performance: Variable '_name' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqfuncproto.h:19:3: performance: Variable '_src' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqfuncproto.h:25:3: performance: Variable '_src' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqfuncproto.h:26:3: performance: Variable '_name' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqfuncproto.h:38:3: performance: Variable '_name' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqclosure.h:112:52: performance: Variable '_closure' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqtable.h:101:12: style:inconclusive: Technically the member function 'SQTable::CountUsed' can be const. [functionConst] squirrel/squirrel/sqfuncstate.h:27:12: style:inconclusive: Technically the member function 'SQFuncState::GetDefaultParamCount' can be const. [functionConst] squirrel/squirrel/sqfuncstate.h:28:12: style:inconclusive: Technically the member function 'SQFuncState::GetCurrentPos' can be const. [functionConst] squirrel/squirrel/sqclass.h:53:7: style:inconclusive: Technically the member function 'SQClass::GetConstructor' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQLocalVarInfo >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQOuterVar >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQInstruction >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQLineInfo >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQFuncState * >::capacity' can be const. [functionConst] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < SQClassMember >::capacity' can be const. [functionConst] squirrel/squirrel/sqclosure.h:104:15: warning: The struct 'SQOuter' defines member variable with name '_next' also defined in its parent struct 'SQCollectable'. [duplInheritedMember] squirrel/squirrel/sqobject.h:314:17: note: Parent variable 'SQCollectable::_next' squirrel/squirrel/sqclosure.h:104:15: note: Derived variable 'SQOuter::_next' squirrel/squirrel/squserdata.h:7:2: style: Struct 'SQUserData' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqstring.h:17:3: style: The destructor '~SQString' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqstring.h:17:3: note: Destructor in derived class squirrel/squirrel/sqstring.h:21:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:94:15: note: Virtual function in base class squirrel/squirrel/sqstring.h:21:7: note: Function in derived class squirrel/squirrel/sqtable.h:53:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqtable.h:53:7: note: Function in derived class squirrel/squirrel/sqtable.h:55:3: style: The destructor '~SQTable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqtable.h:55:3: note: Destructor in derived class squirrel/squirrel/sqtable.h:63:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqtable.h:63:7: note: Function in derived class squirrel/squirrel/sqtable.h:64:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqtable.h:64:15: note: Function in derived class squirrel/squirrel/sqtable.h:103:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqtable.h:103:7: note: Function in derived class squirrel/squirrel/sqarray.h:9:3: style: The destructor '~SQArray' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqarray.h:9:3: note: Destructor in derived class squirrel/squirrel/sqarray.h:20:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqarray.h:20:7: note: Function in derived class squirrel/squirrel/sqarray.h:21:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqarray.h:21:15: note: Function in derived class squirrel/squirrel/sqarray.h:23:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqarray.h:23:7: note: Function in derived class squirrel/squirrel/sqarray.h:87:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqarray.h:87:7: note: Function in derived class squirrel/squirrel/sqfuncproto.h:66:3: style: The destructor '~SQFunctionProto' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqfuncproto.h:66:3: note: Destructor in derived class squirrel/squirrel/sqfuncproto.h:102:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqfuncproto.h:102:7: note: Function in derived class squirrel/squirrel/sqfuncproto.h:119:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqfuncproto.h:119:7: note: Function in derived class squirrel/squirrel/sqfuncproto.h:120:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqfuncproto.h:120:7: note: Function in derived class squirrel/squirrel/sqfuncproto.h:121:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqfuncproto.h:121:15: note: Function in derived class squirrel/squirrel/sqclosure.h:27:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:27:7: note: Function in derived class squirrel/squirrel/sqclosure.h:52:3: style: The destructor '~SQClosure' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclosure.h:52:3: note: Destructor in derived class squirrel/squirrel/sqclosure.h:57:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:57:7: note: Function in derived class squirrel/squirrel/sqclosure.h:58:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:58:7: note: Function in derived class squirrel/squirrel/sqclosure.h:63:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclosure.h:63:15: note: Function in derived class squirrel/squirrel/sqclosure.h:87:3: style: The destructor '~SQOuter' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclosure.h:87:3: note: Destructor in derived class squirrel/squirrel/sqclosure.h:89:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:89:7: note: Function in derived class squirrel/squirrel/sqclosure.h:96:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:96:7: note: Function in derived class squirrel/squirrel/sqclosure.h:97:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:97:7: note: Function in derived class squirrel/squirrel/sqclosure.h:98:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclosure.h:98:15: note: Function in derived class squirrel/squirrel/sqclosure.h:119:3: style: The destructor '~SQGenerator' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclosure.h:119:3: note: Destructor in derived class squirrel/squirrel/sqclosure.h:127:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:127:7: note: Function in derived class squirrel/squirrel/sqclosure.h:134:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:134:7: note: Function in derived class squirrel/squirrel/sqclosure.h:135:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:135:7: note: Function in derived class squirrel/squirrel/sqclosure.h:136:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclosure.h:136:15: note: Function in derived class squirrel/squirrel/sqclosure.h:173:3: style: The destructor '~SQNativeClosure' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclosure.h:173:3: note: Destructor in derived class squirrel/squirrel/sqclosure.h:178:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:178:7: note: Function in derived class squirrel/squirrel/sqclosure.h:186:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:186:7: note: Function in derived class squirrel/squirrel/sqclosure.h:187:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclosure.h:187:7: note: Function in derived class squirrel/squirrel/sqclosure.h:188:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclosure.h:188:15: note: Function in derived class squirrel/squirrel/squserdata.h:8:3: style: The destructor '~SQUserData' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/squserdata.h:8:3: note: Destructor in derived class squirrel/squirrel/squserdata.h:22:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/squserdata.h:22:7: note: Function in derived class squirrel/squirrel/squserdata.h:23:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/squserdata.h:23:7: note: Function in derived class squirrel/squirrel/squserdata.h:24:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/squserdata.h:24:15: note: Function in derived class squirrel/squirrel/squserdata.h:26:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/squserdata.h:26:7: note: Function in derived class squirrel/squirrel/sqclass.h:38:3: style: The destructor '~SQClass' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclass.h:38:3: note: Destructor in derived class squirrel/squirrel/sqclass.h:64:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:64:7: note: Function in derived class squirrel/squirrel/sqclass.h:68:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:68:7: note: Function in derived class squirrel/squirrel/sqclass.h:70:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:70:7: note: Function in derived class squirrel/squirrel/sqclass.h:71:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclass.h:71:15: note: Function in derived class squirrel/squirrel/sqclass.h:117:3: style: The destructor '~SQInstance' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:92:11: note: Virtual destructor in base class squirrel/squirrel/sqclass.h:117:3: note: Destructor in derived class squirrel/squirrel/sqclass.h:139:7: style: The function 'Release' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:318:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:139:7: note: Function in derived class squirrel/squirrel/sqclass.h:148:7: style: The function 'Finalize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:321:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:148:7: note: Function in derived class squirrel/squirrel/sqclass.h:150:7: style: The function 'Mark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:319:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:150:7: note: Function in derived class squirrel/squirrel/sqclass.h:151:15: style: The function 'GetType' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:317:23: note: Virtual function in base class squirrel/squirrel/sqclass.h:151:15: note: Function in derived class squirrel/squirrel/sqclass.h:154:7: style: The function 'GetMetaMethod' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] squirrel/squirrel/sqobject.h:341:15: note: Virtual function in base class squirrel/squirrel/sqclass.h:154:7: note: Function in derived class squirrel/squirrel/sqtable.h:48:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqarray.h:15:21: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:76:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:79:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:81:20: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:83:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:85:21: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:87:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:89:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncproto.h:91:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:17:17: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:19:22: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:83:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:115:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:155:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclosure.h:157:22: style: C-style pointer casting [cstyleCast] squirrel/squirrel/squserdata.h:15:20: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclass.h:34:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclass.h:100:25: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclass.h:103:29: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclass.h:110:25: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqclass.h:113:29: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:46:2: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:48:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:66:5: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:1026:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:1030:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:1599:16: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqapi.cc:1097:12: style: The scope of the variable 'stackbase' can be reduced. [variableScope] squirrel/squirrel/sqapi.cc:251:41: style:inconclusive: Function 'sq_pushfloat' argument 2 names different: declaration 'f' definition 'n'. [funcArgNamesDifferent] squirrel/squirrel.h:252:54: note: Function 'sq_pushfloat' argument 2 names different: declaration 'f' definition 'n'. squirrel/squirrel/sqapi.cc:251:41: note: Function 'sq_pushfloat' argument 2 names different: declaration 'f' definition 'n'. squirrel/squirrel/sqapi.cc:1229:43: style:inconclusive: Function 'sq_wakeupvm' argument 2 names different: declaration 'resumedret' definition 'wakeupret'. [funcArgNamesDifferent] squirrel/squirrel.h:219:56: note: Function 'sq_wakeupvm' argument 2 names different: declaration 'resumedret' definition 'wakeupret'. squirrel/squirrel/sqapi.cc:1229:43: note: Function 'sq_wakeupvm' argument 2 names different: declaration 'resumedret' definition 'wakeupret'. squirrel/squirrel/sqapi.cc:1277:38: style:inconclusive: Function 'sq_writeclosure' argument 1 names different: declaration 'vm' definition 'v'. [funcArgNamesDifferent] squirrel/squirrel.h:359:51: note: Function 'sq_writeclosure' argument 1 names different: declaration 'vm' definition 'v'. squirrel/squirrel/sqapi.cc:1277:38: note: Function 'sq_writeclosure' argument 1 names different: declaration 'vm' definition 'v'. squirrel/squirrel/sqapi.cc:1291:37: style:inconclusive: Function 'sq_readclosure' argument 1 names different: declaration 'vm' definition 'v'. [funcArgNamesDifferent] squirrel/squirrel.h:360:50: note: Function 'sq_readclosure' argument 1 names different: declaration 'vm' definition 'v'. squirrel/squirrel/sqapi.cc:1291:37: note: Function 'sq_readclosure' argument 1 names different: declaration 'vm' definition 'v'. squirrel/squirrel/sqarray.h:29:17: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqarray.h:49:17: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqarray.h:64:42: style: Parameter 'fill' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqclass.h:43:18: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqclass.h:121:18: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:292:16: style: Variable 'base' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:489:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:518:15: style: Variable 'c' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:627:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:638:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:669:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:679:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:714:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:741:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:756:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:778:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:794:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:802:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:812:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:869:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:871:16: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:884:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:898:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:946:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:948:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:960:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:962:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1008:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1100:20: style: Variable 'ci' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1103:19: style: Variable 'ci' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1252:15: style: Variable 'ud' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1342:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1351:16: style: Variable 'ov' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1371:15: style: Variable 'self' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1399:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1400:15: style: Variable 'val' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1421:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1441:15: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:1547:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqapi.cc:402:20: style: Variable 'proto' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqapi.cc:409:20: style: Variable 'c' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqapi.cc:1357:20: style: Variable 'clo' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqapi.cc:1375:20: style: Variable 'fp' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqapi.cc:1557:17: style: Variable 'ss' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqclosure.h:59:20: style: Variable 'f' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqbaselib.cc:864:36: style: Condition 'get_slice_params(v,sidx,eidx,o)==-1' is always false [knownConditionTrueFalse] squirrel/squirrel/sqbaselib.cc:864:21: note: Calling function 'get_slice_params' returns 1 squirrel/squirrel/sqbaselib.cc:864:36: note: Condition 'get_slice_params(v,sidx,eidx,o)==-1' is always false squirrel/squirrel/sqbaselib.cc:424:35: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqbaselib.cc:779:19: style: The comparison 'precallsize != arr->_values.size()' is always false because 'precallsize' and 'arr->_values.size()' represent the same value. [knownConditionTrueFalse] squirrel/squirrel/sqbaselib.cc:769:52: note: 'precallsize' is assigned value 'arr->_values.size()' here. squirrel/squirrel/sqbaselib.cc:779:19: note: The comparison 'precallsize != arr->_values.size()' is always false because 'precallsize' and 'arr->_values.size()' represent the same value. squirrel/squirrel/sqbaselib.cc:779:52: style: The comparison 'valptr != arr->_values._vals' is always false because 'valptr' and 'arr->_values._vals' represent the same value. [knownConditionTrueFalse] squirrel/squirrel/sqbaselib.cc:768:37: note: 'valptr' is assigned value 'arr->_values._vals' here. squirrel/squirrel/sqbaselib.cc:779:52: note: The comparison 'valptr != arr->_values._vals' is always false because 'valptr' and 'arr->_values._vals' represent the same value. squirrel/squirrel/sqbaselib.cc:114:12: style: The scope of the variable 'seq' can be reduced. [variableScope] squirrel/squirrel/sqbaselib.cc:848:12: style: The scope of the variable 'func' can be reduced. [variableScope] squirrel/squirrel/sqbaselib.cc:924:29: style: The scope of the variable 'ret' can be reduced. [variableScope] squirrel/squirrel/sqbaselib.cc:178:16: style: Variable 'start' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:184:16: style: Variable 'end' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:239:15: style: Variable 'func' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:254:12: style: Variable 'size' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:268:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:349:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:374:15: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:422:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:477:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:625:12: style: Variable 'closure' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:660:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:680:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:716:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:740:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:741:15: style: Variable 'val' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:757:69: style: Parameter 'a' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqbaselib.cc:757:84: style: Parameter 'b' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqbaselib.cc:829:47: style: Parameter 'arr' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqbaselib.cc:1111:12: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqbaselib.cc:768:16: style: Variable 'valptr' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqbaselib.cc:1011:11: style: Variable 'aparams' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqbaselib.cc:114:16: style: Variable 'seq' is assigned a value that is never used. [unreadVariable] squirrel/squirrel/sqclass.cc:61:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.cc:116:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.cc:131:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable attrs [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.cc:143:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable attrs [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.cc:166:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqclass.h:153:7: style:inconclusive: Technically the member function 'SQInstance::InstanceOf' can be const. [functionConst] squirrel/squirrel/sqclass.cc:204:18: note: Technically the member function 'SQInstance::InstanceOf' can be const. squirrel/squirrel/sqclass.h:153:7: note: Technically the member function 'SQInstance::InstanceOf' can be const. squirrel/squirrel/sqclass.cc:43:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] squirrel/squirrel/sqclass.cc:42:5: note: outer condition: _base squirrel/squirrel/sqclass.cc:43:3: note: identical inner condition: _base squirrel/squirrel/sqclass.cc:171:55: style:inconclusive: Function 'SQInstance' argument 2 names different: declaration 'c' definition 'i'. [funcArgNamesDifferent] squirrel/squirrel/sqclass.h:95:44: note: Function 'SQInstance' argument 2 names different: declaration 'c' definition 'i'. squirrel/squirrel/sqclass.cc:171:55: note: Function 'SQInstance' argument 2 names different: declaration 'c' definition 'i'. squirrel/squirrel/sqclass.cc:119:17: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqclass.cc:204:38: style: Parameter 'trg' can be declared as pointer to const [constParameterPointer] tpl/binary_heap_tpl.h:33:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] tpl/binary_heap_tpl.h:58:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] simworld.cc:3057:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable param < wayobj_t * > [valueFlowBailoutIncompleteVar] simworld.cc:3536:136: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] simworld.cc:5903:106: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqcompiler.cc:149:7: style:inconclusive: Technically the member function 'SQCompiler::IsEndOfStatement' can be const. [functionConst] squirrel/squirrel/sqcompiler.cc:568:11: performance:inconclusive: Technically the member function 'SQCompiler::ChooseArithOpByToken' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/sqcompiler.cc:580:12: performance:inconclusive: Technically the member function 'SQCompiler::ChooseCompArithCharByToken' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/sqcompiler.cc:1583:7: performance:inconclusive: Technically the member function 'SQCompiler::ResolveBreaks' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/sqcompiler.cc:1593:7: performance:inconclusive: Technically the member function 'SQCompiler::ResolveContinues' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/squtils.h:101:20: style:inconclusive: Technically the member function 'sqvector < char >::capacity' can be const. [functionConst] squirrel/squirrel/sqcompiler.cc:920:26: style: Redundant condition: _es.donot_get. '!A || (A && B)' is equivalent to '!A || B' [redundantCondition] squirrel/squirrel/sqcompiler.cc:86:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqcompiler.cc:896:48: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqcompiler.cc:896:48: portability: Casting from float * to signed int * is not portable due to different binary data representations on different platforms. [invalidPointerCast] squirrel/squirrel/sqcompiler.cc:106:19: style: The scope of the variable 'etypename' can be reduced. [variableScope] squirrel/squirrel/sqcompiler.cc:1101:13: style: The scope of the variable 'jmppos' can be reduced. [variableScope] squirrel/squirrel/sqcompiler.cc:248:33: style: Checking if unsigned expression '_fs->_breaktargets.size()' is less than zero. [unsignedLessThanZero] squirrel/squirrel/sqcompiler.cc:258:36: style: Checking if unsigned expression '_fs->_continuetargets.size()' is less than zero. [unsignedLessThanZero] squirrel/squirrel/sqcompiler.cc:1525:32: style: Parameter 'name' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqfuncstate.cc:243:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _arg0 [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqfuncstate.cc:252:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _arg0 [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqfuncstate.cc:349:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _name [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqfuncstate.cc:391:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _name [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqdebug.cc:15:19: style: Variable 'ci' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_curtoken' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_keywords' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_reached_eof' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_prevtoken' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_currentline' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_lasttokenline' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_currentcolumn' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_svalue' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_nvalue' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_fvalue' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_readf' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_up' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_currdata' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_sharedstate' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_errfunc' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:21:10: warning: Member variable 'SQLexer::_errtarget' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqlexer.cc:537:27: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqlexer.cc:540:31: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqlexer.cc:543:25: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqlexer.cc:139:18: style: Variable '_currentcolumn' is reassigned a value before the old one has been used. [redundantAssignment] squirrel/squirrel/sqlexer.cc:138:4: note: _currentcolumn is assigned squirrel/squirrel/sqlexer.cc:139:18: note: _currentcolumn is overwritten squirrel/squirrel/sqlexer.cc:125:51: style: Checking if unsigned expression '_currdata' is less than zero. [unsignedLessThanZero] squirrel/squirrel/sqlexer.cc:356:5: style: Checking if unsigned expression '_currdata' is less than zero. [unsignedLessThanZero] squirrel/squirrel/sqfuncstate.cc:92:3: performance: Variable '_literals' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] squirrel/squirrel/sqfuncstate.h:38:12: style:inconclusive: Technically the member function 'SQFuncState::GetStackSize' can be const. [functionConst] squirrel/squirrel/sqfuncstate.cc:300:24: note: Technically the member function 'SQFuncState::GetStackSize' can be const. squirrel/squirrel/sqfuncstate.h:38:12: note: Technically the member function 'SQFuncState::GetStackSize' can be const. squirrel/squirrel/sqfuncstate.h:45:12: style:inconclusive: Technically the member function 'SQFuncState::TopTarget' can be const. [functionConst] squirrel/squirrel/sqfuncstate.cc:285:24: note: Technically the member function 'SQFuncState::TopTarget' can be const. squirrel/squirrel/sqfuncstate.h:45:12: note: Technically the member function 'SQFuncState::TopTarget' can be const. squirrel/squirrel/sqfuncstate.h:46:12: style:inconclusive: Technically the member function 'SQFuncState::GetUpTarget' can be const. [functionConst] squirrel/squirrel/sqfuncstate.cc:281:24: note: Technically the member function 'SQFuncState::GetUpTarget' can be const. squirrel/squirrel/sqfuncstate.h:46:12: note: Technically the member function 'SQFuncState::GetUpTarget' can be const. squirrel/squirrel/sqfuncstate.h:48:7: style:inconclusive: Technically the member function 'SQFuncState::IsLocal' can be const. [functionConst] squirrel/squirrel/sqfuncstate.cc:346:19: note: Technically the member function 'SQFuncState::IsLocal' can be const. squirrel/squirrel/sqfuncstate.h:48:7: note: Technically the member function 'SQFuncState::IsLocal' can be const. squirrel/squirrel/sqfuncstate.cc:85:51: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:243:44: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:244:38: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:245:44: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:246:44: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:252:52: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:253:53: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:254:52: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:255:52: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:628:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqfuncstate.cc:85:77: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] squirrel/squirrel/sqfuncstate.cc:394:12: style: The scope of the variable 'pos' can be reduced. [variableScope] squirrel/squirrel/sqfuncstate.cc:78:31: style: Parameter 'o' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqfuncstate.cc:292:18: style: Variable 't' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqfuncstate.cc:310:19: style: Variable 'lvi' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqfuncstate.cc:371:19: style: Variable 'lvi' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqfuncstate.cc:394:15: style: Variable 'pos' is assigned a value that is never used. [unreadVariable] squirrel/squirrel/sqobject.cc:600:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable val [valueFlowBailoutIncompleteVar] squirrel/squirrel/sqstring.h:20:12: style:inconclusive: Technically the member function 'SQString::Next' can be const. [functionConst] squirrel/squirrel/sqobject.cc:60:21: note: Technically the member function 'SQString::Next' can be const. squirrel/squirrel/sqstring.h:20:12: note: Technically the member function 'SQString::Next' can be const. squirrel/squirrel/sqfuncproto.h:114:16: style:inconclusive: Technically the member function 'SQFunctionProto::GetLocal' can be const. [functionConst] squirrel/squirrel/sqobject.cc:215:32: note: Technically the member function 'SQFunctionProto::GetLocal' can be const. squirrel/squirrel/sqfuncproto.h:114:16: note: Technically the member function 'SQFunctionProto::GetLocal' can be const. squirrel/squirrel/sqfuncproto.h:115:12: style:inconclusive: Technically the member function 'SQFunctionProto::GetLine' can be const. [functionConst] squirrel/squirrel/sqobject.cc:236:28: note: Technically the member function 'SQFunctionProto::GetLine' can be const. squirrel/squirrel/sqfuncproto.h:115:12: note: Technically the member function 'SQFunctionProto::GetLine' can be const. squirrel/squirrel/sqfuncproto.h:65:2: style: Struct 'SQFunctionProto' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] squirrel/squirrel/sqobject.cc:88:3: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqobject.cc:265:7: style: Redundant initialization for 'line'. The initialized value is overwritten before it is read. [redundantInitialization] squirrel/squirrel/sqobject.cc:239:16: note: line is initialized squirrel/squirrel/sqobject.cc:265:7: note: line is overwritten squirrel/squirrel/sqobject.cc:120:40: style:inconclusive: Function 'SetDelegate' argument 1 names different: declaration 'm' definition 'mt'. [funcArgNamesDifferent] squirrel/squirrel/sqobject.h:340:28: note: Function 'SetDelegate' argument 1 names different: declaration 'm' definition 'mt'. squirrel/squirrel/sqobject.cc:120:40: note: Function 'SetDelegate' argument 1 names different: declaration 'm' definition 'mt'. squirrel/squirrel/sqobject.cc:215:47: style:inconclusive: Function 'GetLocal' argument 1 names different: declaration 'v' definition 'vm'. [funcArgNamesDifferent] squirrel/squirrel/sqfuncproto.h:114:31: note: Function 'GetLocal' argument 1 names different: declaration 'v' definition 'vm'. squirrel/squirrel/sqobject.cc:215:47: note: Function 'GetLocal' argument 1 names different: declaration 'v' definition 'vm'. squirrel/squirrel/sqobject.cc:515:15: style: Local variable 'name' shadows outer variable [shadowVariable] squirrel/squirrel/sqobject.cc:476:26: note: Shadowed declaration squirrel/squirrel/sqobject.cc:515:15: note: Shadow variable squirrel/squirrel/sqobject.cc:236:51: style: Parameter 'curr' can be declared as pointer to const [constParameterPointer] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_metamethods' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_systemstrings' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_types' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_stringtable' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_gc_chain' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_scratchpad' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.cc:15:16: warning: Member variable 'SQSharedState::_scratchpadsize' is not initialized in the constructor. [uninitMemberVar] squirrel/squirrel/sqstate.h:41:7: style:inconclusive: Technically the member function 'RefTable::Finalize' can be const. [functionConst] squirrel/squirrel/sqstate.cc:400:16: note: Technically the member function 'RefTable::Finalize' can be const. squirrel/squirrel/sqstate.h:41:7: note: Technically the member function 'RefTable::Finalize' can be const. squirrel/squirrel/sqstate.cc:299:10: warning: Possible null pointer dereference: rlast [nullPointer] squirrel/squirrel/sqstate.cc:285:26: note: Assignment 'rlast=NULL', assigned value is 0 squirrel/squirrel/sqstate.cc:286:9: note: Assuming condition is false squirrel/squirrel/sqstate.cc:299:10: note: Null pointer dereference squirrel/squirrel/sqstate.cc:300:3: warning: Possible null pointer dereference: rlast [nullPointer] squirrel/squirrel/sqstate.cc:285:26: note: Assignment 'rlast=NULL', assigned value is 0 squirrel/squirrel/sqstate.cc:286:9: note: Assuming condition is false squirrel/squirrel/sqstate.cc:300:3: note: Null pointer dereference squirrel/squirrel/sqstate.cc:101:17: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:103:2: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:104:2: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:105:2: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:383:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:388:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:417:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:534:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:535:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:579:13: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:595:16: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqstate.cc:379:12: style: The scope of the variable 'newsize' can be reduced. [variableScope] squirrel/squirrel/sqstate.cc:495:59: style: Parameter 'obj' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqstate.cc:439:12: style: Variable 'ref' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqtable.cc:35:19: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqtable.cc:182:15: style: Variable 'n' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqtable.cc:64:14: style: Variable 'old' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqtable.cc:129:4: style: Variable 'n' is assigned a value that is never used. [unreadVariable] squirrel/squirrel/sqvm.h:64:7: performance:inconclusive: Technically the member function 'SQVM::CreateClassInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] squirrel/squirrel/sqvm.cc:1144:12: note: Technically the member function 'SQVM::CreateClassInstance' can be static (but you may consider moving to unnamed namespace). squirrel/squirrel/sqvm.h:64:7: note: Technically the member function 'SQVM::CreateClassInstance' can be static (but you may consider moving to unnamed namespace). squirrel/squirrel/sqvm.h:74:7: style:inconclusive: Technically the member function 'SQVM::InvokeDefaultDelegate' can be const. [functionConst] squirrel/squirrel/sqvm.cc:1329:12: note: Technically the member function 'SQVM::InvokeDefaultDelegate' can be const. squirrel/squirrel/sqvm.h:74:7: note: Technically the member function 'SQVM::InvokeDefaultDelegate' can be const. squirrel/squirrel/sqvm.h:96:7: style:inconclusive: Technically the member function 'SQVM::RelocateOuters' can be const. [functionConst] squirrel/squirrel/sqvm.cc:1734:12: note: Technically the member function 'SQVM::RelocateOuters' can be const. squirrel/squirrel/sqvm.h:96:7: note: Technically the member function 'SQVM::RelocateOuters' can be const. squirrel/squirrel/sqvm.cc:33:40: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:169:25: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:172:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:194:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:196:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:227:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:229:8: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:309:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:311:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:323:136: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:345:27: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:347:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:546:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:549:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:783:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:788:7: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:791:28: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:797:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:805:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:829:10: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:833:11: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:916:30: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:920:37: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:922:50: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:980:33: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:984:40: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:987:20: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:991:34: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:996:40: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:999:20: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1013:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1019:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1040:9: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1044:9: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1061:5: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1067:18: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1320:14: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1355:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1356:23: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1364:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1434:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1469:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1521:8: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1539:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1581:6: style: C-style pointer casting [cstyleCast] squirrel/squirrel/sqvm.cc:1591:28: style: C-style reference casting [cstyleCast] squirrel/squirrel/sqvm.cc:1548:3: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] squirrel/squirrel/sqvm.cc:181:55: style:inconclusive: Function 'NEG_OP' argument 2 names different: declaration 'o1' definition 'o'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:106:58: note: Function 'NEG_OP' argument 2 names different: declaration 'o1' definition 'o'. squirrel/squirrel/sqvm.cc:181:55: note: Function 'NEG_OP' argument 2 names different: declaration 'o1' definition 'o'. squirrel/squirrel/sqvm.cc:211:74: style:inconclusive: Function 'ObjCmp' argument 3 names different: declaration 'res' definition 'result'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:81:70: note: Function 'ObjCmp' argument 3 names different: declaration 'res' definition 'result'. squirrel/squirrel/sqvm.cc:211:74: note: Function 'ObjCmp' argument 3 names different: declaration 'res' definition 'result'. squirrel/squirrel/sqvm.cc:380:68: style:inconclusive: Function 'StartCall' argument 3 names different: declaration 'nargs' definition 'args'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:63:65: note: Function 'StartCall' argument 3 names different: declaration 'nargs' definition 'args'. squirrel/squirrel/sqvm.cc:380:68: note: Function 'StartCall' argument 3 names different: declaration 'nargs' definition 'args'. squirrel/squirrel/sqvm.cc:498:134: style:inconclusive: Function 'DerefInc' argument 7 names different: declaration 'arg0' definition 'selfidx'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:114:137: note: Function 'DerefInc' argument 7 names different: declaration 'arg0' definition 'selfidx'. squirrel/squirrel/sqvm.cc:498:134: note: Function 'DerefInc' argument 7 names different: declaration 'arg0' definition 'selfidx'. squirrel/squirrel/sqvm.cc:623:51: style:inconclusive: Function 'CLASS_OP' argument 2 names different: declaration 'base' definition 'baseclass'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:109:46: note: Function 'CLASS_OP' argument 2 names different: declaration 'base' definition 'baseclass'. squirrel/squirrel/sqvm.cc:623:51: note: Function 'CLASS_OP' argument 2 names different: declaration 'base' definition 'baseclass'. squirrel/squirrel/sqvm.cc:623:71: style:inconclusive: Function 'CLASS_OP' argument 3 names different: declaration 'attrs' definition 'attributes'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:109:61: note: Function 'CLASS_OP' argument 3 names different: declaration 'attrs' definition 'attributes'. squirrel/squirrel/sqvm.cc:623:71: note: Function 'CLASS_OP' argument 3 names different: declaration 'attrs' definition 'attributes'. squirrel/squirrel/sqvm.cc:687:33: style:inconclusive: Function 'Execute' argument 1 names different: declaration 'func' definition 'closure'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:58:28: note: Function 'Execute' argument 1 names different: declaration 'func' definition 'closure'. squirrel/squirrel/sqvm.cc:687:33: note: Function 'Execute' argument 1 names different: declaration 'func' definition 'closure'. squirrel/squirrel/sqvm.cc:1153:42: style:inconclusive: Function 'CallErrorHandler' argument 1 names different: declaration 'e' definition 'error'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:71:37: note: Function 'CallErrorHandler' argument 1 names different: declaration 'e' definition 'error'. squirrel/squirrel/sqvm.cc:1153:42: note: Function 'CallErrorHandler' argument 1 names different: declaration 'e' definition 'error'. squirrel/squirrel/sqvm.cc:1254:51: style:inconclusive: Function 'TailCall' argument 2 names different: declaration 'firstparam' definition 'parambase'. [funcArgNamesDifferent] squirrel/squirrel/sqvm.h:61:46: note: Function 'TailCall' argument 2 names different: declaration 'firstparam' definition 'parambase'. squirrel/squirrel/sqvm.cc:1254:51: note: Function 'TailCall' argument 2 names different: declaration 'firstparam' definition 'parambase'. squirrel/squirrel/sqvm.cc:828:19: style: Local variable 'closure' shadows outer argument [shadowArgument] squirrel/squirrel/sqvm.cc:687:33: note: Shadowed declaration squirrel/squirrel/sqvm.cc:828:19: note: Shadow variable squirrel/squirrel/sqvm.cc:1116:22: style: Local variable 'et' shadows outer argument [shadowArgument] squirrel/squirrel/sqvm.cc:687:132: note: Shadowed declaration squirrel/squirrel/sqvm.cc:1116:22: note: Shadow variable squirrel/squirrel/sqvm.cc:1175:15: style: Local variable 'temp_reg' shadows outer variable [shadowVariable] squirrel/squirrel/sqvm.h:161:14: note: Shadowed declaration squirrel/squirrel/sqvm.cc:1175:15: note: Shadow variable squirrel/squirrel/sqvm.cc:1459:14: style: Local variable 'temp_reg' shadows outer variable [shadowVariable] squirrel/squirrel/sqvm.h:161:14: note: Shadowed declaration squirrel/squirrel/sqvm.cc:1459:14: note: Shadow variable squirrel/squirrel/sqvm.cc:489:86: style: Parameter 'incr' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:498:68: style: Parameter 'self' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:498:87: style: Parameter 'key' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:498:105: style: Parameter 'incr' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:599:16: style: Variable 'v' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:671:33: style: Parameter 'o' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:765:18: style: Variable 't' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:850:19: style: Variable 'key' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:851:19: style: Variable 'o' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:1116:22: style: Variable 'et' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:1153:42: style: Parameter 'error' can be declared as reference to const [constParameterReference] squirrel/squirrel/sqvm.cc:1203:12: style: Variable 'tc' can be declared as reference to const [constVariableReference] squirrel/squirrel/sqvm.cc:442:20: style: Variable 'f' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqvm.cc:906:16: style: Variable 'w' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqvm.cc:1089:16: style: Variable 'clo' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqvm.cc:1317:14: style: Variable 'w' can be declared as pointer to const [constVariablePointer] squirrel/squirrel/sqvm.cc:1743:37: style: Parameter 'stackindex' can be declared as pointer to const [constParameterPointer] sys/clipboard_w32.cc:29:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CP_UTF8 [valueFlowBailoutIncompleteVar] sys/clipboard_w32.cc:54:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CF_UNICODETEXT [valueFlowBailoutIncompleteVar] sys/clipboard_s2.cc:29:15: style: C-style pointer casting [cstyleCast] sys/clipboard_s2.cc:52:0: style: C-style pointer casting [cstyleCast] sys/simsys.cc:479:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DT_DIR [valueFlowBailoutIncompleteVar] sys/simsys.cc:996:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] sys/simsys.cc:1011:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sys/simsys.cc:1141:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_CTYPE [valueFlowBailoutIncompleteVar] sys/clipboard_w32.cc:63:0: style: C-style pointer casting [cstyleCast] sys/simsys.cc:1111:3: error: Address of local auto-variable assigned to a function parameter. [autoVariables] sys/simsys.cc:1125:7: error: Address of local auto-variable assigned to a function parameter. [autoVariables] sys/simsys.cc:478:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] sys/simsys.cc:477:19: style: Variable 'entry' can be declared as pointer to const [constVariablePointer] sys/simsys.cc:995:8: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] sys/simsys_posix.cc:161:2: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] sys/simsys_posix.cc:147:22: style:inconclusive: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'msec'. [funcArgNamesDifferent] sys/simsys.h:183:22: note: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'msec'. sys/simsys_posix.cc:147:22: note: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'msec'. sys/simsys_w.cc:7:0: error: #error "Only Windows has GDI!" [preprocessorErrorDirective] unicode.h:62:8: style:inconclusive: Technically the member function 'utf8_decoder_t::next' can be const. [functionConst] unicode.cc:87:23: note: Technically the member function 'utf8_decoder_t::next' can be const. unicode.h:62:8: note: Technically the member function 'utf8_decoder_t::next' can be const. unicode.h:68:14: style:inconclusive: Technically the member function 'utf8_decoder_t::get_position' can be const. [functionConst] unicode.cc:92:29: note: Technically the member function 'utf8_decoder_t::get_position' can be const. unicode.h:68:14: note: Technically the member function 'utf8_decoder_t::get_position' can be const. unicode.cc:310:38: style: C-style pointer casting [cstyleCast] unicode.cc:126:25: style:inconclusive: Function 'utf16_to_utf8' argument 1 names different: declaration 'unicode' definition 'c'. [funcArgNamesDifferent] unicode.h:74:25: note: Function 'utf16_to_utf8' argument 1 names different: declaration 'unicode' definition 'c'. unicode.cc:126:25: note: Function 'utf16_to_utf8' argument 1 names different: declaration 'unicode' definition 'c'. utils/cbuffer_t.cc:232:30: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] utils/cbuffer_t.h:36:7: style:inconclusive: Technically the member function 'cbuffer_t::free' can be const. [functionConst] utils/cbuffer_t.cc:68:17: note: Technically the member function 'cbuffer_t::free' can be const. utils/cbuffer_t.h:36:7: note: Technically the member function 'cbuffer_t::free' can be const. utils/cbuffer_t.cc:142:10: warning: Either the condition 'format' is redundant or there is possible null pointer dereference: format. [nullPointerRedundantCheck] utils/cbuffer_t.cc:146:8: note: Assuming that condition 'format' is not redundant utils/cbuffer_t.cc:142:10: note: Null pointer dereference utils/cbuffer_t.cc:221:93: style: C-style pointer casting [cstyleCast] utils/cbuffer_t.cc:228:102: style: C-style pointer casting [cstyleCast] utils/cbuffer_t.cc:93:37: style:inconclusive: Function 'append' argument 2 names different: declaration 'precision' definition 'decimals'. [funcArgNamesDifferent] utils/cbuffer_t.h:86:28: note: Function 'append' argument 2 names different: declaration 'precision' definition 'decimals'. utils/cbuffer_t.cc:93:37: note: Function 'append' argument 2 names different: declaration 'precision' definition 'decimals'. utils/cbuffer_t.cc:357:50: style:inconclusive: Function 'vprintf' argument 2 names different: declaration 'args' definition 'ap'. [funcArgNamesDifferent] utils/cbuffer_t.h:96:41: note: Function 'vprintf' argument 2 names different: declaration 'args' definition 'ap'. utils/cbuffer_t.cc:357:50: note: Function 'vprintf' argument 2 names different: declaration 'args' definition 'ap'. utils/cbuffer_t.cc:400:37: style:inconclusive: Function 'extend' argument 1 names different: declaration 'by_amount' definition 'min_free_space'. [funcArgNamesDifferent] utils/cbuffer_t.h:99:27: note: Function 'extend' argument 1 names different: declaration 'by_amount' definition 'min_free_space'. utils/cbuffer_t.cc:400:37: note: Function 'extend' argument 1 names different: declaration 'by_amount' definition 'min_free_space'. utils/cbuffer_t.cc:372:3: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] utils/cbuffer_t.cc:375:53: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] sys/simsys_s2.cc:205:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_WINDOWEVENT [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:294:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:358:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_PIXELFORMAT_RGB565 [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:449:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_WINDOW_RESIZABLE [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:549:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_PIXELFORMAT_RGB565 [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:617:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KMOD_SHIFT [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:630:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_BUTTON_LMASK [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:668:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_TEXTINPUTEVENT_TEXT_SIZE [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:1100:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_WINDOW_FULLSCREEN_DESKTOP [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:1121:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_WINDOW_FULLSCREEN_DESKTOP [valueFlowBailoutIncompleteVar] utils/csv.h:82:6: performance:inconclusive: Technically the member function 'CSV_t::encode' can be static (but you may consider moving to unnamed namespace). [functionStatic] utils/csv.cc:150:12: note: Technically the member function 'CSV_t::encode' can be static (but you may consider moving to unnamed namespace). utils/csv.h:82:6: note: Technically the member function 'CSV_t::encode' can be static (but you may consider moving to unnamed namespace). utils/csv.h:93:6: performance:inconclusive: Technically the member function 'CSV_t::decode' can be static (but you may consider moving to unnamed namespace). [functionStatic] utils/csv.cc:193:12: note: Technically the member function 'CSV_t::decode' can be static (but you may consider moving to unnamed namespace). utils/csv.h:93:6: note: Technically the member function 'CSV_t::decode' can be static (but you may consider moving to unnamed namespace). utils/csv.h:145:7: performance:inconclusive: Technically the member function 'CSV_t::add_field' can be static (but you may consider moving to unnamed namespace). [functionStatic] utils/csv.cc:107:13: note: Technically the member function 'CSV_t::add_field' can be static (but you may consider moving to unnamed namespace). utils/csv.h:145:7: note: Technically the member function 'CSV_t::add_field' can be static (but you may consider moving to unnamed namespace). utils/csv.cc:169:9: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] utils/fetchopt.h:90:6: style:inconclusive: Technically the member function 'Fetchopt_t::get_optind' can be const. [functionConst] utils/fetchopt.cc:22:17: note: Technically the member function 'Fetchopt_t::get_optind' can be const. utils/fetchopt.h:90:6: note: Technically the member function 'Fetchopt_t::get_optind' can be const. utils/log.cc:329:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] utils/log.cc:429:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] sys/simsys_s2.cc:584:37: style: C-style pointer casting [cstyleCast] sys/simsys_s2.cc:943:0: style: C-style pointer casting [cstyleCast] sys/simsys_s2.cc:957:25: style: C-style pointer casting [cstyleCast] sys/simsys_s2.cc:973:33: style: C-style pointer casting [cstyleCast] sys/simsys_s2.cc:977:31: style: C-style pointer casting [cstyleCast] utils/log.cc:309:32: style:inconclusive: Function 'custom_fatal' argument 1 names different: declaration 'error_str' definition 'buffer'. [funcArgNamesDifferent] utils/log.h:98:35: note: Function 'custom_fatal' argument 1 names different: declaration 'error_str' definition 'buffer'. utils/log.cc:309:32: note: Function 'custom_fatal' argument 1 names different: declaration 'error_str' definition 'buffer'. utils/log.cc:414:27: style:inconclusive: Function 'log_t' argument 1 names different: declaration 'logname' definition 'logfilename'. [funcArgNamesDifferent] utils/log.h:117:20: note: Function 'log_t' argument 1 names different: declaration 'logname' definition 'logfilename'. utils/log.cc:414:27: note: Function 'log_t' argument 1 names different: declaration 'logname' definition 'logfilename'. sys/simsys_s2.cc:433:51: style:inconclusive: Function 'dr_os_open' argument 2 names different: declaration 'fullscreen' definition 'fs'. [funcArgNamesDifferent] sys/simsys.h:98:45: note: Function 'dr_os_open' argument 2 names different: declaration 'fullscreen' definition 'fs'. sys/simsys_s2.cc:433:51: note: Function 'dr_os_open' argument 2 names different: declaration 'fullscreen' definition 'fs'. sys/simsys_s2.cc:495:57: style:inconclusive: Function 'dr_textur_resize' argument 2 names different: declaration 'w' definition 'tex_w'. [funcArgNamesDifferent] sys/simsys.h:155:51: note: Function 'dr_textur_resize' argument 2 names different: declaration 'w' definition 'tex_w'. sys/simsys_s2.cc:495:57: note: Function 'dr_textur_resize' argument 2 names different: declaration 'w' definition 'tex_w'. sys/simsys_s2.cc:495:74: style:inconclusive: Function 'dr_textur_resize' argument 3 names different: declaration 'h' definition 'tex_h'. [funcArgNamesDifferent] sys/simsys.h:155:58: note: Function 'dr_textur_resize' argument 3 names different: declaration 'h' definition 'tex_h'. sys/simsys_s2.cc:495:74: note: Function 'dr_textur_resize' argument 3 names different: declaration 'h' definition 'tex_h'. sys/simsys_s2.cc:1032:22: style:inconclusive: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'usec'. [funcArgNamesDifferent] sys/simsys.h:183:22: note: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'usec'. sys/simsys_s2.cc:1032:22: note: Function 'dr_sleep' argument 1 names different: declaration 'millisec' definition 'usec'. sys/simsys_s2.cc:1117:35: style:inconclusive: Function 'dr_restore_fullscreen' argument 1 names different: declaration 'old_fullscreen' definition 'was_fullscreen'. [funcArgNamesDifferent] sys/simsys.h:250:35: note: Function 'dr_restore_fullscreen' argument 1 names different: declaration 'old_fullscreen' definition 'was_fullscreen'. sys/simsys_s2.cc:1117:35: note: Function 'dr_restore_fullscreen' argument 1 names different: declaration 'old_fullscreen' definition 'was_fullscreen'. utils/log.cc:391:3: error: va_list 'args2' used before va_start() was called. [va_list_usedBeforeStarted] utils/log.cc:405:26: error: va_list 'args2' used before va_start() was called. [va_list_usedBeforeStarted] utils/log.cc:408:3: error: va_list 'args2' used before va_start() was called. [va_list_usedBeforeStarted] sys/simsys_s2.cc:630:29: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] sys/simsys_s2.cc:631:29: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] sys/simsys_s2.cc:632:29: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] sys/simsys_s2.cc:225:67: style: Parameter 'event' can be declared as pointer to const. However it seems that 'my_event_filter' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] sys/simsys_s2.cc:315:21: note: You might need to cast the function pointer here sys/simsys_s2.cc:225:67: note: Parameter 'event' can be declared as pointer to const sys/simsys_s2.cc:860:28: style: Variable 'tinp' can be declared as pointer to const [constVariablePointer] utils/searchfolder.cc:102:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] utils/searchfolder.cc:152:38: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] utils/searchfolder.h:78:7: performance:inconclusive: Technically the member function 'searchfolder_t::filename_matches_pattern' can be static (but you may consider moving to unnamed namespace). [functionStatic] utils/searchfolder.cc:205:22: note: Technically the member function 'searchfolder_t::filename_matches_pattern' can be static (but you may consider moving to unnamed namespace). utils/searchfolder.h:78:7: note: Technically the member function 'searchfolder_t::filename_matches_pattern' can be static (but you may consider moving to unnamed namespace). utils/searchfolder.cc:41:12: style: C-style pointer casting [cstyleCast] utils/searchfolder.cc:103:11: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] utils/searchfolder.cc:109:11: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] utils/sha1.h:36:9: warning: Member variable 'SHA1::Message_Block' is not initialized in the constructor. [uninitMemberVar] utils/sha1.h:69:25: performance:inconclusive: Technically the member function 'SHA1::CircularShift' can be static (but you may consider moving to unnamed namespace). [functionStatic] utils/sha1.cc:365:14: note: Technically the member function 'SHA1::CircularShift' can be static (but you may consider moving to unnamed namespace). utils/sha1.h:69:25: note: Technically the member function 'SHA1::CircularShift' can be static (but you may consider moving to unnamed namespace). utils/sha1.cc:104:31: style: C-style pointer casting [cstyleCast] utils/sha1_hash.cc:20:39: style:inconclusive: Function 'sha1_hash_t' argument 1 names different: declaration 'raw_value' definition 'value'. [funcArgNamesDifferent] utils/sha1_hash.h:20:27: note: Function 'sha1_hash_t' argument 1 names different: declaration 'raw_value' definition 'value'. utils/sha1_hash.cc:20:39: note: Function 'sha1_hash_t' argument 1 names different: declaration 'raw_value' definition 'value'. utils/simstring.cc:323:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] utils/simstring.cc:305:19: style: Redundant condition: The condition '*p != '\0'' is redundant since '*p > 0' is sufficient. [redundantCondition] utils/simstring.cc:78:29: style:inconclusive: Function 'money_to_string' argument 1 names different: declaration 'buf' definition 'p'. [funcArgNamesDifferent] utils/simstring.h:70:29: note: Function 'money_to_string' argument 1 names different: declaration 'buf' definition 'p'. utils/simstring.cc:78:29: note: Function 'money_to_string' argument 1 names different: declaration 'buf' definition 'p'. utils/simstring.cc:135:29: style:inconclusive: Function 'number_to_string' argument 1 names different: declaration 'buf' definition 'p'. [funcArgNamesDifferent] utils/simstring.h:77:29: note: Function 'number_to_string' argument 1 names different: declaration 'buf' definition 'p'. utils/simstring.cc:135:29: note: Function 'number_to_string' argument 1 names different: declaration 'buf' definition 'p'. utils/simstring.cc:135:46: style:inconclusive: Function 'number_to_string' argument 3 names different: declaration 'decimal_places' definition 'decimals'. [funcArgNamesDifferent] utils/simstring.h:77:48: note: Function 'number_to_string' argument 3 names different: declaration 'decimal_places' definition 'decimals'. utils/simstring.cc:135:46: note: Function 'number_to_string' argument 3 names different: declaration 'decimal_places' definition 'decimals'. utils/simstring.cc:317:37: style:inconclusive: Function 'trim' argument 1 names different: declaration 'str' definition 'str_'. [funcArgNamesDifferent] utils/simstring.h:108:38: note: Function 'trim' argument 1 names different: declaration 'str' definition 'str_'. utils/simstring.cc:317:37: note: Function 'trim' argument 1 names different: declaration 'str' definition 'str_'. utils/simrandom.cc:161:38: style:inconclusive: Function 'setsimrand' argument 2 names different: declaration 'noise_seed' definition 'ns'. [funcArgNamesDifferent] utils/simrandom.h:20:39: note: Function 'setsimrand' argument 2 names different: declaration 'noise_seed' definition 'ns'. utils/simrandom.cc:161:38: note: Function 'setsimrand' argument 2 names different: declaration 'noise_seed' definition 'ns'. utils/simrandom.cc:289:69: style:inconclusive: Function 'perlin_noise_2D' argument 3 names different: declaration 'persistence' definition 'p'. [funcArgNamesDifferent] utils/simrandom.h:37:69: note: Function 'perlin_noise_2D' argument 3 names different: declaration 'persistence' definition 'p'. utils/simrandom.cc:289:69: note: Function 'perlin_noise_2D' argument 3 names different: declaration 'persistence' definition 'p'. utils/simrandom.cc:309:20: style:inconclusive: Function 'log2' argument 1 names different: declaration 'i' definition 'n'. [funcArgNamesDifferent] utils/simrandom.h:78:21: note: Function 'log2' argument 1 names different: declaration 'i' definition 'n'. utils/simrandom.cc:309:20: note: Function 'log2' argument 1 names different: declaration 'i' definition 'n'. vehicle/movingobj.h:85:7: style:inconclusive: Technically the member function 'movingobj_t::operatordelete' can be const. [functionConst] vehicle/movingobj.cc:429:19: note: Technically the member function 'movingobj_t::operatordelete' can be const. vehicle/movingobj.h:85:7: note: Technically the member function 'movingobj_t::operatordelete' can be const. vehicle/movingobj.h:43:7: style: Virtual function 'rdwr' is called from constructor 'movingobj_t(loadsave_t*file)' at line 153. Dynamic binding is not used. [virtualCallInConstructor] vehicle/movingobj.cc:153:2: note: Calling rdwr vehicle/movingobj.h:43:7: note: rdwr is a virtual function vehicle/movingobj.h:45:7: style: Virtual function 'calc_image' is called from constructor 'movingobj_t(koord3d pos,const groundobj_desc_t*)' at line 166. Dynamic binding is not used. [virtualCallInConstructor] vehicle/movingobj.cc:166:2: note: Calling calc_image vehicle/movingobj.h:45:7: note: calc_image is a virtual function vehicle/movingobj.cc:223:21: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] vehicle/movingobj.cc:353:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:716:16: warning: Member variable 'air_vehicle_t::approach_dir' is not initialized in the constructor. [uninitMemberVar] vehicle/air_vehicle.cc:716:16: warning: Member variable 'air_vehicle_t::search_for_stop' is not initialized in the constructor. [uninitMemberVar] vehicle/air_vehicle.cc:716:16: warning: Member variable 'air_vehicle_t::touchdown' is not initialized in the constructor. [uninitMemberVar] vehicle/air_vehicle.cc:716:16: warning: Member variable 'air_vehicle_t::takeoff' is not initialized in the constructor. [uninitMemberVar] vehicle/air_vehicle.h:90:7: style: Virtual function 'rdwr_from_convoi' is called from constructor 'air_vehicle_t(loadsave_t*file,bool is_first,bool is_last)' at line 692. Dynamic binding is not used. [virtualCallInConstructor] vehicle/air_vehicle.cc:692:2: note: Calling rdwr_from_convoi vehicle/air_vehicle.h:90:7: note: rdwr_from_convoi is a virtual function vehicle/air_vehicle.cc:558:20: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] vehicle/air_vehicle.cc:556:46: note: outer condition: route_index>1 vehicle/air_vehicle.cc:558:20: note: identical inner condition: route_index>1 vehicle/air_vehicle.cc:77:24: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:475:25: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:518:22: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:531:27: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:561:51: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:568:18: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:590:19: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:678:15: style: C-style pointer casting [cstyleCast] vehicle/air_vehicle.cc:546:51: style:inconclusive: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. [funcArgNamesDifferent] vehicle/air_vehicle.h:80:37: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/air_vehicle.cc:546:51: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/air_vehicle.cc:716:99: style:inconclusive: Function 'air_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. [funcArgNamesDifferent] vehicle/air_vehicle.h:60:85: note: Function 'air_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/air_vehicle.cc:716:99: note: Function 'air_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/air_vehicle.cc:950:39: style:inconclusive: Function 'display_after' argument 1 names different: declaration 'xpos' definition 'xpos_org'. [funcArgNamesDifferent] vehicle/air_vehicle.h:111:25: note: Function 'display_after' argument 1 names different: declaration 'xpos' definition 'xpos_org'. vehicle/air_vehicle.cc:950:39: note: Function 'display_after' argument 1 names different: declaration 'xpos' definition 'xpos_org'. vehicle/air_vehicle.cc:950:53: style:inconclusive: Function 'display_after' argument 2 names different: declaration 'ypos' definition 'ypos_org'. [funcArgNamesDifferent] vehicle/air_vehicle.h:111:35: note: Function 'display_after' argument 2 names different: declaration 'ypos' definition 'ypos_org'. vehicle/air_vehicle.cc:950:53: note: Function 'display_after' argument 2 names different: declaration 'ypos' definition 'ypos_org'. vehicle/air_vehicle.cc:950:68: style:inconclusive: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. [funcArgNamesDifferent] vehicle/air_vehicle.h:111:46: note: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. vehicle/air_vehicle.cc:950:68: note: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. vehicle/air_vehicle.cc:201:26: style: Local variable 'target' shadows outer variable [shadowVariable] vehicle/air_vehicle.cc:166:23: note: Shadowed declaration vehicle/air_vehicle.cc:201:26: note: Shadow variable vehicle/air_vehicle.cc:764:20: style: Local variable 'target' shadows outer variable [shadowVariable] vehicle/air_vehicle.cc:759:8: note: Shadowed declaration vehicle/air_vehicle.cc:764:20: note: Shadow variable vehicle/air_vehicle.cc:30:11: style: Variable 'w' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:294:17: style: Variable 'target' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:474:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:516:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:530:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:568:13: style: Variable 'rw' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:590:14: style: Variable 'rw' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:771:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:772:17: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] vehicle/air_vehicle.cc:836:11: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] vehicle/pedestrian.h:33:7: style: Unused private function: 'pedestrian_t::list_empty' [unusedPrivateFunction] simworld.h:216:9: style:inconclusive: Technically the member function 'karte_t::get_sound_id' can be const. [functionConst] simworld.cc:7299:17: note: Technically the member function 'karte_t::get_sound_id' can be const. simworld.h:216:9: note: Technically the member function 'karte_t::get_sound_id' can be const. simworld.h:660:7: style:inconclusive: Technically the member function 'karte_t::create_rivers' can be const. [functionConst] simworld.cc:675:15: note: Technically the member function 'karte_t::create_rivers' can be const. simworld.h:660:7: note: Technically the member function 'karte_t::create_rivers' can be const. simworld.h:665:7: style:inconclusive: Technically the member function 'karte_t::create_lakes_loop' can be const. [functionConst] simworld.cc:1343:15: note: Technically the member function 'karte_t::create_lakes_loop' can be const. simworld.h:665:7: note: Technically the member function 'karte_t::create_lakes_loop' can be const. simworld.h:684:7: style:inconclusive: Technically the member function 'karte_t::distribute_movingobjs' can be const. [functionConst] simworld.cc:1142:15: note: Technically the member function 'karte_t::distribute_movingobjs' can be const. simworld.h:684:7: note: Technically the member function 'karte_t::distribute_movingobjs' can be const. simworld.h:742:7: performance:inconclusive: Technically the member function 'karte_t::add_missing_paks' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.cc:4886:15: note: Technically the member function 'karte_t::add_missing_paks' can be static (but you may consider moving to unnamed namespace). simworld.h:742:7: note: Technically the member function 'karte_t::add_missing_paks' can be static (but you may consider moving to unnamed namespace). simworld.h:829:7: style:inconclusive: Technically the member function 'karte_t::prepare_tiles' can be const. [functionConst] simworld.cc:6028:15: note: Technically the member function 'karte_t::prepare_tiles' can be const. simworld.h:829:7: note: Technically the member function 'karte_t::prepare_tiles' can be const. simworld.h:892:8: style:inconclusive: Technically the member function 'karte_t::sp2num' can be const. [functionConst] simworld.cc:6632:16: note: Technically the member function 'karte_t::sp2num' can be const. simworld.h:892:8: note: Technically the member function 'karte_t::sp2num' can be const. vehicle/pedestrian.h:33:7: performance:inconclusive: Technically the member function 'pedestrian_t::list_empty' can be static (but you may consider moving to unnamed namespace). [functionStatic] vehicle/pedestrian.cc:102:20: note: Technically the member function 'pedestrian_t::list_empty' can be static (but you may consider moving to unnamed namespace). vehicle/pedestrian.h:33:7: note: Technically the member function 'pedestrian_t::list_empty' can be static (but you may consider moving to unnamed namespace). vehicle/pedestrian.h:76:7: style:inconclusive: Technically the member function 'pedestrian_t::operatordelete' can be const. [functionConst] vehicle/pedestrian.cc:392:20: note: Technically the member function 'pedestrian_t::operatordelete' can be const. vehicle/pedestrian.h:76:7: note: Technically the member function 'pedestrian_t::operatordelete' can be const. simworld.h:1174:14: style:inconclusive: Technically the member function 'karte_t::call_work' can be const. [functionConst] simworld.cc:7057:22: note: Technically the member function 'karte_t::call_work' can be const. simworld.h:1174:14: note: Technically the member function 'karte_t::call_work' can be const. simworld.h:1243:8: style:inconclusive: Technically the member function 'karte_t::get_closest_coordinate' can be const. [functionConst] simworld.cc:6856:16: note: Technically the member function 'karte_t::get_closest_coordinate' can be const. simworld.h:1243:8: note: Technically the member function 'karte_t::get_closest_coordinate' can be const. tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const pedestrian_desc_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const pedestrian_desc_t * >::const_iterator::operator!=' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , pedestrian_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.h:1482:7: style:inconclusive: Technically the member function 'karte_t::prepare_raise' can be const. [functionConst] simworld.cc:2422:15: note: Technically the member function 'karte_t::prepare_raise' can be const. simworld.h:1482:7: note: Technically the member function 'karte_t::prepare_raise' can be const. simworld.h:1483:7: style:inconclusive: Technically the member function 'karte_t::prepare_lower' can be const. [functionConst] simworld.cc:2644:15: note: Technically the member function 'karte_t::prepare_lower' can be const. simworld.h:1483:7: note: Technically the member function 'karte_t::prepare_lower' can be const. vehicle/pedestrian.h:36:7: style: Virtual function 'rdwr' is called from constructor 'pedestrian_t(loadsave_t*file)' at line 66. Dynamic binding is not used. [virtualCallInConstructor] vehicle/pedestrian.cc:66:2: note: Calling rdwr vehicle/pedestrian.h:36:7: note: rdwr is a virtual function vehicle/pedestrian.h:38:7: style: Virtual function 'calc_image' is called from constructor 'pedestrian_t(grund_t*gr)' at line 118. Dynamic binding is not used. [virtualCallInConstructor] vehicle/pedestrian.cc:118:2: note: Calling calc_image vehicle/pedestrian.h:38:7: note: calc_image is a virtual function simworld.h:1611:7: style:inconclusive: Technically the member function 'karte_t::get_height_slope_from_grid' can be const. [functionConst] simworld.cc:6457:15: note: Technically the member function 'karte_t::get_height_slope_from_grid' can be const. simworld.h:1611:7: note: Technically the member function 'karte_t::get_height_slope_from_grid' can be const. simworld.h:1674:7: style:inconclusive: Technically the member function 'karte_t::rotate_transitions' can be const. [functionConst] simworld.cc:6550:15: note: Technically the member function 'karte_t::rotate_transitions' can be const. simworld.h:1674:7: note: Technically the member function 'karte_t::rotate_transitions' can be const. simworld.h:1787:7: performance:inconclusive: Technically the member function 'karte_t::command_queue_append' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.cc:7091:15: note: Technically the member function 'karte_t::command_queue_append' can be static (but you may consider moving to unnamed namespace). simworld.h:1787:7: note: Technically the member function 'karte_t::command_queue_append' can be static (but you may consider moving to unnamed namespace). simworld.h:1789:7: performance:inconclusive: Technically the member function 'karte_t::clear_command_queue' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.cc:7102:15: note: Technically the member function 'karte_t::clear_command_queue' can be static (but you may consider moving to unnamed namespace). simworld.h:1789:7: note: Technically the member function 'karte_t::clear_command_queue' can be static (but you may consider moving to unnamed namespace). simworld.h:1801:9: performance:inconclusive: Technically the member function 'karte_t::generate_new_map_counter' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.cc:6762:17: note: Technically the member function 'karte_t::generate_new_map_counter' can be static (but you may consider moving to unnamed namespace). simworld.h:1801:9: note: Technically the member function 'karte_t::generate_new_map_counter' can be static (but you may consider moving to unnamed namespace). simworld.h:1811:9: performance:inconclusive: Technically the member function 'karte_t::get_next_command_step' can be static (but you may consider moving to unnamed namespace). [functionStatic] simworld.cc:7288:17: note: Technically the member function 'karte_t::get_next_command_step' can be static (but you may consider moving to unnamed namespace). simworld.h:1811:9: note: Technically the member function 'karte_t::get_next_command_step' can be static (but you may consider moving to unnamed namespace). tpl/binary_heap_tpl.h:139:11: style:inconclusive: Technically the member function 'binary_heap_tpl::front' can be const. [functionConst] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , karte_t :: missing_level_t , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , missing_level_t , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] vehicle/pedestrian.cc:85:35: style: Local variable 'info' shadows outer function [shadowFunction] vehicle/pedestrian.h:56:7: note: Shadowed declaration vehicle/pedestrian.cc:85:35: note: Shadow variable vehicle/pedestrian.cc:187:35: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/pedestrian.cc:75:49: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < network_world_command_t * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < network_world_command_t * >::node_t::operatordelete' can be const. [functionConst] tpl/slist_tpl.h:378:17: performance:inconclusive: Technically the member function 'slist_tpl < goods_desc_t const * >::end' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/slist_tpl.h:38:8: style:inconclusive: Technically the member function 'slist_tpl < goods_desc_t const * >::node_t::operatordelete' can be const. [functionConst] simworld.cc:2128:2: warning: Class 'karte_t' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] simworld.cc:2128:2: warning: Class 'karte_t' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] tpl/binary_heap_tpl.h:31:2: style: Class 'binary_heap_tpl' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simworld.cc:5066:14: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] simworld.cc:5064:13: note: outer condition: env_t::server simworld.cc:5066:14: note: identical inner condition: env_t::server simworld.cc:1960:19: style: The if condition is the same as the previous if condition [duplicateCondition] simworld.cc:1955:20: note: First condition simworld.cc:1960:19: note: Second condition simworld.cc:5846:22: style: The if condition is the same as the previous if condition [duplicateCondition] simworld.cc:5838:22: note: First condition simworld.cc:5846:22: note: Second condition simworld.cc:5025:5: portability: %i in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simworld.cc:3044:30: style: C-style pointer casting [cstyleCast] simworld.cc:3921:29: style: C-style pointer casting [cstyleCast] simworld.cc:4854:17: style: C-style pointer casting [cstyleCast] simworld.cc:7253:26: style: C-style pointer casting [cstyleCast] simworld.cc:7586:25: style: C-style pointer casting [cstyleCast] simworld.cc:7587:29: style: C-style pointer casting [cstyleCast] simworld.cc:3604:24: style: Variable 'currently_deleting' is reassigned a value before the old one has been used. [redundantAssignment] simworld.cc:3602:24: note: currently_deleting is assigned simworld.cc:3604:24: note: currently_deleting is overwritten simworld.cc:785:7: style: The scope of the variable 'old_progress' can be reduced. [variableScope] simworld.cc:886:7: style: The scope of the variable 'count' can be reduced. [variableScope] simworld.cc:963:9: style: The scope of the variable 'ready' can be reduced. [variableScope] simworld.cc:1893:9: style: The scope of the variable 'i' can be reduced. [variableScope] simworld.cc:1895:8: style: The scope of the variable 'h' can be reduced. [variableScope] simworld.cc:3530:9: style: The scope of the variable 'min_dist' can be reduced. [variableScope] simworld.cc:3531:7: style: The scope of the variable 'contains' can be reduced. [variableScope] simworld.cc:4969:7: style: The scope of the variable 'restore_player_nr' can be reduced. [variableScope] simworld.cc:6811:21: style: Checking if unsigned expression 'time_multiplier' is less than zero. [unsignedLessThanZero] simworld.cc:773:37: style:inconclusive: Function 'distribute_cities' argument 1 names different: declaration 'new_cities' definition 'new_city_count'. [funcArgNamesDifferent] simworld.h:682:29: note: Function 'distribute_cities' argument 1 names different: declaration 'new_cities' definition 'new_city_count'. simworld.cc:773:37: note: Function 'distribute_cities' argument 1 names different: declaration 'new_cities' definition 'new_city_count'. simworld.cc:1175:63: style:inconclusive: Function 'init' argument 2 names different: declaration 'heights' definition 'h_field'. [funcArgNamesDifferent] simworld.h:1369:43: note: Function 'init' argument 2 names different: declaration 'heights' definition 'h_field'. simworld.cc:1175:63: note: Function 'init' argument 2 names different: declaration 'heights' definition 'h_field'. simworld.cc:2596:55: style:inconclusive: Function 'grid_raise' argument 2 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simworld.h:1407:47: note: Function 'grid_raise' argument 2 names different: declaration 'pos' definition 'k'. simworld.cc:2596:55: note: Function 'grid_raise' argument 2 names different: declaration 'pos' definition 'k'. simworld.cc:2914:55: style:inconclusive: Function 'grid_lower' argument 2 names different: declaration 'pos' definition 'k'. [funcArgNamesDifferent] simworld.h:1413:47: note: Function 'grid_lower' argument 2 names different: declaration 'pos' definition 'k'. simworld.cc:2914:55: note: Function 'grid_lower' argument 2 names different: declaration 'pos' definition 'k'. simworld.cc:3623:46: style:inconclusive: Function 'sync_step' argument 2 names different: declaration 'sync' definition 'do_sync_step'. [funcArgNamesDifferent] simworld.h:1562:38: note: Function 'sync_step' argument 2 names different: declaration 'sync' definition 'do_sync_step'. simworld.cc:3623:46: note: Function 'sync_step' argument 2 names different: declaration 'sync' definition 'do_sync_step'. simworld.cc:4692:85: style:inconclusive: Function 'play_sound_area_clipped' argument 3 names different: declaration 't' definition 'type'. [funcArgNamesDifferent] simworld.h:1736:65: note: Function 'play_sound_area_clipped' argument 3 names different: declaration 't' definition 'type'. simworld.cc:4692:85: note: Function 'play_sound_area_clipped' argument 3 names different: declaration 't' definition 'type'. simworld.cc:4709:69: style:inconclusive: Function 'save' argument 3 names different: declaration 'version' definition 'version_str'. [funcArgNamesDifferent] simworld.h:1749:61: note: Function 'save' argument 3 names different: declaration 'version' definition 'version_str'. simworld.cc:4709:69: note: Function 'save' argument 3 names different: declaration 'version' definition 'version_str'. simworld.cc:4886:67: style:inconclusive: Function 'add_missing_paks' argument 2 names different: declaration 'critical_level' definition 'level'. [funcArgNamesDifferent] simworld.h:742:59: note: Function 'add_missing_paks' argument 2 names different: declaration 'critical_level' definition 'level'. simworld.cc:4886:67: note: Function 'add_missing_paks' argument 2 names different: declaration 'critical_level' definition 'level'. simworld.cc:6668:40: style:inconclusive: Function 'mark_area' argument 1 names different: declaration 'center' definition 'pos'. [funcArgNamesDifferent] simworld.h:887:32: note: Function 'mark_area' argument 1 names different: declaration 'center' definition 'pos'. simworld.cc:6668:40: note: Function 'mark_area' argument 1 names different: declaration 'center' definition 'pos'. simworld.cc:6668:57: style:inconclusive: Function 'mark_area' argument 2 names different: declaration 'radius' definition 'size'. [funcArgNamesDifferent] simworld.h:887:52: note: Function 'mark_area' argument 2 names different: declaration 'radius' definition 'size'. simworld.cc:6668:57: note: Function 'mark_area' argument 2 names different: declaration 'radius' definition 'size'. simworld.cc:6866:44: style:inconclusive: Function 'init_new_player' argument 1 names different: declaration 'nr' definition 'new_player_in'. [funcArgNamesDifferent] simworld.h:897:37: note: Function 'init_new_player' argument 1 names different: declaration 'nr' definition 'new_player_in'. simworld.cc:6866:44: note: Function 'init_new_player' argument 1 names different: declaration 'nr' definition 'new_player_in'. simworld.cc:6910:42: style:inconclusive: Function 'switch_active_player' argument 1 names different: declaration 'nr' definition 'new_player'. [funcArgNamesDifferent] simworld.h:896:34: note: Function 'switch_active_player' argument 1 names different: declaration 'nr' definition 'new_player'. simworld.cc:6910:42: note: Function 'switch_active_player' argument 1 names different: declaration 'nr' definition 'new_player'. simworld.cc:7057:40: style:inconclusive: Function 'call_work' argument 1 names different: declaration 't' definition 'tool'. [funcArgNamesDifferent] simworld.h:1174:32: note: Function 'call_work' argument 1 names different: declaration 't' definition 'tool'. simworld.cc:7057:40: note: Function 'call_work' argument 1 names different: declaration 't' definition 'tool'. simworld.cc:7057:56: style:inconclusive: Function 'call_work' argument 2 names different: declaration 'pl' definition 'player'. [funcArgNamesDifferent] simworld.h:1174:45: note: Function 'call_work' argument 2 names different: declaration 'pl' definition 'player'. simworld.cc:7057:56: note: Function 'call_work' argument 2 names different: declaration 'pl' definition 'player'. descriptor/building_desc.h:72:17: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration descriptor/building_desc.h:72:17: note: Shadow variable boden/grund.h:805:9: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration boden/grund.h:805:9: note: Shadow variable simworld.h:1105:16: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.h:1105:16: note: Shadow variable simworld.cc:300:17: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:300:17: note: Shadow variable simworld.cc:701:16: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:701:16: note: Shadow variable simworld.cc:909:18: style: Local variable 'i' shadows outer variable [shadowVariable] simworld.cc:895:13: note: Shadowed declaration simworld.cc:909:18: note: Shadow variable simworld.cc:1495:7: style: Local variable 'local_stage' shadows outer variable [shadowVariable] simworld.cc:1337:8: note: Shadowed declaration simworld.cc:1495:7: note: Shadow variable simworld.cc:1685:14: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:1685:14: note: Shadow variable simworld.cc:1693:11: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:1693:11: note: Shadow variable simworld.cc:1895:8: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:1895:8: note: Shadow variable simworld.cc:1869:19: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:1869:19: note: Shadow variable simworld.cc:2045:17: style: Local variable 'i' shadows outer variable [shadowVariable] simworld.cc:1893:9: note: Shadowed declaration simworld.cc:2045:17: note: Shadow variable simworld.cc:2047:19: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1895:8: note: Shadowed declaration simworld.cc:2047:19: note: Shadow variable simworld.cc:2063:17: style: Local variable 'i' shadows outer variable [shadowVariable] simworld.cc:1893:9: note: Shadowed declaration simworld.cc:2063:17: note: Shadow variable simworld.cc:2065:19: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1895:8: note: Shadowed declaration simworld.cc:2065:19: note: Shadow variable simworld.cc:2193:23: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.cc:2193:23: note: Shadow variable simworld.cc:2243:23: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.cc:2243:23: note: Shadow variable simworld.cc:2268:23: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.cc:2268:23: note: Shadow variable simworld.cc:2410:14: style: Local variable 'max_hgt' shadows outer function [shadowFunction] simworld.h:1711:8: note: Shadowed declaration simworld.cc:2410:14: note: Shadow variable simworld.cc:2971:14: style: Local variable 'max_hgt' shadows outer function [shadowFunction] simworld.h:1711:8: note: Shadowed declaration simworld.cc:2971:14: note: Shadow variable simworld.cc:3459:17: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.cc:3459:17: note: Shadow variable simworld.cc:3480:3: style: Local variable 'fab' shadows outer argument [shadowArgument] simworld.cc:3448:33: note: Shadowed declaration simworld.cc:3480:3: note: Shadow variable simworld.cc:4546:9: style: Local variable 'min_height' shadows outer variable [shadowVariable] simworld.h:725:20: note: Shadowed declaration simworld.cc:4546:9: note: Shadow variable simworld.cc:4547:9: style: Local variable 'max_height' shadows outer variable [shadowVariable] simworld.h:725:8: note: Shadowed declaration simworld.cc:4547:9: note: Shadow variable simworld.cc:4633:19: style: Local variable 'gr' shadows outer variable [shadowVariable] simworld.cc:4626:11: note: Shadowed declaration simworld.cc:4633:19: note: Shadow variable simworld.cc:4637:10: style: Local variable 'max_height' shadows outer variable [shadowVariable] simworld.h:725:8: note: Shadowed declaration simworld.cc:4637:10: note: Shadow variable simworld.cc:5114:15: style: Local variable 'msg' shadows outer variable [shadowVariable] simworld.h:593:13: note: Shadowed declaration simworld.cc:5114:15: note: Shadow variable simworld.cc:5195:19: style: Local variable 'plan' shadows outer variable [shadowVariable] simworld.h:398:17: note: Shadowed declaration simworld.cc:5195:19: note: Shadow variable simworld.cc:5356:22: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:5356:22: note: Shadow variable simworld.cc:5454:8: style: Local variable 'msg' shadows outer variable [shadowVariable] simworld.h:593:13: note: Shadowed declaration simworld.cc:5454:8: note: Shadow variable simworld.cc:6203:11: style: Local variable 'groundwater' shadows outer variable [shadowVariable] simworld.h:227:8: note: Shadowed declaration simworld.cc:6203:11: note: Shadow variable simworld.cc:6648:12: style: Local variable 'h' shadows outer variable [shadowVariable] simworld.cc:1341:7: note: Shadowed declaration simworld.cc:6648:12: note: Shadow variable simworld.cc:7229:28: style: Local variable 'nwc' shadows outer variable [shadowVariable] simworld.cc:7132:21: note: Shadowed declaration simworld.cc:7229:28: note: Shadow variable simworld.cc:2388:2: style: Variable 'i' can be declared as reference to const [constVariableReference] simworld.cc:2397:2: style: Variable 'i' can be declared as reference to const [constVariableReference] simworld.cc:700:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:910:17: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:1175:38: style: Parameter 'sets' can be declared as pointer to const [constParameterPointer] simworld.cc:1354:9: style: Variable 'this_stage' can be declared as pointer to const [constVariablePointer] simworld.cc:1431:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:1555:62: style: Parameter 'stage' can be declared as pointer to const [constParameterPointer] simworld.cc:1578:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:1586:20: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:1627:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:1631:15: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:1721:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:1894:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2213:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2272:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2407:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2425:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2647:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:2789:14: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:2800:14: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:3681:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:4494:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:4510:13: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:4626:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:5940:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:6078:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:6085:15: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:6139:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:6166:14: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:6434:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simworld.cc:6437:18: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:6480:18: style: Variable 'pl2' can be declared as pointer to const [constVariablePointer] simworld.cc:6482:13: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simworld.cc:6632:33: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simworld.cc:7253:16: style: Variable 'nwcheck' can be declared as pointer to const [constVariablePointer] simworld.cc:7299:39: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] simtool.h:75:14: performance:inconclusive: Technically the member function 'tool_raise_lower_base_t::drag' can be static (but you may consider moving to unnamed namespace). [functionStatic] simtool.cc:842:38: note: Technically the member function 'tool_raise_lower_base_t::drag' can be static (but you may consider moving to unnamed namespace). simtool.h:75:14: note: Technically the member function 'tool_raise_lower_base_t::drag' can be static (but you may consider moving to unnamed namespace). simtool.h:292:7: style:inconclusive: Technically the member function 'tool_build_way_t::calc_route' can be const. [functionConst] simtool.cc:2506:24: note: Technically the member function 'tool_build_way_t::calc_route' can be const. simtool.h:292:7: note: Technically the member function 'tool_build_way_t::calc_route' can be const. simtool.h:340:7: style:inconclusive: Technically the member function 'tool_build_tunnel_t::calc_route' can be const. [functionConst] simtool.cc:2989:27: note: Technically the member function 'tool_build_tunnel_t::calc_route' can be const. simtool.h:340:7: note: Technically the member function 'tool_build_tunnel_t::calc_route' can be const. simtool.h:470:7: style:inconclusive: Technically the member function 'tool_build_roadsign_t::get_values' can be const. [functionConst] simtool.cc:5229:29: note: Technically the member function 'tool_build_roadsign_t::get_values' can be const. simtool.h:470:7: note: Technically the member function 'tool_build_roadsign_t::get_values' can be const. simtool.h:479:14: style:inconclusive: Technically the member function 'tool_build_depot_t::tool_depot_aux' can be const. [functionConst] simtool.cc:5337:33: note: Technically the member function 'tool_build_depot_t::tool_depot_aux' can be const. simtool.h:479:14: note: Technically the member function 'tool_build_depot_t::tool_depot_aux' can be const. simtool.h:558:25: performance:inconclusive: Technically the member function 'tool_headquarter_t::next_level' can be static (but you may consider moving to unnamed namespace). [functionStatic] simtool.cc:5919:44: note: Technically the member function 'tool_headquarter_t::next_level' can be static (but you may consider moving to unnamed namespace). simtool.h:558:25: note: Technically the member function 'tool_headquarter_t::next_level' can be static (but you may consider moving to unnamed namespace). simtool.cc:3183:2: style: Class 'way_checker_t' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] simtool.cc:3197:3: style: The destructor '~scenario_checker_t' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ifc/simtestdriver.h:24:11: note: Virtual destructor in base class simtool.cc:3197:3: note: Destructor in derived class simworld.cc:963:14: style: Variable 'ready' is assigned a value that is never used. [unreadVariable] simworld.cc:1093:12: style: Variable 'ready' is assigned a value that is never used. [unreadVariable] simtool.cc:2095:11: style: Condition '!gr2->is_water()' is always true [knownConditionTrueFalse] simtool.cc:2082:23: note: Assuming that condition 'gr2->is_water()' is not redundant simtool.cc:2095:11: note: Condition '!gr2->is_water()' is always true simtool.cc:4450:174: style: Condition 'gb->get_tile()->get_desc()->get_type()>building_desc_t::flat_dock' is always false [knownConditionTrueFalse] simtool.cc:4450:108: note: Assuming that condition 'gb->get_tile()->get_desc()->get_type()>building_desc_t::dock' is not redundant simtool.cc:4450:174: note: Condition 'gb->get_tile()->get_desc()->get_type()>building_desc_t::flat_dock' is always false simtool.cc:4644:24: style: Condition 'desc->get_type()==building_desc_t::generic_stop' is always true [knownConditionTrueFalse] simtool.cc:4641:24: note: Assuming that condition 'desc->get_type()!=building_desc_t::generic_stop' is not redundant simtool.cc:4644:24: note: Condition 'desc->get_type()==building_desc_t::generic_stop' is always true simtool.cc:4723:26: style: Condition 'desc->get_type()==building_desc_t::generic_stop' is always true [knownConditionTrueFalse] simtool.cc:4720:26: note: Assuming that condition 'desc->get_type()!=building_desc_t::generic_stop' is not redundant simtool.cc:4723:26: note: Condition 'desc->get_type()==building_desc_t::generic_stop' is always true simtool.cc:6015:17: style: Condition 'gb' is always true [knownConditionTrueFalse] simtool.cc:217:8: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simtool.cc:229:8: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] simtool.cc:7098:2: portability: %hi in format string (no. 2) requires 'short *' but the argument type is 'uint16 * {aka unsigned short *}'. [invalidScanfArgType_int] simtool.cc:7167:15: portability: %hi in format string (no. 1) requires 'short *' but the argument type is 'uint16 * {aka unsigned short *}'. [invalidScanfArgType_int] simtool.cc:7167:15: portability: %hi in format string (no. 2) requires 'short *' but the argument type is 'uint16 * {aka unsigned short *}'. [invalidScanfArgType_int] simtool.cc:7493:2: portability: %hi in format string (no. 5) requires 'short *' but the argument type is 'uint16 * {aka unsigned short *}'. [invalidScanfArgType_int] simtool.cc:2243:24: warning: Either the condition 'desc' is redundant or there is possible null pointer dereference: desc. [nullPointerRedundantCheck] simtool.cc:2247:6: note: Assuming that condition 'desc' is not redundant simtool.cc:2243:24: note: Null pointer dereference simtool.cc:3934:6: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simtool.cc:4086:7: note: Assuming that condition 'gr' is not redundant simtool.cc:3934:6: note: Null pointer dereference simtool.cc:3937:23: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simtool.cc:4086:7: note: Assuming that condition 'gr' is not redundant simtool.cc:3937:23: note: Null pointer dereference simtool.cc:4003:2: warning: Either the condition 'gr' is redundant or there is possible null pointer dereference: gr. [nullPointerRedundantCheck] simtool.cc:4086:7: note: Assuming that condition 'gr' is not redundant simtool.cc:4003:2: note: Null pointer dereference simtool.cc:4529:64: warning: Either the condition 'bd' is redundant or there is possible null pointer dereference: bd. [nullPointerRedundantCheck] simtool.cc:4524:8: note: Assuming that condition 'bd' is not redundant simtool.cc:4529:64: note: Null pointer dereference simtool.cc:2309:54: style: C-style pointer casting [cstyleCast] simtool.cc:2314:54: style: C-style pointer casting [cstyleCast] simtool.cc:2750:16: style: C-style pointer casting [cstyleCast] simtool.cc:2816:16: style: C-style pointer casting [cstyleCast] simtool.cc:7745:29: style: C-style pointer casting [cstyleCast] simtool.cc:7786:46: style: C-style pointer casting [cstyleCast] simtool.cc:7792:45: style: C-style pointer casting [cstyleCast] simworld.cc:4969:25: style: Variable 'restore_player_nr' is assigned a value that is never used. [unreadVariable] simworld.cc:6985:28: style: Variable 'unlocked_players' is assigned a value that is never used. [unreadVariable] simworld.cc:6989:23: style: Variable 'unlocked_players' is assigned a value that is never used. [unreadVariable] simtool.cc:1744:12: style: The scope of the variable 'old_owner' can be reduced. [variableScope] simtool.cc:2002:11: style: The scope of the variable 'neighbour_height' can be reduced. [variableScope] simtool.cc:2172:8: style: The scope of the variable 'check_climates' can be reduced. [variableScope] simtool.cc:2173:8: style: The scope of the variable 'random_age' can be reduced. [variableScope] simtool.cc:3720:14: style: The scope of the variable 'msg' can be reduced. [variableScope] simtool.cc:3733:10: style: The scope of the variable 'ok' can be reduced. [variableScope] vehicle/rail_vehicle.h:32:12: style: Virtual function 'get_waytype' is called from constructor 'rail_vehicle_t(loadsave_t*file,bool is_first,bool is_last)' at line 43. Dynamic binding is not used. [virtualCallInConstructor] vehicle/rail_vehicle.cc:43:49: note: Calling get_waytype vehicle/rail_vehicle.h:32:12: note: get_waytype is a virtual function vehicle/rail_vehicle.h:32:12: style: Virtual function 'get_waytype' is called from destructor '~rail_vehicle_t()' at line 79. Dynamic binding is not used. [virtualCallInConstructor] vehicle/rail_vehicle.cc:79:4: note: Calling block_reserver vehicle/rail_vehicle.cc:727:52: note: Calling get_waytype vehicle/rail_vehicle.h:32:12: note: get_waytype is a virtual function vehicle/rail_vehicle.h:32:12: style: Virtual function 'get_waytype' is called from destructor '~rail_vehicle_t()' at line 84. Dynamic binding is not used. [virtualCallInConstructor] vehicle/rail_vehicle.cc:84:46: note: Calling get_waytype vehicle/rail_vehicle.h:32:12: note: get_waytype is a virtual function simtool.cc:4881:10: style: The scope of the variable 'newlayout' can be reduced. [variableScope] simtool.cc:5172:9: style: The scope of the variable 'j' can be reduced. [variableScope] simtool.cc:5926:14: style: The scope of the variable 'my_toolstr' can be reduced. [variableScope] simtool.cc:5962:7: style: The scope of the variable 'ok' can be reduced. [variableScope] simtool.cc:5963:7: style: The scope of the variable 'built' can be reduced. [variableScope] simtool.cc:6648:9: style: The scope of the variable 'workcost' can be reduced. [variableScope] vehicle/rail_vehicle.cc:84:21: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:97:27: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:118:30: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:233:28: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:608:17: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:642:44: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:727:27: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:789:23: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:816:22: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:837:25: style: C-style pointer casting [cstyleCast] vehicle/rail_vehicle.cc:65:101: style:inconclusive: Function 'rail_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:57:86: note: Function 'rail_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/rail_vehicle.cc:65:101: note: Function 'rail_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/rail_vehicle.cc:267:80: style:inconclusive: Function 'is_longblock_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:28:65: note: Function 'is_longblock_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:267:80: note: Function 'is_longblock_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:349:83: style:inconclusive: Function 'is_choose_signal_clear' argument 2 names different: declaration 'start_index' definition 'start_block'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:29:62: note: Function 'is_choose_signal_clear' argument 2 names different: declaration 'start_index' definition 'start_block'. vehicle/rail_vehicle.cc:349:83: note: Function 'is_choose_signal_clear' argument 2 names different: declaration 'start_index' definition 'start_block'. vehicle/rail_vehicle.cc:466:74: style:inconclusive: Function 'is_pre_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:26:59: note: Function 'is_pre_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:466:74: note: Function 'is_pre_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:492:79: style:inconclusive: Function 'is_priority_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:27:64: note: Function 'is_priority_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:492:79: note: Function 'is_priority_signal_clear' argument 2 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:527:55: style:inconclusive: Function 'is_signal_clear' argument 1 names different: declaration 'start_index' definition 'next_block'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:25:40: note: Function 'is_signal_clear' argument 1 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:527:55: note: Function 'is_signal_clear' argument 1 names different: declaration 'start_index' definition 'next_block'. vehicle/rail_vehicle.cc:576:52: style:inconclusive: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:46:37: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/rail_vehicle.cc:576:52: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/rail_vehicle.cc:696:107: style:inconclusive: Function 'block_reserver' argument 3 names different: declaration 'next_signal' definition 'next_signal_index'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:50:92: note: Function 'block_reserver' argument 3 names different: declaration 'next_signal' definition 'next_signal_index'. vehicle/rail_vehicle.cc:696:107: note: Function 'block_reserver' argument 3 names different: declaration 'next_signal' definition 'next_signal_index'. vehicle/rail_vehicle.cc:696:144: style:inconclusive: Function 'block_reserver' argument 4 names different: declaration 'next_crossing' definition 'next_crossing_index'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:50:123: note: Function 'block_reserver' argument 4 names different: declaration 'next_crossing' definition 'next_crossing_index'. vehicle/rail_vehicle.cc:696:144: note: Function 'block_reserver' argument 4 names different: declaration 'next_crossing' definition 'next_crossing_index'. vehicle/rail_vehicle.cc:696:169: style:inconclusive: Function 'block_reserver' argument 5 names different: declaration 'signal_count' definition 'count'. [funcArgNamesDifferent] vehicle/rail_vehicle.h:50:142: note: Function 'block_reserver' argument 5 names different: declaration 'signal_count' definition 'count'. vehicle/rail_vehicle.cc:696:169: note: Function 'block_reserver' argument 5 names different: declaration 'signal_count' definition 'count'. vehicle/rail_vehicle.cc:401:14: style: Local variable 'sig' shadows outer argument [shadowArgument] vehicle/rail_vehicle.cc:349:55: note: Shadowed declaration vehicle/rail_vehicle.cc:401:14: note: Shadow variable vehicle/rail_vehicle.cc:82:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:386:10: style: Variable 'way' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:392:16: style: Variable 'rs' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:401:14: style: Variable 'sig' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:583:12: style: Variable 'gr_current' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:584:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] vehicle/rail_vehicle.cc:608:13: style: Variable 'w' can be declared as pointer to const [constVariablePointer] simtool.cc:842:77: style:inconclusive: Function 'drag' argument 3 names different: declaration 'h' definition 'height'. [funcArgNamesDifferent] simtool.h:75:46: note: Function 'drag' argument 3 names different: declaration 'h' definition 'height'. simtool.cc:842:77: note: Function 'drag' argument 3 names different: declaration 'h' definition 'height'. simtool.cc:1043:86: style:inconclusive: Function 'tool_set_slope_work' argument 3 names different: declaration 'slope' definition 'new_slope'. [funcArgNamesDifferent] simtool.h:136:77: note: Function 'tool_set_slope_work' argument 3 names different: declaration 'slope' definition 'new_slope'. simtool.cc:1043:86: note: Function 'tool_set_slope_work' argument 3 names different: declaration 'slope' definition 'new_slope'. simtool.cc:2137:91: style:inconclusive: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. [funcArgNamesDifferent] simtool.h:241:73: note: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. simtool.cc:2137:91: note: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. simtool.cc:2200:96: style:inconclusive: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. [funcArgNamesDifferent] simtool.h:253:73: note: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. simtool.cc:2200:96: note: Function 'move' argument 3 names different: declaration 'k' definition 'pos'. simtool.cc:3265:113: style:inconclusive: Function 'calc_route' argument 4 names different: declaration 'to' definition 'end'. [funcArgNamesDifferent] simtool.h:356:79: note: Function 'calc_route' argument 4 names different: declaration 'to' definition 'end'. simtool.cc:3265:113: note: Function 'calc_route' argument 4 names different: declaration 'to' definition 'end'. simtool.cc:4346:143: style:inconclusive: Function 'tool_station_aux' argument 5 names different: declaration 'halt_suffix' definition 'type_name'. [funcArgNamesDifferent] simtool.h:406:100: note: Function 'tool_station_aux' argument 5 names different: declaration 'halt_suffix' definition 'type_name'. simtool.cc:4346:143: note: Function 'tool_station_aux' argument 5 names different: declaration 'halt_suffix' definition 'type_name'. simtool.cc:1516:5: style: Local variable 'w' shadows outer variable [shadowVariable] simtool.cc:1503:27: note: Shadowed declaration simtool.cc:1516:5: note: Shadow variable simtool.cc:1749:2: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:1724:11: note: Shadowed declaration simtool.cc:1749:2: note: Shadow variable simtool.cc:2005:10: style: Local variable 'ok' shadows outer variable [shadowVariable] simtool.cc:1976:8: note: Shadowed declaration simtool.cc:2005:10: note: Shadow variable simtool.cc:2323:20: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:289:20: note: Shadowed declaration simtool.cc:2323:20: note: Shadow variable simtool.cc:2345:20: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:289:20: note: Shadowed declaration simtool.cc:2345:20: note: Shadow variable simtool.cc:2365:20: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:289:20: note: Shadowed declaration simtool.cc:2365:20: note: Shadow variable simtool.cc:2431:20: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:289:20: note: Shadowed declaration simtool.cc:2431:20: note: Shadow variable simtool.cc:2761:12: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:2722:11: note: Shadowed declaration simtool.cc:2761:12: note: Shadow variable simtool.cc:2767:13: style: Local variable 'way' shadows outer variable [shadowVariable] simtool.cc:2731:12: note: Shadowed declaration simtool.cc:2767:13: note: Shadow variable simtool.cc:2789:13: style: Local variable 'way' shadows outer variable [shadowVariable] simtool.cc:2731:12: note: Shadowed declaration simtool.cc:2789:13: note: Shadow variable simtool.cc:2893:15: style: Local variable 'error' shadows outer argument [shadowArgument] simtool.cc:2825:94: note: Shadowed declaration simtool.cc:2893:15: note: Shadow variable simtool.cc:3024:14: style: Local variable 'end' shadows outer argument [shadowArgument] simtool.cc:3006:98: note: Shadowed declaration simtool.cc:3024:14: note: Shadow variable simtool.cc:3311:15: style: Local variable 'i' shadows outer variable [shadowVariable] simtool.cc:3299:3: note: Shadowed declaration simtool.cc:3311:15: note: Shadow variable simtool.cc:3472:25: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:375:24: note: Shadowed declaration simtool.cc:3472:25: note: Shadow variable simtool.cc:3485:13: style: Local variable 'wt' shadows outer variable [shadowVariable] simtool.h:377:12: note: Shadowed declaration simtool.cc:3485:13: note: Shadow variable simtool.cc:3493:24: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:375:24: note: Shadowed declaration simtool.cc:3493:24: note: Shadow variable simtool.cc:3506:25: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:375:24: note: Shadowed declaration simtool.cc:3506:25: note: Shadow variable simtool.cc:3677:19: style: Local variable 'err' shadows outer variable [shadowVariable] simtool.cc:3655:14: note: Shadowed declaration simtool.cc:3677:19: note: Shadow variable simtool.cc:3974:19: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:3933:11: note: Shadowed declaration simtool.cc:3974:19: note: Shadow variable simtool.cc:4140:17: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:4123:11: note: Shadowed declaration simtool.cc:4140:17: note: Shadow variable simtool.cc:4168:19: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:4123:11: note: Shadowed declaration simtool.cc:4168:19: note: Shadow variable simtool.cc:4230:10: style: Local variable 'last_k' shadows outer variable [shadowVariable] simtool.cc:4221:8: note: Shadowed declaration simtool.cc:4230:10: note: Shadow variable simtool.cc:4441:16: style: Local variable 'gr_tmp' shadows outer variable [shadowVariable] simtool.cc:4436:15: note: Shadowed declaration simtool.cc:4441:16: note: Shadow variable simtool.cc:4897:4: style: Local variable 'gr' shadows outer variable [shadowVariable] simtool.cc:4836:17: note: Shadowed declaration simtool.cc:4897:4: note: Shadow variable simtool.cc:4912:26: style: Local variable 'desc' shadows outer variable [shadowVariable] simtool.h:437:25: note: Shadowed declaration simtool.cc:4912:26: note: Shadow variable simtool.cc:5861:5: style: Local variable 'f' shadows outer variable [shadowVariable] simtool.cc:5853:13: note: Shadowed declaration simtool.cc:5861:5: note: Shadow variable simtool.cc:5997:11: style: Local variable 'size' shadows outer variable [shadowVariable] simtool.cc:5974:8: note: Shadowed declaration simtool.cc:5997:11: note: Shadow variable simtool.cc:6014:28: style: Local variable 'gb' shadows outer variable [shadowVariable] simtool.cc:5991:16: note: Shadowed declaration simtool.cc:6014:28: note: Shadow variable simtool.cc:6590:13: style: Local variable 'i' shadows outer variable [shadowVariable] simtool.cc:6587:2: note: Shadowed declaration simtool.cc:6590:13: note: Shadow variable simtool.cc:7349:5: style: Local variable 'line' shadows outer variable [shadowVariable] simtool.cc:7267:15: note: Shadowed declaration simtool.cc:7349:5: note: Shadow variable simtool.cc:252:71: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simtool.cc:258:22: style: Variable 'plan' can be declared as pointer to const [constVariablePointer] simtool.cc:265:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:275:25: style: Variable 'plan' can be declared as pointer to const [constVariablePointer] simtool.cc:288:24: style: Variable 'plan' can be declared as pointer to const [constVariablePointer] simtool.cc:315:58: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:315:75: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simtool.cc:397:22: style: Variable 'veh' can be declared as pointer to const [constVariablePointer] simtool.cc:483:15: style: Variable 'br' can be declared as pointer to const [constVariablePointer] simtool.cc:584:14: style: Variable 'br' can be declared as pointer to const [constVariablePointer] simtool.cc:749:15: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] simtool.cc:1015:11: style: Variable 'gr1' can be declared as pointer to const [constVariablePointer] simtool.cc:1030:11: style: Variable 'gr1' can be declared as pointer to const [constVariablePointer] simtool.cc:1225:15: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simtool.cc:1254:13: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simtool.cc:1267:13: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simtool.cc:1490:16: style: Variable 'veh' can be declared as pointer to const [constVariablePointer] simtool.cc:1563:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:1583:12: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] simtool.cc:1674:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:1891:16: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simtool.cc:1941:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2000:13: style: Variable 'gr2' can be declared as pointer to const [constVariablePointer] simtool.cc:2158:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2221:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2263:54: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simtool.cc:2263:70: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:2269:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:2282:11: style: Variable 'w' can be declared as pointer to const [constVariablePointer] simtool.cc:2441:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2453:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2533:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:2769:12: style: Variable 'kb' can be declared as pointer to const [constVariablePointer] simtool.cc:3010:17: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:3060:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:3065:11: style: Variable 'w' can be declared as pointer to const [constVariablePointer] simtool.cc:3203:84: style: Parameter 'tool' can be declared as pointer to const [constParameterPointer] simtool.cc:3204:12: style: Variable 'welt' can be declared as pointer to const [constVariablePointer] simtool.cc:3243:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:3274:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:3577:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:3602:14: style: Variable 'wayobj' can be declared as pointer to const [constVariablePointer] simtool.cc:3794:23: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simtool.cc:4140:17: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:4707:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:4716:17: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:4943:13: style: Variable 's' can be declared as pointer to const [constVariablePointer] simtool.cc:4955:10: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] simtool.cc:4976:16: style: Variable 'rs' can be declared as pointer to const [constVariablePointer] simtool.cc:5104:10: style: Variable 'weg' can be declared as pointer to const [constVariablePointer] simtool.cc:5229:51: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:5245:15: style: Variable 's' can be declared as pointer to const [constVariablePointer] simtool.cc:5340:12: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:5484:15: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:5588:15: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simtool.cc:5853:13: style: Variable 'f' can be declared as pointer to const [constVariablePointer] simtool.cc:5884:12: style: Variable 'fab' can be declared as pointer to const [constVariablePointer] simtool.cc:5984:15: style: Variable 'hq' can be declared as pointer to const [constVariablePointer] simtool.cc:6186:55: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:6192:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:6213:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:6302:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:6311:16: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:6470:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:6489:16: style: Variable 'w' can be declared as pointer to const [constVariablePointer] simtool.cc:6589:18: style: Variable 'pl' can be declared as pointer to const [constVariablePointer] simtool.cc:6621:11: style: Variable 'bd' can be declared as pointer to const [constVariablePointer] simtool.cc:7043:46: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simtool.cc:7043:62: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:7043:82: style: Parameter 'schedule' can be declared as pointer to const [constParameterPointer] simtool.cc:7059:37: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] simtool.cc:7059:53: style: Parameter 'player' can be declared as pointer to const [constParameterPointer] simtool.cc:7131:18: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:7172:18: style: Variable 'schedule' can be declared as pointer to const [constVariablePointer] simtool.cc:7310:19: style: Variable 'w' can be declared as pointer to const [constVariablePointer] simtool.cc:7506:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] simtool.cc:7930:14: style: Variable 'label' can be declared as pointer to const [constVariablePointer] simtool.cc:7951:23: style: Variable 'gb' can be declared as pointer to const [constVariablePointer] simtool.cc:225:6: style: Variable 'n' is assigned a value that is never used. [unreadVariable] simtool.cc:229:5: style: Variable 'n' is assigned a value that is never used. [unreadVariable] simtool.cc:721:15: style: Variable 'wt' is assigned a value that is never used. [unreadVariable] simtool.cc:2172:23: style: Variable 'check_climates' is assigned a value that is never used. [unreadVariable] simtool.cc:2173:19: style: Variable 'random_age' is assigned a value that is never used. [unreadVariable] simtool.cc:2659:5: style: Variable 'n' is assigned a value that is never used. [unreadVariable] simtool.cc:2911:5: style: Variable 'n' is assigned a value that is never used. [unreadVariable] simtool.cc:3429:10: style: Variable 'gr' is assigned a value that is never used. [unreadVariable] vehicle/road_vehicle.cc:99:2: style: Non-boolean value returned from function returning bool [returnNonBoolInBooleanFunction] vehicle/road_vehicle.cc:302:10: style: Condition 'gr_current' is always true [knownConditionTrueFalse] vehicle/road_vehicle.cc:309:11: style: Condition 'rs' is always true [knownConditionTrueFalse] vehicle/road_vehicle.cc:93:84: warning: Either the condition 'cnv' is redundant or there is possible null pointer dereference: cnv. [nullPointerRedundantCheck] vehicle/road_vehicle.cc:86:57: note: Assuming that condition 'cnv' is not redundant vehicle/road_vehicle.cc:93:84: note: Null pointer dereference vehicle/road_vehicle.cc:97:38: style: C-style pointer casting [cstyleCast] vehicle/road_vehicle.cc:105:17: style: C-style pointer casting [cstyleCast] vehicle/road_vehicle.cc:318:26: style: C-style pointer casting [cstyleCast] vehicle/road_vehicle.cc:396:11: style: C-style pointer casting [cstyleCast] simtool.cc:6648:18: style: Variable 'workcost' is assigned a value that is never used. [unreadVariable] vehicle/road_vehicle.cc:27:101: style:inconclusive: Function 'road_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. [funcArgNamesDifferent] vehicle/road_vehicle.h:38:86: note: Function 'road_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/road_vehicle.cc:27:101: note: Function 'road_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/road_vehicle.cc:34:55: style:inconclusive: Function 'road_vehicle_t' argument 2 names different: declaration 'first' definition 'is_first'. [funcArgNamesDifferent] vehicle/road_vehicle.h:37:40: note: Function 'road_vehicle_t' argument 2 names different: declaration 'first' definition 'is_first'. vehicle/road_vehicle.cc:34:55: note: Function 'road_vehicle_t' argument 2 names different: declaration 'first' definition 'is_first'. vehicle/road_vehicle.cc:34:70: style:inconclusive: Function 'road_vehicle_t' argument 3 names different: declaration 'last' definition 'is_last'. [funcArgNamesDifferent] vehicle/road_vehicle.h:37:52: note: Function 'road_vehicle_t' argument 3 names different: declaration 'last' definition 'is_last'. vehicle/road_vehicle.cc:34:70: note: Function 'road_vehicle_t' argument 3 names different: declaration 'last' definition 'is_last'. vehicle/road_vehicle.cc:295:52: style:inconclusive: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. [funcArgNamesDifferent] vehicle/road_vehicle.h:49:37: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/road_vehicle.cc:295:52: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/road_vehicle.cc:78:41: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/road_vehicle.cc:105:13: style: Variable 'str' can be declared as pointer to const [constVariablePointer] vehicle/road_vehicle.cc:477:19: style: Variable 'over' can be declared as pointer to const [constVariablePointer] vehicle/vehicle.cc:33:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] vehicle/vehicle.cc:255:104: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pos [valueFlowBailoutIncompleteVar] vehicle/vehicle_base.cc:154:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar] vehicle/vehicle_base.cc:175:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable not_on_map [valueFlowBailoutIncompleteVar] vehicle/simroadtraffic.cc:65:14: warning: Member variable 'road_user_t::time_to_life' is not initialized in the constructor. [uninitMemberVar] tpl/hashtable_tpl.h:49:21: performance:inconclusive: Technically the member function 'hashtable_tpl < const char * , citycar_desc_t const * , stringhash_t >::get_hash' can be static (but you may consider moving to unnamed namespace). [functionStatic] tpl/weighted_vector_tpl.h:47:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const citycar_desc_t * >::iterator::operator!=' can be const. [functionConst] tpl/weighted_vector_tpl.h:74:8: style:inconclusive: Technically the member function 'weighted_vector_tpl < const citycar_desc_t * >::const_iterator::operator!=' can be const. [functionConst] vehicle/simroadtraffic.h:97:7: style: Virtual function 'rdwr' is called from constructor 'private_car_t(loadsave_t*file)' at line 326. Dynamic binding is not used. [virtualCallInConstructor] vehicle/simroadtraffic.cc:326:2: note: Calling rdwr vehicle/simroadtraffic.h:97:7: note: rdwr is a virtual function vehicle/simroadtraffic.h:99:7: style: Virtual function 'calc_image' is called from constructor 'private_car_t(grund_t*gr,koord target,const char*name=NULL)' at line 353. Dynamic binding is not used. [virtualCallInConstructor] vehicle/simroadtraffic.cc:353:2: note: Calling calc_image vehicle/simroadtraffic.h:99:7: note: calc_image is a virtual function vehicle/simroadtraffic.cc:772:6: style: Condition 'from' is always true [knownConditionTrueFalse] vehicle/simroadtraffic.cc:65:35: style:inconclusive: Function 'road_user_t' argument 1 names different: declaration 'gr' definition 'bd'. [funcArgNamesDifferent] vehicle/simroadtraffic.h:48:23: note: Function 'road_user_t' argument 1 names different: declaration 'gr' definition 'bd'. vehicle/simroadtraffic.cc:65:35: note: Function 'road_user_t' argument 1 names different: declaration 'gr' definition 'bd'. vehicle/simroadtraffic.cc:790:34: style:inconclusive: Function 'hop' argument 1 names different: declaration 'gr' definition 'to'. [funcArgNamesDifferent] vehicle/simroadtraffic.h:119:20: note: Function 'hop' argument 1 names different: declaration 'gr' definition 'to'. vehicle/simroadtraffic.cc:790:34: note: Function 'hop' argument 1 names different: declaration 'gr' definition 'to'. vehicle/simroadtraffic.cc:283:32: style: Local variable 'info' shadows outer function [shadowFunction] vehicle/simroadtraffic.h:134:7: note: Shadowed declaration vehicle/simroadtraffic.cc:283:32: note: Shadow variable vehicle/simroadtraffic.cc:409:15: style: Local variable 's' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:404:12: note: Shadowed declaration vehicle/simroadtraffic.cc:409:15: note: Shadow variable vehicle/simroadtraffic.cc:413:8: style: Local variable 's' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:404:12: note: Shadowed declaration vehicle/simroadtraffic.cc:413:8: note: Shadow variable vehicle/simroadtraffic.cc:493:19: style: Local variable 'gr' shadows outer argument [shadowArgument] vehicle/simroadtraffic.cc:468:45: note: Shadowed declaration vehicle/simroadtraffic.cc:493:19: note: Shadow variable vehicle/simroadtraffic.cc:580:17: style: Local variable 'next_direction' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:499:15: note: Shadowed declaration vehicle/simroadtraffic.cc:580:17: note: Shadow variable vehicle/simroadtraffic.cc:589:18: style: Local variable 'cr' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:560:16: note: Shadowed declaration vehicle/simroadtraffic.cc:589:18: note: Shadow variable vehicle/simroadtraffic.cc:663:28: style: Local variable 'rs' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:657:21: note: Shadowed declaration vehicle/simroadtraffic.cc:663:28: note: Shadow variable vehicle/simroadtraffic.cc:913:13: style: Local variable 'gr' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:899:12: note: Shadowed declaration vehicle/simroadtraffic.cc:913:13: note: Shadow variable vehicle/simroadtraffic.cc:917:11: style: Local variable 'str' shadows outer variable [shadowVariable] vehicle/simroadtraffic.cc:904:10: note: Shadowed declaration vehicle/simroadtraffic.cc:917:11: note: Shadow variable vehicle/simroadtraffic.cc:876:41: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/simroadtraffic.cc:65:35: style: Parameter 'bd' can be declared as pointer to const [constParameterPointer] vehicle/simroadtraffic.cc:272:50: style: Parameter 'welt' can be declared as pointer to const [constParameterPointer] vehicle/simroadtraffic.cc:310:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:468:45: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] vehicle/simroadtraffic.cc:476:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:504:13: style: Variable 'gr_here' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:508:13: style: Variable 'test' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:532:20: style: Variable 'over' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:566:13: style: Variable 'gr_here' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:708:13: style: Variable 'w' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:824:49: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] vehicle/simroadtraffic.cc:899:12: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:904:10: style: Variable 'str' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:913:13: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:917:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] vehicle/simroadtraffic.cc:977:9: style: Variable 'str' can be declared as pointer to const [constVariablePointer] vehicle/water_vehicle.cc:17:103: style:inconclusive: Function 'water_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. [funcArgNamesDifferent] vehicle/water_vehicle.h:39:87: note: Function 'water_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/water_vehicle.cc:17:103: note: Function 'water_vehicle_t' argument 4 names different: declaration 'cnv' definition 'cn'. vehicle/water_vehicle.cc:111:53: style:inconclusive: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. [funcArgNamesDifferent] vehicle/water_vehicle.h:33:37: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/water_vehicle.cc:111:53: note: Function 'can_enter_tile' argument 1 names different: declaration 'gr_next' definition 'gr'. vehicle/water_vehicle.cc:122:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] vehicle/vehicle.cc:383:12: warning: Member variable 'vehicle_t::purchase_time' is not initialized in the constructor. [uninitMemberVar] vehicle/vehicle.cc:383:12: warning: Member variable 'vehicle_t::speed_limit' is not initialized in the constructor. [uninitMemberVar] vehicle/vehicle.cc:383:12: warning: Member variable 'vehicle_t::has_driven' is not initialized in the constructor. [uninitMemberVar] vehicle/vehicle.h:187:7: style:inconclusive: Technically the member function 'vehicle_t::rotate90_freight_destinations' can be const. [functionConst] vehicle/vehicle.cc:37:17: note: Technically the member function 'vehicle_t::rotate90_freight_destinations' can be const. vehicle/vehicle.h:187:7: note: Technically the member function 'vehicle_t::rotate90_freight_destinations' can be const. vehicle/vehicle.cc:57:44: style: C-style pointer casting [cstyleCast] vehicle/vehicle.cc:939:10: style: C-style pointer casting [cstyleCast] vehicle/vehicle.cc:1145:30: style: C-style pointer casting [cstyleCast] vehicle/vehicle.cc:690:9: style: The scope of the variable 'freight_revenue' can be reduced. [variableScope] vehicle/vehicle.cc:88:56: style:inconclusive: Function 'unload_cargo' argument 2 names different: declaration 'all' definition 'unload_all'. [funcArgNamesDifferent] vehicle/vehicle.h:246:46: note: Function 'unload_cargo' argument 2 names different: declaration 'all' definition 'unload_all'. vehicle/vehicle.cc:88:56: note: Function 'unload_cargo' argument 2 names different: declaration 'all' definition 'unload_all'. vehicle/vehicle.cc:1129:56: style:inconclusive: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. [funcArgNamesDifferent] vehicle/vehicle.h:279:46: note: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. vehicle/vehicle.cc:1129:56: note: Function 'display_after' argument 3 names different: declaration 'dirty' definition 'is_global'. vehicle/vehicle.cc:77:3: style: Local variable 'c' shadows outer argument [shadowArgument] vehicle/vehicle.cc:46:38: note: Shadowed declaration vehicle/vehicle.cc:77:3: note: Shadow variable vehicle/vehicle.cc:481:11: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] vehicle/vehicle.cc:1144:23: style: Variable 'mo_gr' can be declared as pointer to const [constVariablePointer] vehicle/vehicle.cc:1145:21: style: Variable 'mo_veh' can be declared as pointer to const [constVariablePointer] vehicle/vehicle.cc:638:25: warning: Expression '-7' has a negative value. That is converted to an unsigned value and used in an unsigned calculation. [signConversion] vehicle/vehicle_base.cc:115:17: warning: Member variable 'vehicle_base_t::direction' is not initialized in the constructor. [uninitMemberVar] vehicle/vehicle_base.cc:130:17: warning: Member variable 'vehicle_base_t::direction' is not initialized in the constructor. [uninitMemberVar] vehicle/vehicle_base.h:97:7: performance:inconclusive: Technically the member function 'vehicle_base_t::is_about_to_hop' can be static (but you may consider moving to unnamed namespace). [functionStatic] vehicle/vehicle_base.cc:105:22: note: Technically the member function 'vehicle_base_t::is_about_to_hop' can be static (but you may consider moving to unnamed namespace). vehicle/vehicle_base.h:97:7: note: Technically the member function 'vehicle_base_t::is_about_to_hop' can be static (but you may consider moving to unnamed namespace). vehicle/vehicle_base.cc:178:98: style: C-style pointer casting [cstyleCast] vehicle/vehicle_base.cc:187:89: style: C-style pointer casting [cstyleCast] vehicle/vehicle_base.cc:199:90: style: C-style pointer casting [cstyleCast] vehicle/vehicle_base.cc:206:101: style: C-style pointer casting [cstyleCast] vehicle/vehicle_base.cc:43:73: style:inconclusive: Function 'set_diagonal_multiplier' argument 2 names different: declaration 'old_multiplier' definition 'old_diagonal_multiplier'. [funcArgNamesDifferent] vehicle/vehicle_base.h:101:65: note: Function 'set_diagonal_multiplier' argument 2 names different: declaration 'old_multiplier' definition 'old_diagonal_multiplier'. vehicle/vehicle_base.cc:43:73: note: Function 'set_diagonal_multiplier' argument 2 names different: declaration 'old_multiplier' definition 'old_diagonal_multiplier'. vehicle/vehicle_base.cc:227:40: style:inconclusive: Function 'do_drive' argument 1 names different: declaration 'dist' definition 'distance'. [funcArgNamesDifferent] vehicle/vehicle_base.h:110:25: note: Function 'do_drive' argument 1 names different: declaration 'dist' definition 'distance'. vehicle/vehicle_base.cc:227:40: note: Function 'do_drive' argument 1 names different: declaration 'dist' definition 'distance'. vehicle/vehicle_base.cc:197:14: style: Local variable 'gr' shadows outer variable [shadowVariable] vehicle/vehicle_base.cc:165:11: note: Shadowed declaration vehicle/vehicle_base.cc:197:14: note: Shadow variable vehicle/vehicle_base.cc:342:15: style: Local variable 'direction' shadows outer variable [shadowVariable] vehicle/vehicle_base.h:41:15: note: Shadowed declaration vehicle/vehicle_base.cc:342:15: note: Shadow variable vehicle/vehicle_base.cc:436:61: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/vehicle_base.cc:437:58: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/vehicle_base.cc:441:61: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/vehicle_base.cc:442:58: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] vehicle/vehicle_base.cc:395:43: style: Parameter 'gr' can be declared as pointer to const [constParameterPointer] diff: DONE