Index: clang/test/CXX/drs/dr0xx.cpp =================================================================== --- clang/test/CXX/drs/dr0xx.cpp +++ clang/test/CXX/drs/dr0xx.cpp @@ -2,6 +2,8 @@ // RUN: %clang_cc1 -std=c++11 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -triple %itanium_abi_triple // RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -triple %itanium_abi_triple // RUN: %clang_cc1 -std=c++17 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -triple %itanium_abi_triple +// RUN: %clang_cc1 -std=c++20 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -triple %itanium_abi_triple +// RUN: %clang_cc1 -std=c++2b %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -triple %itanium_abi_triple namespace dr1 { // dr1: no namespace X { extern "C" void dr1_f(int a = 1); } @@ -448,6 +450,50 @@ // dr34: na // dr35: dup 178 + +namespace dr36 { // dr36: yes +namespace example1 { + namespace A { + int i; + } + + namespace A1 { + using A::i; + using A::i; + } + + void f() + { + using A::i; + using A::i; + } +} + +namespace example2 { + struct A + { + int i; + static int j; + }; + + struct B : A { }; + struct C : A { }; + + struct D : virtual B, virtual C + { + using B::i; // expected-note {{previous using declaration}} + using C::i; // expected-note {{previous using declaration}} + using B::j; // expected-note {{previous using declaration}} + using C::j; // expected-note {{previous using declaration}} + + using B::i; // expected-error {{redeclaration of using declaration}} + using C::i; // expected-error {{redeclaration of using declaration}} + using B::j; // expected-error {{redeclaration of using declaration}} + using C::j; // expected-error {{redeclaration of using declaration}} + }; +} +} + // dr37: sup 475 namespace dr38 { // dr38: yes @@ -699,6 +745,8 @@ } namespace dr59 { // dr59: yes +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-volatile" template struct convert_to { operator T() const; }; struct A {}; // expected-note 5+{{candidate}} struct B : A {}; // expected-note 0+{{candidate}} @@ -732,6 +780,7 @@ int n3 = convert_to(); int n4 = convert_to(); int n5 = convert_to(); +#pragma clang diagnostic pop } namespace dr60 { // dr60: yes Index: clang/www/cxx_dr_status.html =================================================================== --- clang/www/cxx_dr_status.html +++ clang/www/cxx_dr_status.html @@ -252,9 +252,9 @@ 36 - DRWP + CD6 using-declarations in multiple-declaration contexts - Unknown + Yes 37 @@ -696,7 +696,7 @@ 110 - DRWP + CD6 Can template functions and classes be declared in the same scope? Unknown @@ -864,7 +864,7 @@ 138 - DRWP + CD6 Friend declaration name lookup Unknown @@ -1056,7 +1056,7 @@ 170 - open + review Pointer-to-member conversions Not resolved @@ -1182,7 +1182,7 @@ 191 - DRWP + CD6 Name lookup does not handle complex nesting Unknown @@ -1567,7 +1567,7 @@ 255 - DRWP + CD6 Placement deallocation functions and lookup ambiguity Unknown @@ -1664,7 +1664,7 @@ 271 - DRWP + CD6 Explicit instantiation and template argument deduction Unknown @@ -1712,7 +1712,7 @@ 279 - DRWP + CD6 Correspondence of "names for linkage purposes" Unknown @@ -2066,7 +2066,7 @@ 338 - DRWP + CD6 Enumerator name with linkage used as class name in other translation unit Unknown @@ -2198,7 +2198,7 @@ 360 - DRWP + CD6 Using-declaration that reduces access Unknown @@ -2354,7 +2354,7 @@ 386 - DRWP + CD6 Friend declaration of name brought in by using-declaration Unknown @@ -2432,7 +2432,7 @@ 399 - DRWP + CD6 Destructor lookup redux Unknown @@ -2468,7 +2468,7 @@ 405 - DRWP + CD6 Unqualified function name lookup Unknown @@ -2504,7 +2504,7 @@ 411 - WP + CD6 Use of universal-character-name in character versus string literals Unknown @@ -2546,7 +2546,7 @@ 418 - DRWP + CD6 Imperfect wording on error on multiple default arguments on a called function Unknown @@ -2766,11 +2766,11 @@ When is a definition of a static data member required? Unknown - + 455 - open + NAD Partial ordering and non-deduced arguments - Not resolved + Unknown 456 @@ -3254,7 +3254,7 @@ 536 - DRWP + CD6 Problems in the description of id-expressions Unknown @@ -3364,7 +3364,7 @@ 554 - DRWP + CD6 Definition of “declarative region” and “scope” Unknown @@ -3412,13 +3412,13 @@ 562 - DRWP + CD6 qualified-ids in non-expression contexts Unknown 563 - DRWP + CD6 Linkage specification for objects Unknown @@ -3506,11 +3506,11 @@ void in an empty parameter list Yes - + 578 - review + CD6 Phase 1 replacement of characters with universal-character-names - Not resolved + Unknown 579 @@ -3640,7 +3640,7 @@ 600 - DRWP + CD6 Does access control apply to members or to names? Unknown @@ -3682,7 +3682,7 @@ 607 - DRWP + CD6 Lookup of mem-initializer-ids Unknown @@ -4760,11 +4760,11 @@ Use of class members during destruction Unknown - + 794 - extension + NAD Base-derived conversion in member type of pointer-to-member conversion - Extension + Unknown 795 @@ -5038,7 +5038,7 @@ 852 - DRWP + CD6 using-declarations and dependent base classes Unknown @@ -5234,11 +5234,11 @@ Explicit conversion functions in direct class initialization Unknown - + 900 - extension + DR Lifetime of temporaries in range-based for - Extension + Unknown 901 @@ -5308,9 +5308,9 @@ 914 - extension + open Value-initialization of array types - Extension + Not resolved 915 @@ -5518,7 +5518,7 @@ 952 - DRWP + CD6 Insufficient description of “naming class” Unknown @@ -5852,11 +5852,11 @@ Protected access and pointers to members Unknown - + 1008 - extension + NAD Querying the alignment of an object - Extension + Unknown 1009 @@ -5974,7 +5974,7 @@ 1028 - DRWP + CD6 Dependent names in non-defining declarations Unknown @@ -6266,11 +6266,11 @@ Value categories and lvalue temporaries Unknown - + 1077 - extension + NAD Explicit specializations in non-containing namespaces - Extension + Unknown 1078 @@ -7006,7 +7006,7 @@ 1200 - DRWP + CD6 Lookup rules for template parameters Unknown @@ -7300,7 +7300,7 @@ 1249 - DRWP + CD6 Cv-qualification of nested lambda capture Unknown @@ -7318,7 +7318,7 @@ 1252 - DRWP + CD6 Overloading member function templates based on dependent return type Unknown @@ -7552,7 +7552,7 @@ 1291 - DRWP + CD6 Looking up a conversion-type-id Unknown @@ -7814,11 +7814,11 @@ Layout compatibility and cv-qualification Unknown - + 1335 - open + CD6 Stringizing, extended characters, and universal-character-names - Not resolved + Unknown 1336 @@ -7858,7 +7858,7 @@ 1342 - DRWP + CD6 Order of initialization with multiple declarators Unknown @@ -8182,7 +8182,7 @@ 1396 - open + review Deferred instantiation and checking of non-static data member initializers Not resolved @@ -8396,17 +8396,17 @@ Exceptions from other than throw-expressions Unknown - + 1432 - open + C++17 Newly-ambiguous variadic template expansions Clang 16 - + 1433 - extension + NAD trailing-return-type and point of declaration - Extension + Unknown 1434 @@ -8422,7 +8422,7 @@ 1436 - drafting + open Interaction of constant expression changes with preprocessor expressions Not resolved @@ -8584,9 +8584,9 @@ 1463 - extension + drafting extern "C" alias templates - Extension + Not resolved 1464 @@ -8674,7 +8674,7 @@ 1478 - DRWP + CD6 template keyword for dependent template template arguments Unknown @@ -8806,7 +8806,7 @@ 1500 - DRWP + CD6 Name lookup of dependent conversion function Unknown @@ -9134,11 +9134,11 @@ Access and alias templates Not resolved - + 1555 - extension + NAD Language linkage and function type compatibility - Extension + Unknown 1556 @@ -9502,7 +9502,7 @@ 1616 - DRWP + CD6 Disambiguation parsing and template parameters Unknown @@ -9662,11 +9662,11 @@ Missing requirements for prvalue operands Not resolved - + 1643 - extension + NAD Default arguments for template parameter packs - Extension + Unknown 1644 @@ -9742,7 +9742,7 @@ 1656 - WP + CD6 Encoding of numerically-escaped characters Unknown @@ -10072,7 +10072,7 @@ 1711 - WP + CD6 Missing specification of variable template partial specializations Unknown @@ -10150,7 +10150,7 @@ 1724 - DRWP + CD6 Unclear rules for deduction failure Unknown @@ -10162,7 +10162,7 @@ 1726 - DRWP + CD6 Declarator operators and conversion function Unknown @@ -10180,7 +10180,7 @@ 1729 - DRWP + CD6 Matching declarations and definitions of variable templates Unknown @@ -10204,7 +10204,7 @@ 1733 - DRWP + CD6 Return type and value for operator= with ref-qualifier Unknown @@ -10432,7 +10432,7 @@ 1771 - DRWP + CD6 Restricted lookup in nested-name-specifier Unknown @@ -10538,17 +10538,17 @@ Sized deallocation of array of non-class type Unknown - + 1789 - review + tentatively ready Array reference vs array decay in overload resolution - Not resolved + Unknown 1790 - extension + open Ellipsis following function parameter pack - Extension + Not resolved 1791 @@ -10714,7 +10714,7 @@ 1818 - DRWP + CD6 Visibility and inherited language linkage Unknown @@ -10726,19 +10726,19 @@ 1820 - DRWP + CD6 Qualified typedef names Unknown 1821 - DRWP + CD6 Qualified redeclarations in a class member-specification Unknown 1822 - DRWP + CD6 Lookup of parameter names in lambda-expressions Unknown @@ -10774,13 +10774,13 @@ 1828 - DRWP + CD6 nested-name-specifier ambiguity Unknown 1829 - DRWP + CD6 Dependent unnamed types Unknown @@ -10816,7 +10816,7 @@ 1835 - DRWP + CD6 Dependent member lookup before < Unknown @@ -10828,7 +10828,7 @@ 1837 - DRWP + CD6 Use of this in friend and local class declarations Unknown @@ -10840,7 +10840,7 @@ 1839 - DRWP + CD6 Lookup of block-scope extern declarations Unknown @@ -10852,7 +10852,7 @@ 1841 - DRWP + CD6 < following template injected-class-name Unknown @@ -10988,11 +10988,11 @@ Requirements on thrown object type to support std::current_exception() Unknown - + 1864 - extension + NAD List-initialization of array objects - Extension + Unknown 1865 @@ -11030,11 +11030,11 @@ Contradictory wording about definitions vs explicit specialization/instantiation Unknown - + 1871 - extension + NAD Non-identifier characters in ud-suffix - Extension + Unknown 1872 @@ -11060,11 +11060,11 @@ Reordering declarations in class scope Unknown - + 1876 - extension + NAD Preventing explicit specialization - Extension + Unknown 1877 @@ -11110,7 +11110,7 @@ 1884 - DRWP + CD6 Unclear requirements for same-named external-linkage entities Unknown @@ -11170,7 +11170,7 @@ 1894 - DRWP + CD6 typedef-names and using-declarations Unknown @@ -11182,7 +11182,7 @@ 1896 - DRWP + CD6 Repeated alias templates Unknown @@ -11194,7 +11194,7 @@ 1898 - DRWP + CD6 Use of “equivalent” in overload resolution Unknown @@ -11206,7 +11206,7 @@ 1900 - DRWP + CD6 Do friend declarations count as “previous declarations”? Unknown @@ -11248,13 +11248,13 @@ 1907 - DRWP + CD6 using-declarations and default arguments Unknown 1908 - DRWP + CD6 Dual destructor lookup and template-ids Unknown @@ -11296,9 +11296,9 @@ 1915 - extension + open Potentially-invoked destructors in non-throwing constructors - Extension + Not resolved 1916 @@ -11342,11 +11342,11 @@ Injected class template names and default arguments Unknown - + 1923 - extension + NAD Lvalues of type void - Extension + Unknown 1924 @@ -11408,21 +11408,21 @@ Implementation limit for initializer-list elements Unknown - + 1934 - extension + NAD Relaxing exception-specification compatibility requirements - Extension + Unknown - + 1935 - review + CD5 Reuse of placement arguments in deallocation - Not resolved + Unknown 1936 - DRWP + CD6 Dependent qualified-ids Unknown @@ -11546,11 +11546,11 @@ Reuse of storage of automatic variables Unknown - + 1957 - extension + NAD decltype(auto) with direct-list-initialization - Extension + Unknown 1958 @@ -11578,9 +11578,9 @@ 1962 - extension + open Type of __func__ - Extension + Not resolved 1963 @@ -11620,7 +11620,7 @@ 1969 - DRWP + CD6 Missing exclusion of ~S as an ordinary function name Unknown @@ -11638,13 +11638,13 @@ 1972 - WP + CD6 Identifier character restrictions in non-identifiers Unknown 1973 - open + review Which parameter-declaration-clause in a lambda-expression? Not resolved @@ -11848,7 +11848,7 @@ 2007 - DRWP + CD6 Argument-dependent lookup for operator= Unknown @@ -11860,7 +11860,7 @@ 2009 - DRWP + CD6 Unclear specification of class scope Unknown @@ -12154,7 +12154,7 @@ 2058 - DRWP + CD6 More errors from internal-linkage namespaces Unknown @@ -12178,7 +12178,7 @@ 2062 - DRWP + CD6 Class template redeclaration requirements Unknown @@ -12196,7 +12196,7 @@ 2065 - DRWP + CD6 Current instantiation of a partial specialization Unknown @@ -12226,7 +12226,7 @@ 2070 - DRWP + CD6 using-declaration with dependent nested-name-specifier Unknown @@ -12238,7 +12238,7 @@ 2072 - open + review Default argument instantiation for member functions of templates Not resolved @@ -12470,11 +12470,11 @@ Overload resolution for base class conversion and reference/non-reference Not resolved - + 2111 - extension + NAD Array temporaries in reference binding - Extension + Unknown 2112 @@ -12532,7 +12532,7 @@ 2121 - WP + CD6 More flexible lambda syntax Unknown @@ -12554,11 +12554,11 @@ Signature of constructor template Unknown - + 2125 - extension + NAD Copy elision and comma operator - Extension + Unknown 2126 @@ -12596,11 +12596,11 @@ Ambiguity with opaque-enum-declaration Not resolved - + 2132 - extension + NAD Deprecated default generated copy constructors - Extension + Unknown 2133 @@ -12796,7 +12796,7 @@ 2165 - DRWP + CD6 Namespaces, declarative regions, and translation units Unknown @@ -12970,7 +12970,7 @@ 2194 - review + drafting Impossible case in list initialization Not resolved @@ -12986,11 +12986,11 @@ Zero-initialization with virtual base classes Unknown - + 2197 - review + C++17 Overload resolution and deleted special member functions - Not resolved + Unknown 2198 @@ -13000,7 +13000,7 @@ 2199 - DRWP + CD6 Typedefs and tags Unknown @@ -13084,7 +13084,7 @@ 2213 - DRWP + CD6 Forward declaration of partial specializations Unknown @@ -13130,11 +13130,11 @@ Hiding index variable in range-based for Unknown - + 2221 - review + CD6 Copying volatile objects - Not resolved + Unknown 2222 @@ -13174,7 +13174,7 @@ 2228 - review + open Ambiguity resolution for cast to function type Not resolved @@ -13256,11 +13256,11 @@ Overload resolution is not invoked with a single function Unknown - + 2242 - drafting + DR ODR violation with constant initialization possibly omitted - Not resolved + Unknown 2243 @@ -13424,11 +13424,11 @@ Additional recursive references in aggregate DMIs Unknown - + 2270 - extension + NAD Non-inline functions and explicit instantiation declarations - Extension + Unknown 2271 @@ -13582,9 +13582,9 @@ 2296 - extension + open Are default argument instantiation failures in the “immediate context”? - Extension + Not resolved 2297 @@ -13678,7 +13678,7 @@ 2312 - DRWP + CD6 Structured bindings and mutable Unknown @@ -13792,7 +13792,7 @@ 2331 - DRWP + CD6 Redundancy in description of class scope Unknown @@ -13804,7 +13804,7 @@ 2333 - WP + CD6 Escape sequences in UTF-8 character literals Unknown @@ -13836,7 +13836,7 @@ 2338 CD5 Undefined behavior converting to short enums with fixed underlying types - Clang 16 + Clang 12 2339 @@ -13874,11 +13874,11 @@ Redeclaration of names in init-statements Unknown - + 2345 - review + CD5 Jumping across initializers in init-statements and conditions - Not resolved + Unknown 2346 @@ -13936,7 +13936,7 @@ 2355 - DR + CD6 Deducing noexcept-specifiers Unknown @@ -13978,9 +13978,9 @@ 2362 - extension + open __func__ should be constexpr - Extension + Not resolved 2363 @@ -14020,13 +14020,13 @@ 2369 - DRWP + CD6 Ordering between constraints and substitution Unknown 2370 - DRWP + CD6 friend declarations of namespace-scope functions Unknown @@ -14138,11 +14138,11 @@ Applicability of contract-attribute-specifiers Unknown - + 2389 - open + CD6 Agreement of deduced and explicitly-specified variable types - Not resolved + Unknown 2390 @@ -14156,11 +14156,11 @@ Additional template parameters following pack expansion Unknown - + 2392 - open + DR new-expression size check and constant evaluation - Not resolved + Unknown 2393 @@ -14176,25 +14176,25 @@ 2395 - open + drafting Parameters following a pack expansion Not resolved 2396 - DRWP + CD6 Lookup of names in complex conversion-type-ids Unknown 2397 - DRWP + CD6 auto specifier for pointers and references to arrays Unknown 2398 - open + drafting Template template parameter matching and deduction Not resolved @@ -14212,19 +14212,19 @@ 2401 - open + drafting Array decay vs prohibition of subobject non-type arguments Not resolved 2402 - WP + CD6 When is the restriction to a single c-char in a Unicode literal enforced? Unknown 2403 - open + drafting Temporary materialization and base/member initialization Not resolved @@ -14236,7 +14236,7 @@ 2405 - DR + CD6 Additional type-dependent expressions Unknown @@ -14246,17 +14246,17 @@ [[fallthrough]] attribute and iteration statements Yes - + 2407 - review + DR Missing entry in Annex C for defaulted comparison operators - Not resolved + Unknown - + 2408 - open + NAD Temporaries and previously-initialized elements in aggregate initialization - Not resolved + Unknown 2409 @@ -14264,11 +14264,11 @@ Explicit specializations of constexpr static data members Not resolved - + 2410 - review + DR Implicit calls of immediate functions - Not resolved + Unknown 2411 @@ -14278,13 +14278,13 @@ 2412 - open + review SFINAE vs undeduced placeholder type Not resolved 2413 - DRWP + CD6 typename in conversion-function-ids Unknown @@ -14308,7 +14308,7 @@ 2417 - open + review Explicit instantiation and exception specifications Not resolved @@ -14372,11 +14372,11 @@ Deprecation of volatile operands and unevaluated contexts Unknown - + 2428 - open + DR Deprecating a concept - Not resolved + Unknown 2429 @@ -14444,11 +14444,11 @@ Undefined term in definition of “usable in constant expressions” Unknown - + 2440 - open + DR Allocation in core constant expressions - Not resolved + Unknown 2441 @@ -14494,7 +14494,7 @@ 2448 - DRWP + CD6 Cv-qualification of arithmetic types and deprecation of volatile Unknown @@ -14510,15 +14510,15 @@ braced-init-list as a template-argument Not resolved - + 2451 - review + DR promise.unhandled_exception() and final suspend point - Not resolved + Unknown 2452 - DRWP + CD6 Flowing off the end of a coroutine Unknown @@ -14536,7 +14536,7 @@ 2455 - WP + CD6 Concatenation of string literals vs translation phases 5 and 6 Unknown @@ -14548,13 +14548,13 @@ 2457 - DRWP + CD6 Unexpanded parameter packs don't make a function type dependent Unknown 2458 - DRWP + CD6 Value category of expressions denoting non-static member functions Unknown @@ -14566,13 +14566,13 @@ 2460 - DRWP + CD6 C language linkage and constrained non-template friends Unknown 2461 - DRWP + CD6 Diagnosing non-bool type constraints Unknown @@ -14588,27 +14588,27 @@ Trivial copyability and unions with non-trivial members Not resolved - + 2464 - open + CD6 Constexpr launder and unions - Not resolved + Unknown 2465 - DRWP + CD6 Coroutine parameters passed to a promise constructor Unknown 2466 - DRWP + CD6 co_await should be a single evaluation Unknown 2467 - open + drafting CTAD for alias templates and the deducible check Not resolved @@ -14626,7 +14626,7 @@ 2470 - DRWP + CD6 Multiple array objects providing storage for one object Unknown @@ -14650,13 +14650,13 @@ 2474 - DRWP + CD6 Cv-qualification and deletion Unknown 2475 - open + drafting Object declarations of type cv void Not resolved @@ -14668,19 +14668,19 @@ 2477 - DRWP + CD6 Defaulted vs deleted copy constructors/assignment operators Unknown 2478 - open + review Properties of explicit specializations of implicitly-instantiated class templates Not resolved 2479 - DRWP + CD6 Missing specifications for consteval and constinit Unknown @@ -14692,37 +14692,37 @@ 2481 - DRWP + CD6 Cv-qualification of temporary to which a reference is bound Unknown 2482 - WP + CD6 bit_cast and indeterminate values Unknown - + 2483 - open + tentatively ready Language linkage of static member functions - Not resolved + Unknown 2484 - DRWP + CD6 char8_t and char16_t in integral promotions Unknown 2485 - open + drafting Bit-fields in integral promotions Not resolved 2486 - DRWP + CD6 Call to noexcept function via noexcept(false) pointer/lvalue Unknown @@ -14740,25 +14740,25 @@ 2489 - open + review Storage provided by array of char Not resolved 2490 - DRWP + CD6 Restrictions on destruction in constant expressions Unknown 2491 - DRWP + CD6 Export of typedef after its first declaration Unknown 2492 - drafting + review Comparing user-defined conversion sequences in list-initialization Not resolved @@ -14770,19 +14770,19 @@ 2494 - DRWP + CD6 Multiple definitions of non-odr-used entities Unknown 2495 - review + open Glvalue result of a function call Not resolved 2496 - DRWP + CD6 ref-qualifiers and virtual overriding Unknown @@ -14800,7 +14800,7 @@ 2499 - DRWP + CD6 Inconsistency in definition of pointer-interconvertibility Unknown @@ -14812,13 +14812,13 @@ 2501 - open + drafting Explicit instantiation and trailing requires-clauses Not resolved 2502 - WP + CD6 Unintended declaration conflicts in nested statement scopes Unknown @@ -14830,7 +14830,7 @@ 2504 - open + drafting Inheriting constructors from virtual base classes Not resolved @@ -14842,37 +14842,37 @@ 2506 - DRWP + CD6 Structured bindings and array cv-qualifiers Unknown 2507 - accepted + CD6 Default arguments for operator[] Unknown - + 2508 - review + DR Restrictions on uses of template parameter names - Not resolved + Unknown 2509 - DRWP + CD6 decl-specifier-seq in lambda-specifiers Unknown - + 2510 - open + NAD noexcept-specifier of friend function vs class completeness - Not resolved + Unknown 2511 - DRWP + CD6 cv-qualified bit-fields Unknown @@ -14890,7 +14890,7 @@ 2514 - open + review Modifying const subobjects Not resolved @@ -14902,7 +14902,7 @@ 2516 - open + review Locus of enum-specifier or opaque-enum-declaration Not resolved @@ -14914,19 +14914,19 @@ 2518 - open + review Conformance requirements and #error/#warning Not resolved 2519 - open + drafting Object representation of a bit-field Not resolved 2520 - open + review Template signature and default template arguments Not resolved @@ -14942,51 +14942,51 @@ Removing placemarker tokens and retention of whitespace Not resolved - + 2523 - open + tentatively ready Undefined behavior via omitted destructor call in constant expressions - Not resolved + Unknown - + 2524 - open + NAD Distinguishing user-defined conversion sequences by ref-qualifier - Not resolved + Unknown 2525 - open + drafting Incorrect definition of implicit conversion sequence Not resolved 2526 - open + drafting Relational comparison of void* pointers Not resolved - + 2527 - open + NAD Non-class potentially-overlapping objects - Not resolved + Unknown 2528 - open + drafting Three-way comparison and the usual arithmetic conversions Not resolved 2529 - open + drafting Constant destruction of constexpr references Not resolved 2530 - open + drafting Multiple definitions of enumerators Not resolved @@ -15004,49 +15004,49 @@ 2533 - open + drafting Storage duration of implicitly created objects Not resolved 2534 - DR + CD6 Value category of pseudo-destructor expression Unknown 2535 - DR + CD6 Type punning in class member access Unknown 2536 - open + drafting Partially initialized variables during constant initialization Not resolved - + 2537 - open + tentatively ready Overbroad grammar for parameter-declaration - Not resolved + Unknown - + 2538 - open + DR Can standard attributes be syntactically ignored? - Not resolved + Unknown - + 2539 - open + tentatively ready Three-way comparison requiring strong ordering for floating-point types - Not resolved + Unknown 2540 - DR + CD6 Unspecified interpretation of numeric-escape-sequence Unknown @@ -15058,13 +15058,13 @@ 2542 - open + drafting Is a closure type a structural type? Not resolved 2543 - open + drafting constinit and optimized dynamic initialization Not resolved @@ -15218,11 +15218,11 @@ Access checking during synthesis of defaulted comparison operator Not resolved - + 2569 - review + CD6 Use of decltype(capture) in a lambda's parameter-declaration-clause - Not resolved + Unknown 2570 @@ -15232,7 +15232,7 @@ 2571 - DR + CD6 Evaluation order for subscripting Unknown @@ -15298,15 +15298,15 @@ 2582 - DR + CD6 Differing member lookup from nested classes Unknown - + 2583 - review + DR Common initial sequence should consider over-alignment - Not resolved + Unknown 2584 @@ -15316,13 +15316,13 @@ 2585 - DR + CD6 Name lookup for coroutine allocation Unknown 2586 - accepted + CD6 Explicit object parameter for assignment and comparison Unknown @@ -15344,11 +15344,11 @@ Context of access checks during constraint satisfaction checking Not resolved - + 2590 - open + DR Underlying type should determine size and alignment requirements of an enum - Not resolved + Unknown 2591 @@ -15370,7 +15370,7 @@ 2594 - DR + CD6 Disallowing a global function template main Unknown @@ -15382,79 +15382,79 @@ 2596 - open + drafting Instantiation of constrained non-template friends Not resolved 2597 - DR + CD6 Replaceable allocation and deallocation functions in the global module Unknown - + 2598 - open + DR Unions should not require a non-static data member of literal type - Not resolved + Unknown - + 2599 - open + DR What does initializing a parameter include? - Not resolved + Unknown 2600 - open + review Type dependency of placeholder types Not resolved - + 2601 - open + DR Tracking of created and destroyed subobjects - Not resolved + Unknown 2602 - open + review consteval defaulted functions Not resolved - + 2603 - open + DR Holistic functional equivalence for function templates - Not resolved + Unknown - + 2604 - open + DR Attributes for an explicit specialization - Not resolved + Unknown - + 2605 - open + DR Implicit-lifetime aggregates - Not resolved + Unknown 2606 - DR + CD6 static_cast from "pointer to void" does not handle similar types Unknown 2607 - open + drafting Visibility of enumerator names Not resolved 2608 - DR + CD6 Omitting an empty template argument list Unknown @@ -15463,6 +15463,276 @@ open Padding in class types Not resolved + + + 2610 + DR + Indirect private base classes in aggregates + Unknown + + + 2611 + DR + Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation + Unknown + + + 2612 + DR + Incorrect comment in example + Unknown + + + 2613 + DR + Incomplete definition of resumer + Unknown + + + 2614 + DR + Unspecified results for class member access + Unknown + + + 2615 + accepted + Missing __has_cpp_attribute(assume) + Unknown + + + 2616 + DR + Imprecise restrictions on break and continue + Unknown + + + 2617 + open + Default template arguments for template members of non-template classes + Not resolved + + + 2618 + DR + Substitution during deduction should exclude exception specifications + Unknown + + + 2619 + DR + Kind of initialization for a designated-initializer-list + Unknown + + + 2620 + DR + Nonsensical disambiguation rule + Unknown + + + 2621 + DR + Kind of lookup for using enum declarations + Yes + + + 2622 + DR + Compounding types from function and pointer-to-member types + Unknown + + + 2623 + drafting + Invoking destroying operator delete for constructor failure + Not resolved + + + 2624 + DR + Array delete expression with no array cookie + Unknown + + + 2625 + DR + Deletion of pointer to out-of-lifetime object + Unknown + + + 2626 + DR + Rephrase ones' complement using base-2 representation + Unknown + + + 2627 + DR + Bit-fields and narrowing conversions + Unknown + + + 2628 + open + Implicit deduction guides should propagate constraints + Yes + + + 2629 + DR + Variables of floating-point type as switch conditions + Unknown + + + 2630 + DR + Syntactic specification of class completeness + Unknown + + + 2631 + DR + Immediate function evaluations in default arguments + Unknown + + + 2632 + open + 'user-declared' is not defined + Not resolved + + + 2633 + open + typeid of constexpr-unknown dynamic type + Not resolved + + + 2634 + open + Avoid circularity in specification of scope for friend class declarations + Not resolved + + + 2635 + DR + Constrained structured bindings + Unknown + + + 2636 + DR + Update Annex E based on Unicode 15.0 UAX #31 + Unknown + + + 2637 + open + Injected-class-name as a simple-template-id + Not resolved + + + 2638 + open + Improve the example for initializing by initializer list + Not resolved + + + 2639 + accepted + new-lines after phase 1 + Unknown + + + 2640 + accepted + Allow more characters in an n-char sequence + Unknown + + + 2641 + DR + Redundant specification of value category of literals + Unknown + + + 2642 + DR + Inconsistent use of T and C + Unknown + + + 2643 + DR + Completing a pointer to array of unknown bound + Unknown + + + 2644 + DR + Incorrect comment in example + Unknown + + + 2645 + DR + Unused term "default argument promotions" + Unknown + + + 2646 + DR + Defaulted special member functions + Unknown + + + 2647 + DR + Fix for "needed for constant evaluation" + Unknown + + + 2648 + DR + Correspondence of surrogate call function and conversion function + Unknown + + + 2649 + DR + Incorrect note about implicit conversion sequence + Unknown + + + 2650 + DR + Incorrect example for ill-formed non-type template arguments + Unknown + + + 2651 + DR + Conversion function templates and "noexcept" + Unknown + + + 2652 + accepted + Overbroad definition of __STDCPP_BFLOAT16_T__ + Unknown + + + 2653 + accepted + Can an explicit object parameter have a default argument? + Unknown + + + 2654 + DR + Un-deprecation of compound volatile assignments + Unknown Index: clang/www/make_cxx_dr_status =================================================================== --- clang/www/make_cxx_dr_status +++ clang/www/make_cxx_dr_status @@ -158,7 +158,7 @@ # This refers to the old ("C++0x") concepts feature, which was not part # of any C++ International Standard or Technical Specification. continue - if dr.issue in (1432,2565): + if dr.issue in (2565, 2628): row_style = ' class="open"' avail, avail_style = availability(dr.issue) elif dr.status in ('open', 'concurrency', 'drafting', 'review', 'extension'):