From d7aac28ae97d6a5f67ba1457c1b78568ff8ba96f Mon Sep 17 00:00:00 2001
From: Howard Hinnant
+ A Windows port is underway. Here are + recent test results. +
++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. + +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 + caused by wrong/unportable locale naming in the tests. + Fixing the inlining will wait until+ +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. + +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: + 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. +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/ + cinttypes.pass.cpp: Same as above. Patch submitted to mingw-w64. + fstreams/ + filebuf.assign/ + member_swap.pass.cpp: Needs investigation. + move_assign.pass.cpp: idem. + nonmember_swap.pass.cpp: idem. + filebuf.cons/ + move.pass.cpp: Needs investigation. + filebuf.members/ + open_pointers.pass.cpp: Needs investigation. + filebuf.virtuals/ + overflow.pass.cpp: Needs investigation. + seekoff.pass.cpp: idem. + underflow.pass.cpp: idem. + fstream.assign/ + member_swap.pass.cpp: Needs investigation. + move_assign.pass.cpp: idem. + nonmember_swap.pass.cpp: idem. + fstream.cons/ + move.pass.cpp: Needs investigation. + pointer.pass.cpp: idem. + string.pass.cpp: idem. + fstream.members/ + open_pointer.pass.cpp: Needs investigation. + open_string.pass.cpp: idem. + ifstream.assign/ + member_swap.pass.cpp: Needs investigation. + move_assign.pass.cpp: idem. + nonmember_swap.pass.cpp: idem. + ifstream.cons/ + move.pass.cpp: Needs investigation. + pointer.pass.cpp: idem. + string.pass.cpp: idem. + ifstream.members/ + open_pointer.pass.cpp: Needs investigation. + open_string.pass.cpp: idem. + rdbuf.pass.cpp: idem. + ofstream.assign/ + member_swap.pass.cpp: Needs investigation. + move_assign.pass.cpp: idem. + nonmember_swap.pass.cpp: idem. + ofstream.cons/ + move.pass.cpp: Needs investigation. + pointer.pass.cpp: idem. + string.pass.cpp: idem. + ofstream.members/ + open_pointer.pass.cpp: Needs investigation. + open_string.pass.cpp: idem. + rdbuf.pass.cpp: idem. + iostream.format/ + ext.manip + get_money.pass.cpp: Windows locale names don't follow UNIX convention. + 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. + 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/ + narrow.stream.objects/ + cerr.pass.cpp: Needs investigation. + cin.pass.cpp: idem. + wide.stream.objects/ + wcerr.pass.cpp: Needs investigation. + wcin.pass.cpp: idem. + iostreams.base/ + ios/ + basic.ios.members/ + 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/ + 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. + 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. + 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. + 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. + make_exception_ptr.pass.cpp: idem. + rethrow_exception.pass.cpp: idem. + uncaught/ + uncaught_exception.pass.cpp: Needs investigation. + support.limits/ + limits/ + numeric.limits.members/ + digits.pass.cpp: Needs investigation. + 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? +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. + hash.pass.cpp: idem. + transform.pass.cpp: getenv should be replaced by putenv for portability. + Windows locale names don't follow UNIX convention. + 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_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. + narrow_1.pass.cpp: idem. + narrow_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. + types.pass.cpp: idem. + widen_1.pass.cpp: idem. + widen_many.pass.cpp: idem. + category.monetary/ + locale.money.get/ + locale.money.get.members/ + get_long_double_en_US.pass.cpp: Windows locale names don't follow UNIX convention. + get_long_double_fr_FR.pass.cpp: idem. + get_long_double_ru_RU.pass.cpp: idem. + get_long_double_zh_CN.pass.cpp: idem. + get_string_en_US.pass.cpp: idem. + locale.money.put/ + locale.money.put.members/ + put_long_double_en_US.pass.cpp: Windows locale names don't follow UNIX convention. + put_long_double_fr_FR.pass.cpp: idem. + put_long_double_ru_RU.pass.cpp: idem. + put_long_double_zh_CN.pass.cpp: idem. + put_string_en_US.pass.cpp: idem. + locale.moneypunct.byname/ + curr_symbol.pass.cpp: Failed constructing from C locale. Needs investigation. + decimal_point.pass.cpp: idem. + frac_digits.pass.cpp: idem. + grouping.pass.cpp: idem. + neg_format.pass.cpp: idem. + negative_sign.pass.cpp: idem. + pos_format.pass.cpp: idem. + positive_sign.pass.cpp: idem. + thousands_sep.pass.cpp: idem. + 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_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. + get_date.pass.cpp: idem. + get_date_wide.pass.cpp: idem. + get_monthname.pass.cpp: idem. + get_monthname_wide.pass.cpp: idem. + get_one.pass.cpp: idem. + get_one_wide.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. + get_year_wide.pass.cpp: idem. + locale.time.put/ + locale.time.put.members/ + put1.pass.cpp: Needs investigating. + put2.pass.cpp: idem. + locale.time.put.byname/ + put1.pass.cpp: Windows locale names don't follow UNIX convention. + facet.numpunct/ + locale.numpunct/ + 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. + locale.stdcvt/ + codecvt_utf16_in.pass.cpp: 0x40003 does not fit in a 2-byte wchar_t. + 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/ + locale/ + locale.cons/ + assign.pass.cpp: Windows locale names don't follow UNIX convention. + char_pointer.pass.cpp: idem. + copy.pass.cpp: idem. + default.pass.cpp: idem. + locale_char_pointer_cat.pass.cpp: idem. + locale_facetptr.pass.cpp: idem. + locale_locale_cat.pass.cpp: idem. + 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. + locale/locale.statics/ + 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. + pbackfail.pass.cpp: idem. + 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?) + 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. + 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. + 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?) + 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. + eval.pass.cpp: idem. + rand.dis/ + rand.dist.bern/ + rand.dist.bern.bernoulli/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.bern.bin/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.bern.geo/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.bern.negbin/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm/ + rand.dist.norm.cauchy/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm.chisq/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm.norm.f/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm.lognormal/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm.normal/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.norm.t/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.pois/ + rand.dist.pois.exp/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.pois.extreme/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.pois.gamma/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.pois.poisson/ + io.pass.cpp: Needs investigation. (different output double format?) + rand.dist.pois.weibull/ + 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?) + 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. + io.pass.cpp: Needs investigation. (different output double format?) +re/ + re.alg/ + re.alg.match/ + awk.pass.cpp: Needs investigation. + 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/ + default.pass.cpp: Windows locale names don't follow UNIX convention. + getloc.pass.cpp: idem. + imbue.pass.cpp: idem. + isctype.pass.cpp: Needs investigation. + lookup_classname.pass.cpp: idem. + lookup_collatename.pass.cpp: Windows locale names don't follow UNIX convention. + transform.pass.cpp: idem. + 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.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?) + 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 + (v)swprintf to the Windows equivalent. + version_cuchar.pass.cpp: see previous note about uchar.h. + 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?) + set_lvalue.pass.cpp: idem. + set_lvalue_at_thread_exit.pass.cpp: idem. + set_rvalue.pass.cpp: idem. + set_rvalue_at_thread_exit.pass.cpp: idem. + set_value_at_thread_exit_const.pass.cpp: idem. + set_value_at_thread_exit_void.pass.cpp: idem. + set_value_const.pass.cpp: idem. + set_value_void.pass.cpp: idem. + swap.pass.cpp: idem. + futures.shared_future/ + copy_assign.pass.cpp: Needs investigation. + copy_ctor.pass.cpp: idem. + ctor_future.pass.cpp: idem. + dtor.pass.cpp: idem. + get.pass.cpp: idem. + move_assign.pass.cpp: idem. + move_ctor.pass.cpp: idem. + wait.pass.cpp: idem. + wait_for.pass.cpp: idem. + wait_until.pass.cpp: idem. + futures.tas/ + futures.task.members/ + assign_move.pass.cpp: Needs investigation. + ctor_func.pass.cpp: idem. + ctor_func_alloc.pass.cpp: idem. + ctor_move.pass.cpp: idem. + dtor.pass.cpp: idem. + get_future.pass.cpp: idem. + make_ready_at_thread_exit.pass.cpp: idem. + operator.pass.cpp: idem. + reset.pass.cpp: idem. + swap.pass.cpp: idem. + futures.task.nonmembers/ + swap.pass.cpp: Needs investigation. + futures.unique_future/ + dtor.pass.cpp: Needs investigation. + get.pass.cpp: idem. + move_assign.pass.cpp: idem. + move_ctor.pass.cpp: idem. + share.pass.cpp: idem. + wait.pass.cpp: idem. + wait_for.pass.cpp: idem. + 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. + 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. + 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.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/ + sleep_until.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. + util.smartptr.shared.io/ + io.pass.cpp: Needs investigation. + 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_unsigned.pass.cpp: Probably due to sizeof(wchar_t) != 4. + 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 + bitset.operators/ + stream_in.pass.cpp: Needs investigation. +