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 untilrefactoring 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.