From b11b087a85dfea1d3f6b8818e6324c0e81e8b731 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 9 Dec 2016 19:11:50 +0000 Subject: [PATCH] cxx_dr_status: update to latest issue list and add a couple more tests. llvm-svn: 289255 --- clang/test/CXX/drs/dr15xx.cpp | 39 ++ clang/test/CXX/drs/dr16xx.cpp | 49 +- clang/www/cxx_dr_status.html | 1076 ++++++++++++++++++++++++--------- 3 files changed, 877 insertions(+), 287 deletions(-) diff --git a/clang/test/CXX/drs/dr15xx.cpp b/clang/test/CXX/drs/dr15xx.cpp index 5c4ea2d84976..fb0d9334f6b6 100644 --- a/clang/test/CXX/drs/dr15xx.cpp +++ b/clang/test/CXX/drs/dr15xx.cpp @@ -179,6 +179,45 @@ struct InheritsCtor : BaseCtor { // expected-note 1+ {{candidate}} }; InheritsCtor II = {{}, 42}; // expected-error {{no matching constructor}} +namespace std_example { + struct A { + explicit A() = default; // expected-note 2{{declared here}} + }; + + struct B : A { + explicit B() = default; // expected-note 2{{declared here}} + }; + + struct C { + explicit C(); // expected-note 2{{declared here}} + }; + + struct D : A { + C c; + explicit D() = default; // expected-note 2{{declared here}} + }; + + template void f() { + T t; // ok + T u{}; // ok + T v = {}; // expected-error 4{{explicit}} + } + template void g() { + void x(T t); // expected-note 4{{parameter}} + x({}); // expected-error 4{{explicit}} + } + + void test() { + f(); // expected-note {{instantiation of}} + f(); // expected-note {{instantiation of}} + f(); // expected-note {{instantiation of}} + f(); // expected-note {{instantiation of}} + g(); // expected-note {{instantiation of}} + g(); // expected-note {{instantiation of}} + g(); // expected-note {{instantiation of}} + g(); // expected-note {{instantiation of}} + } +} #endif // __cplusplus >= 201103L } diff --git a/clang/test/CXX/drs/dr16xx.cpp b/clang/test/CXX/drs/dr16xx.cpp index 65467e35e4d6..02aa5f9909eb 100644 --- a/clang/test/CXX/drs/dr16xx.cpp +++ b/clang/test/CXX/drs/dr16xx.cpp @@ -3,10 +3,6 @@ // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++1z -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -#if __cplusplus < 201103L -// expected-no-diagnostics -#endif - namespace dr1684 { // dr1684: 3.6 #if __cplusplus >= 201103L struct NonLiteral { // expected-note {{because}} @@ -44,6 +40,35 @@ namespace dr1631 { // dr1631: 3.7 #endif } +namespace dr1638 { // dr1638: yes +#if __cplusplus >= 201103L + template struct A { + enum class E; // expected-note {{previous}} + enum class F : T; // expected-note 2{{previous}} + }; + + template<> enum class A::E; + template<> enum class A::E {}; + template<> enum class A::F : int; + template<> enum class A::F : int {}; + + template<> enum class A::E : int; + template<> enum class A::E : int {}; + + template<> enum class A::F; // expected-error {{different underlying type}} + template<> enum class A::E : char; // expected-error {{different underlying type}} + template<> enum class A::F : int; // expected-error {{different underlying type}} + + enum class A::E; // expected-error {{template specialization requires 'template<>'}} expected-error {{nested name specifier}} + template enum class A::E; // expected-error {{enumerations cannot be explicitly instantiated}} + enum class A::E *e; // expected-error {{must use 'enum' not 'enum class'}} + + struct B { + friend enum class A::E; // expected-error {{must use 'enum' not 'enum class'}} + }; +#endif +} + namespace dr1645 { // dr1645: 3.9 #if __cplusplus >= 201103L struct A { // expected-note 2{{candidate}} @@ -60,3 +85,19 @@ namespace dr1645 { // dr1645: 3.9 constexpr B b(0, 0); // expected-error {{ambiguous}} #endif } + +namespace dr1653 { // dr1653: 4.0 c++17 + void f(bool b) { + ++b; + b++; +#if __cplusplus <= 201402L + // expected-warning@-3 {{deprecated}} expected-warning@-2 {{deprecated}} +#else + // expected-error@-5 {{incrementing expression of type bool}} expected-error@-4 {{incrementing expression of type bool}} +#endif + --b; // expected-error {{cannot decrement expression of type bool}} + b--; // expected-error {{cannot decrement expression of type bool}} + b += 1; // ok + b -= 1; // ok + } +} diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index 98c560d5307e..7ec85cd9e589 100644 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -589,7 +589,7 @@ 92 - accepted + WP Should exception-specifications be part of the type system? SVN (C++17 onwards) @@ -1309,8 +1309,8 @@ accessible? Yes - 212 - tentatively ready + 212 + DR Implicit instantiation is not described clearly enough Unknown @@ -1465,8 +1465,8 @@ accessible? Duplicate of 470 - 238 - tentatively ready + 238 + DR Precision and accuracy constraints on floating point Unknown @@ -1489,8 +1489,8 @@ accessible? Yes - 242 - tentatively ready + 242 + DR Interpretation of old-style casts Unknown @@ -1923,7 +1923,7 @@ of class templates 314 - review + drafting template in base class specifier Not resolved @@ -2097,7 +2097,7 @@ of class templates 343 - review + drafting Make template optional in contexts that require a type Not resolved @@ -2595,7 +2595,7 @@ of class templates 426 - drafting + review Identically-named variables, one internally and one externally linked, allowed? Not resolved @@ -6507,11 +6507,11 @@ and POD class C-compatible alignment specification Unknown - - 1116 - drafting + + 1116 + DRWP Aliasing of union members - Not resolved + Unknown 1117 @@ -7457,7 +7457,7 @@ and POD class 1274 - DR + DRWP Common nonterminal for expression and braced-init-list Unknown @@ -7516,8 +7516,8 @@ and POD class Not resolved - 1284 - tentatively ready + 1284 + DR Should the lifetime of an array be independent of that of its elements? Unknown @@ -7585,7 +7585,7 @@ and POD class 1295 CD3 Binding a reference to an rvalue bit-field - Unknown + SVN 1296 @@ -7702,8 +7702,8 @@ and POD class Unknown - 1315 - tentatively ready + 1315 + DR Restrictions on non-type template arguments in partial specializations Unknown @@ -7869,11 +7869,11 @@ and POD class Order of initialization with multiple declarators Not resolved - + 1343 - drafting + tentatively ready Sequencing of non-class initialization - Not resolved + Unknown 1344 @@ -8159,7 +8159,7 @@ and POD class 1391 - DR + DRWP Conversions to parameter types with non-deduced template arguments Unknown @@ -8181,11 +8181,11 @@ and POD class Incomplete types as parameters of deleted functions Unknown - + 1395 - drafting + ready Partial ordering of variadic templates reconsidered - Not resolved + Unknown 1396 @@ -8788,8 +8788,8 @@ and POD class Unknown - 1496 - tentatively ready + 1496 + DR Triviality with deleted and missing default constructors Unknown @@ -8919,11 +8919,11 @@ and POD class Unclear/missing description of behavior during construction/destruction Not resolved - - 1518 - review + + 1518 + DRWP Explicit default constructors and copy-list-initialization - Not resolved + SVN 1519 @@ -9137,7 +9137,7 @@ and POD class 1554 - open + drafting Access and alias templates Not resolved @@ -9640,10 +9640,10 @@ and POD class Unknown - 1638 - tentatively ready + 1638 + DR Declaring an explicit specialization of a scoped enumeration - Unknown + Yes 1639 @@ -9683,7 +9683,7 @@ and POD class 1645 - DR + DRWP Identical inheriting constructors via default arguments Clang 3.9 @@ -9731,9 +9731,9 @@ and POD class 1653 - accepted + WP Removing deprecated increment of bool - Unknown + SVN (C++17 onwards) 1654 @@ -10103,7 +10103,7 @@ and POD class 1715 - DR + DRWP Access and inherited constructor templates Clang 3.9 @@ -10145,7 +10145,7 @@ and POD class 1722 - DR + DRWP Should lambda to function pointer conversion function be noexcept? Unknown @@ -10216,8 +10216,8 @@ and POD class Not resolved - 1734 - ready + 1734 + DR Nontrivial deleted copy functions Unknown @@ -10229,7 +10229,7 @@ and POD class 1736 - DR + DRWP Inheriting constructor templates in a local class Clang 3.9 @@ -10467,11 +10467,11 @@ and POD class Undefined behavior of line splice in raw string literal Unknown - - 1776 - drafting + + 1776 + DRWP Replacement of class objects containing reference members - Not resolved + Unknown 1777 @@ -10577,7 +10577,7 @@ and POD class 1794 - review + drafting template keyword and alias templates Not resolved @@ -10661,7 +10661,7 @@ and POD class 1808 - open + drafting Constructor templates vs default constructors Not resolved @@ -10685,7 +10685,7 @@ and POD class 1812 - review + drafting Omission of template in a typename-specifier Not resolved @@ -10761,11 +10761,11 @@ and POD class Completeness of return type vs point of instantiation Unknown - + 1825 - drafting + ready Partial ordering between variadic and non-variadic function templates - Not resolved + Unknown 1826 @@ -10895,7 +10895,7 @@ and POD class 1847 - DR + DRWP Clarifying compatibility during partial ordering Unknown @@ -10973,15 +10973,15 @@ and POD class 1860 - drafting + review What is a “direct member?” Not resolved - - 1861 - drafting + + 1861 + DRWP Values of a bit-field - Not resolved + Unknown 1862 @@ -10991,7 +10991,7 @@ and POD class 1863 - DR + DRWP Requirements on thrown object type to support std::current_exception() Unknown @@ -11044,8 +11044,8 @@ and POD class Not resolved - 1872 - tentatively ready + 1872 + DR Instantiations of constexpr templates that cannot appear in constant expressions Unknown @@ -11182,8 +11182,8 @@ and POD class Not resolved - 1895 - ready + 1895 + DR Deleted conversions in conditional operator operands Unknown @@ -11231,7 +11231,7 @@ and POD class 1903 - DR + DRWP What declarations are introduced by a non-member using-declaration? Unknown @@ -11255,7 +11255,7 @@ and POD class 1907 - open + drafting using-declarations and default arguments Not resolved @@ -11392,8 +11392,8 @@ and POD class Unknown - 1930 - ready + 1930 + DR init-declarator-list vs member-declarator-list Unknown @@ -11404,8 +11404,8 @@ and POD class Not resolved - 1932 - ready + 1932 + DR Bit-field results of conditional operators Unknown @@ -11459,7 +11459,7 @@ and POD class 1941 - DR + DRWP SFINAE and inherited constructor default arguments Clang 3.9 @@ -11489,7 +11489,7 @@ and POD class 1946 - accepted + WP exception-specifications vs pointer dereference Unknown @@ -11507,7 +11507,7 @@ and POD class 1949 - DR + DRWP “sequenced after” instead of “sequenced before” Unknown @@ -11542,8 +11542,8 @@ and POD class Not resolved - 1955 - ready + 1955 + DR #elif with invalid controlling expression Unknown @@ -11567,7 +11567,7 @@ and POD class 1959 - DR + DRWP Inadvertently inherited copy constructor Clang 3.9 @@ -11577,11 +11577,11 @@ and POD class Visibility of entity named in class-scope using-declaration Unknown - + 1961 - review + ready Potentially-concurrent actions within a signal handler - Not resolved + Unknown 1962 @@ -11663,7 +11663,7 @@ and POD class 1975 - DR + DRWP Permissible declarations for exception-specifications Unknown @@ -11699,7 +11699,7 @@ and POD class 1981 - DR + DRWP Implicit contextual conversions and explicit Unknown @@ -11753,25 +11753,25 @@ and POD class 1990 - DR + DRWP Ambiguity due to optional decl-specifier-seq Unknown 1991 - DR + DRWP Inheriting constructors vs default arguments Clang 3.9 - 1992 - tentatively ready + 1992 + DR new (std::nothrow) int[N] can throw Unknown 1993 - open + drafting Use of template<> defining member of explicit specialization Not resolved @@ -11783,7 +11783,7 @@ and POD class 1995 - accepted + WP exception-specifications and non-type template parameters Unknown @@ -11813,13 +11813,13 @@ and POD class 2000 - DR + DRWP header-name outside #include directive Unknown - 2001 - ready + 2001 + DR non-directive is underspecified Unknown @@ -11837,7 +11837,7 @@ and POD class 2004 - DR + DRWP Unions with mutable members in constant expressions Unknown @@ -11849,7 +11849,7 @@ and POD class 2006 - DR + DRWP Cv-qualified void types Unknown @@ -11860,8 +11860,8 @@ and POD class Not resolved - 2008 - ready + 2008 + DR Default template-arguments underspecified Unknown @@ -11873,19 +11873,19 @@ and POD class 2010 - accepted + WP exception-specifications and conversion operators Unknown 2011 - review + drafting Unclear effect of reference capture of reference Not resolved - 2012 - tentatively ready + 2012 + DR Lifetime of references Unknown @@ -11903,19 +11903,19 @@ and POD class 2015 - DR + DRWP odr-use of deleted virtual functions Unknown 2016 - DR + DRWP Confusing wording in description of conversion function Unknown - 2017 - ready + 2017 + DR Flowing off end is not equivalent to no-expression return Unknown @@ -11927,7 +11927,7 @@ and POD class 2019 - DR + DRWP Member references omitted from description of storage duration Unknown @@ -11943,11 +11943,11 @@ and POD class Function template redeclaration via alias template Unknown - - 2022 - drafting + + 2022 + DRWP Copy elision in constant expressions - Not resolved + Unknown 2023 @@ -11957,7 +11957,7 @@ and POD class 2024 - DR + DRWP Dependent types and unexpanded parameter packs Unknown @@ -11969,13 +11969,13 @@ and POD class 2026 - DR + DRWP Zero-initialization and constexpr Unknown 2027 - DR + DRWP Unclear requirements for multiple alignas specifiers Unknown @@ -11999,19 +11999,19 @@ and POD class 2031 - DR + DRWP Missing incompatibility for && Unknown - 2032 - tentatively ready + 2032 + DR Default template-arguments of variable templates Unknown - 2033 - tentatively ready + 2033 + DR Redundant restriction on partial specialization argument Unknown @@ -12021,11 +12021,11 @@ and POD class Deprecating uncaught_exception() Unknown - - 2035 - review + + 2035 + CD3 Multi-section example is confusing - Not resolved + Unknown 2036 @@ -12040,32 +12040,32 @@ and POD class Not resolved - 2038 - tentatively ready + 2038 + DR Document C++14 incompatibility of new braced deduction rule Unknown - 2039 - tentatively ready + 2039 + DR Constant conversions to bool Unknown - 2040 - tentatively ready + 2040 + DR trailing-return-type no longer ambiguous Unknown - 2041 - tentatively ready + 2041 + DR Namespace for explicit class template specialization Unknown 2042 - open + drafting Exceptions and deallocation functions Not resolved @@ -12076,8 +12076,8 @@ and POD class Not resolved - 2044 - tentatively ready + 2044 + DR decltype(auto) and void Unknown @@ -12094,8 +12094,8 @@ and POD class Not resolved - 2047 - tentatively ready + 2047 + DR Coordinating “throws anything” specifications Unknown @@ -12125,7 +12125,7 @@ and POD class 2052 - DR + DRWP Template argument deduction vs overloaded operators Unknown @@ -12143,7 +12143,7 @@ and POD class 2055 - open + drafting Explicitly-specified non-deduced parameter packs Not resolved @@ -12155,7 +12155,7 @@ and POD class 2057 - open + drafting Template template arguments with default arguments Not resolved @@ -12167,7 +12167,7 @@ and POD class 2059 - open + drafting Linkage and deduced return types Not resolved @@ -12178,8 +12178,8 @@ and POD class Unknown - 2061 - tentatively ready + 2061 + DR Inline namespace after simplifications Unknown @@ -12190,14 +12190,14 @@ and POD class Not resolved - 2063 - tentatively ready + 2063 + DR Type/nontype hiding in class scope Unknown - 2064 - tentatively ready + 2064 + DR Conflicting specifications for dependent decltype-specifiers Unknown @@ -12208,8 +12208,8 @@ and POD class Not resolved - 2066 - tentatively ready + 2066 + DR Does type-dependent imply value-dependent? Unknown @@ -12220,14 +12220,14 @@ and POD class Not resolved - 2068 - tentatively ready + 2068 + DR When can/must a defaulted virtual destructor be defined? Unknown - 2069 - tentatively ready + 2069 + DR Do destructors have names? Unknown @@ -12238,8 +12238,8 @@ and POD class Not resolved - 2071 - tentatively ready + 2071 + DR typedef with no declarator Unknown @@ -12251,7 +12251,7 @@ and POD class 2073 - open + drafting Allocating memory for exception objects Not resolved @@ -12263,19 +12263,19 @@ and POD class 2075 - DR + DRWP Passing short initializer lists to array reference parameters Unknown - - 2076 - open + + 2076 + DRWP List-initialization of arguments for constructor parameters - Not resolved + Unknown 2077 - open + drafting Overload resolution and invalid rvalue-reference initialization Not resolved @@ -12286,8 +12286,8 @@ and POD class Unknown - 2079 - tentatively ready + 2079 + DR [[ appearing in a balanced-token-seq Unknown @@ -12304,26 +12304,26 @@ and POD class Not resolved - 2082 - ready + 2082 + DR Referring to parameters in unevaluated operands of default arguments Unknown 2083 - open + drafting Incorrect cases of odr-use Not resolved - 2084 - ready + 2084 + DR NSDMIs and deleted union default constructors Unknown - 2085 - tentatively ready + 2085 + DR Invalid example of adding special member function via default argument Unknown @@ -12341,7 +12341,7 @@ and POD class 2088 - open + drafting Late tiebreakers in partial ordering Not resolved @@ -12357,39 +12357,39 @@ and POD class Dependency via non-dependent base class Not resolved - - 2091 - open + + 2091 + DRWP Deducing reference non-type template arguments - Not resolved + Unknown 2092 - open + drafting Deduction failure and overload resolution Not resolved - 2093 - ready + 2093 + DR Qualification conversion for pointer-to-member handler matching Unknown - + 2094 - open + tentatively ready Trivial copy/move constructor for class with volatile member - Not resolved + Unknown - 2095 - tentatively ready + 2095 + DR Capturing rvalue references to functions by copy Unknown - 2096 - tentatively ready + 2096 + DR Constraints on literal unions Unknown @@ -12400,26 +12400,26 @@ and POD class Not resolved - 2098 - tentatively ready + 2098 + DR Is uncaught_exceptions() per-thread? Unknown - 2099 - ready + 2099 + DR Inferring the bound of an array static data member Unknown - + 2100 - open + tentatively ready Value-dependent address of static data member of class template - Not resolved + Unknown 2101 - DR + DRWP Incorrect description of type- and value-dependence Unknown @@ -12436,8 +12436,8 @@ and POD class Not resolved - 2104 - tentatively ready + 2104 + DR Internal-linkage constexpr references and ODR requirements Unknown @@ -12448,26 +12448,26 @@ and POD class Not resolved - 2106 - tentatively ready + 2106 + DR Unclear restrictions on use of function-type template arguments Unknown - 2107 - tentatively ready + 2107 + DR Lifetime of temporaries for default arguments in array copying Unknown 2108 - open + drafting Conversions to non-class prvalues in reference initialization Not resolved - 2109 - tentatively ready + 2109 + DR Value dependence underspecified Unknown @@ -12478,8 +12478,8 @@ and POD class Not resolved - 2111 - open + 2111 + extension Array temporaries in reference binding Not resolved @@ -12490,20 +12490,20 @@ and POD class Not resolved - 2113 - tentatively ready + 2113 + DR Incompete specification of types for declarators Unknown - - 2114 - review + + 2114 + CD3 Missing description of incompatibility from aggregate NSDMIs - Not resolved + Unknown 2115 - open + drafting Order of implicit destruction vs release of automatic storage Not resolved @@ -12533,7 +12533,7 @@ and POD class 2120 - DR + DRWP Array as first non-static data member in standard-layout class Unknown @@ -12544,8 +12544,8 @@ and POD class Not resolved - 2122 - tentatively ready + 2122 + DR Glvalues of void type Unknown @@ -12556,8 +12556,8 @@ and POD class Not resolved - 2124 - ready + 2124 + DR Signature of constructor template Unknown @@ -12586,14 +12586,14 @@ and POD class Not resolved - 2129 - tentatively ready + 2129 + DR Non-object prvalues and constant expressions Unknown - 2130 - ready + 2130 + DR Over-aligned types in new-expressions Unknown @@ -12633,17 +12633,17 @@ and POD class Argument-dependent lookup and initializer lists Unknown - - 2137 - drafting + + 2137 + DRWP List-initialization from object of same type - Not resolved + Unknown - - 2138 - open + + 2138 + NAD Explicit member specialization vs implicit instantiation - Not resolved + Unknown 2139 @@ -12652,14 +12652,14 @@ and POD class Unknown - 2140 - tentatively ready + 2140 + DR Lvalue-to-rvalue conversion of std::nullptr_t Unknown - 2141 - tentatively ready + 2141 + DR Ambiguity in new-expression with elaborated-type-specifier Unknown @@ -12671,7 +12671,7 @@ and POD class 2143 - tentatively ready + ready Value-dependency via injected-class-name Unknown @@ -12681,21 +12681,21 @@ and POD class Function/variable declaration ambiguity Not resolved - - 2145 - drafting + + 2145 + DRWP Parenthesized declarator in function definition - Not resolved + Unknown - 2146 - tentatively ready + 2146 + DR Scalar object vs memory location in definition of “unsequenced” Unknown - 2147 - tentatively ready + 2147 + DR Initializer-list arguments and pack deduction Unknown @@ -12711,11 +12711,11 @@ and POD class Brace elision and array length deduction Not resolved - - 2150 - review + + 2150 + CD3 Initializer list array lifetime - Not resolved + Unknown 2151 @@ -12730,32 +12730,32 @@ and POD class Unknown - 2153 - tentatively ready + 2153 + DR pure-specifier in friend declaration Unknown - 2154 - tentatively ready + 2154 + DR Ambiguity of pure-specifier Unknown - + 2155 - review + ready Defining classes and enumerations via using-declarations - Not resolved + Unknown - 2156 - tentatively ready + 2156 + DR Definition of enumeration declared by using-declaration Unknown - 2157 - ready + 2157 + DR Further disambiguation of enumeration elaborated-type-specifier Unknown @@ -12784,14 +12784,14 @@ and POD class Unknown - 2162 - tentatively ready + 2162 + CD3 Capturing this by reference Unknown - 2163 - tentatively ready + 2163 + DR Labels in constexpr functions Unknown @@ -12814,8 +12814,8 @@ and POD class Not resolved - 2167 - tentatively ready + 2167 + DR Non-member references with lifetimes within the current evaluation Unknown @@ -12826,8 +12826,8 @@ and POD class Not resolved - 2169 - open + 2169 + extension Narrowing conversions and overload resolution Not resolved @@ -12837,11 +12837,11 @@ and POD class Unclear definition of odr-use for arrays Not resolved - - 2171 - drafting + + 2171 + DRWP Triviality of copy constructor with less-qualified parameter - Not resolved + Unknown 2172 @@ -12857,19 +12857,19 @@ and POD class 2174 - review + drafting Unclear rules for friend definitions in templates Not resolved - 2175 - tentatively ready + 2175 + DR Ambiguity with attribute in conversion operator declaration Unknown - 2176 - tentatively ready + 2176 + DR Destroying the returned object when a destructor throws Unknown @@ -12879,45 +12879,45 @@ and POD class Placement operator delete and parameter copies Not resolved - - 2178 - open + + 2178 + NAD Substitution of dependent template arguments in default template arguments - Not resolved + Unknown 2179 - open + drafting Required diagnostic for partial specialization after first use Not resolved - 2180 - tentatively ready + 2180 + DR Virtual bases in destructors and defaulted assignment operators Unknown 2181 - open + drafting Normative requirements in an informative Annex Not resolved 2182 - open + drafting Pointer arithmetic in array-like containers Not resolved 2183 - open + review Problems in description of potential exceptions Not resolved 2184 - open + review Missing C compatibility entry for decrement of bool Not resolved @@ -12929,10 +12929,520 @@ and POD class 2186 - open + drafting Unclear point that “preceding initialization” must precede Not resolved + + 2187 + open + Protected members and access via qualified-id + Not resolved + + + 2188 + open + empty-declaration ambiguity + Not resolved + + + 2189 + open + Surrogate call template + Not resolved + + + 2190 + open + Insufficient specification of __has_include + Not resolved + + + 2191 + open + Incorrect result for noexcept(typeid(v)) + Not resolved + + + 2192 + open + Constant expressions and order-of-eval undefined behavior + Not resolved + + + 2193 + open + numeric_limits<int>::radix and digits + Not resolved + + + 2194 + open + Impossible case in list initialization + Not resolved + + + 2195 + open + Unsolicited reading of trailing volatile members + Not resolved + + + 2196 + open + Zero-initialization with virtual base classes + Not resolved + + + 2197 + open + Overload resolution and deleted special member functions + Not resolved + + + 2198 + open + Linkage of enumerators + Not resolved + + + 2199 + open + Typedefs and tags + Not resolved + + + 2200 + open + Conversions in template argument deduction + Not resolved + + + 2201 + open + Cv-qualification of array types + Not resolved + + + 2202 + open + When does default argument instantiation occur? + Not resolved + + + 2203 + open + Defaulted copy/move constructors and UDCs + Not resolved + + + 2204 + open + Naming delegated constructors + Not resolved + + + 2205 + open + Restrictions on use of alignas + Not resolved + + + 2206 + open + Composite type of object and function pointers + Not resolved + + + 2207 + open + Alignment of allocation function return value + Not resolved + + + 2208 + NAD + static_assert-declaration does not declare a member + Unknown + + + 2209 + NAD + Destruction of constructed array elements + Unknown + + + 2210 + NAD + Principal/target constructor confusion + Unknown + + + 2211 + open + Hiding by lambda captures and parameters + Not resolved + + + 2212 + open + Typedef changing linkage after use + Not resolved + + + 2213 + open + Forward declaration of partial specializations + Not resolved + + + 2214 + open + Missing requirement on representation of integer values + Not resolved + + + 2215 + open + Redundant description of language linkage in function call + Not resolved + + + 2216 + open + Exception specifications in unevaluated contexts + Not resolved + + + 2217 + open + constexpr constructors for non-literal types + Not resolved + + + 2218 + open + Ambiguity and namespace aliases + Not resolved + + + 2219 + open + Dynamically-unreachable handlers + Not resolved + + + 2220 + open + Hiding index variable in range-based for + Not resolved + + + 2221 + open + Copying volatile objects + Not resolved + + + 2222 + open + Additional contexts where instantiation is not required + Not resolved + + + 2223 + open + Multiple alignas specifiers + Not resolved + + + 2224 + open + Member subobjects and base-class casts + Not resolved + + + 2225 + open + reinterpret_cast to same floating-point type + Not resolved + + + 2226 + open + Xvalues vs lvalues in conditional expressions + Not resolved + + + 2227 + open + Destructor access and default member initializers + Not resolved + + + 2228 + open + Ambiguity resolution for cast to function type + Not resolved + + + 2229 + open + Volatile unnamed bit-fields + Not resolved + + + 2230 + open + Linkage of extern "C" function in unnamed namespace + Not resolved + + + 2231 + open + Class member access to static data member template + Not resolved + + + 2232 + open + thread_local anonymous unions + Not resolved + + + 2233 + open + Function parameter packs following default arguments + Not resolved + + + 2234 + open + Missing rules for simple-template-id as class-name + Not resolved + + + 2235 + open + Partial ordering and non-dependent types + Not resolved + + + 2236 + open + When is an alias template specialization dependent? + Not resolved + + + 2237 + open + Can a template-id name a constructor? + Not resolved + + + 2238 + open + Contradictory alignment requirements for allocation + Not resolved + + + 2239 + open + Sized deallocation with a trivial destructor + Not resolved + + + 2240 + open + this is not odr-used in a constant expression + Not resolved + + + 2241 + open + Overload resolution is not invoked with a single function + Not resolved + + + 2242 + drafting + ODR violation with constant initialization possibly omitted + Not resolved + + + 2243 + open + Incorrect use of implicit conversion sequence + Not resolved + + + 2244 + open + Base class access in aggregate initialization + Not resolved + + + 2245 + open + Point of instantiation of incomplete class template + Not resolved + + + 2246 + open + Access of indirect virtual base class constructors + Not resolved + + + 2247 + open + Lambda capture and variable argument list + Not resolved + + + 2248 + open + Problems with sized delete + Not resolved + + + 2249 + open + identifiers and id-expressions + Not resolved + + + 2250 + open + Implicit instantiation, destruction, and TUs + Not resolved + + + 2251 + open + Unreachable enumeration list-initialization + Not resolved + + + 2252 + open + Enumeration list-initialization from the same type + Not resolved + + + 2253 + open + Unnamed bit-fields and zero-initialization + Not resolved + + + 2254 + open + Standard-layout classes and unnamed bit-fields + Not resolved + + + 2255 + open + Instantiated static data member templates + Not resolved + + + 2256 + open + Lifetime of trivially-destructible objects + Not resolved + + + 2257 + open + Lifetime extension of references vs exceptions + Not resolved + + + 2258 + open + Storage deallocation during period of destruction + Not resolved + + + 2259 + open + Unclear context describing ambiguity + Not resolved + + + 2260 + open + Explicit specializations of deleted member functions + Not resolved + + + 2261 + open + Explicit instantiation of in-class friend definition + Not resolved + + + 2262 + open + Attributes for asm-definition + Not resolved + + + 2263 + open + Default argument instantiation for friends + Not resolved + + + 2264 + open + Memberwise copying with indeterminate value + Not resolved + + + 2265 + open + Delayed pack expansion and member redeclarations + Not resolved + + + 2266 + open + Has dependent type vs is type-dependent + Not resolved + + + 2267 + open + Copy-initialization of temporary in reference direct-initialization + Not resolved + + + 2268 + open + Unions with mutable members in constant expressions revisited + Not resolved + + + 2269 + open + Additional recursive references in aggregate DMIs + Not resolved + + + 2270 + open + Non-inline functions and explicit instantiation declarations + Not resolved + + + 2271 + ready + Aliasing this + Unknown +