Confirming a bug in clang++ (freeBSD
swell.k at gmail.com
Thu Jul 1 19:43:41 UTC 2010
Eitan Adler <lists at eitanadler.com> writes:
>>>> I have clang++ (devel/llvm-devel) built by g++45 and linked against
>>>> gcc45/libstdc++.so.6. It compiles your test case fine. But I'm running
>>>> 9-current on amd64 so it may not be that useful.
>>>> IMO, gcc46 being a development branch is prone to miscompile and have bugs.
>>> I'm not that familiar with with mapping.
>>> Since g++46/* is built with g++46
>> It's more interesting which gcc version you used for compiling clang.
> I forgot. Most likely it was base gcc as I have an exemption in my
> /etc/make.conf for it.
Try to remove that conditional and rebuild with gcc46. If it doesn't
compile/work try again with gcc45.
>>> and my program is compiled by clang++ is it expected that they be
>>> compatible? If yes does that mean this is a bug in g++46 or clang++?
>> Either -lstdc++ from gcc46 is buggy or just clang++ doesn't like it.
>> It's better to use -lstdc++ from same version of gcc by which the
>> program using it was compiled.
> Is it possible to determine which one?
No. If there is an easy way I think strings(1) would show.
> Is this something that is my fault for playing around too much or did
> I expose a bug ?
It can be both. ;) I remember gcc45 segfaulting on me pretty often when
it was a devel branch.
More information about the freebsd-ports