Hi, On Sun, 2013-11-03 at 11:01 +0100, Tommi Mäkitalo wrote: > * remove explicit from cxxtools::Char::Char(int) > * do nothing but report the OS X people (or clang people) the bug
first you should not confuse clang with llvms libc++. Today, on the most plattforms clang uses gnu stdc++ by default and it works fine for cxxtools. If you want to report a bug, do it on libc++ not clang or OS X, but im not sure that it is a bug in libc++. The right fix should be the fix that matches the goal of llvm libc++ "Correctness as defined by the C++11 standard." while not braking existent C++98 implementations. If the libc++ behaviour is opposed to the goal, it should be fixed in libc++. http://libcxx.llvm.org/ I think the problem is, that int32_t ist not equal int. int32_t might be implemented as int but the standard doesn't guarantee that and you cannot implement an overload for int and int32_t on platforms where they are the same type. Having the constructor explicit for int32_t, can therefor not work for int on any platform that distinguish int and int32_t and thus should be dropped. > * make a configure check and make explicit where possible That will just shift the problem to an other level, you'll end up with cxxtools consumers that compile with gnu stdc++, but not with llvm. Regards, Julian ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ Tntnet-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tntnet-general
