<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 20, 2016 at 1:18 PM, Dimitry Andric via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 20 Jan 2016, at 18:23, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
><br>
> On Wed, Jan 20, 2016 at 5:25 AM, Dimitry Andric <<a href="mailto:dimitry@andric.com">dimitry@andric.com</a>> wrote:<br>
>> Unfortunately I'm having lots of trouble with rc1 at this point:<br>
>> * libcxxabi can't build, because it requires unwind.h, which we do not yet have on FreeBSD 10.x (Ed Maste is working on it for 11.x, but that is not ready for general consumption).<br>
>> * The test-release.sh script has no option to disable only libcxxabi, you can only disable libcxx, libcxxabi and libunwind together (maybe this can be improved)<br>
><br>
> Yes, I'd be happy to take a patch for this, or I suppose you could<br>
> just hack it out locally when building.<br>
<br>
</span>It's not terribly important right now, as libcxx isn't succeeding its tests anyway.  I can locally hack it in, but I hope I won't forget it later. :)<br>
<span class=""><br>
<br>
>> * Last time I hand-built libcxx, it still had a lot of test failures in the locale parts, but I haven't had time to investigate.<br>
><br>
> Did we have that for 3.7 too?<br>
<br>
</span>With 3.7, we used autoconf builds for FreeBSD, and that skipped libcxx altogether.  I did a few builds by hand, and I remember I saw similar failures.  This is just something that nobody (from FreeBSD) has seriously looked at, and I never had the time for it.  There are only so much hours in a day...<br>
<br>
For example, recently with trunk r256945, I saw these:<br>
<br>
Failing Tests (39):<br>
    libc++ :: std/depr/depr.c.headers/stddef_h.pass.cpp<br>
    libc++ :: std/depr/depr.c.headers/wchar_h.pass.cpp<br>
    libc++ :: std/language.support/support.types/max_align_t.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp<br>
    libc++ :: std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp<br>
    libc++ :: std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp<br>
    libc++ :: std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.match/basic.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.match/ecma.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.match/extended.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.search/awk.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.search/basic.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.search/ecma.pass.cpp<br>
    libc++ :: std/re/re.alg/re.alg.search/extended.pass.cpp<br>
    libc++ :: std/re/re.traits/lookup_collatename.pass.cpp<br>
    libc++ :: std/re/re.traits/transform_primary.pass.cpp<br>
    libc++ :: std/re/re.traits/translate_nocase.pass.cpp<br>
    libc++ :: std/strings/string.conversions/stof.pass.cpp<br>
    libc++ :: std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp<br>
<br>
Individual failures were typically of the form:<br>
<br>
FAIL: libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp (27654 of 30312)<br>
******************** TEST 'libc++ :: std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp' FAILED ********************<br>
Compiled With: ['/usr/bin/clang++', '-o', '/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/projects/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/Output/thousands_sep.pass.cpp.o', '-x', 'c++', '/share/dim/<br>
src/llvm/trunk/projects/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp', '-c', '-v', '-std=c++1z', '-nostdinc++', '-I/share/dim/src/llvm/trunk/projects/libcxx/test/support', '-include', '/share/<br>
dim/src/llvm/trunk/projects/libcxx/test/support/nasty_macros.hpp', '-I/share/dim/src/llvm/trunk/projects/libcxx/include', '&&', '/usr/bin/clang++', '-o', '/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/projects/libcxx/test/std/localization/locale.c<br>
ategories/category.monetary/locale.moneypunct.byname/Output/thousands_sep.pass.cpp.exe', '/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/projects/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/Output/thous<br>
ands_sep.pass.cpp.o', '-v', '-nodefaultlibs', '-L/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/lib', '-Wl,-rpath,/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/lib', '-lc++', '-lc', '-lm', '-lpthread', '-lgcc_s', '-lcxxrt']<br>
Command: ['/home/dim/obj/llvm-256945-trunk-freebsd11-i386-ninja-rel-1/projects/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/Output/thousands_sep.pass.cpp.exe']<br>
Exit Code: -6<br>
Standard Error:<br>
--<br>
Assertion failed: (f.thousands_sep() == ' '), function main, file /share/dim/src/llvm/trunk/projects/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp, line 103.<br>
--<br>
<br>
So there is probably quite some work to be done to get them all sorted out.  (And localization stuff tends to be a tricky area, in my experience.)<br>
<span class=""><br></span></blockquote><div><br></div><div>I would like to take a look at the errors, can you send me the full output? Unfortunatly I no longer have a FreeBSD machine to test on, but I think it's important libc++ gets/keeps the test suite clean on FreeBSD.</div><div><br></div><div><br></div><div>/Eric</div></div></div></div>