On Sat, 3 Feb 2018, Stephen M. Webb wrote: > On 2018-02-03 04:52 AM, Robert P. J. Day wrote: > > > > currently rewriting my C++ courses from some time back, and wanted > > to demonstrate a simply narrowing error; to wit: > > > > int > > main() > > { > > bool b1 {true}; > > bool b2 {false}; > > bool b3 {7}; // narrowing error? > > > > int i {42}; > > int j {42.1}; // narrowing error? > > } > > > > oddly, if i use "clang -std=c++11 narrow.cpp", both of those > > narrowing conversions are flagged, but if i use "g++ -std=c++11 > > narrow.cpp", only the second is flagged -- g++ seems fine with > > narrowing an int to a bool, even though stroustrup's book on C++11 > > clearly suggests that should be an error as long as one uses C++ style > > curly brace initialization: > > > > bool b1 = 7; // 7!=0, so b becomes true > > bool b2 {7}; // error : narrowing (§2.2.2, §10.5) > > > > any C++ wizards out there want to comment on this? > > It's a known bug. I'd link you to the bugzilla report but gnu.org > always gives a 403 if you try to connect from any IP address in an > Xplornet block.. wait ... that type of initialization was introduced with C++11, and that bug is *still* *there*? that's pathetic. rday