News:

Simutrans Chat Room
Where cool people of Simutrans can meet up.

Unreachable code

Started by eipi, June 18, 2012, 08:36:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

eipi

When rebuilding the code with warning level 4 in MSVC, there were a lot of warning messages about unreachable code.
I haven't been able to investigate, though, since I am still working on the translation patch.
Build log:



1>------ Build started: Project: Simutrans_VS10, Configuration: Debug Win32 ------
1>Build started 6/18/2012 10:16:46 PM.
1>InitializeBuildStatus:
1>  Touching "Debug\Simutrans_VS10.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  All outputs are up-to-date.
1>ResourceCompile:
1>  All outputs are up-to-date.
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1>  Generating code
1>e:\progs\simutransclean\trunk\simsys.cc(636): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(93): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(93): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(42): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(54): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(54): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(315): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(317): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(322): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\grund_besch.cc(633): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\dataobj\dingliste.cc(1185): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\dataobj\dingliste.cc(413): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simworld.cc(4119): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simgraph16.cc(3843): warning C4701: potentially uninitialized local variable 'oldx' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3835): warning C4701: potentially uninitialized local variable 'rx' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3843): warning C4701: potentially uninitialized local variable 'oldy' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3836): warning C4701: potentially uninitialized local variable 'ry' used
1>e:\progs\simutransclean\trunk\freight_list_sorter.cc(69): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\freight_list_sorter.cc(70): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\gui\components\gui_textinput.cc(492): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_scrollpane.cc(141): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\boden\grund.cc(667): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(667): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(732): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(732): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(794): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(794): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\simplan.cc(430): warning C4701: potentially uninitialized local variable 'p_cr' used
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(932): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(941): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\hashtable_tpl.h(370): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simcity.cc(282): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\settings_stats.cc(494): warning C4701: potentially uninitialized local variable 'n' used
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(853): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\boden\grund.cc(1434): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\karte.cc(194): warning C4701: potentially uninitialized local variable 'old_offset' used
1>e:\progs\simutransclean\trunk\gui\karte.cc(194): warning C4701: potentially uninitialized local variable 'first_offset' used
1>e:\progs\simutransclean\trunk\bauer\wegbauer.cc(1431): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simwerkz.cc(3261): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simwerkz.cc(4159): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\vehicle\simvehikel.cc(2526): warning C4701: potentially uninitialized local variable 'next_next_signal' used
1>e:\progs\simutransclean\trunk\player\ai.cc(173): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simmain.cc(781): warning C4702: unreachable code
1>  Finished generating code
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1>  Generating code
1>e:\progs\simutransclean\trunk\simsys.cc(636): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(93): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(93): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(42): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(54): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\clipboard_w32.cc(54): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(315): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(317): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_numberinput.cc(322): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\grund_besch.cc(633): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\dataobj\dingliste.cc(1185): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\dataobj\dingliste.cc(413): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simworld.cc(4119): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simgraph16.cc(3843): warning C4701: potentially uninitialized local variable 'oldx' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3835): warning C4701: potentially uninitialized local variable 'rx' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3843): warning C4701: potentially uninitialized local variable 'oldy' used
1>e:\progs\simutransclean\trunk\simgraph16.cc(3836): warning C4701: potentially uninitialized local variable 'ry' used
1>e:\progs\simutransclean\trunk\freight_list_sorter.cc(69): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\freight_list_sorter.cc(70): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\gui\components\gui_textinput.cc(492): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\components\gui_scrollpane.cc(141): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\boden\grund.cc(667): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(667): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(732): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(732): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(794): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\boden\grund.cc(794): warning C4706: assignment within conditional expression
1>e:\progs\simutransclean\trunk\simplan.cc(430): warning C4701: potentially uninitialized local variable 'p_cr' used
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(932): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(941): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\hashtable_tpl.h(370): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\besch\spezial_obj_tpl.h(53): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\quickstone_tpl.h(68): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\tpl\weighted_vector_tpl.h(150): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simcity.cc(282): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\settings_stats.cc(494): warning C4701: potentially uninitialized local variable 'n' used
1>e:\progs\simutransclean\trunk\dataobj\loadsave.cc(853): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\boden\grund.cc(1434): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\gui\karte.cc(194): warning C4701: potentially uninitialized local variable 'old_offset' used
1>e:\progs\simutransclean\trunk\gui\karte.cc(194): warning C4701: potentially uninitialized local variable 'first_offset' used
1>e:\progs\simutransclean\trunk\bauer\wegbauer.cc(1431): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simwerkz.cc(3261): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simwerkz.cc(4159): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\vehicle\simvehikel.cc(2526): warning C4701: potentially uninitialized local variable 'next_next_signal' used
1>e:\progs\simutransclean\trunk\player\ai.cc(173): warning C4702: unreachable code
1>e:\progs\simutransclean\trunk\simmain.cc(781): warning C4702: unreachable code
1>  Finished generating code
1>  Simutrans_VS10.vcxproj -> E:\Progs\SimutransClean\trunk\Debug\simutrans-trunk.exe
1>FinalizeBuildStatus:
1>  Deleting file "Debug\Simutrans_VS10.unsuccessfulbuild".
1>  Touching "Debug\Simutrans_VS10.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:17.57
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

prissi

At least for gui_numberinput_t::infowin_event this is true. Still it did what was intended ... investigating.

eipi

As for dr_download_pakset (simsys.cc), it will be sufficient to invoke the preprocessor to truncate the rest of the method, like this:

#else
(void) path_to_program;
(void) portable;
return false;
#endif

This way the size of the program is decreased also in Win32 sinc there the code will never be executed.