https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78861
Bug ID: 78861 Summary: sequencer.cpp:603:53: error: cannot convert 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' to 'bool' in assignment Product: gcc Version: 6.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: martin.gansser at gmail dot com Target Milestone: --- Hi, i tried to compile a programm with gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2), but this fails with this error message: cd /home/martin/rpmbuild/BUILD/plee-the-bear-0.7.0-light/plee-the-bear/lib/src/ptb && /usr/bin/c++ -DNDEBUG -DPTB_TEXT_DOMAIN_PATH=/usr/share/locale -Dplee_the_bear_EXPORTS -I/usr/include/SDL -I/usr/include/bear/bear-engine/core/src -I/usr/include/bear/bear-engine/lib/src -I/home/martin/rpmbuild/BUILD/plee-the-bear-0.7.0-light/plee-the-bear/lib/src/ptb/.. -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DNDEBUG -fPIC -Wall -std=c++11 -pedantic -Wmissing-field-initializers -Wuninitialized -o CMakeFiles/plee_the_bear.dir/item/mini-game/code/sequencer_control.cpp.o -c /home/martin/rpmbuild/BUILD/plee-the-bear-0.7.0-light/plee-the-bear/lib/src/ptb/item/mini-game/code/sequencer_control.cpp /home/martin/rpmbuild/BUILD/plee-the-bear-0.7.0-light/plee-the-bear/lib/src/ptb/item/mini-game/code/sequencer.cpp: In member function 'bool ptb::sequencer::load_track_file(const string&)': /home/martin/rpmbuild/BUILD/plee-the-bear-0.7.0-light/plee-the-bear/lib/src/ptb/item/mini-game/code/sequencer.cpp:603:53: error: cannot convert 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' to 'bool' in assignment result = ( iss >> t.duration >> t.width ); In the relevant source file: bool ptb::sequencer::load_track_file( const std::string& file_name ) { std::stringstream f; bear::engine::resource_pool::get_instance().get_file(file_name, f); std::string line; track t; bool result(false); bear::universe::time_type prev_date(0); std::size_t n(0); while ( !result && std::getline(f, line) ) { claw::text::trim(line); if ( !line.empty() ) if ( line[0] != '#' ) { std::istringstream iss(line); result = ( iss >> t.duration >> t.width ); } ++n; }