[cfe-commits] [libcxx] r140950 - in /libcxx/trunk: test/testit www/results.Windows.html
Howard Hinnant
hhinnant at apple.com
Sat Oct 1 08:34:30 PDT 2011
Author: hhinnant
Date: Sat Oct 1 10:34:27 2011
New Revision: 140950
URL: http://llvm.org/viewvc/llvm-project?rev=140950&view=rev
Log:
Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem
Modified:
libcxx/trunk/test/testit
libcxx/trunk/www/results.Windows.html
Modified: libcxx/trunk/test/testit
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/testit?rev=140950&r1=140949&r2=140950&view=diff
==============================================================================
--- libcxx/trunk/test/testit (original)
+++ libcxx/trunk/test/testit Sat Oct 1 10:34:27 2011
@@ -18,6 +18,15 @@
OPTIONS="-std=c++0x -stdlib=libc++"
fi
+case $TRIPLE in
+ *-*-mingw* | *-*-cygwin* | *-*-win*)
+ TEST_EXE=test.exe
+ ;;
+ *)
+ TEST_EXE=a.out
+ ;;
+esac
+
FAIL=0
PASS=0
UNIMPLEMENTED=0
@@ -31,9 +40,9 @@
if (ls *.fail.cpp &> /dev/null)
then
for FILE in $(ls *.fail.cpp); do
- if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE &> /dev/null
+ if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE &> /dev/null
then
- rm ./a.out
+ rm ./$TEST_EXE
echo "$FILE should not compile"
let "fail+=1"
else
@@ -45,16 +54,16 @@
if (ls *.pass.cpp &> /dev/null)
then
for FILE in $(ls *.pass.cpp); do
- if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE
+ if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE
then
- if ./a.out
+ if ./$TEST_EXE
then
- rm ./a.out
+ rm ./$TEST_EXE
let "pass+=1"
else
echo "$FILE failed at run time"
let "fail+=1"
- rm ./a.out
+ rm ./$TEST_EXE
fi
else
echo "$FILE failed to compile"
Modified: libcxx/trunk/www/results.Windows.html
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/results.Windows.html?rev=140950&r1=140949&r2=140950&view=diff
==============================================================================
--- libcxx/trunk/www/results.Windows.html (original)
+++ libcxx/trunk/www/results.Windows.html Sat Oct 1 10:34:27 2011
@@ -10,17 +10,18 @@
Last run was with Clang (pre-3.0) and GCC 4.6.2 (prerelease) and
mingw-w64 on x86_64-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
+
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: GCC has issues always inlining vararg functions: __asprintf_l
- Some locale tests may "Need investigating", but I think most problems are
+Note: Some locale tests may "Need investigating", but I think most problems are
caused by wrong/unportable locale naming in the tests.
- Fixing the inlining will wait until <locale> refactoring is done,
- hopefully the refactoring alone will alleviate the problem.
-Note: Thread tests mostly (if not all) failed to compile with GCC. These may
- well all/mostly pass but fail due to Clang failing to catch exceptions.
+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.
atomics/*: unimplemented.
containers/
@@ -44,43 +45,20 @@
depr/
depr.c.headers/
inttypes_h.pass.cpp: mingw-w64 does not define these for C++. Patch sent.
- math_h.pass.cpp:
+ 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.
wchar_h.pass.cpp: Windows does not have swprintf, should use _snwprintf.
Suggest #define swprintf as _snwprintf for _WIN32.
- depr.str.strstreams/
- depr.istrstream/
- depr.istrstream.cons/
- ccp.pass.cpp: needs investigation.
- ccp_size.pass.cpp: idem.
- cp.pass.cpp: idem.
- cp_size.pass.cpp: idem.
- depr.ostrstream/
- depr.ostrstream.cons/
- cp_size_mode.pass.cpp: needs investigation.
- default.pass.cpp: idem.
- depr.ostrstream.members/
- pcount.pass.cpp: needs investigation.
- str.pass.cpp: idem.
- depr.strstream/
- depr.strstream.cons/
- cp_size_mode.pass.cpp: needs investigation.
- default.pass.cpp: idem.
- depr.strstream.oper/
- pcount.pass.cpp: needs investigation.
- str.pass.cpp: idem.
exception.unexpected/
set.unexpected/
get_unexpected.pass.cpp: Needs investigation.
+ set_unexpected.pass.cpp: idem.
diagnostics/
syserr/
syserr.errcat/
syserr.errcat.objects/
system_category.pass.cpp: Needs investigation.
- syserr.errcode/
- syserr.errcode.nonmembers/
- stream_inserter.pass.cpp: Needs investigation.
input.output/
file.streams/
c.files/
@@ -139,53 +117,11 @@
get_time.pass.cpp: idem.
put_money.pass.cpp: idem.
put_time.pass.cpp: idem.
- input.streams/
- istream/
- istream_sentry/
- ctor.pass.cpp: Needs investigation.
- istream.formatted/
- istream.formatted.arithmetic/
- bool.pass.cpp: Needs investigation.
- double.pass.cpp: idem.
- float.pass.cpp: idem.
- int.pass.cpp: idem.
- long.pass.cpp: idem.
- long_double.pass.cpp: idem.
- long_long.pass.cpp: idem.
- pointer.pass.cpp: idem.
- short.pass.cpp: idem.
- unsigned_int.pass.cpp: idem.
- unsigned_long.pass.cpp: idem.
- unsigned_long_long.pass.cpp: idem.
- unsigned_short.pass.cpp: idem.
- istream_extractors/
- chart.pass.cpp: Needs investigation.
- signed_char.pass.cpp: idem.
- signed_char_pointer.pass.cpp: idem.
- unsigned_char.pass.cpp: idem.
- unsigned_char_pointer.pass.cpp: idem.
- wchar_t_pointer.pass.cpp: idem.
- istream.manip/
- ws.pass.cpp: Investigation needed.
- istream.rvalue/
- rvalue.pass.cpp: Investigation needed.
- input.streams/
output.streams/
ostream.formatted/
ostream.inserters.arithmetic/
- bool.pass.cpp: Needs investigation.
- double.pass.cpp: idem.
- float.pass.cpp: idem.
- int.pass.cpp: idem.
- long.pass.cpp: idem.
- long_double.pass.cpp: idem.
- long_long.pass.cpp: idem.
+ long_double.pass.cpp: Needs investigation.
pointer.pass.cpp: idem.
- short.pass.cpp: idem.
- unsigned_int.pass.cpp: idem.
- unsigned_long.pass.cpp: idem.
- unsigned_long_long.pass.cpp: idem.
- unsigned_short.pass.cpp: idem.
ostream_sentry/
destruct.pass.cpp: exception uncaught with Clang, passes for GCC.
iostream.objects/
@@ -204,7 +140,7 @@
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.
+ clear.pass.cpp: exception uncaught with Clang, passes for GCC.
exceptions_iostate.pass.cpp:idem.
setstate.pass.cpp: idem.
ios.base/
@@ -226,63 +162,16 @@
streambuf.assign/
assign.pass.cpp: Windows locale names don't follow UNIX convention.
swap.pass.cpp: idem.
- string.streams/
- istringstream/
- istringstream.assign/
- member_swap.pass.cpp: Needs investigation.
- move.pass.cpp: idem.
- nonmember_swap.pass.cpp: idem.
- istringstream.cons/
- move.pass.cpp: Needs investigation.
- string.pass.cpp: idem.
- istringstream.members/
- str.pass.cpp: Needs investigation.
- ostringstream/
- ostringstream.assign/
- member_swap.pass.cpp: Needs investigation.
- move.pass.cpp: idem.
- nonmember_swap.pass.cpp: idem.
- ostringstream.cons/
- move.pass.cpp: Needs investigation.
- string.pass.cpp: idem.
- ostringstream.members/
- str.pass.cpp: Needs investigation.
- stringstream/
- stringstream.cons/
- move.pass.cpp: Needs investigation.
- string.pass.cpp: idem.
- stringstream.assign/
- member_swap.pass.cpp: Needs investigation.
- move.pass.cpp: idem.
- nonmember_swap.pass.cpp: idem.
- stringstream.members/
- str.pass.cpp: Needs investigation.
iterators/
predef.iterators/
insert.iterators/
insert.iterator/
types.pass.cpp: Clang warns about equality comparison result unused.
(line:column 41:20)
- stream.iterators/
- istream.iterator.cons/
- copy.pass.cpp: Needs investigation.
- istream.pass.cpp: idem.
- istream.iterator.ops/
- arrow.pass.cpp: Needs investigation.
- dereference.pass.cpp: idem.
- equal.pass.cpp: idem.
- post_increment.pass.cpp: idem.
- pre_increment.pass.cpp: idem.
- ostream.iterator/
- ostream.iterator.ops/
- assign_t.pass.cpp: Needs investigation.
language.support/
cstdint/
cstdint.pass.cpp: see above.
support.dynamic/
- alloc.errors/
- set.new.handler/
- get_new_handler.pass.cpp: Needs investigation.
new.delete/
new.delete.array/
new_array.pass.cpp: exception uncaught with Clang, passes for GCC.
@@ -291,16 +180,13 @@
new.pass.cpp: exception uncaught with Clang, passes for GCC.
new_nothrow_replace.pass.cpp: Needs investigation.
support.exception/
- except.nested:
+ except.nested/
assign.pass.cpp: Needs investigation.
ctor_copy.pass.cpp: idem.
ctor_default.pass.cpp: idem.
rethrow_if_nested.pass.cpp: idem.
rethrow_nested.pass.cpp: idem.
throw_with_nested.pass.cpp: idem.
- exception.terminate/
- set.terminate/
- get_terminate.pass.cpp: Needs investigation.
propagation/
current_exception.pass.cpp: Needs investigation.
exception_ptr.pass.cpp: idem.
@@ -320,7 +206,6 @@
quick_exit.pass.cpp: Not declared in libc++ headers. Is it from the ABI lib?
localization/
locale.categories/
- __scan_keyword.pass.cpp: Needs investigation.
category.collate/
locale.collate.byname/
compare.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -330,37 +215,15 @@
types.pass.cpp: Windows locale names don't follow UNIX convention.
locale.categories/
category.ctype/
- facet.ctype.special/
- facet.ctype.char.members/
- is_1.pass.cpp: Needs investigation.
- is_many.pass.cpp: idem.
- scan_is.pass.cpp: idem.
- scan_not.pass.cpp: idem.
- tolower_1.pass.cpp: idem.
- tolower_many.pass.cpp: idem.
- toupper_1.pass.cpp: idem.
- toupper_many.pass.cpp: idem.
- facet.ctype.char.statics/
- classic_table.pass.cpp: Needs investigation.
locale.codecvt/
locale.codecvt.members/
- wchar_t_encoding.pass.cpp: Most likely wchar_t is assumed 4 bytes.
- wchar_t_in.pass.cpp: idem.
+ wchar_t_in.pass.cpp: Most likely wchar_t is assumed 4 bytes.
wchar_t_length.pass.cpp: idem.
wchar_t_out.pass.cpp: idem.
wchar_t_unshift.pass.cpp: idem.
locale.codecvt.byname/
ctor_wchar_t.pass.cpp: Windows locale names don't follow UNIX convention.
locale.ctype/
- locale.ctype.members/
- is_1.pass.cpp: Needs investigation.
- is_many.pass.cpp: idem.
- scan_is.pass.cpp: idem.
- scan_not.pass.cpp: idem.
- tolower_1.pass.cpp: idem.
- tolower_many.pass.cpp: idem.
- toupper_1.pass.cpp: idem.
- toupper_many.pass.cpp: idem.
locale.ctype.byname/
is_1.pass.cpp: Windows locale names don't follow UNIX convention.
is_many.pass.cpp: idem.
@@ -403,35 +266,17 @@
category.numeric/
locale.nm.put/
facet.num.put.members/
- put_bool.pass.cpp: Needs investigating.
- put_double.pass.cpp: idem.
- put_long.pass.cpp: idem.
+ put_double.pass.cpp: idem. (different floating point format?)
put_long_double.pass.cpp: idem.
- put_long_long.pass.cpp: idem.
put_pointer.pass.cpp: idem.
- put_unsigned_long.pass.cpp: idem.
- put_unsigned_long_long.pass.cpp: idem.
locale.num.get/
facet.num.get.members/
get_double.pass.cpp: Needs investigating.
get_float.pass.cpp: idem.
get_long_double.pass.cpp: idem.
get_pointer.pass.cpp: idem.
- test_min_max.pass.cpp: idem.
category.time/
locale.time.get/
- locale.time.get.members/
- get_date.pass.cpp: Needs investigating.
- get_date_wide.pass.cpp: idem.
- get_many.pass.cpp: idem.
- get_monthname.pass.cpp: idem.
- get_monthname_wide.pass.cpp: idem.
- get_one.pass.cpp: idem.
- get_time.pass.cpp: idem.
- get_time_wide.pass.cpp: idem.
- get_weekday.pass.cpp: idem.
- get_weekday_wide.pass.cpp: idem.
- get_year.pass.cpp: idem.
locale.time.get.byname/
date_order.pass.cpp: Windows locale names don't follow UNIX convention.
date_order_wide.pass.cpp: idem.
@@ -464,7 +309,6 @@
codecvt_utf16_out.pass.cpp: idem.
codecvt_utf8_in.pass.cpp: idem.
codecvt_utf8_out.pass.cpp: idem.
- codecvt_utf8_out.pass.cpp: idem.
codecvt_utf8_utf16_in.pass: idem.
codecvt_utf8_utf16_out.pass.cpp: idem.
locales/
@@ -488,18 +332,6 @@
classic.pass.cpp: Failed constructing from C locale. Needs investigation.
global.pass.cpp: Windows locale names don't follow UNIX convention.
locale.convenience/
- classification/
- isalnum.pass.cpp: Needs investigation.
- isalpha.pass.cpp: idem.
- iscntrl.pass.cpp: idem.
- isdigit.pass.cpp: idem.
- isgraph.pass.cpp: idem.
- islower.pass.cpp: idem.
- isprint.pass.cpp: idem.
- ispunct.pass.cpp: idem.
- isspace.pass.cpp: idem.
- isupper.pass.cpp: idem.
- isxdigit.pass.cpp: idem.
conversions/
conversions.buffer/
overflow.pass.cpp: Needs investigation.
@@ -507,16 +339,11 @@
seekoff.pass.cpp: idem.
test.pass.cpp: idem.
underflow.pass.cpp: idem.
- conversions.character/
- tolower.pass.cpp: Needs investigation.
- toupper.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!!
to_bytes.pass.cpp: idem.
- locale.global.templates/
- use_facet.pass.cpp: exception uncaught with Clang, passes for GCC.
numerics/
c.math/
cmath.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
@@ -529,8 +356,6 @@
complex.ops/
complex_divide_complex.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
scalar_divide_complex.pass.cpp: idem.
- stream_input.pass.cpp: Needs investigation.
- stream_output.pass.cpp: idem.
complex.transcendentals/
acos.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
acosh.pass.cpp: idem.
@@ -553,42 +378,7 @@
abs.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
arg.pass.cpp: idem.
polar.pass.cpp: idem.
- numarray/
- valarray.nonmembers/
- valarray.transcend/
- acos_valarray.pass.cpp: Needs investigation.
- asin_valarray.pass.cpp: idem.
- atan2_valarray_valarray.pass.cpp: idem.
- atan2_valarray_value.pass.cpp: idem.
- atan2_value_valarray.pass.cpp: idem.
- atan_valarray.pass.cpp: idem.
- cos_valarray.pass.cpp: idem.
- cosh_valarray.pass.cpp: idem.
- exp_valarray.pass.cpp: idem.
- log10_valarray.pass.cpp: idem.
- log_valarray.pass.cpp: idem.
- pow_valarray_valarray.pass.cpp: idem.
- pow_valarray_value.pass.cpp: idem.
- pow_value_valarray.pass.cpp: idem.
- sin_valarray.pass.cpp: idem.
- sinh_valarray.pass.cpp: idem.
- sqrt_valarray.pass.cpp: idem.
- tan_valarray.pass.cpp: idem.
- tanh_valarray.pass.cpp: idem.
rand/
- rand.adapt/
- rand.adapt.disc/
- ctor_result_type.pass.cpp: Needs investigation.
- ctor_sseq.pass.cpp: idem.
- io.pass.cpp: idem.
- rand.adapt.ibits/
- ctor_result_type.pass.cpp: Needs investigation.
- ctor_sseq.pass.cpp: idem.
- io.pass.cpp: idem.
- rand.adapt.shuf/
- ctor_result_type.pass.cpp: Needs investigation.
- ctor_sseq.pass.cpp: idem.
- io.pass.cpp: idem.
rand.device/
ctor.pass.cpp: No such thing as /dev/urandom on Windows. Need alternative.
entropy.pass.cpp: idem.
@@ -635,21 +425,8 @@
io.pass.cpp: Needs investigation. (different output double format?)
rand.dist.samp.plinear/
io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.samp.int/
- io.pass.cpp: Needs investigation. (different output double format?)
- rand.dist.samp.real/
- io.pass.cpp: Needs investigation. (different output double format?)
- rand.eng/
- rand.eng.lcong/
- ctor_result_type.pass.cpp: Needs investigation.
- io.pass.cpp: Needs investigation. (different output double format?)
- rand.eng.mersenne/
- ctor_result_type.pass.cpp: Needs investigation.
- ctor_sseq.pass.cpp: idem.
- io.pass.cpp: Needs investigation. (different output double format?)
- rand.eng.sub/
- ctor_result_type.pass.cpp: Needs investigation.
- ctor_sseq.pass.cpp: idem.
+ rand.dist.uni/
+ rand.dist.uni.real/
io.pass.cpp: Needs investigation. (different output double format?)
re/
re.alg/
@@ -658,47 +435,12 @@
basic.pass.cpp: idem.
ecma.pass.cpp: idem.
extended.pass.cpp: idem.
- re.alg.replace/
- test1.pass.cpp: Needs investigation
- test2.pass.cpp: idem.
- test3.pass.cpp: idem.
- test4.pass.cpp: idem.
- test5.pass.cpp: idem.
- test6.pass.cpp: idem.
re.alg.search/
awk.pass.cpp: Needs investigation.
basic.pass.cpp: idem.
ecma.pass.cpp: idem.
extended.pass.cpp: idem.
- re.iter/
- re.regiter/
- re.regiter.cnstr/
- cnstr.pass.cpp: Needs investigation.
- re.regiter.deref/
- deref.pass.cpp: Needs investigation.
- re.regiter.inc/
- post.pass.cpp: Needs investigation.
- re.tokiter/
- re.tokiter.cnstr/
- array.pass.cpp: Needs investigation.
- int.pass.cpp: idem.
- vector.pass.cpp: idem.
- re.tokiter.comp/
- equal.pass.cpp: Needs investigation.
- re.tokiter.deref/
- deref.pass.cpp: Needs investigation.
- re.tokiter.incr/
- post.pass.cpp: Needs investigation.
re.regex/
- re.regex.construct/
- il_flg.pass.cpp: Passes for Clang, fails with GCC.
- iter_iter.pass.cpp: Needs investigation.
- iter_iter_flg.pass.cpp: idem.
- ptr.pass.cpp: idem.
- ptr_flg.pass.cpp: idem.
- ptr_size_flg.pass.cpp: idem.
- string.pass.cpp: idem.
- string_flg.pass.cpp: idem.
re.regex.locale/
imbue.pass.cpp: Windows locale names don't follow UNIX convention.
re.traits/
@@ -742,9 +484,6 @@
size_size_size_char.pass.cpp: idem.
size_size_string.pass.cpp: idem.
size_size_string_size_size.pass.cpp: idem.
- string.nonmembers/
- string.io/
- stream_extract.pass.cpp: Needs investigation.
string.ops/
string_compare/
size_size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
@@ -873,14 +612,8 @@
call_once: Needs investigation. (uncaught exception?)
thread.threads/
thread.thread.class/
- thread.thread.assign/
- move.pass.cpp: Test passed, Assertion failed on Line 42.
thread.thread.constr/
F.pass.cpp: Needs investigation.
- thread.thread.id/
- stream.pass.cpp: Needs investigation.
- thread.thread.member/
- join.pass.cpp: exception uncaught with Clang, passes for GCC.
thread.thread.static/
hardware_concurrency.pass.cpp: Needs investigation. (winpthreads problem?)
thread.thread.this/
@@ -906,8 +639,6 @@
pointer_throw.pass.cpp: idem.
unique_ptr.pass.cpp: idem.
weak_ptr.pass.cpp: idem.
- util.smartptr.shared.io/
- io.pass.cpp: Needs investigation.
meta/
meta.rel/
is_convertible.pass.cpp: passed with Clang, failed with GCC.
@@ -915,7 +646,8 @@
meta.trans.other/
aligned_storage.pass.cpp: Probably due to sizeof(long) != 8.
meta.trans.sign/
- make_unsigned.pass.cpp: Probably due to sizeof(wchar_t) != 4.
+ 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.
@@ -933,8 +665,6 @@
set_one.pass.cpp: idem.
test.pass.cpp: idem.
to_ulong.pass.cpp: Assert fails with Clang, passes with GCC
- bitset.operators/
- stream_in.pass.cpp: Needs investigation.
</pre>
</body>
</html>
More information about the cfe-commits
mailing list