From c61361d9946f51fe294d873cdd71e42bfcf7b847 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 14 Mar 2018 18:19:41 +0000 Subject: [PATCH] [www] Update C++ DR status to match latest issues list. llvm-svn: 327545 --- clang/www/cxx_dr_status.html | 1092 ++++++++++++++++++++++++++++++------------ 1 file changed, 783 insertions(+), 309 deletions(-) diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index f9a8f59..6afb978 100644 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -937,7 +937,7 @@ 150 - DR + C++17 Template template parameters and default arguments Unknown @@ -1554,11 +1554,11 @@ accessible? Looking up deallocation functions in virtual destructors Yes - - 253 - drafting + + 253 + C++17 Why must empty or fully-initialized const objects be initialized? - Not resolved + Unknown 254 @@ -1921,11 +1921,11 @@ of class templates Class with single conversion function to integral as array size in new Duplicate of 299 (C++11 onwards) - - 314 - drafting + + 314 + C++17 template in base class specifier - Not resolved + Unknown 315 @@ -2095,11 +2095,11 @@ of class templates Terminology: "indirection" versus "dereference" N/A - - 343 - drafting + + 343 + C++17 Make template optional in contexts that require a type - Not resolved + Unknown 344 @@ -2593,11 +2593,11 @@ of class templates Set of candidates for overloaded built-in operator with float operand Yes - - 426 - review + + 426 + C++17 Identically-named variables, one internally and one externally linked, allowed? - Not resolved + Unknown 427 @@ -3615,11 +3615,11 @@ and POD class Exception specifications in templates instantiated from class bodies Duplicate of 1330 - - 596 - open + + 596 + NAD Replacing an exception object - Not resolved + Unknown 597 @@ -3855,11 +3855,11 @@ and POD class Names of constructors and destructors of templates Yes - - 636 - drafting + + 636 + CD4 Dynamic type of objects and aliasing - Not resolved + Unknown 637 @@ -4383,11 +4383,11 @@ and POD class Atomic and non-atomic objects in the memory model Unknown - - 727 - drafting + + 727 + C++17 In-class explicit specializations - Not resolved + Unknown 728 @@ -5235,11 +5235,11 @@ and POD class Explicit conversion functions in direct class initialization Unknown - + 900 - NAD + extension Lifetime of temporaries in range-based for - Unknown + Not resolved 901 @@ -5469,11 +5469,11 @@ and POD class Is this an entity? Unknown - - 943 - open + + 943 + DRWP Is T() a temporary? - Not resolved + Unknown 944 @@ -6267,11 +6267,11 @@ and POD class Grammar does not allow template alias in type-name Unknown - - 1076 - open + + 1076 + DRWP Value categories and lvalue temporaries - Not resolved + Unknown 1077 @@ -7605,11 +7605,11 @@ and POD class Incorrect example in overload resolution Unknown - - 1299 - drafting + + 1299 + DRWP “Temporary objects” vs “temporary expressions” - Not resolved + Unknown 1300 @@ -7871,7 +7871,7 @@ and POD class 1343 - DR + C++17 Sequencing of non-class initialization Unknown @@ -8183,7 +8183,7 @@ and POD class 1395 - DR + C++17 Partial ordering of variadic templates reconsidered Unknown @@ -8949,11 +8949,11 @@ and POD class Access checking for initializer_list array initialization Unknown - - 1523 - drafting + + 1523 + DRWP Point of declaration in range-based for - Not resolved + Unknown 1524 @@ -9544,8 +9544,8 @@ and POD class Not resolved - 1622 - ready + 1622 + C++17 Empty aggregate initializer for union Unknown @@ -9874,8 +9874,8 @@ and POD class Not resolved - 1677 - ready + 1677 + C++17 Constant initialization via aggregate initialization Unknown @@ -10035,11 +10035,11 @@ and POD class Language linkage of names of functions with internal linkage Unknown - - 1704 - drafting + + 1704 + DRWP Type checking in explicit instantiation of variable templates - Not resolved + Unknown 1705 @@ -10071,11 +10071,11 @@ and POD class Stringizing raw string literals containing newline Not resolved - - 1710 - drafting + + 1710 + C++17 Missing template keyword in class-or-decltype - Not resolved + Unknown 1711 @@ -10179,11 +10179,11 @@ and POD class Type of a specialization of a variable template Unknown - - 1728 - drafting + + 1728 + DRWP Type of an explicit instantiation of a variable template - Not resolved + Unknown 1729 @@ -10515,17 +10515,17 @@ and POD class Why are virtual destructors non-trivial? Unknown - - 1784 - concurrency + + 1784 + C++17 Concurrent execution during static local initialization - Not resolved + Unknown - - 1785 - drafting + + 1785 + NAD Conflicting diagnostic requirements for template definitions - Not resolved + Unknown 1786 @@ -10575,11 +10575,11 @@ and POD class thread_local in explicit specializations Unknown - - 1794 - drafting + + 1794 + C++17 template keyword and alias templates - Not resolved + Unknown 1795 @@ -10683,11 +10683,11 @@ and POD class Lookup of deallocation function in a virtual destructor definition Unknown - - 1812 - drafting + + 1812 + C++17 Omission of template in a typename-specifier - Not resolved + Unknown 1813 @@ -10763,7 +10763,7 @@ and POD class 1825 - DR + C++17 Partial ordering between variadic and non-variadic function templates Unknown @@ -10827,11 +10827,11 @@ and POD class Dependent member lookup before < Not resolved - - 1836 - drafting + + 1836 + DRWP Use of class type being defined in trailing-return-type - Not resolved + Unknown 1837 @@ -10972,8 +10972,8 @@ and POD class Not resolved - 1860 - ready + 1860 + C++17 What is a “direct member?” Unknown @@ -10983,11 +10983,11 @@ and POD class Values of a bit-field Unknown - - 1862 - drafting + + 1862 + DR Determining “corresponding members” for friendship - Not resolved + Unknown 1863 @@ -11169,11 +11169,11 @@ and POD class Use of auto in function type Unknown - + 1893 - drafting + tentatively ready Function-style cast with braced-init-lists and empty pack expansions - Not resolved + Unknown 1894 @@ -11249,7 +11249,7 @@ and POD class 1906 - drafting + review Name lookup in member friend declaration Not resolved @@ -11271,11 +11271,11 @@ and POD class Member class template with the same name as the class Yes - + 1910 - drafting + tentatively ready “Shall” requirement applied to runtime behavior - Not resolved + Unknown 1911 @@ -11579,7 +11579,7 @@ and POD class 1961 - DR + C++17 Potentially-concurrent actions within a signal handler Unknown @@ -11709,11 +11709,11 @@ and POD class Deduction extending parameter pack Unknown - + 1983 - drafting + tentatively ready Inappropriate use of virt-specifier - Not resolved + Unknown 1984 @@ -11877,11 +11877,11 @@ and POD class exception-specifications and conversion operators Unknown - - 2011 - drafting + + 2011 + C++17 Unclear effect of reference capture of reference - Not resolved + Unknown 2012 @@ -12087,11 +12087,11 @@ and POD class “Identical” template parameter lists Not resolved - - 2046 - concurrency + + 2046 + C++17 Incomplete thread specifications - Not resolved + Unknown 2047 @@ -12165,11 +12165,11 @@ and POD class More errors from internal-linkage namespaces Not resolved - + 2059 - drafting + tentatively ready Linkage and deduced return types - Not resolved + Unknown 2060 @@ -12297,11 +12297,11 @@ and POD class Example with empty anonymous union member Not resolved - + 2081 - drafting + tentatively ready Deduced return type in redeclaration or specialization of function template - Not resolved + Unknown 2082 @@ -12339,11 +12339,11 @@ and POD class Left shift of negative value by zero bits Not resolved - + 2088 - drafting + tentatively ready Late tiebreakers in partial ordering - Not resolved + Unknown 2089 @@ -12363,11 +12363,11 @@ and POD class Deducing reference non-type template arguments Unknown - + 2092 - drafting + tentatively ready Deduction failure and overload resolution - Not resolved + Unknown 2093 @@ -12377,7 +12377,7 @@ and POD class 2094 - DR + C++17 Trivial copy/move constructor for class with volatile member Clang 5 @@ -12413,7 +12413,7 @@ and POD class 2100 - DR + C++17 Value-dependent address of static data member of class template Unknown @@ -12671,7 +12671,7 @@ and POD class 2143 - DR + C++17 Value-dependency via injected-class-name Unknown @@ -12743,7 +12743,7 @@ and POD class 2155 - DR + C++17 Defining classes and enumerations via using-declarations Unknown @@ -12765,11 +12765,11 @@ and POD class Polymorphic behavior during destruction Not resolved - - 2159 - concurrency + + 2159 + NAD Lambda capture and local thread_local variables - Not resolved + Unknown 2160 @@ -12795,11 +12795,11 @@ and POD class Labels in constexpr functions Unknown - + 2164 - drafting + tentatively ready Name hiding and using-directives - Not resolved + Unknown 2165 @@ -12856,8 +12856,8 @@ and POD class Not resolved - 2174 - ready + 2174 + C++17 Unclear rules for friend definitions in templates Unknown @@ -12873,11 +12873,11 @@ and POD class Destroying the returned object when a destructor throws Unknown - - 2177 - drafting + + 2177 + DR Placement operator delete and parameter copies - Not resolved + Unknown 2178 @@ -12909,11 +12909,11 @@ and POD class Pointer arithmetic in array-like containers Not resolved - - 2183 - review + + 2183 + NAD Problems in description of potential exceptions - Not resolved + Unknown 2184 @@ -12958,8 +12958,8 @@ and POD class Not resolved - 2191 - ready + 2191 + C++17 Incorrect result for noexcept(typeid(v)) Unknown @@ -12969,17 +12969,17 @@ and POD class Constant expressions and order-of-eval undefined behavior Not resolved - - 2193 - open + + 2193 + NAD numeric_limits<int>::radix and digits - Not resolved + Unknown - + 2194 - tentatively ready + review Impossible case in list initialization - Unknown + Not resolved 2195 @@ -12987,39 +12987,39 @@ and POD class Unsolicited reading of trailing volatile members Not resolved - - 2196 - open + + 2196 + C++17 Zero-initialization with virtual base classes - Not resolved + Unknown 2197 - open + review Overload resolution and deleted special member functions Not resolved - 2198 - tentatively ready + 2198 + C++17 Linkage of enumerators Unknown 2199 - open + drafting Typedefs and tags Not resolved - - 2200 - open + + 2200 + NAD Conversions in template argument deduction - Not resolved + Unknown - 2201 - tentatively ready + 2201 + C++17 Cv-qualification of array types Unknown @@ -13031,31 +13031,31 @@ and POD class 2203 - open + drafting Defaulted copy/move constructors and UDCs Not resolved - - 2204 - open + + 2204 + NAD Naming delegated constructors - Not resolved + Unknown - 2205 - ready + 2205 + C++17 Restrictions on use of alignas Unknown - 2206 - tentatively ready + 2206 + C++17 Composite type of object and function pointers Unknown 2207 - open + drafting Alignment of allocation function return value Not resolved @@ -13077,11 +13077,11 @@ and POD class Principal/target constructor confusion Unknown - - 2211 - open + + 2211 + C++17 Hiding by lambda captures and parameters - Not resolved + Unknown 2212 @@ -13091,37 +13091,37 @@ and POD class 2213 - open + drafting Forward declaration of partial specializations Not resolved - 2214 - tentatively ready + 2214 + C++17 Missing requirement on representation of integer values Unknown 2215 - open + review Redundant description of language linkage in function call Not resolved - - 2216 - open + + 2216 + NAD Exception specifications in unevaluated contexts - Not resolved + Unknown - - 2217 - open + + 2217 + NAD constexpr constructors for non-literal types - Not resolved + Unknown - 2218 - ready + 2218 + C++17 Ambiguity and namespace aliases Unknown @@ -13132,76 +13132,76 @@ and POD class Not resolved - 2220 - tentatively ready + 2220 + C++17 Hiding index variable in range-based for Unknown 2221 - open + review Copying volatile objects Not resolved 2222 - open + drafting Additional contexts where instantiation is not required Not resolved 2223 - open + drafting Multiple alignas specifiers Not resolved - 2224 - tentatively ready + 2224 + C++17 Member subobjects and base-class casts Unknown - - 2225 - open + + 2225 + NAD reinterpret_cast to same floating-point type - Not resolved + Unknown - + 2226 - open + tentatively ready Xvalues vs lvalues in conditional expressions - Not resolved + Unknown - + 2227 - open + tentatively ready Destructor access and default member initializers - Not resolved + Unknown 2228 - open + drafting Ambiguity resolution for cast to function type Not resolved - + 2229 - open + tentatively ready Volatile unnamed bit-fields - Not resolved + Unknown - - 2230 - open + + 2230 + NAD Linkage of extern "C" function in unnamed namespace - Not resolved + Unknown - - 2231 - open + + 2231 + NAD Class member access to static data member template - Not resolved + Unknown 2232 @@ -13209,47 +13209,47 @@ and POD class thread_local anonymous unions Not resolved - + 2233 - open + tentatively ready Function parameter packs following default arguments - Not resolved + Unknown - + 2234 - open + tentatively ready Missing rules for simple-template-id as class-name - Not resolved + Unknown - + 2235 - open + tentatively ready Partial ordering and non-dependent types - Not resolved + Unknown 2236 - open + drafting When is an alias template specialization dependent? Not resolved - + 2237 - open + tentatively ready Can a template-id name a constructor? - Not resolved + Unknown - - 2238 - open + + 2238 + NAD Contradictory alignment requirements for allocation - Not resolved + Unknown - - 2239 - open + + 2239 + NAD Sized deallocation with a trivial destructor - Not resolved + Unknown 2240 @@ -13271,7 +13271,7 @@ and POD class 2243 - open + drafting Incorrect use of implicit conversion sequence Not resolved @@ -13293,23 +13293,23 @@ and POD class Access of indirect virtual base class constructors Not resolved - - 2247 - open + + 2247 + C++17 Lambda capture and variable argument list - Not resolved + Unknown - - 2248 - review + + 2248 + C++17 Problems with sized delete - Not resolved + Unknown - + 2249 - open + tentatively ready identifiers and id-expressions - Not resolved + Unknown 2250 @@ -13317,11 +13317,11 @@ and POD class Implicit instantiation, destruction, and TUs Not resolved - - 2251 - review + + 2251 + C++17 Unreachable enumeration list-initialization - Not resolved + Unknown 2252 @@ -13329,23 +13329,23 @@ and POD class Enumeration list-initialization from the same type Not resolved - - 2253 - open + + 2253 + DRWP Unnamed bit-fields and zero-initialization - Not resolved + Unknown - + 2254 - open - Standard-layout classes and unnamed bit-fields - Not resolved + tentatively ready + Standard-layout classes and bit-fields + Unknown - + 2255 - open + tentatively ready Instantiated static data member templates - Not resolved + Unknown 2256 @@ -13366,16 +13366,16 @@ and POD class Not resolved - 2259 - tentatively ready + 2259 + C++17 Unclear context describing ambiguity Unknown - + 2260 - open + tentatively ready Explicit specializations of deleted member functions - Not resolved + Unknown 2261 @@ -13384,8 +13384,8 @@ and POD class Not resolved - 2262 - tentatively ready + 2262 + C++17 Attributes for asm-definition Unknown @@ -13419,66 +13419,540 @@ and POD class Copy-initialization of temporary in reference direct-initialization Not resolved - - 2268 - open + + 2268 + C++17 Unions with mutable members in constant expressions revisited - Not resolved + Unknown - - 2269 - open + + 2269 + dup Additional recursive references in aggregate DMIs - Not resolved + Unknown - 2270 - open + 2270 + extension Non-inline functions and explicit instantiation declarations Not resolved 2271 - DR + C++17 Aliasing this Unknown - - 2272 - open + + 2272 + C++17 Implicit initialization of aggregate members of reference type + Unknown + + + 2273 + DRWP + Inheriting constructors vs implicit default constructor + Unknown + + + 2274 + NAD + Generic lambda capture vs constexpr if + Unknown + + + 2275 + drafting + Type-dependence of function template Not resolved - - 2273 + + 2276 + C++17 + Dependent noexcept and function type-dependence + Unknown + + + 2277 + DRWP + Ambiguity inheriting constructors with default arguments + Unknown + + + 2278 open - Inheriting constructors vs implicit default constructor + Copy elision in constant expressions reconsidered Not resolved - - 2274 + + 2279 + NAD + Multiple attribute-specifiers in one attribute-list + Unknown + + + 2280 + review + Matching a usual deallocation function with placement new + Not resolved + + + 2281 open - Generic lambda capture vs constexpr if + Consistency of aligned operator delete replacement Not resolved - - 2275 + + 2282 + drafting + Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions + Not resolved + + + 2283 + drafting + Missing complete type requirements + Not resolved + + + 2284 open - Type-dependence of function template + Sequencing of braced-init-list arguments Not resolved - - 2276 + + 2285 + tentatively ready + Issues with structured bindings + Unknown + + + 2286 + NAD + Assignment evaluation order + Unknown + + + 2287 + DRWP + Pointer-interconvertibility in non-standard-layout unions + Unknown + + + 2288 + NAD + Contradictory optionality in simple-declaration + Unknown + + + 2289 + drafting + Uniqueness of decomposition declaration names + Not resolved + + + 2290 + DRWP + Unclear specification for overload resolution and deleted special member functions + Unknown + + + 2291 + dup + Implicit conversion sequences in non-call contexts + Unknown + + + 2292 + drafting + simple-template-id is ambiguous between class-name and type-name + Not resolved + + + 2293 + drafting + Requirements for simple-template-id used as a class-name + Not resolved + + + 2294 + drafting + Dependent auto static data members + Not resolved + + + 2295 + extension + Aggregates with deleted defaulted constructors + Not resolved + + + 2296 + extension + Are default argument instantiation failures in the “immediate context”? + Not resolved + + + 2297 + review + Unclear specification of atomic operations + Not resolved + + + 2298 + concurrency + Actions and expression evaluation + Not resolved + + + 2299 + tentatively ready + constexpr vararg functions + Unknown + + + 2300 + drafting + Lambdas in multiple definitions + Not resolved + + + 2301 open - Dependent noexcept and function type-dependence + Value-initialization and constexpr constructor evaluation Not resolved - - 2277 + + 2302 + NAD + Address comparison between different member subobjects + Unknown + + + 2303 open - Ambiguity inheriting constructors with default arguments + Partial ordering and recursive variadic inheritance + Not resolved + + + 2304 + NAD + Incomplete type vs overload resolution + Unknown + + + 2305 + DR + Explicit instantiation of constexpr or inline variable template + Unknown + + + 2306 + open + Nested friend templates of class templates Not resolved + + 2307 + DR + Unclear definition of “equivalent to a nontype template parameter” + Unknown + + + 2308 + open + Structured bindings and lambda capture + Not resolved + + + 2309 + drafting + Restrictions on nested statements within constexpr functions + Not resolved + + + 2310 + open + Type completeness and derived-to-base pointer conversions + Not resolved + + + 2311 + open + Missed case for guaranteed copy elision + Not resolved + + + 2312 + drafting + Structured bindings and mutable + Not resolved + + + 2313 + DR + Redeclaration of structured binding reference variables + Unknown + + + 2314 + dup + Structured bindings and lambda capture + Unknown + + + 2315 + DR + What is the “corresponding special member” of a variant member? + Unknown + + + 2316 + drafting + Simplifying class conversions in conditional expressions + Not resolved + + + 2317 + open + Self-referential default member initializers + Not resolved + + + 2318 + drafting + Nondeduced contexts in deduction from a braced-init-list + Not resolved + + + 2319 + drafting + Nested brace initialization from same type + Not resolved + + + 2320 + extension + constexpr if and boolean conversions + Not resolved + + + 2321 + drafting + Conditional operator and cv-qualified class prvalues + Not resolved + + + 2322 + drafting + Substitution failure and lexical order + Not resolved + + + 2323 + drafting + Expunge POD + Not resolved + + + 2324 + drafting + Size of base class subobject + Not resolved + + + 2325 + drafting + std::launder and reuse of character buffers + Not resolved + + + 2326 + dup + Type deduction with initializer list containing ambiguous functions + Unknown + + + 2327 + drafting + Copy elision for direct-initialization with a conversion function + Not resolved + + + 2328 + open + Unclear presentation style of template argument deduction rules + Not resolved + + + 2329 + drafting + Virtual base classes and generated assignment operators + Not resolved + + + 2330 + drafting + Missing references to variable templates + Not resolved + + + 2331 + drafting + Redundancy in description of class scope + Not resolved + + + 2332 + drafting + template-name as simple-type-name vs injected-class-name + Not resolved + + + 2333 + drafting + Escape sequences in UTF-8 character literals + Not resolved + + + 2334 + open + Creation of objects by typeid + Not resolved + + + 2335 + open + Deduced return types vs member types + Not resolved + + + 2336 + drafting + Destructor characteristics vs potentially-constructed subobjects + Not resolved + + + 2337 + open + Incorrect implication of logic ladder for conversion sequence tiebreakers + Not resolved + + + 2338 + DR + Undefined behavior converting to short enums with fixed underlying types + Unknown + + + 2339 + drafting + Underspecified template arguments in structured bindings + Not resolved + + + 2340 + open + Reference collapsing and structured bindings + Not resolved + + + 2341 + extension + Structured bindings with static storage duration + Not resolved + + + 2342 + DR + Reference reinterpret_cast and pointer-interconvertibility + Unknown + + + 2343 + open + void* non-type template parameters + Not resolved + + + 2344 + open + Redeclaration of names in init-statements + Not resolved + + + 2345 + open + Jumping across initializers in init-statements and conditions + Not resolved + + + 2346 + open + Local variables in default arguments + Not resolved + + + 2347 + open + Passing short scoped enumerations to ellipsis + Not resolved + + + 2348 + open + Non-templated constexpr if + Not resolved + + + 2349 + open + Class/enumeration names vs conditions + Not resolved + + + 2350 + open + Forwarding references and deduction guides + Not resolved + + + 2351 + open + void{} + Not resolved + + + 2352 + open + Similar types and reference binding + Not resolved + + + 2353 + open + Potential results of a member access expression for a static data member + Not resolved + + + 2354 + open + Extended alignment and object representation + Not resolved + + + 2355 + open + Deducing noexcept-specifiers + Not resolved + + + 2356 + tentatively ready + Base class copy and move constructors should not be inherited + Unknown + -- 2.7.4