[clang] p0388 array list initialization overloads
authorNathan Sidwell <nathan@acm.org>
Fri, 21 May 2021 18:34:23 +0000 (11:34 -0700)
committerNathan Sidwell <nathan@acm.org>
Tue, 12 Oct 2021 14:35:21 +0000 (07:35 -0700)
commit444ec0957c58492ecce0569bb20b7d3ad59d37bb
tree115376ebd1ad273312eda0c77ecf611a8e4876bf
parentdcd74716f9d18444a17de852a760cc85bd16f825
[clang] p0388 array list initialization overloads

This is the second part of p0388, dealing with overloads of list
initialization to incomplete array types.  It extends the handling
added in D103088 to permit incomplete arrays.  We have to record that
the conversion involved an incomplete array, and so (re-add) a bit flag
into the standard conversion sequence object.  Comparing such
conversion sequences requires knowing (a) the number of array elements
initialized and (b) whether the initialization is of an incomplete array.

This also updates the web page to indicate p0388 is implemented (there
is no feature macro).

Differential Revision: https://reviews.llvm.org/D103908
clang/include/clang/Sema/Overload.h
clang/lib/AST/ASTContext.cpp
clang/lib/Sema/SemaOverload.cpp
clang/test/SemaCXX/cxx20-p0388-unbound-ary.cpp
clang/www/cxx_status.html