[all-commits] [llvm/llvm-project] 71909d: [libc++] Disable incomplete library features.

mordante via All-commits all-commits at lists.llvm.org
Tue Jul 27 13:37:57 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 71909de37495c82e31ae3a59f366f48e8fb66e54
      https://github.com/llvm/llvm-project/commit/71909de37495c82e31ae3a59f366f48e8fb66e54
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2021-07-27 (Tue, 27 Jul 2021)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/include/__config_site.in
    M libcxx/include/format
    M libcxx/include/ranges
    M libcxx/src/CMakeLists.txt
    M libcxx/test/libcxx/double_include.sh.cpp
    M libcxx/test/libcxx/inclusions/ranges.inclusions.compile.pass.cpp
    M libcxx/test/libcxx/min_max_macros.compile.pass.cpp
    M libcxx/test/libcxx/no_assert_include.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.copy.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.move.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.default.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.in_place.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/deref.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/has_value.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/no_unique_address.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/properties.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/assign.copy.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/assign.move.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/constraints.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.copy.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.default.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.move.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/deref.pass.cpp
    M libcxx/test/libcxx/ranges/range.nonprop.cache/has_value.pass.cpp
    M libcxx/test/libcxx/ranges/range.utility.helpers/different_from.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
    M libcxx/test/libcxx/ranges/version.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/version.compile.pass.cpp
    M libcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/iterators.common/assign.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.pass.cpp
    M libcxx/test/std/ranges/range.access/range.access.begin/begin.pass.cpp
    M libcxx/test/std/ranges/range.access/range.access.begin/incomplete.compile.verify.cpp
    M libcxx/test/std/ranges/range.access/range.access.cbegin/incomplete.compile.verify.cpp
    M libcxx/test/std/ranges/range.access/range.access.cend/incomplete.compile.verify.cpp
    M libcxx/test/std/ranges/range.access/range.access.end/end.pass.cpp
    M libcxx/test/std/ranges/range.access/range.access.end/incomplete.compile.verify.cpp
    M libcxx/test/std/ranges/range.access/range.prim/data.incomplete.verify.cpp
    M libcxx/test/std/ranges/range.access/range.prim/data.pass.cpp
    M libcxx/test/std/ranges/range.access/range.prim/empty.incomplete.verify.cpp
    M libcxx/test/std/ranges/range.access/range.prim/empty.pass.cpp
    M libcxx/test/std/ranges/range.access/range.prim/size.pass.cpp
    M libcxx/test/std/ranges/range.access/range.prim/ssize.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.all/all.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/borrowing.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/ctor.default.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/size.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/general.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.empty/empty_view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.ref.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/general.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/ctor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/requirements.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/types.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
    M libcxx/test/std/ranges/range.range/borrowed_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.range/borrowed_range.subsumption.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/range_size_t.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/output_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.refinements/viewable_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.dangling/borrowed_iterator.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.dangling/borrowed_subrange.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.dangling/dangling.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/access/advance.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/access/get.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/access/primitives.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor/begin_end.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor/begin_end_size.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor/pair_like_conv.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor/range.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor/range_size.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/enable_borrowed_range.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/general.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
    M libcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.error/format.error.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/generate_header_inclusion_tests.py
    M libcxx/utils/generate_header_tests.py
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Disable incomplete library features.

Adds a new CMake option to disable the usage of incomplete headers.
These incomplete headers are not guaranteed to be ABI stable. This
option is intended to be used by vendors so they can avoid their users
from code that's not ready for production usage.

The option is enabled by default.

Differential Revision: https://reviews.llvm.org/D106763




More information about the All-commits mailing list