[cfe-commits] [libcxx] r159852 - /libcxx/trunk/www/results.Windows.html
Howard Hinnant
hhinnant at apple.com
Fri Jul 6 12:35:31 PDT 2012
Author: hhinnant
Date: Fri Jul 6 14:35:31 2012
New Revision: 159852
URL: http://llvm.org/viewvc/llvm-project?rev=159852&view=rev
Log:
New Windows libc++ test results provided by Ruben Van Boxem.
Modified:
libcxx/trunk/www/results.Windows.html
Modified: libcxx/trunk/www/results.Windows.html
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/results.Windows.html?rev=159852&r1=159851&r2=159852&view=diff
==============================================================================
--- libcxx/trunk/www/results.Windows.html (original)
+++ libcxx/trunk/www/results.Windows.html Fri Jul 6 14:35:31 2012
@@ -7,52 +7,41 @@
<pre>
All failures in the libc++ test suite will be documented here.
-Last run was with Clang (pre-3.0) and GCC 4.6.2 (prerelease) and
- mingw-w64 on x86_64-w64-mingw32.
+Last run was with Clang (pre-3.1) and GCC 4.6.3 (with dw2 exception handling) and
+ mingw-w64 v2.0.3 on i686-w64-mingw32.
-The commands to build and test were (-nodefaultlibs does not work, lots of MinGW related stuff gets left resulting in linker failures):
-TRIPLE=x86_64-w64-mingw32 ./buildit
-TRIPLE=x86_64-w64-mingw32 HEADER_INCLUDE="-I/home/Ruben/libc++/include" LIBS="-L/home/ruben/libc++/lib -lc++ -lsupc++ -lmsvcr100 -Wl,--allow-multiple-definition" PATH=/home/Ruben/libc++/lib:$PATH ./testit > test.log 2>&1
+The following line was added to ./lib/buildit to make a static libc++ library because a DLL requires "declspec(dllexport)" or a .def file:
+ar rcs libc++.a *.o
+I also deleted libc++.dll and libc++.dll.a to make sure libc++ was linked statically to prevent unrelated issues from contaminating the test results.
+The commands to build and test were (-nodefaultlibs does not work, lots of MinGW related stuff gets left out resulting in linker failures):
+TRIPLE=i686-w64-mingw32 ./buildit
+TRIPLE=i686-w64-mingw32 HEADER_INCLUDE="-I/home/Ruben/libcxx/include" LIBS="-L/home/ruben/libcxx/lib -lc++ -lpthread -lsupc++ -lmsvcr100 -Wl,--allow-multiple-definition" ./testit > test.log 2>&1
-Note: Exception catching seems broken in Clang, so any test catching
- exceptions is currently broken. Result will be compared to GCC's result.
- Failing tests only on GCC will be ignored: Clang is the standard in this
- part of the world, and GCC fails on many C++11 constructs in libc++.
Note: Some locale tests may "Need investigating", but I think most problems are
- caused by wrong/unportable locale naming in the tests.
-Note: Thread test results are very different from the last run: failures now
- pass and passes now fail. These results are not to be trusted.
+ caused by wrong/unportable locale naming in the tests.
+Note: Some tests failed to link because "test.exe" was still running when ld.exe
+ tried to link the next test. I left these failures out of the list; they
+ account for about 10-30 failures, and are counted in the total scores below.
+ I reran some of these failures manually and they passed.
+Note: Some tests fail at runtime but pass when run manually. Usage of std::cout
+ segfaults so further investigation is difficult. These also contribute to
+ the failures total, but are left out of the failure list, as the cause is
+ probably not located in that part of libc++, not locatable due to the lack
+ of usable debug info generated by Clang at this time.
+
+TOTAL RESULTS:
+Section failures / total sections: 104 / 1064 = 9.8% failures
+Test failures / total number of tests: 292 / 4326 = 6.7% failures
-atomics/*: unimplemented.
-containers/
- associative/
- map/
- map.access/
- at.pass.cpp: exception uncaught with Clang, passes for GCC.
- sequences/
- list/
- list.modifiers/
- insert_iter_iter_iter.pass.cpp: exception uncaught with Clang, passes for GCC.
- insert_iter_size_value.pass.cpp: exception uncaught with Clang, passes for GCC.
- insert_iter_value.pass.cpp: exception uncaught with Clang, passes for GCC.
- vector/
- vector.capacity/
- shrink_to_fit.pass.cpp: exception uncaught with Clang, passes for GCC.
- unord/
- unord.map/
- unord.map.elem/
- at.pass.cpp: exception uncaught with Clang, passes for GCC.
depr/
depr.c.headers/
- inttypes_h.pass.cpp: mingw-w64 does not define these for C++. Patch sent.
- math_h.pass.cpp: Needs investigation.
- stdint_h.pass.cpp: mingw-w64 does not define these for C++. Patch sent.
- uchar_h.pass.cpp: mingw-w64 does not have this header. Patch sent.
+ inttypes_h.pass.cpp: missing macros for C++.
+ uchar_h.pass.cpp: bug in mingw-w64 headers for C++11 builtin char types.
wchar_h.pass.cpp: Windows does not have swprintf, should use _snwprintf.
Suggest #define swprintf as _snwprintf for _WIN32.
- exception.unexpected/
+exception.unexpected/
set.unexpected/
- get_unexpected.pass.cpp: Needs investigation.
+ get_unexpected.pass.cpp: Segmentation fault - needs investigation.
set_unexpected.pass.cpp: idem.
diagnostics/
syserr/
@@ -62,55 +51,56 @@
input.output/
file.streams/
c.files/
- cinttypes.pass.cpp: Same as above. Patch submitted to mingw-w64.
+ cinttypes.pass.cpp: missing macros for C++.
fstreams/
filebuf.assign/
- member_swap.pass.cpp: Needs investigation.
+ member_swap.pass.cpp: Segmentation fault - needs investigation.
move_assign.pass.cpp: idem.
nonmember_swap.pass.cpp: idem.
filebuf.cons/
- move.pass.cpp: Needs investigation.
+ move.pass.cpp: idem.
filebuf.members/
- open_pointers.pass.cpp: Needs investigation.
+ open_pointers.pass.cpp: idem.
filebuf.virtuals/
- overflow.pass.cpp: Needs investigation.
+ overflow.pass.cpp: idem.
+ pbackfail.pass.cpp: idem.
seekoff.pass.cpp: idem.
underflow.pass.cpp: idem.
fstream.assign/
- member_swap.pass.cpp: Needs investigation.
+ member_swap.pass.cpp: idem.
move_assign.pass.cpp: idem.
nonmember_swap.pass.cpp: idem.
fstream.cons/
- move.pass.cpp: Needs investigation.
+ move.pass.cpp: idem.
pointer.pass.cpp: idem.
string.pass.cpp: idem.
fstream.members/
- open_pointer.pass.cpp: Needs investigation.
+ open_pointer.pass.cpp: idem.
open_string.pass.cpp: idem.
ifstream.assign/
- member_swap.pass.cpp: Needs investigation.
+ member_swap.pass.cpp: idem.
move_assign.pass.cpp: idem.
nonmember_swap.pass.cpp: idem.
ifstream.cons/
- move.pass.cpp: Needs investigation.
+ move.pass.cpp: idem.
pointer.pass.cpp: idem.
string.pass.cpp: idem.
ifstream.members/
- open_pointer.pass.cpp: Needs investigation.
+ open_pointer.pass.cpp: idem.
open_string.pass.cpp: idem.
- rdbuf.pass.cpp: idem.
+ rdbuf.pass.cpp: idem.
ofstream.assign/
- member_swap.pass.cpp: Needs investigation.
+ member_swap.pass.cpp: idem.
move_assign.pass.cpp: idem.
nonmember_swap.pass.cpp: idem.
ofstream.cons/
- move.pass.cpp: Needs investigation.
+ move.pass.cpp: idem.
pointer.pass.cpp: idem.
string.pass.cpp: idem.
ofstream.members/
- open_pointer.pass.cpp: Needs investigation.
+ open_pointer.pass.cpp: idem.
open_string.pass.cpp: idem.
- rdbuf.pass.cpp: idem.
+ rdbuf.pass.cpp: idem.
iostream.format/
ext.manip
get_money.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -120,16 +110,16 @@
output.streams/
ostream.formatted/
ostream.inserters.arithmetic/
- long_double.pass.cpp: Needs investigation.
+ long_double.pass.cpp: Segfault - needs investigation.
pointer.pass.cpp: idem.
ostream_sentry/
- destruct.pass.cpp: exception uncaught with Clang, passes for GCC.
+ destruct.pass.cpp: idem.
iostream.objects/
narrow.stream.objects/
- cerr.pass.cpp: Needs investigation.
+ cerr.pass.cpp: idem.
cin.pass.cpp: idem.
wide.stream.objects/
- wcerr.pass.cpp: Needs investigation.
+ wcerr.pass.cpp: idem.
wcin.pass.cpp: idem.
iostreams.base/
ios/
@@ -137,49 +127,25 @@
copyfmt.pass.cpp: Windows locale names don't follow UNIX convention.
imbue.pass.cpp: idem.
move.pass.cpp: idem.
- set_rdbuf.pass.cpp: Passes for GCC.
swap.pass.cpp: Windows locale names don't follow UNIX convention.
- iostate.flags/
- clear.pass.cpp: exception uncaught with Clang, passes for GCC.
- exceptions_iostate.pass.cpp:idem.
- setstate.pass.cpp: idem.
ios.base/
ios.base.callback/
register_callback.pass.cpp: Windows locale names don't follow UNIX convention.
ios.base.locales/
imbue.pass.cpp: Windows locale names don't follow UNIX convention.
- ios.base/storage/
- pword.pass.cpp: GCC on Windows x64 warns about pointer to int cast
- (lines:columns 37:29, 38:9, 40:13)
stream.buffers/
streambuf/
streambuf.cons/
copy.pass.cpp: Windows locale names don't follow UNIX convention.
default.pass.cpp: idem.
streambuf.members/
- streambuf.locales/
+ streambuf.buffer/
locales.pass.cpp: Windows locale names don't follow UNIX convention.
streambuf.protected/
streambuf.assign/
- assign.pass.cpp: Windows locale names don't follow UNIX convention.
+ assign.pass.cpp: Windows locale names don't follow UNIX convention.
swap.pass.cpp: idem.
-iterators/
- predef.iterators/
- insert.iterators/
- insert.iterator/
- types.pass.cpp: Clang warns about equality comparison result unused.
- (line:column 41:20)
language.support/
- cstdint/
- cstdint.pass.cpp: see above.
- support.dynamic/
- new.delete/
- new.delete.array/
- new_array.pass.cpp: exception uncaught with Clang, passes for GCC.
- new_array_nothrow_replace.pass.cpp: Needs investigation.
- new.delete.single/
- new.pass.cpp: exception uncaught with Clang, passes for GCC.
- new_nothrow_replace.pass.cpp: Needs investigation.
support.exception/
except.nested/
assign.pass.cpp: Needs investigation.
@@ -198,13 +164,13 @@
support.limits/
limits/
numeric.limits.members/
- digits.pass.cpp: Needs investigation.
+ digits.pass.cpp: Needs investigation (wrong assumptions?).
digits10.pass.cpp: idem.
- quiet_NaN.pass.cpp: exception uncaught with Clang, passes for GCC.
- signaling_NaN.pass.cpp: idem.
support.runtime/
support.start.term/
quick_exit.pass.cpp: Not declared in libc++ headers. Is it from the ABI lib?
+ support.types/
+ max_align_t.pass.cpp: needs investigation (wrong assumptions?).
localization/
locale.categories/
category.collate/
@@ -303,7 +269,7 @@
locale.numpunct.byname/
decimal_point.pass.cpp: Failed constructing from C locale. Needs investigation.
grouping.pass.cpp: idem.
- thousands_sep.pass.cpp: failed at runtime with Clang, passed with GCC.
+ thousands_sep.pass.cpp: idem.
locale.stdcvt/
codecvt_utf16_in.pass.cpp: 0x40003 does not fit in a 2-byte wchar_t.
codecvt_utf16_out.pass.cpp: idem.
@@ -324,7 +290,6 @@
locale_string_cat.pass.cpp: idem.
string.pass.cpp: idem.
locale.members/
- combine.pass.cpp: "locale missing facet" with Clang. GCC passes.
name.pass.cpp: Windows locale names don't follow UNIX convention.
locale.operators/
eq.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -341,43 +306,13 @@
underflow.pass.cpp: idem.
conversions.string/
converted.pass.cpp: out of range hex sequence due to 2-byte wchar_t.
- ctor_err_string.pass.cpp: Passed for GCC, not for Clang...
- from_bytes.pass.cpp: idem. This test passed while it probably shouldn't!!
+ from_bytes.pass.cpp: idem (This test passed while it probably shouldn't!).
to_bytes.pass.cpp: idem.
numerics/
- c.math/
- cmath.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
complex.number/
- ccmplx/
- arg.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- pow.pass.cpp: idem
- complex.member.ops/
- divide_equal_complex.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- complex.ops/
- complex_divide_complex.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- scalar_divide_complex.pass.cpp: idem.
- complex.transcendentals/
- acos.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
- acosh.pass.cpp: idem.
- asin.pass.cpp: idem.
- asinh.pass.cpp: idem.
- atan.pass.cpp: idem.
- atanh.pass.cpp: idem.
- exp.pass.cpp: idem.
- log.pass.cpp: idem.
- log10.pass.cpp: idem.
- pow_complex_complex.pass.cpp: idem.
- pow_complex_scalar.pass.cpp: idem.
- pow_scalar_complex.pass.cpp: idem.
- sin.pass.cpp: idem.
- sinh.pass.cpp: idem.
- sqrt.pass.cpp: idem.
- tan.pass.cpp: idem.
- tanh.pass.cpp: idem.
complex.value.ops/
- abs.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
+ abs.pass.cpp: Failed assertion.
arg.pass.cpp: idem.
- polar.pass.cpp: idem.
rand/
rand.device/
ctor.pass.cpp: No such thing as /dev/urandom on Windows. Need alternative.
@@ -394,17 +329,17 @@
rand.dist.bern.negbin/
io.pass.cpp: Needs investigation. (different output double format?)
rand.dist.norm/
- rand.dist.norm.cauchy/
+ rand.dist.norm.cauchy/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.norm.chisq/
+ rand.dist.norm.chisq/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.norm.norm.f/
+ rand.dist.norm.norm.f/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.norm.lognormal/
+ rand.dist.norm.lognormal/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.norm.normal/
+ rand.dist.norm.normal/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.norm.t/
+ rand.dist.norm.t/
io.pass.cpp: Needs investigation. (different output double format?)
rand.dist.pois/
rand.dist.pois.exp/
@@ -419,7 +354,6 @@
io.pass.cpp: Needs investigation. (different output double format?)
rand.dist.samp/
rand.dist.samp.discrete/
- ctor_default.pass.cpp: passes with Clang, fails on GCC.
io.pass.cpp: Needs investigation. (different output double format?)
rand.dist.samp.pconst/
io.pass.cpp: Needs investigation. (different output double format?)
@@ -454,44 +388,6 @@
transform_primary.pass.cpp: idem
translate_nocase.pass.cpp: Needs investigation.
strings/
- basic.string/
- string.access/
- at.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string.capacity/
- reserve.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- resize_size.pass.cpp: idem.
- resize_size_char.pass.cpp: idem.
- string.cons/
- substr.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string.modifiers/
- string_append/
- string_size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string_assign/
- string_size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string_copy/
- copy.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string_erase/
- size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- string_insert/
- size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- size_pointer_size.pass.cpp: idem.
- size_size_char.pass.cpp: idem.
- size_string.pass.cpp: idem.
- size_string_size_size.pass.cpp: idem.
- string_replace/
- size_size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- size_size_pointer_size.pass.cpp: idem.
- size_size_size_char.pass.cpp: idem.
- size_size_string.pass.cpp: idem.
- size_size_string_size_size.pass.cpp: idem.
- string.ops/
- string_compare/
- size_size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- size_size_pointer_size.pass.cpp: idem.
- size_size_string.pass.cpp: idem.
- size_size_string_size_size.pass.cpp: idem.
- string_substr/
- substr.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
c.strings/
cuchar.pass.cpp: see previous note about uchar.h.
cwchar.pass.cpp: I suggest including the win32 support header which defines
@@ -500,33 +396,21 @@
string.conversions/
stod.pass.cpp: "no conversion". Needs investigation.
stof.pass.cpp: idem.
- stoi.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- stol.pass.cpp: idem.
- stold.pass.cpp: Needs investigation.
- stoll.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- stoul.pass.cpp: idem.
- stoull.pass.cpp: idem.
to_string.pass.cpp: Needs investigation.
to_wstring.pass.cpp: idem.
thread/
futures/
futures.async/
async.pass.cpp: Needs investigation.
- futures.errors/
- default_error_condition.pass.cpp: passes with Clang, fails with GCC.
- equivalent_int_error_condition.pass.cpp: idem.
- futures.future_error/
- code.pass.cpp: passes with Clang, fails with GCC.
- what.pass.cpp: idem.
futures.promise/
alloc_ctor.pass.cpp: Needs investigation.
default.pass.cpp: idem.
dtor.pass.cpp: idem.
get_future.pass.cpp: idem.
move_assign.pass.cpp: idem.
- move_ctor.pass.cpp: idem. (uncaught exception?)
- set_exception.pass.cpp: idem. (uncaught exception?)
- set_exception_at_thread_exit.pass.cpp: idem. (uncaught exception?)
+ move_ctor.pass.cpp: idem.
+ set_exception.pass.cpp: idem.
+ set_exception_at_thread_exit.pass.cpp: idem.
set_lvalue.pass.cpp: idem.
set_lvalue_at_thread_exit.pass.cpp: idem.
set_rvalue.pass.cpp: idem.
@@ -572,99 +456,32 @@
wait_until.pass.cpp: idem.
thread.condition/
thread.condition.condvar/
- wait_for.pass.cpp: Needs investigation. (winpthreads problem?)
- wait_for_pred.pass.cpp: idem.
- wait_until.pass.cpp: idem.
- wait_until_pred.pass.cpp: idem.
+ wait_for.pass.cpp: Needs investigation.
thread.condition.condvarany/
- wait_for.pass.cpp: Needs investigation. (winpthreads problem?)
- wait_for_pred.pass.cpp: idem.
- wait_until.pass.cpp: idem.
- wait_until_pred.pass.cpp: idem.
+ wait_for.pass.cpp: Needs investigation.
thread.mutex/
thread.lock/
- thread.lock.guard/
- adopt_lock.pass.cpp: passes with Clang, fails with GCC.
- mutex.pass.cpp: idem.
thread.lock.unique/
- thread.unique.cons/
- mutex_duration.pass.cpp: Needs investigation. (winpthreads problem?)
- mutex_time_point.pass.cpp: Test passed, but Assertion failed in
- ../src/mutex.cpp, Line 45
- mutex_try_to_lock.pass.cpp: Needs investigation. (winpthreads problem?)
- thread.lock.unique/
- thread.lock.unique.locking/
- lock.pass.cpp: Needs investigation.
- try_lock.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
- try_lock_for.pass.cpp: idem.
- try_lock.until.pass.cpp: idem.
- unlock.pass.cpp: idem.
- thread.lock.algorithm/
- lock.pass.cpp: exception uncaught with Clang, passes for GCC.
- try_lock.pass.cpp: idem.
- thread.mutex.requirements/
- thread.timedmutes.requirements/
- thread.timedmmutex.class/
- try_lock_for.pass.cpp: exception uncaught with Clang, passes for GCC.
- try_lock_until.pass.cpp: Needs investigation. (winpthreads problem?)
- thread.once/
- thread.once.callonce/
- call_once: Needs investigation. (uncaught exception?)
+ thread.lock.unique.cons/
+ mutex_try_to_lock.pass.cpp: Needs investigation.
thread.threads/
thread.thread.class/
thread.thread.constr/
- F.pass.cpp: Needs investigation.
+ move.pass.cpp: Needs investigation.
+ thread.thread.id/
+ join.pass.cpp: Needs investigation.
thread.thread.static/
- hardware_concurrency.pass.cpp: Needs investigation. (winpthreads problem?)
- thread.thread.this/
- sleep_until.pass.cpp: Needs investigation.
+ hardware_concurrency.pass.cpp: Needs investigation.
utilities/
- memory/
- specialized.algorithms/
- unitialized.copy/
- uninitialized.copy.pass.cpp: exception uncaught with Clang, passes for GCC.
- uninitialized.copy_n.pass.cpp: idem.
- uninitialized.fill/
- uninitialized_fill.pass.cpp: exception uncaught with Clang, passes for GCC.
- uninitialized.fill.n/
- uninitialized_fill_n.pass.cpp: exception uncaught with Clang, passes for GCC.
- util.smartptr/
- util.smartptr.shared/
- util.smartptr.shared.const/
- auto_ptr.pass.cpp: exception uncaught with Clang, passes for GCC.
- nullptr_t_deleter_allocator_throw.pass.cpp: idem.
- nullptr_t_deleter_throw.pass.cpp: idem.
- pointer_deleter_allocator_throw.pass.cpp: idem.
- pointer_deleter_throw.pass.cpp: idem.
- pointer_throw.pass.cpp: idem.
- unique_ptr.pass.cpp: idem.
- weak_ptr.pass.cpp: idem.
meta/
- meta.rel/
- is_convertible.pass.cpp: passed with Clang, failed with GCC.
meta.trans/
meta.trans.other/
aligned_storage.pass.cpp: Probably due to sizeof(long) != 8.
meta.trans.sign/
make_signed.pass.cpp: Probably due to sizeof(wchar_t) != 4.
make_unsigned.pass.cpp: idem.
- meta.unary/
- meta.unary.prop/
- is_trivially_assignable.pass.cpp: Needs investigation.
- is_trivially_copy_constructable.pass.cpp: idem.
- is_trivially_move_constructible.pass.cpp: idem.
meta.unary.prop.query/
alignment_of.pass.cpp: Probably a Clang problem on Windows.
- template.bitset/
- template.bitset.cons/
- char_ptr_ctor.pass.cpp: exception uncaught with Clang, passes for GCC.
- string_ctor.pass.cpp: idem.
- template.bitset.members/
- flip_one.pass.cpp: exception uncaught with Clang, passes for GCC.
- reset_one.pass.cpp: idem.
- set_one.pass.cpp: idem.
- test.pass.cpp: idem.
- to_ulong.pass.cpp: Assert fails with Clang, passes with GCC
</pre>
</body>
</html>
More information about the cfe-commits
mailing list