[all-commits] [llvm/llvm-project] c2df70: [libc++] Suppress -Wctad-maybe-unsupported on type...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Oct 3 11:05:32 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c2df70766647b39d302ab5ab952980e0b3b4d725
      https://github.com/llvm/llvm-project/commit/c2df70766647b39d302ab5ab952980e0b3b4d725
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-10-03 (Mon, 03 Oct 2022)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/include/__config
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/unicode.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__mutex_base
    M libcxx/include/__ranges/owning_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__utility/transaction.h
    M libcxx/include/mutex
    M libcxx/include/shared_mutex
    M libcxx/include/string_view
    M libcxx/src/filesystem/operations.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/types.h
    M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.cust/unqualified_lookup_wrapper.h
    A libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
    A libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
    A libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
    A libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/implicit_ctad.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/increment.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join.view/types.h
    M libcxx/test/std/ranges/range.factories/range.iota.view/types.h
    A libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.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/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
    A libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp
    A libcxx/test/std/utilities/variant/variant.variant/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
    M libcxx/test/support/callable_types.h
    M libcxx/test/support/test_iterators.h
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Suppress -Wctad-maybe-unsupported on types w/o deduction guides

There are a handful of standard library types that are intended
to support CTAD but don't need any explicit deduction guides to
do so.

This patch adds a dummy deduction guide to those types to suppress
-Wctad-maybe-unsupported (which gets emitted in user code).

This is a re-application of the original patch by Eric Fiselier in
fcd549a7d828 which had been reverted due to reasons lost at this point.
I also added the macro to a few more types. Reviving this patch was
prompted by the discussion on https://llvm.org/D133425.

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




More information about the All-commits mailing list