# Newlib is missing <fenv.h>, which is currently very platform-specific.
libc++::depr/depr.c.headers/fenv_h.pass.cpp
libc++::numerics/cfenv/cfenv.syn/cfenv.pass.cpp
libc++::numerics/cfenv/version.pass.cpp

# Newlib doesn't have support for long double in <math.h>. <cmath> was
# modified to work around these issues. Discuss fixing the test with
# libc++ folks?
libc++::depr/depr.c.headers/math_h.pass.cpp
libc++::numerics/c.math/cmath.pass.cpp

# The test is run without __STRICT_ANSI__ (-std=gnu++11 instead of
# -std=c++11) which makes us define what shouldn't be defined in
# clang/3.3/include/stdbool.h.
libc++::depr/depr.c.headers/stdbool_h.pass.cpp

# Newlib doesn't have the C Unicode TR header <uchar.h>.
libc++::depr/depr.c.headers/uchar_h.pass.cpp

# Newlib doesn't have C11's [at_]quick_exit.
libc++::language.support/support.start.term/quick_exit.pass.cpp

# Newlib defines clearerr, feof and ferror as macro which shadows the
# functions it also declares. <cstdio> was patched to undef the macros,
# but the test includes <stdio.h> instead. Discuss fixing the test with
# libc++ folks?
libc++::depr/depr.c.headers/stdio_h.pass.cpp

# Lack of blocking /dev/random support.
libc++::numerics/rand/rand.device/ctor.pass.cpp

# Need to investigate these.
libc++::diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
libc++::input.output/file.streams/fstreams/fstream.assign/member_swap.pass.cpp
libc++::input.output/file.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp
libc++::input.output/file.streams/fstreams/ofstream.assign/member_swap.pass.cpp
libc++::input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp
libc++::localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
libc++::localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_pointer.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
libc++::re/re.traits/isctype.pass.cpp
libc++::re/re.traits/lookup_classname.pass.cpp
libc++::strings/c.strings/cuchar.pass.cpp
libc++::strings/c.strings/version_cuchar.pass.cpp
libc++::strings/string.conversions/stod.pass.cpp
libc++::strings/string.conversions/stof.pass.cpp
libc++::strings/string.conversions/stold.pass.cpp
libc++::thread/futures/futures.unique_future/copy_assign.fail.cpp
libc++::utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter04.fail.cpp
libc++::utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert13.fail.cpp
libc++::utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter04.fail.cpp
libc++::utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp

# There are currently issues with atomics:
#  - atomic_init of aggregates is broken.
#  - EmitAtomicExpr calls EmitCall which causes clang to generate an
#    invalid cast and assert out.
# Some of these issues are fixed by upstream r186049 which doesn't apply
# as-is without other patches.
libc++::atomics/atomics.types.generic/address.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
libc++::atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp

# terminating with uncaught exception of type std::runtime_error:
# <some class> failed to construct for <some locale like en_US.UTF-8>
libc++::input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
libc++::input.output/file.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
libc++::input.output/iostream.format/ext.manip/get_money.pass.cpp
libc++::input.output/iostream.format/ext.manip/get_time.pass.cpp
libc++::input.output/iostream.format/ext.manip/put_money.pass.cpp
libc++::input.output/iostream.format/ext.manip/put_time.pass.cpp
libc++::input.output/iostreams.base/ios.base/ios.base.callback/register_callback.pass.cpp
libc++::input.output/iostreams.base/ios.base/ios.base.locales/imbue.pass.cpp
libc++::input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
libc++::input.output/iostreams.base/ios/basic.ios.members/imbue.pass.cpp
libc++::input.output/iostreams.base/ios/basic.ios.members/move.pass.cpp
libc++::input.output/iostreams.base/ios/basic.ios.members/swap.pass.cpp
libc++::input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
libc++::input.output/stream.buffers/streambuf/streambuf.cons/default.pass.cpp
libc++::input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
libc++::input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
libc++::input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
libc++::localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
libc++::localization/locale.categories/category.collate/locale.collate.byname/hash.pass.cpp
libc++::localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
libc++::localization/locale.categories/category.collate/locale.collate.byname/types.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_wchar_t.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/is_1.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/is_many.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
libc++::localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/frac_digits.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/positive_sign.pass.cpp
libc++::localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/date_order.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/date_order_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_time.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_time_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_year.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.get.byname/get_year_wide.pass.cpp
libc++::localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
libc++::localization/locale.categories/facet.numpunct/locale.numpunct.byname/decimal_point.pass.cpp
libc++::localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
libc++::localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
libc++::localization/locales/locale/locale.cons/assign.pass.cpp
libc++::localization/locales/locale/locale.cons/char_pointer.pass.cpp
libc++::localization/locales/locale/locale.cons/copy.pass.cpp
libc++::localization/locales/locale/locale.cons/default.pass.cpp
libc++::localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
libc++::localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
libc++::localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
libc++::localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
libc++::localization/locales/locale/locale.cons/string.pass.cpp
libc++::localization/locales/locale/locale.members/name.pass.cpp
libc++::localization/locales/locale/locale.operators/eq.pass.cpp
libc++::localization/locales/locale/locale.statics/classic.pass.cpp
libc++::localization/locales/locale/locale.statics/global.pass.cpp
libc++::re/re.alg/re.alg.match/basic.pass.cpp
libc++::re/re.alg/re.alg.match/ecma.pass.cpp
libc++::re/re.alg/re.alg.match/extended.pass.cpp
libc++::re/re.alg/re.alg.search/awk.pass.cpp
libc++::re/re.alg/re.alg.search/basic.pass.cpp
libc++::re/re.alg/re.alg.search/ecma.pass.cpp
libc++::re/re.alg/re.alg.search/extended.pass.cpp
libc++::re/re.regex/re.regex.locale/imbue.pass.cpp
libc++::re/re.traits/default.pass.cpp
libc++::re/re.traits/getloc.pass.cpp
libc++::re/re.traits/imbue.pass.cpp
libc++::re/re.traits/lookup_collatename.pass.cpp
libc++::re/re.traits/transform.pass.cpp
libc++::re/re.traits/transform_primary.pass.cpp
libc++::re/re.traits/translate_nocase.pass.cpp
