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

Reply via email to