[cfe-dev] libc++ and const expr.

Matt Johnson johnso87 at illinois.edu
Wed Feb 8 15:03:45 PST 2012


I had this problem (static_assert in include/ratio) with Clang HEAD a few days ago, but it has since been resolved (r150103).  libc++ HEAD builds cleanly for me on Linux.
-Matt
> On 5 Feb 2012, at 14:07, Christopher Jefferson wrote:
>
>> On 4 Feb 2012, at 17:08, Richard Pennington wrote:
>>
>> >/  On Saturday, February 04, 2012 04:25:07 AM Jean-Daniel Dupas wrote:
>> />>/  Hi,
>> />>/
>> />>/  Am I the only one having trouble compiling libc++ with clang TOT.
>> />>/  For sometime now, clang refuse to compile (and use it) because of the
>> />>/  following issue:
>> />>/
>> />>/  ../include/ratio:193:19: error: static_assert expression is not an integral
>> />>/  ../include/ratio:189:27: note: declared here
>> />>/     static const intmax_t max = -min;
>> />>/
>> />>/  -- Jean-Daniel
>> />/
>> />/  I got the same thing.
>> /
>> A number of things seem to have broken all at once. Commenting out that static_assert leads to a bug in src/locale.cpp about switching on '-1' on a switch on size_t in two places. Fixing that bug (by replacing -1 and -2 with (size_t)-1 and (size_t)-2, which is hopefully right.
>>
>> Fixing that leads to lining producing:
>>
>> ld: bad codegen, pointer diff in __ZSt17__throw_bad_allocv to global weak symbol __ZTISt9bad_alloc for architecture i386
>>
>> Rather than try to debug this myself, I'm tempted to leave it to more experienced people.
>>
>> One problem that this has shown me is that the recommended way of building libcxx (symlinking the svn directories into /usr/include and /usr/lib) means that if you svn update the library and it won't build, you are left with a totally non-functional library.
>>
>> Chris

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120208/0f00861c/attachment.html>


More information about the cfe-dev mailing list