
Hi Jody,
/home/jody/boost_1_32_0/libs/program_options/src/cmdline.cpp: In member function `void boost::program_options::detail::cmdline::clear_error()': /home/jody/boost_1_32_0/libs/program_options/src/cmdline.cpp:732: warning: ` boost::program_options::invalid_command_line_syntax::kind_t re' might be used uninitialized in this function
In this case, the enumeration "re" of type kind_t is not initialized, and will hold "any" value. The switch does not set the value in the default section, and then an exception is thrown with the uninitialized "re" variable.
The problem is that gcc is too smart. Switch does not handle a single enumerator --- 'ed_success', very reasonable. It's handled before the switch. Even if I add 'ed_success' case, it still report the warning. So, I've worked this around by adding 'return' in default case. The change is committed. Thanks for the report, Volodya