[libcxx] r302172 - Add markup for libc++ dylib availability
Mehdi Amini via cfe-commits
cfe-commits at lists.llvm.org
Thu May 4 10:08:56 PDT 2017
Author: mehdi_amini
Date: Thu May 4 12:08:54 2017
New Revision: 302172
URL: http://llvm.org/viewvc/llvm-project?rev=302172&view=rev
Log:
Add markup for libc++ dylib availability
Libc++ is used as a system library on macOS and iOS (amongst others). In order
for users to be able to compile a binary that is intended to be deployed to an
older version of the platform, clang provides the
availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>_
that can be placed on declarations to describe the lifecycle of a symbol in the
library.
See docs/DesignDocs/AvailabilityMarkup.rst for more information.
Differential Revision: https://reviews.llvm.org/D31739
Added:
libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg
libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg
libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg
libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg
Modified:
libcxx/trunk/docs/index.rst
libcxx/trunk/include/__config
libcxx/trunk/include/__locale
libcxx/trunk/include/exception
libcxx/trunk/include/experimental/dynarray
libcxx/trunk/include/experimental/optional
libcxx/trunk/include/future
libcxx/trunk/include/istream
libcxx/trunk/include/memory
libcxx/trunk/include/new
libcxx/trunk/include/ostream
libcxx/trunk/include/shared_mutex
libcxx/trunk/include/streambuf
libcxx/trunk/include/typeinfo
libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp
libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp
libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp
libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp
libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp
libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp
libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp
libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp
libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp
libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp
libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp
libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp
libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp
libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp
libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp
libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp
libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp
libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp
libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp
libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp
libcxx/trunk/utils/libcxx/test/config.py
Added: libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst?rev=302172&view=auto
==============================================================================
--- libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst (added)
+++ libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst Thu May 4 12:08:54 2017
@@ -0,0 +1,114 @@
+===================
+Availability Markup
+===================
+
+.. contents::
+ :local:
+
+Overview
+========
+
+Libc++ is used as a system library on macOS and iOS (amongst others). In order
+for users to be able to compile a binary that is intended to be deployed to an
+older version of the platform, clang provides the
+`availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>`_
+that can be placed on declarations to describe the lifecycle of a symbol in the
+library.
+
+Design
+======
+
+When a new feature is introduced that requires dylib support, a macro should be
+created in include/__config to mark this feature as unavailable for all the
+systems. For example::
+
+ // Define availability macros.
+ #if defined(_LIBCPP_USE_AVAILABILITY_APPLE)
+ #define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS __attribute__((unavailable))
+ #else if defined(_LIBCPP_USE_AVAILABILITY_SOME_OTHER_VENDOR)
+ #define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS __attribute__((unavailable))
+ #else
+ #define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
+ #endif
+
+When the library is updated by the platform vendor, the markup can be updated.
+For example::
+
+ #define _LIBCPP_AVAILABILITY_SHARED_MUTEX \
+ __attribute__((availability(macosx,strict,introduced=10.12))) \
+ __attribute__((availability(ios,strict,introduced=10.0))) \
+ __attribute__((availability(tvos,strict,introduced=10.0))) \
+ __attribute__((availability(watchos,strict,introduced=3.0)))
+
+In the source code, the macro can be added on a class if the full class requires
+type info from the library for example::
+
+ _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
+ class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access
+ : public std::logic_error {
+
+or on a particular symbol:
+
+ _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
+
+
+Testing
+=======
+
+Some parameters can be passed to lit to run the test-suite and exercising the
+availability.
+
+* The `platform` parameter controls the deployement target. For example lit can
+ be invoked with `--param=platform=macosx10.8`. Default is the current host.
+* The `use_system_cxx_lib` parameter indicates to use another library than the
+ just built one. Invoking lit with `--param=use_system_cxx_lib=true` will run
+ the test-suite against the host system library. Alternatively a path to the
+ directory containing a specific prebuilt libc++ can be used, for example:
+ `--param=use_system_cxx_lib=/path/to/macOS/10.8/`.
+* The `with_availability` boolean parameter enables the availability markup.
+
+Tests can be marked as XFAIL based on multiple features made available by lit:
+
+
+* if either `use_system_cxx_lib` or `with_availability` is passed to lit,
+ assuming `--param=platform=macosx10.8` is passed as well the following
+ features will be available:
+
+ - availability
+ - availability=x86_64
+ - availability=macosx
+ - availability=x86_64-macosx
+ - availability=x86_64-apple-macosx10.8
+ - availability=macosx10.8
+
+ This feature is used to XFAIL a test that *is* using a class of a method marked
+ as unavailable *and* that is expected to *fail* if deployed on an older system.
+
+* if `use_system_cxx_lib` is passed to lit, the following features will also
+ be available:
+
+ - with_system_cxx_lib
+ - with_system_cxx_lib=x86_64
+ - with_system_cxx_lib=macosx
+ - with_system_cxx_lib=x86_64-macosx
+ - with_system_cxx_lib=x86_64-apple-macosx10.8
+ - with_system_cxx_lib=macosx10.8
+
+ This feature is used to XFAIL a test that is *not* using a class of a method
+ marked as unavailable *but* that is expected to fail if deployed on an older
+ system. For example if we know that it exhibits a but in the libc on a
+ particular system version.
+
+* if `with_availability` is passed to lit, the following features will also
+ be available:
+
+ - availability_markup
+ - availability_markup=x86_64
+ - availability_markup=macosx
+ - availability_markup=x86_64-macosx
+ - availability_markup=x86_64-apple-macosx10.8
+ - availability_markup=macosx10.8
+
+ This feature is used to XFAIL a test that *is* using a class of a method
+ marked as unavailable *but* that is expected to *pass* if deployed on an older
+ system. For example if it is using a symbol in a statically evaluated context.
Modified: libcxx/trunk/docs/index.rst
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/index.rst?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/docs/index.rst (original)
+++ libcxx/trunk/docs/index.rst Thu May 4 12:08:54 2017
@@ -128,6 +128,7 @@ Design Documents
.. toctree::
:maxdepth: 1
+ DesignDocs/AvailabilityMarkup
DesignDocs/DebugMode
DesignDocs/CapturingConfigInfo
DesignDocs/ABIVersioning
Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Thu May 4 12:08:54 2017
@@ -1113,4 +1113,77 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit
#endif // __cplusplus
+// Decide whether to use availability macros.
+#if !defined(_LIBCPP_BUILDING_LIBRARY) && \
+ !defined(_LIBCPP_DISABLE_AVAILABILITY) && \
+ __has_feature(attribute_availability_with_strict) && \
+ __has_feature(attribute_availability_in_templates)
+#ifdef __APPLE__
+#define _LIBCPP_USE_AVAILABILITY_APPLE
+#endif
+#endif
+
+// Define availability macros.
+#if defined(_LIBCPP_USE_AVAILABILITY_APPLE)
+#define _LIBCPP_AVAILABILITY_SHARED_MUTEX \
+ __attribute__((availability(macosx,strict,introduced=10.12))) \
+ __attribute__((availability(ios,strict,introduced=10.0))) \
+ __attribute__((availability(tvos,strict,introduced=10.0))) \
+ __attribute__((availability(watchos,strict,introduced=3.0)))
+#define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS __attribute__((unavailable))
+#define _LIBCPP_AVAILABILITY_BAD_ARRAY_LENGTH __attribute__((unavailable))
+#define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS \
+ __attribute__((availability(macosx,strict,introduced=10.12))) \
+ __attribute__((availability(ios,strict,introduced=10.0))) \
+ __attribute__((availability(tvos,strict,introduced=10.0))) \
+ __attribute__((availability(watchos,strict,introduced=3.0)))
+#define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE \
+ __attribute__((availability(macosx,strict,introduced=10.12))) \
+ __attribute__((availability(ios,strict,introduced=10.0))) \
+ __attribute__((availability(tvos,strict,introduced=10.0))) \
+ __attribute__((availability(watchos,strict,introduced=3.0)))
+#define _LIBCPP_AVAILABILITY_FUTURE_ERROR \
+ __attribute__((availability(ios,strict,introduced=6.0)))
+#define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE \
+ __attribute__((availability(macosx,strict,introduced=10.9))) \
+ __attribute__((availability(ios,strict,introduced=7.0)))
+#define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY \
+ __attribute__((availability(macosx,strict,introduced=10.9))) \
+ __attribute__((availability(ios,strict,introduced=7.0)))
+#define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR \
+ __attribute__((availability(macosx,strict,introduced=10.9))) \
+ __attribute__((availability(ios,strict,introduced=7.0)))
+#else
+#define _LIBCPP_AVAILABILITY_SHARED_MUTEX
+#define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
+#define _LIBCPP_AVAILABILITY_BAD_ARRAY_LENGTH
+#define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS
+#define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE
+#define _LIBCPP_AVAILABILITY_FUTURE_ERROR
+#define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
+#define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY
+#define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
+#endif
+
+// Define availability that depends on _LIBCPP_NO_EXCEPTIONS.
+#ifdef _LIBCPP_NO_EXCEPTIONS
+#define _LIBCPP_AVAILABILITY_DYNARRAY
+#define _LIBCPP_AVAILABILITY_FUTURE
+#else
+#define _LIBCPP_AVAILABILITY_DYNARRAY _LIBCPP_AVAILABILITY_BAD_ARRAY_LENGTH
+#define _LIBCPP_AVAILABILITY_FUTURE _LIBCPP_AVAILABILITY_FUTURE_ERROR
+#endif
+
+// Availability of stream API in the dylib got dropped and re-added. The
+// extern template should effectively be available at:
+// availability(macosx,introduced=10.9)
+// availability(ios,introduced=7.0)
+#if defined(_LIBCPP_USE_AVAILABILITY_APPLE) && \
+ ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
+ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ <= 1090) || \
+ (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \
+ __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ <= 70000))
+#define _LIBCPP_AVAILABILITY_NO_STREAMS_EXTERN_TEMPLATE
+#endif
+
#endif // _LIBCPP_CONFIG
Modified: libcxx/trunk/include/__locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__locale?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/__locale (original)
+++ libcxx/trunk/include/__locale Thu May 4 12:08:54 2017
@@ -69,6 +69,7 @@ public:
class _LIBCPP_TYPE_VIS id;
typedef int category;
+ _LIBCPP_AVAILABILITY_LOCALE_CATEGORY
static const category // values assigned here are for exposition only
none = 0,
collate = LC_COLLATE_MASK,
Modified: libcxx/trunk/include/exception
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/exception?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/exception (original)
+++ libcxx/trunk/include/exception Thu May 4 12:08:54 2017
@@ -127,7 +127,7 @@ _LIBCPP_FUNC_VIS terminate_handler get_t
_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void terminate() _NOEXCEPT;
_LIBCPP_FUNC_VIS bool uncaught_exception() _NOEXCEPT;
-_LIBCPP_FUNC_VIS int uncaught_exceptions() _NOEXCEPT;
+_LIBCPP_FUNC_VIS _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS int uncaught_exceptions() _NOEXCEPT;
class _LIBCPP_TYPE_VIS exception_ptr;
Modified: libcxx/trunk/include/experimental/dynarray
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/dynarray?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/experimental/dynarray (original)
+++ libcxx/trunk/include/experimental/dynarray Thu May 4 12:08:54 2017
@@ -110,7 +110,7 @@ public:
namespace std { namespace experimental { inline namespace __array_extensions_v1 {
template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS dynarray
+struct _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_DYNARRAY dynarray
{
public:
// types:
Modified: libcxx/trunk/include/experimental/optional
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/optional?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/experimental/optional (original)
+++ libcxx/trunk/include/experimental/optional Thu May 4 12:08:54 2017
@@ -145,7 +145,7 @@ namespace std { namespace experimental {
#include <stdexcept>
_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
-class _LIBCPP_EXCEPTION_ABI bad_optional_access
+class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access
: public std::logic_error
{
public:
@@ -523,6 +523,9 @@ public:
constexpr explicit operator bool() const noexcept {return this->__engaged_;}
_LIBCPP_NORETURN _LIBCPP_INLINE_VISIBILITY
+#ifndef _LIBCPP_NO_EXCEPTIONS
+_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
+#endif
constexpr void __throw_bad_optional_access() const
{
#ifndef _LIBCPP_NO_EXCEPTIONS
@@ -532,7 +535,7 @@ public:
#endif
}
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
constexpr value_type const& value() const
{
if (!this->__engaged_)
@@ -540,7 +543,7 @@ public:
return this->__val_;
}
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
value_type& value()
{
if (!this->__engaged_)
Modified: libcxx/trunk/include/future
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/future?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/future (original)
+++ libcxx/trunk/include/future Thu May 4 12:08:54 2017
@@ -499,7 +499,7 @@ make_error_condition(future_errc __e) _N
return error_condition(static_cast<int>(__e), future_category());
}
-class _LIBCPP_EXCEPTION_ABI future_error
+class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_FUTURE_ERROR future_error
: public logic_error
{
error_code __ec_;
@@ -515,6 +515,9 @@ public:
};
_LIBCPP_NORETURN inline _LIBCPP_ALWAYS_INLINE
+#ifndef _LIBCPP_NO_EXCEPTIONS
+_LIBCPP_AVAILABILITY_FUTURE_ERROR
+#endif
void __throw_future_error(future_errc _Ev)
{
#ifndef _LIBCPP_NO_EXCEPTIONS
@@ -525,7 +528,7 @@ void __throw_future_error(future_errc _E
#endif
}
-class _LIBCPP_TYPE_VIS __assoc_sub_state
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE __assoc_sub_state
: public __shared_count
{
protected:
@@ -612,7 +615,7 @@ __assoc_sub_state::wait_for(const chrono
}
template <class _Rp>
-class __assoc_state
+class _LIBCPP_AVAILABILITY_FUTURE __assoc_state
: public __assoc_sub_state
{
typedef __assoc_sub_state base;
@@ -652,6 +655,7 @@ __assoc_state<_Rp>::__on_zero_shared() _
template <class _Rp>
template <class _Arg>
+_LIBCPP_AVAILABILITY_FUTURE
void
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__assoc_state<_Rp>::set_value(_Arg&& __arg)
@@ -707,7 +711,7 @@ __assoc_state<_Rp>::copy()
}
template <class _Rp>
-class __assoc_state<_Rp&>
+class _LIBCPP_AVAILABILITY_FUTURE __assoc_state<_Rp&>
: public __assoc_sub_state
{
typedef __assoc_sub_state base;
@@ -767,7 +771,7 @@ __assoc_state<_Rp&>::copy()
}
template <class _Rp, class _Alloc>
-class __assoc_state_alloc
+class _LIBCPP_AVAILABILITY_FUTURE __assoc_state_alloc
: public __assoc_state<_Rp>
{
typedef __assoc_state<_Rp> base;
@@ -795,7 +799,7 @@ __assoc_state_alloc<_Rp, _Alloc>::__on_z
}
template <class _Rp, class _Alloc>
-class __assoc_state_alloc<_Rp&, _Alloc>
+class _LIBCPP_AVAILABILITY_FUTURE __assoc_state_alloc<_Rp&, _Alloc>
: public __assoc_state<_Rp&>
{
typedef __assoc_state<_Rp&> base;
@@ -821,7 +825,7 @@ __assoc_state_alloc<_Rp&, _Alloc>::__on_
}
template <class _Alloc>
-class __assoc_sub_state_alloc
+class _LIBCPP_AVAILABILITY_FUTURE __assoc_sub_state_alloc
: public __assoc_sub_state
{
typedef __assoc_sub_state base;
@@ -847,7 +851,7 @@ __assoc_sub_state_alloc<_Alloc>::__on_ze
}
template <class _Rp, class _Fp>
-class __deferred_assoc_state
+class _LIBCPP_AVAILABILITY_FUTURE __deferred_assoc_state
: public __assoc_state<_Rp>
{
typedef __assoc_state<_Rp> base;
@@ -894,7 +898,7 @@ __deferred_assoc_state<_Rp, _Fp>::__exec
}
template <class _Fp>
-class __deferred_assoc_state<void, _Fp>
+class _LIBCPP_AVAILABILITY_FUTURE __deferred_assoc_state<void, _Fp>
: public __assoc_sub_state
{
typedef __assoc_sub_state base;
@@ -942,7 +946,7 @@ __deferred_assoc_state<void, _Fp>::__exe
}
template <class _Rp, class _Fp>
-class __async_assoc_state
+class _LIBCPP_AVAILABILITY_FUTURE __async_assoc_state
: public __assoc_state<_Rp>
{
typedef __assoc_state<_Rp> base;
@@ -997,7 +1001,7 @@ __async_assoc_state<_Rp, _Fp>::__on_zero
}
template <class _Fp>
-class __async_assoc_state<void, _Fp>
+class _LIBCPP_AVAILABILITY_FUTURE __async_assoc_state<void, _Fp>
: public __assoc_sub_state
{
typedef __assoc_sub_state base;
@@ -1076,7 +1080,7 @@ __make_async_assoc_state(_Fp __f);
#endif
template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS future
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE future
{
__assoc_state<_Rp>* __state_;
@@ -1179,7 +1183,7 @@ future<_Rp>::get()
}
template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS future<_Rp&>
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE future<_Rp&>
{
__assoc_state<_Rp&>* __state_;
@@ -1277,7 +1281,7 @@ future<_Rp&>::get()
}
template <>
-class _LIBCPP_TYPE_VIS future<void>
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE future<void>
{
__assoc_sub_state* __state_;
@@ -1360,7 +1364,7 @@ swap(future<_Rp>& __x, future<_Rp>& __y)
template <class _Callable> class packaged_task;
template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS promise
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE promise
{
__assoc_state<_Rp>* __state_;
@@ -1527,7 +1531,7 @@ promise<_Rp>::set_exception_at_thread_ex
// promise<R&>
template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS promise<_Rp&>
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE promise<_Rp&>
{
__assoc_state<_Rp&>* __state_;
@@ -1663,7 +1667,7 @@ promise<_Rp&>::set_exception_at_thread_e
// promise<void>
template <>
-class _LIBCPP_TYPE_VIS promise<void>
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE promise<void>
{
__assoc_sub_state* __state_;
@@ -1749,7 +1753,7 @@ template <class _Rp, class _Alloc>
template<class _Fp> class __packaged_task_base;
template<class _Rp, class ..._ArgTypes>
-class __packaged_task_base<_Rp(_ArgTypes...)>
+class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_base<_Rp(_ArgTypes...)>
{
__packaged_task_base(const __packaged_task_base&);
__packaged_task_base& operator=(const __packaged_task_base&);
@@ -1767,7 +1771,7 @@ public:
template<class _FD, class _Alloc, class _FB> class __packaged_task_func;
template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-class __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>
+class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>
: public __packaged_task_base<_Rp(_ArgTypes...)>
{
__compressed_pair<_Fp, _Alloc> __f_;
@@ -1825,7 +1829,7 @@ __packaged_task_func<_Fp, _Alloc, _Rp(_A
template <class _Callable> class __packaged_task_function;
template<class _Rp, class ..._ArgTypes>
-class __packaged_task_function<_Rp(_ArgTypes...)>
+class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_function<_Rp(_ArgTypes...)>
{
typedef __packaged_task_base<_Rp(_ArgTypes...)> __base;
typename aligned_storage<3*sizeof(void*)>::type __buf_;
@@ -2000,7 +2004,7 @@ __packaged_task_function<_Rp(_ArgTypes..
}
template<class _Rp, class ..._ArgTypes>
-class _LIBCPP_TEMPLATE_VIS packaged_task<_Rp(_ArgTypes...)>
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE packaged_task<_Rp(_ArgTypes...)>
{
public:
typedef _Rp result_type; // extension
@@ -2129,7 +2133,7 @@ packaged_task<_Rp(_ArgTypes...)>::reset(
}
template<class ..._ArgTypes>
-class _LIBCPP_TEMPLATE_VIS packaged_task<void(_ArgTypes...)>
+class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE packaged_task<void(_ArgTypes...)>
{
public:
typedef void result_type; // extension
@@ -2517,7 +2521,7 @@ shared_future<_Rp&>::operator=(const sha
}
template <>
-class _LIBCPP_TYPE_VIS shared_future<void>
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE shared_future<void>
{
__assoc_sub_state* __state_;
Modified: libcxx/trunk/include/istream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/istream?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/istream (original)
+++ libcxx/trunk/include/istream Thu May 4 12:08:54 2017
@@ -1675,9 +1675,11 @@ operator>>(basic_istream<_CharT, _Traits
return __is;
}
+#ifndef _LIBCPP_AVAILABILITY_NO_STREAMS_EXTERN_TEMPLATE
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<wchar_t>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_iostream<char>)
+#endif
_LIBCPP_END_NAMESPACE_STD
Modified: libcxx/trunk/include/memory
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/memory (original)
+++ libcxx/trunk/include/memory Thu May 4 12:08:54 2017
@@ -5293,7 +5293,8 @@ private:
friend _LIBCPP_FUNC_VIS __sp_mut& __get_sp_mut(const void*);
};
-_LIBCPP_FUNC_VIS __sp_mut& __get_sp_mut(const void*);
+_LIBCPP_FUNC_VIS _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
+__sp_mut& __get_sp_mut(const void*);
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
@@ -5304,6 +5305,7 @@ atomic_is_lock_free(const shared_ptr<_Tp
}
template <class _Tp>
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
shared_ptr<_Tp>
atomic_load(const shared_ptr<_Tp>* __p)
{
@@ -5316,6 +5318,7 @@ atomic_load(const shared_ptr<_Tp>* __p)
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
shared_ptr<_Tp>
atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
{
@@ -5323,6 +5326,7 @@ atomic_load_explicit(const shared_ptr<_T
}
template <class _Tp>
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
void
atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
{
@@ -5334,6 +5338,7 @@ atomic_store(shared_ptr<_Tp>* __p, share
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
void
atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
{
@@ -5341,6 +5346,7 @@ atomic_store_explicit(shared_ptr<_Tp>* _
}
template <class _Tp>
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
shared_ptr<_Tp>
atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
{
@@ -5353,6 +5359,7 @@ atomic_exchange(shared_ptr<_Tp>* __p, sh
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
shared_ptr<_Tp>
atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
{
@@ -5360,6 +5367,7 @@ atomic_exchange_explicit(shared_ptr<_Tp>
}
template <class _Tp>
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
bool
atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
{
@@ -5381,6 +5389,7 @@ atomic_compare_exchange_strong(shared_pt
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
bool
atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
{
@@ -5389,6 +5398,7 @@ atomic_compare_exchange_weak(shared_ptr<
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
bool
atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
shared_ptr<_Tp> __w, memory_order, memory_order)
@@ -5398,6 +5408,7 @@ atomic_compare_exchange_strong_explicit(
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
bool
atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
shared_ptr<_Tp> __w, memory_order, memory_order)
Modified: libcxx/trunk/include/new
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/new?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/new (original)
+++ libcxx/trunk/include/new Thu May 4 12:08:54 2017
@@ -146,9 +146,8 @@ _LIBCPP_NORETURN _LIBCPP_FUNC_VIS void _
#if defined(_LIBCPP_BUILDING_LIBRARY) || (_LIBCPP_STD_VER > 11)
-class _LIBCPP_EXCEPTION_ABI bad_array_length
- : public bad_alloc
-{
+class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_ARRAY_LENGTH
+ bad_array_length : public bad_alloc {
public:
bad_array_length() _NOEXCEPT;
virtual ~bad_array_length() _NOEXCEPT;
@@ -182,7 +181,7 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS void* opera
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p) _NOEXCEPT;
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
#endif
_LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz) _THROW_BAD_ALLOC;
@@ -190,7 +189,7 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS void* opera
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p) _NOEXCEPT;
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
#endif
#ifndef _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
@@ -199,7 +198,7 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS void* opera
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t) _NOEXCEPT;
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void operator delete(void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
#endif
_LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
@@ -207,7 +206,7 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS void* opera
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t) _NOEXCEPT;
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void operator delete[](void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
#endif
#endif
@@ -238,6 +237,9 @@ inline _LIBCPP_INLINE_VISIBILITY void __
#ifdef _LIBCPP_BAD_ARRAY_LENGTH_DEFINED
_LIBCPP_NORETURN inline _LIBCPP_ALWAYS_INLINE
+#ifndef _LIBCPP_NO_EXCEPTIONS
+_LIBCPP_AVAILABILITY_BAD_ARRAY_LENGTH
+#endif
void __throw_bad_array_length()
{
#ifndef _LIBCPP_NO_EXCEPTIONS
Modified: libcxx/trunk/include/ostream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ostream?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/ostream (original)
+++ libcxx/trunk/include/ostream Thu May 4 12:08:54 2017
@@ -1080,8 +1080,10 @@ operator<<(basic_ostream<_CharT, _Traits
use_facet<ctype<_CharT> >(__os.getloc()).widen('1'));
}
+#ifndef _LIBCPP_AVAILABILITY_NO_STREAMS_EXTERN_TEMPLATE
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<wchar_t>)
+#endif
_LIBCPP_END_NAMESPACE_STD
Modified: libcxx/trunk/include/shared_mutex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/shared_mutex?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/shared_mutex (original)
+++ libcxx/trunk/include/shared_mutex Thu May 4 12:08:54 2017
@@ -141,7 +141,7 @@ template <class Mutex>
_LIBCPP_BEGIN_NAMESPACE_STD
-struct _LIBCPP_TYPE_VIS __shared_mutex_base
+struct _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX __shared_mutex_base
{
mutex __mut_;
condition_variable __gate1_;
@@ -173,7 +173,7 @@ struct _LIBCPP_TYPE_VIS __shared_mutex_b
#if _LIBCPP_STD_VER > 14
-class _LIBCPP_TYPE_VIS shared_mutex
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_mutex
{
__shared_mutex_base __base;
public:
@@ -199,7 +199,7 @@ public:
#endif
-class _LIBCPP_TYPE_VIS shared_timed_mutex
+class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
{
__shared_mutex_base __base;
public:
Modified: libcxx/trunk/include/streambuf
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/streambuf?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/streambuf (original)
+++ libcxx/trunk/include/streambuf Thu May 4 12:08:54 2017
@@ -476,11 +476,13 @@ basic_streambuf<_CharT, _Traits>::overfl
return traits_type::eof();
}
+#ifndef _LIBCPP_AVAILABILITY_NO_STREAMS_EXTERN_TEMPLATE
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<wchar_t>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<wchar_t>)
+#endif
_LIBCPP_END_NAMESPACE_STD
Modified: libcxx/trunk/include/typeinfo
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/typeinfo?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/include/typeinfo (original)
+++ libcxx/trunk/include/typeinfo Thu May 4 12:08:54 2017
@@ -108,6 +108,7 @@ protected:
#endif
public:
+ _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
virtual ~type_info();
#if defined(_LIBCPP_HAS_NONUNIQUE_TYPEINFO)
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
// <list>
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
// list(list&& c);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,9 @@
// UNSUPPORTED: c++98, c++03
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// list(list&& c);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,9 @@
// UNSUPPORTED: c++98, c++03
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// template <class... Args> void emplace(const_iterator p, Args&&... args);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator position) with end()
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator position) with iterator from another container
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator first, const_iterator last); with first iterator from another container
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator first, const_iterator last); with second iterator from another container
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator first, const_iterator last); with both iterators from another container
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// Call erase(const_iterator first, const_iterator last); with a bad range
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// template <InputIterator Iter>
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// iterator insert(const_iterator position, value_type&& x);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// iterator insert(const_iterator position, size_type n, const value_type& x);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// iterator insert(const_iterator position, const value_type& x);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// void pop_back();
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// void splice(const_iterator position, list& x);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// void splice(const_iterator position, list<T,Allocator>& x, iterator i);
Modified: libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// <list>
// void splice(const_iterator position, list& x, iterator first, iterator last);
Modified: libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp Thu May 4 12:08:54 2017
@@ -12,6 +12,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=1
// MODULES_DEFINES: _LIBCPP_DEBUG_USE_EXCEPTIONS
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// test container debugging
#define _LIBCPP_DEBUG 1
Modified: libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp Thu May 4 12:08:54 2017
@@ -12,6 +12,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=1
// MODULES_DEFINES: _LIBCPP_DEBUG_USE_EXCEPTIONS
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// test container debugging
#define _LIBCPP_DEBUG 1
Modified: libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp Thu May 4 12:08:54 2017
@@ -12,6 +12,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=1
// MODULES_DEFINES: _LIBCPP_DEBUG_USE_EXCEPTIONS
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// test container debugging
#define _LIBCPP_DEBUG 1
Modified: libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp Thu May 4 12:08:54 2017
@@ -12,6 +12,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=1
// MODULES_DEFINES: _LIBCPP_DEBUG_USE_EXCEPTIONS
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// test container debugging
#define _LIBCPP_DEBUG 1
Modified: libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=0
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// Test that the default debug handler aborts the program.
#define _LIBCPP_DEBUG 0
Modified: libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp Thu May 4 12:08:54 2017
@@ -11,6 +11,9 @@
// UNSUPPORTED: libcpp-no-exceptions
// MODULES_DEFINES: _LIBCPP_DEBUG=0
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// Test that the default debug handler can be overridden and test the
// throwing debug handler.
Modified: libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp Thu May 4 12:08:54 2017
@@ -12,6 +12,9 @@
// MODULES_DEFINES: _LIBCPP_DEBUG=1
// MODULES_DEFINES: _LIBCPP_DEBUG_USE_EXCEPTIONS
+// Can't test the system lib because this test enables debug mode
+// UNSUPPORTED: with_system_cxx_lib
+
// Test that defining _LIBCPP_DEBUG_USE_EXCEPTIONS causes _LIBCPP_ASSERT
// to throw on failure.
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,12 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
// dynarray.cons
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: libcpp-no-exceptions
+// XFAIL: availability
// dynarray.cons
// explicit dynarray(size_type c);
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
// dynarray.data
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
+
// dynarray.data
// void fill(const T& v);
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,8 @@
// UNSUPPORTED: c++98, c++03, c++11
// UNSUPPORTED: libcpp-no-exceptions
+// XFAIL: availability
+
// dynarray.overview
// const_reference at(size_type n) const;
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
+
// dynarray.overview
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
+
// dynarray.overview
// size_type size() const noexcept;
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
// dynarray.overview
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
+
// dynarray.overview
// const_reference at(size_type n) const;
Modified: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
// dynarray.zero
// dynarray shall provide support for the special case of construction with a size of zero.
Added: libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg?rev=302172&view=auto
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg (added)
+++ libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg Thu May 4 12:08:54 2017
@@ -0,0 +1,3 @@
+if ('availability' in config.available_features
+ and not 'libcpp-no-exceptions' in config.available_features):
+ config.unsupported = True
Modified: libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,15 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability
+
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
+
// test bad_array_length
#include <new>
Modified: libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp (original)
+++ libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp Thu May 4 12:08:54 2017
@@ -16,6 +16,13 @@
// REQUIRES: -faligned-allocation
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// RUN: %build -faligned-allocation
// RUN: %run
Modified: libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,10 @@
// <strstream>
+// There was an overflow in the dylib on older macOS versions
+// UNSUPPORTED: availability=macosx10.8
+// UNSUPPORTED: availability=macosx10.7
+
// class strstreambuf
// int overflow(int c);
Modified: libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp (original)
+++ libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <system_error>
// class error_category
Modified: libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp (original)
+++ libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp Thu May 4 12:08:54 2017
@@ -13,6 +13,13 @@
// const error_category& system_category();
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
#include <system_error>
#include <cassert>
#include <string>
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any& operator=(any const &);
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any& operator=(any &&);
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any& operator=(any const &);
@@ -174,4 +181,4 @@ int main() {
test_assign_throws<small_throws_on_copy>();
test_assign_throws<large_throws_on_copy>();
test_assign_throws<throws_on_move, /* Move = */ true>();
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any(any const &);
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any(any &&) noexcept;
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// template <class Value> any(Value &&)
@@ -113,4 +120,4 @@ int main() {
test_copy_value_throws<small_throws_on_copy>();
test_copy_value_throws<large_throws_on_copy>();
test_move_value_throws();
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any::clear() noexcept
Modified: libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <experimental/any>
// any::swap(any &) noexcept
Modified: libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,8 @@
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability=macosx
+
// <experimental/any>
// template <class ValueType>
Modified: libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp Thu May 4 12:08:54 2017
@@ -42,4 +42,4 @@ int main() {
any_cast<no_copy>(static_cast<any &&>(a));
// expected-error at experimental/any:* 3 {{static_assert failed "_ValueType is required to be a reference or a CopyConstructible type."}}
// expected-error at experimental/any:* 3 {{calling a private constructor of class 'no_copy'}}
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp Thu May 4 12:08:54 2017
@@ -34,7 +34,8 @@ int main()
swap(a1, a2);
- assert(any_cast<int>(a1) == 2);
- assert(any_cast<int>(a2) == 1);
+ // Support testing against system dylibs that don't have bad_any_cast.
+ assert(*any_cast<int>(&a1) == 2);
+ assert(*any_cast<int>(&a2) == 1);
}
}
Modified: libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,12 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
// <optional>
Modified: libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,12 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability_markup=macosx10.12
+// XFAIL: availability_markup=macosx10.11
+// XFAIL: availability_markup=macosx10.10
+// XFAIL: availability_markup=macosx10.9
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
// <optional>
Modified: libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,13 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
+
// <optional>
// T& optional<T>::value();
Modified: libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,13 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: availability=macosx10.12
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
+
// <optional>
// constexpr const T& optional<T>::value() const;
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,10 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+
// <istream>
// template <class charT, class traits = char_traits<charT> >
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <istream>
// int_type get();
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <istream>
// basic_istream<charT,traits>& get(char_type& c);
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <istream>
// basic_istream<charT,traits>&
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <istream>
// basic_istream<charT,traits>& read(char_type* s, streamsize n);
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <istream>
// streamsize readsome(char_type* s, streamsize n);
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,9 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <istream>
// basic_istream<charT,traits>& seekg(pos_type pos);
Modified: libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <istream>
// basic_istream<charT,traits>& seekg(off_type off, ios_base::seekdir dir);
Modified: libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.12
+
// <ostream>
// template <class charT, class traits = char_traits<charT> >
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp Thu May 4 12:08:54 2017
@@ -12,11 +12,18 @@
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
// Older Clang versions do not support this
-// XFAIL: clang-3, apple-clang
+// XFAIL: clang-3, apple-clang-7, apple-clang-8
// None of the current GCC compilers support this.
// XFAIL: gcc
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
#include <new>
#include <cstddef>
#include <cstdlib>
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp Thu May 4 12:08:54 2017
@@ -15,6 +15,13 @@
// FIXME change this to XFAIL.
// UNSUPPORTED: no-aligned-allocation
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// test operator new
#include <new>
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp Thu May 4 12:08:54 2017
@@ -15,6 +15,13 @@
// FIXME turn this into an XFAIL
// UNSUPPORTED: no-aligned-allocation
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// test operator new (nothrow)
#include <new>
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// UNSUPPORTED: sanitizer-new-delete
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// XFAIL: no-aligned-allocation
// test operator new nothrow by replacing only operator new
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp Thu May 4 12:08:54 2017
@@ -13,6 +13,12 @@
// when sized deallocation is not supported, e.g., prior to C++14.
// UNSUPPORTED: sanitizer-new-delete
+// XFAIL: availability_markup=macosx10.11
+// XFAIL: availability_markup=macosx10.10
+// XFAIL: availability_markup=macosx10.9
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
+
// NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation.
// REQUIRES: fsized-deallocation
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp Thu May 4 12:08:54 2017
@@ -10,13 +10,18 @@
// test aligned operator delete replacement.
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
-
// Older Clang versions do not support this
-// XFAIL: clang-3, apple-clang
+// XFAIL: clang-3, apple-clang-7, apple-clang-8
// None of the current GCC compilers support this.
// XFAIL: gcc
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
#include <new>
#include <cstddef>
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// asan and msan will not call the new handler.
// UNSUPPORTED: sanitizer-new-delete
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// asan and msan will not call the new handler.
// UNSUPPORTED: sanitizer-new-delete
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// UNSUPPORTED: sanitizer-new-delete
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// XFAIL: no-aligned-allocation
// test operator new nothrow by replacing only operator new
Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp Thu May 4 12:08:54 2017
@@ -13,6 +13,11 @@
// when sized deallocation is not supported, e.g., prior to C++14.
// UNSUPPORTED: sanitizer-new-delete
+// XFAIL: availability_markup=macosx10.11
+// XFAIL: availability_markup=macosx10.10
+// XFAIL: availability_markup=macosx10.9
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
// NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation.
// REQUIRES: fsized-deallocation
Modified: libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: libcpp-no-exceptions
+// XFAIL: libcpp-no-exceptions
+
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.11
+
// test uncaught_exceptions
#include <exception>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp Thu May 4 12:08:54 2017
@@ -9,8 +9,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <locale>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp Thu May 4 12:08:54 2017
@@ -15,9 +15,6 @@
// charT tolower(charT) const;
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
#include <locale>
#include <cassert>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp Thu May 4 12:08:54 2017
@@ -15,9 +15,6 @@
// const charT* tolower(charT* low, const charT* high) const;
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
#include <locale>
#include <string>
#include <cassert>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp Thu May 4 12:08:54 2017
@@ -15,9 +15,6 @@
// charT toupper(charT) const;
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
#include <locale>
#include <cassert>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp Thu May 4 12:08:54 2017
@@ -15,9 +15,6 @@
// const charT* toupper(charT* low, const charT* high) const;
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
#include <locale>
#include <string>
#include <cassert>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp Thu May 4 12:08:54 2017
@@ -7,7 +7,8 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: apple-darwin
+// This test is passing in an uncontrolled manner in some Apple environment.
+// UNSUPPORTED: apple-darwin
// Failure related to GLIBC's use of U00A0 as mon_thousands_sep
// and U002E as mon_decimal_point.
Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp Thu May 4 12:08:54 2017
@@ -7,7 +7,8 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: apple-darwin
+// This test is passing in an uncontrolled manner in some Apple environment.
+// UNSUPPORTED: apple-darwin
// Failure related to GLIBC's use of U00A0 as mon_thousands_sep
// and U002E as mon_decimal_point.
Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp Thu May 4 12:08:54 2017
@@ -9,8 +9,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <locale>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,10 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR11871
+// XFAIL: with_system_cxx_lib=macosx10.7
+// PR15445
+// XFAIL: with_system_cxx_lib=macosx10.8
// <locale>
Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp Thu May 4 12:08:54 2017
@@ -6,6 +6,9 @@
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
+//
+// PR11871
+// XFAIL: with_system_cxx_lib=macosx10.7
// <locale>
@@ -194,4 +197,16 @@ int main()
assert(v == -HUGE_VALF);
}
+ {
+ v = -1;
+ const char str[] = "2-";
+ std::ios_base::iostate err = ios.goodbit;
+ input_iterator<const char*> iter =
+ f.get(input_iterator<const char*>(str),
+ input_iterator<const char*>(str+sizeof(str)),
+ ios, err, v);
+ assert(iter.base() == str+1);
+ assert(err == ios.goodbit);
+ assert(v == 2);
+ }
}
Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp Thu May 4 12:08:54 2017
@@ -6,6 +6,9 @@
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
+//
+// PR11871
+// XFAIL: with_system_cxx_lib=macosx10.7
// <locale>
@@ -253,4 +256,16 @@ int main()
assert(err == ios.failbit);
assert(v == -HUGE_VALL);
}
+ {
+ v = -1;
+ const char str[] = "2-";
+ std::ios_base::iostate err = ios.goodbit;
+ input_iterator<const char*> iter =
+ f.get(input_iterator<const char*>(str),
+ input_iterator<const char*>(str+sizeof(str)),
+ ios, err, v);
+ assert(iter.base() == str+1);
+ assert(err == ios.goodbit);
+ assert(v == 2);
+ }
}
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,10 @@
// REQUIRES: locale.en_US.UTF-8
// REQUIRES: locale.ru_RU.UTF-8
+// UNSUPPORTED: sanitizer-new-delete
+
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
// <locale>
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,10 @@
// REQUIRES: locale.en_US.UTF-8
// REQUIRES: locale.ru_RU.UTF-8
+// UNSUPPORTED: sanitizer-new-delete
+
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
// <locale>
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,10 @@
// REQUIRES: locale.en_US.UTF-8
// REQUIRES: locale.ru_RU.UTF-8
+// UNSUPPORTED: sanitizer-new-delete
+
+// XFAIL: availability_markup=macosx10.8
+// XFAIL: availability_markup=macosx10.7
// <locale>
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp Thu May 4 12:08:54 2017
@@ -9,8 +9,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <locale>
Modified: libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp (original)
+++ libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <complex>
// template<class T, class charT, class traits>
Modified: libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,12 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <random>
// class random_device;
Modified: libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp (original)
+++ libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp Thu May 4 12:08:54 2017
@@ -7,6 +7,12 @@
//
//===----------------------------------------------------------------------===//
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <random>
// class random_device;
Modified: libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp (original)
+++ libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp Thu May 4 12:08:54 2017
@@ -16,8 +16,8 @@
// REQUIRES: locale.en_US.UTF-8
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// TODO: investigation needed
// XFAIL: linux-gnu
Modified: libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,12 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: libcpp-no-exceptions
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <string>
// size_type max_size() const;
Modified: libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,9 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR14919 was fixed in r172447, out_of_range wasn't thrown before.
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <string>
Modified: libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,9 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR14919 was fixed in r172447, out_of_range wasn't thrown before.
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <string>
Modified: libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,9 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR14919 was fixed in r172447, out_of_range wasn't thrown before.
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <string>
Modified: libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,9 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR14919 was fixed in r172447, out_of_range wasn't thrown before.
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <string>
Modified: libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp Thu May 4 12:08:54 2017
@@ -7,8 +7,9 @@
//
//===----------------------------------------------------------------------===//
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// PR14919 was fixed in r172447, out_of_range wasn't thrown before.
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <string>
Modified: libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp Thu May 4 12:08:54 2017
@@ -12,9 +12,11 @@
// LWG 2056 changed the values of future_errc, so if we're using new headers
// with an old library we'll get incorrect messages.
//
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-// XFAIL: with_system_cxx_lib=x86_64-apple-darwin13
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
// <future>
Added: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg?rev=302172&view=auto
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg (added)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg Thu May 4 12:08:54 2017
@@ -0,0 +1,2 @@
+if 'availability' in config.available_features:
+ config.unsupported = True
Added: libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg?rev=302172&view=auto
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg (added)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg Thu May 4 12:08:54 2017
@@ -0,0 +1,2 @@
+if 'availability' in config.available_features:
+ config.unsupported = True
Added: libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg?rev=302172&view=auto
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg (added)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg Thu May 4 12:08:54 2017
@@ -0,0 +1,2 @@
+if 'availability' in config.available_features:
+ config.unsupported = True
Modified: libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,15 @@
//
// UNSUPPORTED: libcpp-has-no-threads
+// This test depends on signal behaviour until r210210, so some system libs
+// don't pass.
+//
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.8
+// XFAIL: with_system_cxx_lib=macosx10.7
+
// <thread>
// template <class Rep, class Period>
@@ -23,6 +32,7 @@
void sig_action(int) {}
+#include <iostream>
int main()
{
int ec;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any& operator=(any const &);
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any& operator=(any &&);
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class ValueType>
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any(any const &);
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class T, class ...Args> any(in_place_type_t<T>, Args&&...);
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any(any &&) noexcept;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class Value> any(Value &&)
@@ -151,4 +158,4 @@ int main() {
test_copy_value_throws<large_throws_on_copy>();
test_move_value_throws();
test_sfinae_constraints();
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class T, class ...Args> T& emplace(Args&&...);
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any::reset() noexcept
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// any::swap(any &) noexcept
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class ValueType>
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class ValueType>
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// template <class T, class ...Args> any make_any(Args&&...);
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <any>
// void swap(any &, any &) noexcept
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp Thu May 4 12:08:54 2017
@@ -11,8 +11,8 @@
//
// This test uses new symbols that were not defined in the libc++ shipped on
// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
+// XFAIL: availability=macosx10.7
+// XFAIL: availability=macosx10.8
// <memory>
Modified: libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// class bad_optional_access is default constructible
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// template <class U>
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// constexpr optional(const T& v);
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// optional(optional<T>&& rhs);
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp Thu May 4 12:08:54 2017
@@ -9,6 +9,13 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// constexpr optional(T&& v);
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// constexpr T& optional<T>::value() &;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// constexpr const T& optional<T>::value() const &;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp Thu May 4 12:08:54 2017
@@ -8,6 +8,14 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
+
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <optional>
// constexpr const T& optional<T>::value() const &&;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// <optional>
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// constexpr T& optional<T>::value() &&;
#include <optional>
Modified: libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp Thu May 4 12:08:54 2017
@@ -7,15 +7,15 @@
//
//===----------------------------------------------------------------------===//
//
-// This test uses new symbols that were not defined in the libc++ shipped on
-// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
// Due to C++17 inline variables ASAN flags this test as containing an ODR
// violation because Clock::is_steady is defined in both the dylib and this TU.
// UNSUPPORTED: asan
+// Starting with C++17, Clock::is_steady is inlined (but not before LLVM-3.9!),
+// but before C++17 it requires the symbol to be present in the dylib.
+// XFAIL: availability=macosx10.7 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+// XFAIL: availability=macosx10.8 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+
// <chrono>
// high_resolution_clock
Modified: libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp Thu May 4 12:08:54 2017
@@ -7,16 +7,17 @@
//
//===----------------------------------------------------------------------===//
//
-// This test uses new symbols that were not defined in the libc++ shipped on
-// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
// UNSUPPORTED: libcpp-has-no-monotonic-clock
// Due to C++17 inline variables ASAN flags this test as containing an ODR
// violation because Clock::is_steady is defined in both the dylib and this TU.
// UNSUPPORTED: asan
+// Starting with C++17, Clock::is_steady is inlined (but not before LLVM-3.9!),
+// but before C++17 it requires the symbol to be present in the dylib.
+// XFAIL: availability=macosx10.7 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+// XFAIL: availability=macosx10.8 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+
// <chrono>
// steady_clock
Modified: libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp Thu May 4 12:08:54 2017
@@ -7,15 +7,15 @@
//
//===----------------------------------------------------------------------===//
//
-// This test uses new symbols that were not defined in the libc++ shipped on
-// darwin11 and darwin12:
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.7
-// XFAIL: with_system_cxx_lib=x86_64-apple-macosx10.8
-
// Due to C++17 inline variables ASAN flags this test as containing an ODR
// violation because Clock::is_steady is defined in both the dylib and this TU.
// UNSUPPORTED: asan
+// Starting with C++17, Clock::is_steady is inlined (but not before LLVM-3.9!),
+// but before C++17 it requires the symbol to be present in the dylib.
+// XFAIL: availability=macosx10.7 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+// XFAIL: availability=macosx10.8 && (c++98 || c++03 || c++11 || c++14 || apple-clang-7 || apple-clang-8.0)
+
// <chrono>
// system_clock
Modified: libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
/*
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <size_t I, class... Types>
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class T, class... Types> constexpr T& get(variant<Types...>& v);
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class ...Types> class variant;
Modified: libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp Thu May 4 12:08:54 2017
@@ -10,6 +10,13 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.10
+// XFAIL: with_system_cxx_lib=macosx10.9
+// XFAIL: with_system_cxx_lib=macosx10.7
+// XFAIL: with_system_cxx_lib=macosx10.8
+
// <variant>
// template <class Visitor, class... Variants>
// constexpr see below visit(Visitor&& vis, Variants&&... vars);
Modified: libcxx/trunk/utils/libcxx/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/libcxx/test/config.py?rev=302172&r1=302171&r2=302172&view=diff
==============================================================================
--- libcxx/trunk/utils/libcxx/test/config.py (original)
+++ libcxx/trunk/utils/libcxx/test/config.py Thu May 4 12:08:54 2017
@@ -123,6 +123,7 @@ class Configuration(object):
self.configure_cxx()
self.configure_triple()
self.configure_deployment()
+ self.configure_availability()
self.configure_src_root()
self.configure_obj_root()
self.configure_cxx_stdlib_under_test()
@@ -285,6 +286,12 @@ class Configuration(object):
self.lit_config.note(
"inferred use_system_cxx_lib as: %r" % self.use_system_cxx_lib)
+ def configure_availability(self):
+ # See http://llvm.org/docs/AvailabilityMarkup.html
+ self.with_availability = self.get_lit_bool('with_availability', False)
+ self.lit_config.note(
+ "inferred with_availability as: %r" % self.with_availability)
+
def configure_cxx_stdlib_under_test(self):
self.cxx_stdlib_under_test = self.get_lit_conf(
'cxx_stdlib_under_test', 'libc++')
@@ -306,6 +313,9 @@ class Configuration(object):
def configure_use_clang_verify(self):
'''If set, run clang with -verify on failing tests.'''
+ if self.with_availability:
+ self.use_clang_verify = False
+ return
self.use_clang_verify = self.get_lit_bool('use_clang_verify')
if self.use_clang_verify is None:
# NOTE: We do not test for the -verify flag directly because
@@ -346,6 +356,12 @@ class Configuration(object):
self.cxx.use_ccache = True
self.lit_config.note('enabling ccache')
+ def add_deployment_feature(self, feature):
+ (arch, name, version) = self.config.deployment
+ self.config.available_features.add('%s=%s-%s' % (feature, arch, name))
+ self.config.available_features.add('%s=%s' % (feature, name))
+ self.config.available_features.add('%s=%s%s' % (feature, name, version))
+
def configure_features(self):
additional_features = self.get_lit_conf('additional_features')
if additional_features:
@@ -364,15 +380,31 @@ class Configuration(object):
self.config.available_features.add(
'with_system_cxx_lib=%s' % self.config.target_triple)
- # Insert the platform name into the available features as a lower case.
- self.config.available_features.add(target_platform)
+ # Add subcomponents individually.
+ target_components = self.config.target_triple.split('-')
+ for component in target_components:
+ self.config.available_features.add(
+ 'with_system_cxx_lib=%s' % component)
+
+ # Add available features for more generic versions of the target
+ # triple attached to with_system_cxx_lib.
+ if self.use_deployment:
+ self.add_deployment_feature('with_system_cxx_lib')
+
+ # Configure the availability markup checks features.
+ if self.with_availability:
+ self.config.available_features.add('availability_markup')
+ self.add_deployment_feature('availability_markup')
+
+ if self.use_system_cxx_lib or self.with_availability:
+ self.config.available_features.add('availability')
+ self.add_deployment_feature('availability')
- # If we're using deployment, add sub-components of the triple using
- # "darwin" instead of the platform name.
- if self.use_deployment:
- arch, _, _ = self.config.deployment
+ if platform.system() == 'Darwin':
self.config.available_features.add('apple-darwin')
- self.config.available_features.add(arch + '-apple-darwin')
+
+ # Insert the platform name into the available features as a lower case.
+ self.config.available_features.add(target_platform)
# Simulator testing can take a really long time for some of these tests
# so add a feature check so we can REQUIRES: long_tests in them
@@ -508,6 +540,10 @@ class Configuration(object):
self.cxx.flags += ['-arch', arch]
self.cxx.flags += ['-m' + name + '-version-min=' + version]
+ # Disable availability unless explicitely requested
+ if not self.with_availability:
+ self.cxx.flags += ['-D_LIBCPP_DISABLE_AVAILABILITY']
+
def configure_compile_flags_header_includes(self):
support_path = os.path.join(self.libcxx_src_root, 'test', 'support')
if self.cxx_stdlib_under_test != 'libstdc++' and \
More information about the cfe-commits
mailing list