From 54c99a906740a6dee2e0827d38b351d5966c2e2d Mon Sep 17 00:00:00 2001 From: Corentin Jabot Date: Fri, 25 Aug 2023 20:23:17 +0200 Subject: [Clang] Update the core issues list From revision 112 --- clang/www/cxx_dr_status.html | 850 ++++++++++++++++++++++++++++++++----------- 1 file changed, 635 insertions(+), 215 deletions(-) (limited to 'clang/www') diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index d044679..ee9712e 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -69,11 +69,11 @@ CV-qualifiers and type conversions Yes - + 6 - open + NAD Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument? - Not resolved + Unknown 7 @@ -1055,7 +1055,7 @@ 170 - tentatively ready + DR Pointer-to-member conversions Unknown @@ -1434,7 +1434,7 @@ accessible? 233 - open + drafting References vs pointers in UDC overload resolution Not resolved @@ -2675,11 +2675,11 @@ of class templates Guarantees on casting pointer back to cv-qualified version of original type Unknown - + 440 - open + NAD Allow implicit pointer-to-member conversion on nontype template argument - Not resolved + Unknown 441 @@ -2873,11 +2873,11 @@ of class templates Casting across protected inheritance Not resolved - + 473 - open + NAD Block-scope declarations of allocator functions - Not resolved + Unknown 474 @@ -3059,11 +3059,11 @@ of class templates Cv-qualified function types in template argument deduction Not resolved - + 504 - open + NAD Should use of a variable in its own initializer require a diagnostic? - Not resolved + Unknown 505 @@ -3203,11 +3203,11 @@ of class templates Problems with linkage of types N/A - + 528 - open + NAD Why are incomplete class types not allowed with typeid? - Not resolved + Unknown 529 @@ -3877,11 +3877,11 @@ and POD class What makes side effects “different” from one another? Yes - + 640 - open + NAD Accessing destroyed local objects of static storage duration - Not resolved + Unknown 641 @@ -4345,11 +4345,11 @@ and POD class Unintentional restrictions on the use of thread_local Unknown - + 718 - open + NAD Non-class, non-function friend declarations - Not resolved + Unknown 719 @@ -5235,7 +5235,7 @@ and POD class 900 - DRWP + C++23 Lifetime of temporaries in range-based for Unknown @@ -6031,11 +6031,11 @@ and POD class Requirements for operands of delete-expressions and deallocation functions Unknown - + 1038 - review + tentatively ready Overload resolution of &x.static_func - Not resolved + Unknown 1039 @@ -7335,7 +7335,7 @@ and POD class 1255 - open + drafting Definition problems with constexpr functions Not resolved @@ -7923,7 +7923,7 @@ and POD class 1353 - tentatively ready + DR Array and variant members and deleted special member functions Unknown @@ -8071,11 +8071,11 @@ and POD class Access declarations not mentioned in Annex C Unknown - + 1378 - open + CD5 When is an instantiation required? - Not resolved + Unknown 1379 @@ -8181,7 +8181,7 @@ and POD class 1396 - DRWP + C++23 Deferred instantiation and checking of non-static data member initializers Unknown @@ -9655,11 +9655,11 @@ and POD class Assignment in member initializer Unknown - + 1642 - open + DR Missing requirements for prvalue operands - Not resolved + Unknown 1643 @@ -9991,17 +9991,17 @@ and POD class Lifetime extension and copy elision Unknown - + 1698 - open + ready Files ending in \ - Not resolved + Unknown 1699 - extension + open Does befriending a class befriend its friends? - Extension + Not resolved 1700 @@ -10921,11 +10921,11 @@ and POD class Wording issues regarding decltype(auto) Unknown - + 1853 - drafting + dup Defining “allocated storage” - Not resolved + Unknown 1854 @@ -11187,7 +11187,7 @@ and POD class 1897 - drafting + review ODR vs alternative tokens Not resolved @@ -11643,7 +11643,7 @@ and POD class 1973 - tentatively ready + DR Which parameter-declaration-clause in a lambda-expression? Unknown @@ -12237,7 +12237,7 @@ and POD class 2072 - DR + C++23 Default argument instantiation for member functions of templates Unknown @@ -12415,11 +12415,11 @@ and POD class Incorrect description of type- and value-dependence Unknown - + 2102 - drafting + tentatively ready Constructor checking in new-expression - Not resolved + Unknown 2103 @@ -13257,7 +13257,7 @@ and POD class 2242 - DRWP + C++23 ODR violation with constant initialization possibly omitted Unknown @@ -14157,7 +14157,7 @@ and POD class 2392 - DRWP + C++23 new-expression size check and constant evaluation Unknown @@ -14247,7 +14247,7 @@ and POD class 2407 - DRWP + C++23 Missing entry in Annex C for defaulted comparison operators Unknown @@ -14265,7 +14265,7 @@ and POD class 2410 - DRWP + C++23 Implicit calls of immediate functions Unknown @@ -14373,7 +14373,7 @@ and POD class 2428 - DRWP + C++23 Deprecating a concept Unknown @@ -14445,7 +14445,7 @@ and POD class 2440 - DRWP + C++23 Allocation in core constant expressions Unknown @@ -14463,7 +14463,7 @@ and POD class 2443 - DRWP + C++23 Meaningless template exports Unknown @@ -14511,7 +14511,7 @@ and POD class 2451 - DRWP + C++23 promise.unhandled_exception() and final suspend point Unknown @@ -14655,7 +14655,7 @@ and POD class 2475 - DR + C++23 Object declarations of type cv void Unknown @@ -14673,7 +14673,7 @@ and POD class 2478 - DR + C++23 Properties of explicit specializations of implicitly-instantiated class templates Unknown @@ -14703,7 +14703,7 @@ and POD class 2483 - DR + C++23 Language linkage of static member functions Unknown @@ -14715,7 +14715,7 @@ and POD class 2485 - tentatively ready + DR Bit-fields in integral promotions Unknown @@ -14739,7 +14739,7 @@ and POD class 2489 - DR + C++23 Storage provided by array of char Unknown @@ -14757,7 +14757,7 @@ and POD class 2492 - review + drafting Comparing user-defined conversion sequences in list-initialization Not resolved @@ -14853,7 +14853,7 @@ and POD class 2508 - DRWP + C++23 Restrictions on uses of template parameter names Unknown @@ -14901,37 +14901,37 @@ and POD class 2516 - DR + C++23 Locus of enum-specifier or opaque-enum-declaration Yes 2517 - DR + C++23 Useless restriction on use of parameter in constraint-expression Unknown 2518 - DR + C++23 Conformance requirements and #error/#warning Clang 17 2519 - tentatively ready + DR Object representation of a bit-field Unknown 2520 - DR + C++23 Template signature and default template arguments Unknown 2521 - DR + C++23 User-defined literals and reserved identifiers Clang 17 @@ -14943,7 +14943,7 @@ and POD class 2523 - DR + C++23 Undefined behavior via omitted destructor call in constant expressions Unknown @@ -14961,7 +14961,7 @@ and POD class 2526 - DR + C++23 Relational comparison of void* pointers Unknown @@ -14973,19 +14973,19 @@ and POD class 2528 - DR + C++23 Three-way comparison and the usual arithmetic conversions Unknown 2529 - DR + C++23 Constant destruction of constexpr references Unknown 2530 - DR + C++23 Multiple definitions of enumerators Unknown @@ -15003,7 +15003,7 @@ and POD class 2533 - drafting + review Storage duration of implicitly created objects Not resolved @@ -15033,13 +15033,13 @@ and POD class 2538 - DRWP + C++23 Can standard attributes be syntactically ignored? Unknown 2539 - DR + C++23 Three-way comparison requiring strong ordering for floating-point types Unknown @@ -15055,15 +15055,15 @@ and POD class Linkage specifications, module purview, and module attachment Not resolved - + 2542 - drafting + DR Is a closure type a structural type? - Not resolved + Unknown 2543 - DR + C++23 constinit and optimized dynamic initialization Unknown @@ -15081,69 +15081,69 @@ and POD class 2546 - open + review Defaulted secondary comparison operators defined as deleted Not resolved 2547 - open + review Defaulted comparison operator function for non-classes Not resolved 2548 - open + review Array prvalues and additive operators Not resolved 2549 - open + review Implicitly moving the operand of a throw-expression in unevaluated contexts Not resolved - + 2550 - open + DR Type "reference to cv void" outside of a declarator - Not resolved + Unknown 2551 - open + review "Refers to allocated storage" has no meaning Not resolved - + 2552 - open + DR Constant evaluation of non-defining variable declarations - Not resolved + Unknown - + 2553 - open + ready Restrictions on explicit object member functions - Not resolved + Unknown 2554 - open + review Overriding virtual functions, also with explicit object parameters Not resolved 2555 - open + drafting Ineffective redeclaration prevention for using-declarators Not resolved - + 2556 - open + tentatively ready Unusable promise::return_void - Not resolved + Unknown 2557 @@ -15153,7 +15153,7 @@ and POD class 2558 - DR + C++23 Uninitialized subobjects as a result of an immediate invocation Unknown @@ -15171,7 +15171,7 @@ and POD class 2561 - open + review Conversion to function pointer for lambda with explicit object parameter Not resolved @@ -15183,37 +15183,37 @@ and POD class 2563 - open + drafting Initialization of coroutine result object Not resolved 2564 - open + drafting Conversion to function pointer with an explicit object parameter Not resolved - + 2565 - open + tentatively ready Invalid types in the parameter-declaration-clause of a requires-expression Clang 16 2566 - open + review Matching deallocation for uncaught exception Not resolved - + 2567 - open + NAD Operator lookup ambiguity - Not resolved + Unknown 2568 - open + review Access checking during synthesis of defaulted comparison operator Not resolved @@ -15223,11 +15223,11 @@ and POD class Use of decltype(capture) in a lambda's parameter-declaration-clause Unknown - + 2570 - open + tentatively ready Clarify constexpr for defaulted functions - Not resolved + Unknown 2571 @@ -15237,7 +15237,7 @@ and POD class 2572 - open + review Address of overloaded function with no target Not resolved @@ -15303,7 +15303,7 @@ and POD class 2583 - DRWP + C++23 Common initial sequence should consider over-alignment Unknown @@ -15327,7 +15327,7 @@ and POD class 2587 - open + review Visible side effects and initial value of an object Not resolved @@ -15339,21 +15339,21 @@ and POD class 2589 - open + review Context of access checks during constraint satisfaction checking Not resolved 2590 - DRWP + C++23 Underlying type should determine size and alignment requirements of an enum Unknown - + 2591 - open + tentatively ready Implicit change of active union member for anonymous union in union - Not resolved + Unknown 2592 @@ -15363,7 +15363,7 @@ and POD class 2593 - open + review Insufficient base class restriction for pointer-to-member expression Not resolved @@ -15373,11 +15373,11 @@ and POD class Disallowing a global function template main Unknown - + 2595 - open + tentatively ready "More constrained" for eligible special member functions - Not resolved + Unknown 2596 @@ -15393,49 +15393,49 @@ and POD class 2598 - DRWP + C++23 Unions should not require a non-static data member of literal type Unknown 2599 - DRWP + C++23 What does initializing a parameter include? Unknown - + 2600 - review + tentatively ready Type dependency of placeholder types - Not resolved + Unknown 2601 - DRWP + C++23 Tracking of created and destroyed subobjects Unknown 2602 - DR + C++23 consteval defaulted functions Unknown 2603 - DRWP + C++23 Holistic functional equivalence for function templates Unknown 2604 - DRWP + C++23 Attributes for an explicit specialization Unknown 2605 - DRWP + C++23 Implicit-lifetime aggregates Unknown @@ -15465,79 +15465,79 @@ and POD class 2610 - DRWP + C++23 Indirect private base classes in aggregates Unknown 2611 - DRWP + C++23 Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation Unknown 2612 - DRWP + C++23 Incorrect comment in example Unknown 2613 - DRWP + C++23 Incomplete definition of resumer Unknown 2614 - DRWP + C++23 Unspecified results for class member access Unknown 2615 - WP + C++23 Missing __has_cpp_attribute(assume) Unknown 2616 - DRWP + C++23 Imprecise restrictions on break and continue Unknown 2617 - open + review Default template arguments for template members of non-template classes Not resolved 2618 - DRWP + C++23 Substitution during deduction should exclude exception specifications Unknown 2619 - DRWP + C++23 Kind of initialization for a designated-initializer-list Unknown 2620 - DRWP + C++23 Nonsensical disambiguation rule Unknown 2621 - DRWP + C++23 Kind of lookup for using enum declarations Yes 2622 - DRWP + C++23 Compounding types from function and pointer-to-member types Unknown @@ -15549,25 +15549,25 @@ and POD class 2624 - DRWP + C++23 Array delete expression with no array cookie Unknown 2625 - DRWP + C++23 Deletion of pointer to out-of-lifetime object Unknown 2626 - DRWP + C++23 Rephrase ones' complement using base-2 representation Unknown 2627 - DRWP + C++23 Bit-fields and narrowing conversions Unknown @@ -15579,19 +15579,19 @@ and POD class 2629 - DRWP + C++23 Variables of floating-point type as switch conditions Unknown 2630 - DRWP + C++23 Syntactic specification of class completeness Unknown 2631 - DRWP + C++23 Immediate function evaluations in default arguments Clang 16 @@ -15615,13 +15615,13 @@ and POD class 2635 - DRWP + C++23 Constrained structured bindings Clang 16 2636 - DRWP + C++23 Update Annex E based on Unicode 15.0 UAX #31 N/A @@ -15639,97 +15639,97 @@ and POD class 2639 - WP + C++23 new-lines after phase 1 Unknown 2640 - WP + C++23 Allow more characters in an n-char sequence Clang 16 2641 - DRWP + C++23 Redundant specification of value category of literals Unknown 2642 - DR + C++23 Inconsistent use of T and C N/A 2643 - DRWP + C++23 Completing a pointer to array of unknown bound Unknown 2644 - DRWP + C++23 Incorrect comment in example Yes 2645 - DRWP + C++23 Unused term "default argument promotions" Unknown 2646 - DRWP + C++23 Defaulted special member functions Unknown 2647 - DRWP + C++23 Fix for "needed for constant evaluation" Unknown 2648 - DRWP + C++23 Correspondence of surrogate call function and conversion function Unknown 2649 - DRWP + C++23 Incorrect note about implicit conversion sequence Unknown 2650 - DRWP + C++23 Incorrect example for ill-formed non-type template arguments Yes 2651 - DRWP + C++23 Conversion function templates and "noexcept" Unknown 2652 - WP + C++23 Overbroad definition of __STDCPP_BFLOAT16_T__ Unknown 2653 - WP + C++23 Can an explicit object parameter have a default argument? Unknown 2654 - DRWP + C++23 Un-deprecation of compound volatile assignments Clang 16 @@ -15753,13 +15753,13 @@ and POD class 2658 - DR + C++23 Trivial copying of unions in core constant expressions Unknown 2659 - accepted + C++23 Missing feature-test macro for lifetime extension in range-for loop Unknown @@ -15777,19 +15777,19 @@ and POD class 2662 - DR + C++23 Example for member access control vs. overload resolution Unknown 2663 - tentatively ready + DR Example for member redeclarations with using-declarations Unknown 2664 - DR + C++23 Deduction failure in CTAD for alias templates Unknown @@ -15807,7 +15807,7 @@ and POD class 2667 - DR + C++23 Named module imports do not import macros Unknown @@ -15843,13 +15843,13 @@ and POD class 2673 - DR + C++23 User-declared spaceship vs. built-in operators Unknown 2674 - accepted + C++23 Prohibit explicit object parameters for constructors Unknown @@ -15873,7 +15873,7 @@ and POD class 2678 - DR + C++23 std::source_location::current is unimplementable Unknown @@ -15891,19 +15891,19 @@ and POD class 2681 - DR + C++23 Deducing member array type from string literal Clang 17 2682 - DR + C++23 Templated function vs. function template Unknown 2683 - ready + DR Default arguments for member functions of templated nested classes Unknown @@ -15915,7 +15915,7 @@ and POD class 2685 - DR + C++23 Aggregate CTAD, string, and brace elision Unknown @@ -15925,11 +15925,11 @@ and POD class Pack expansion into a non-pack parameter of a concept Not resolved - + 2687 - review + C++23 Calling an explicit object member function via an address-of-overload-set - Not resolved + Unknown 2688 @@ -15939,25 +15939,25 @@ and POD class 2689 - open + review Are cv-qualified std::nullptr_t fundamental types? Not resolved 2690 - DR + C++23 Semantics of defaulted move assignment operator for unions Unknown 2691 - accepted + C++23 hexadecimal-escape-sequence is too greedy Unknown 2692 - accepted + C++23 Static and explicit object member functions with the same parameter-type-lists Unknown @@ -15975,31 +15975,31 @@ and POD class 2695 - DR + C++23 Semantic ignorability of attributes Unknown - + 2696 - open + dup Relational comparisons of pointers to void - Not resolved + Unknown - + 2697 - open + DR Deduction guides using abbreviated function syntax - Not resolved + Unknown - + 2698 - review + DR Using extended integer types with z suffix - Not resolved + Unknown 2699 - ready + DR Inconsistency of throw-expression specification Unknown @@ -16051,22 +16051,442 @@ and POD class Deduction guides cannot have a trailing requires-clause Not resolved - + 2708 - open + DR Parenthesized initialization of arrays - Not resolved + Unknown - + 2709 - open + NAD Parenthesized initialization of reference-to-aggregate - Not resolved + Unknown - + 2710 - open + DR Loops in constant expressions + Unknown + + + 2711 + DR + Source for copy-initializing the exception object + Unknown + + + 2712 + DR + Simplify restrictions on built-in assignment operator candidates + Unknown + + + 2713 + DR + Initialization of reference-to-aggregate from designated initializer list + Unknown + + + 2714 + open + Implicit deduction guides omit properties from the parameter-declaration-clause of a constructor + Not resolved + + + 2715 + DR + "calling function" for parameter initialization may not exist + Unknown + + + 2716 + DR + Rule about self-or-base conversion is normatively redundant + Unknown + + + 2717 + DR + Pack expansion for alignment-specifier + Unknown + + + 2718 + DR + Type completeness for derived-to-base conversions + Unknown + + + 2719 + DR + Creating objects in misaligned storage + Unknown + + + 2720 + DR + Template validity rules for templated entities and alias templates + Unknown + + + 2721 + DR + When exactly is storage reused? + Unknown + + + 2722 + DR + Temporary materialization conversion for noexcept operator + Unknown + + + 2723 + DR + Range of representable values for floating-point types + Unknown + + + 2724 + DR + Clarify rounding for arithmetic right shift + Unknown + + + 2725 + tentatively ready + Overload resolution for non-call of class member access + Unknown + + + 2726 + review + Alternative tokens appearing as attribute-tokens + Not resolved + + + 2727 + open + Importing header units synthesized from source files + Not resolved + + + 2728 + open + Evaluation of conversions in a delete-expression + Not resolved + + + 2729 + DR + Meaning of new-type-id + Unknown + + + 2730 + open + Comparison templates on enumeration types + Not resolved + + + 2731 + open + List-initialization sequence with a user-defined conversion + Not resolved + + + 2732 + DR + Can importable headers react to preprocessor state from point of import? + Unknown + + + 2733 + review + Applying [[maybe_unused]] to a label + Not resolved + + + 2734 + open + Immediate forward-declared function templates + Not resolved + + + 2735 + open + List-initialization and conversions in overload resolution + Not resolved + + + 2736 + open + Standard layout class with empty base class also in first member + Not resolved + + + 2737 + open + Temporary lifetime extension for reference init-captures + Not resolved + + + 2738 + review + "denotes a destructor" is missing specification + Not resolved + + + 2739 + open + Nested requirement not a constant expression + Not resolved + + + 2740 + open + Too many objects have constexpr-unknown type + Not resolved + + + 2741 + open + Implicit conversion sequence from empty list to array of unknown bound + Not resolved + + + 2742 + open + Guaranteed copy elision for brace-initialization from prvalue + Not resolved + + + 2743 + open + Copying non-trivial objects nested within a union + Not resolved + + + 2744 + open + Multiple objects of the same type at the same address + Not resolved + + + 2745 + open + Dependent odr-use in generic lambdas + Not resolved + + + 2746 + open + Checking of default template arguments + Not resolved + + + 2747 + ready + Cannot depend on an already-deleted splice + Unknown + + + 2748 + open + Accessing static data members via null pointer + Not resolved + + + 2749 + tentatively ready + Treatment of "pointer to void" for relational comparisons + Unknown + + + 2750 + DR + construct_at without constructor call + Unknown + + + 2751 + open + Order of destruction for parameters for operator functions + Not resolved + + + 2752 + open + Excess-precision floating-point literals + Not resolved + + + 2753 + tentatively ready + Storage reuse for string literal objects and backing arrays + Unknown + + + 2754 + ready + Using *this in explicit object member functions that are coroutines + Unknown + + + 2755 + ready + Incorrect wording applied by P2738R1 + Unknown + + + 2756 + tentatively ready + Completion of initialization by delegating constructor + Unknown + + + 2757 + open + Deleting or deallocating storage of an object during its construction + Not resolved + + + 2758 + open + What is "access and ambiguity control"? + Not resolved + + + 2759 + open + [[no_unique_address] and common initial sequence + Not resolved + + + 2760 + open + Defaulted constructor that is an immediate function + Not resolved + + + 2761 + open + Implicitly invoking the deleted destructor of an anonymous union member + Not resolved + + + 2762 + open + Type of implicit object parameter + Not resolved + + + 2763 + review + Ignorability of [[noreturn]] during constant evaluation + Not resolved + + + 2764 + open + Use of placeholders affecting name mangling + Not resolved + + + 2765 + open + Address comparisons between potentially non-unique objects during constant evaluation + Not resolved + + + 2766 + open + Repeated evaluation of a string-literal may yield different objects + Not resolved + + + 2767 + open + Non-defining declarations of anonymous unions + Not resolved + + + 2768 + open + Assignment to scalar with a braced-init-list + Not resolved + + + 2769 + open + Substitution into template parameters and default template arguments should be interleaved + Not resolved + + + 2770 + open + Trailing requires-clause can refer to function parameters before they are substituted into + Not resolved + + + 2771 + open + Transformation for unqualified-ids in address operator + Not resolved + + + 2772 + open + Missing Annex C entry for linkage effects of linkage-specification + Not resolved + + + 2773 + open + Naming anonymous union members as class members + Not resolved + + + 2774 + open + Value-dependence of requires-expressions + Not resolved + + + 2775 + open + Unclear argument type for copy of exception object + Not resolved + + + 2776 + open + Substitution failure and implementation limits + Not resolved + + + 2777 + open + Type of id-expression denoting a template parameter object + Not resolved + + + 2778 + open + Trivial destructor does not imply constant destruction + Not resolved + + + 2779 + open + Restrictions on the ordinary literal encoding + Not resolved + + + 2780 + open + reinterpret_cast to reference to function types Not resolved -- cgit v1.1