From eeab4518e1d718c2aa09fbe116cd060dac306d56 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 23 Apr 2019 23:48:00 +0000 Subject: [PATCH] C++ DR2387: a variable template declared wtih (or instantiated with) a const-qualified type is not implicitly given internal linkage. But a variable template declared 'static' is. llvm-svn: 359048 --- clang/include/clang/Basic/DiagnosticSemaKinds.td | 2 + clang/lib/AST/Decl.cpp | 81 +- clang/lib/Sema/SemaTemplate.cpp | 52 +- clang/test/CXX/drs/dr0xx.cpp | 7 +- clang/test/CXX/drs/dr17xx.cpp | 2 +- clang/test/CXX/drs/dr23xx.cpp | 26 + clang/test/CXX/module/module.interface/p3.cpp | 2 +- clang/test/CXX/module/module.interface/p5.cpp | 6 +- .../CodeGenCXX/cxx1y-variable-template-linkage.cpp | 54 +- clang/test/SemaCXX/PR10177.cpp | 3 +- clang/test/SemaCXX/warn-unused-filescoped.cpp | 3 +- clang/test/SemaCXX/warn-unused-variables.cpp | 4 +- clang/www/cxx_dr_status.html | 28404 ++++++++++--------- 13 files changed, 14404 insertions(+), 14242 deletions(-) create mode 100644 clang/test/CXX/drs/dr23xx.cpp diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index a44c682..58253ef 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -4384,6 +4384,8 @@ def err_explicit_instantiation_of_typedef : Error< "explicit instantiation of typedef %0">; def err_explicit_instantiation_storage_class : Error< "explicit instantiation cannot have a storage class">; +def err_explicit_instantiation_internal_linkage : Error< + "explicit instantiation declaration of %0 with internal linkage">; def err_explicit_instantiation_not_known : Error< "explicit instantiation of %0 does not refer to a function template, " "variable template, member function, member class, or static data member">; diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index e8201fc4..6401066 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -610,6 +610,18 @@ static LinkageInfo getExternalLinkageFor(const NamedDecl *D) { return LinkageInfo::external(); } +static StorageClass getStorageClass(const Decl *D) { + if (auto *TD = dyn_cast(D)) + D = TD->getTemplatedDecl(); + if (D) { + if (auto *VD = dyn_cast(D)) + return VD->getStorageClass(); + if (auto *FD = dyn_cast(D)) + return FD->getStorageClass(); + } + return SC_None; +} + LinkageInfo LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, LVComputationKind computation, @@ -621,24 +633,28 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, // C++ [basic.link]p3: // A name having namespace scope (3.3.6) has internal linkage if it // is the name of - // - an object, reference, function or function template that is - // explicitly declared static; or, - // (This bullet corresponds to C99 6.2.2p3.) + + if (getStorageClass(D->getCanonicalDecl()) == SC_Static) { + // - a variable, variable template, function, or function template + // that is explicitly declared static; or + // (This bullet corresponds to C99 6.2.2p3.) + return getInternalLinkageFor(D); + } + if (const auto *Var = dyn_cast(D)) { - // Explicitly declared static. - if (Var->getStorageClass() == SC_Static) - return getInternalLinkageFor(Var); - - // - a non-inline, non-volatile object or reference that is explicitly - // declared const or constexpr and neither explicitly declared extern - // nor previously declared to have external linkage; or (there is no - // equivalent in C99) - // The C++ modules TS adds "non-exported" to this list. + // - a non-template variable of non-volatile const-qualified type, unless + // - it is explicitly declared extern, or + // - it is inline or exported, or + // - it was previously declared and the prior declaration did not have + // internal linkage + // (There is no equivalent in C99.) if (Context.getLangOpts().CPlusPlus && Var->getType().isConstQualified() && !Var->getType().isVolatileQualified() && !Var->isInline() && - !isExportedFromModuleInterfaceUnit(Var)) { + !isExportedFromModuleInterfaceUnit(Var) && + !isa(Var) && + !Var->getDescribedVarTemplate()) { const VarDecl *PrevVar = Var->getPreviousDecl(); if (PrevVar) return getLVForDecl(PrevVar, computation); @@ -658,14 +674,6 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, if (PrevVar->getStorageClass() == SC_Static) return getInternalLinkageFor(Var); } - } else if (const FunctionDecl *Function = D->getAsFunction()) { - // C++ [temp]p4: - // A non-member function template can have internal linkage; any - // other template name shall have external linkage. - - // Explicitly declared static. - if (Function->getCanonicalDecl()->getStorageClass() == SC_Static) - return getInternalLinkageFor(Function); } else if (const auto *IFD = dyn_cast(D)) { // - a data member of an anonymous union. const VarDecl *VD = IFD->getVarDecl(); @@ -674,6 +682,8 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, } assert(!isa(D) && "Didn't expect a FieldDecl!"); + // FIXME: This gives internal linkage to names that should have no linkage + // (those not covered by [basic.link]p6). if (D->isInAnonymousNamespace()) { const auto *Var = dyn_cast(D); const auto *Func = dyn_cast(D); @@ -733,10 +743,20 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, // C++ [basic.link]p4: - // A name having namespace scope has external linkage if it is the - // name of + // A name having namespace scope that has not been given internal linkage + // above and that is the name of + // [...bullets...] + // has its linkage determined as follows: + // - if the enclosing namespace has internal linkage, the name has + // internal linkage; [handled above] + // - otherwise, if the declaration of the name is attached to a named + // module and is not exported, the name has module linkage; + // - otherwise, the name has external linkage. + // LV is currently set up to handle the last two bullets. // - // - an object or reference, unless it has internal linkage; or + // The bullets are: + + // - a variable; or if (const auto *Var = dyn_cast(D)) { // GCC applies the following optimization to variables and static // data members, but not to functions: @@ -782,7 +802,7 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, mergeTemplateLV(LV, spec, computation); } - // - a function, unless it has internal linkage; or + // - a function; or } else if (const auto *Function = dyn_cast(D)) { // In theory, we can modify the function's LV by the LV of its // type unless it has C linkage (see comment above about variables @@ -836,7 +856,8 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, mergeTemplateLV(LV, spec, computation); } - // - an enumerator belonging to an enumeration with external linkage; + // FIXME: This is not part of the C++ standard any more. + // - an enumerator belonging to an enumeration with external linkage; or } else if (isa(D)) { LinkageInfo EnumLV = getLVForDecl(cast(D->getDeclContext()), computation); @@ -844,16 +865,16 @@ LinkageComputer::getLVForNamespaceScopeDecl(const NamedDecl *D, return LinkageInfo::none(); LV.merge(EnumLV); - // - a template, unless it is a function template that has - // internal linkage (Clause 14); + // - a template } else if (const auto *temp = dyn_cast(D)) { bool considerVisibility = !hasExplicitVisibilityAlready(computation); LinkageInfo tempLV = getLVForTemplateParameterList(temp->getTemplateParameters(), computation); LV.mergeMaybeWithVisibility(tempLV, considerVisibility); - // - a namespace (7.3), unless it is declared within an unnamed - // namespace. + // An unnamed namespace or a namespace declared directly or indirectly + // within an unnamed namespace has internal linkage. All other namespaces + // have external linkage. // // We handled names in anonymous namespaces above. } else if (isa(D)) { diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 1010370..9c7126d 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -8619,6 +8619,29 @@ static bool CheckExplicitInstantiationScope(Sema &S, NamedDecl *D, return false; } +/// Common checks for whether an explicit instantiation of \p D is valid. +static bool CheckExplicitInstantiation(Sema &S, NamedDecl *D, + SourceLocation InstLoc, + bool WasQualifiedName, + TemplateSpecializationKind TSK) { + // C++ [temp.explicit]p13: + // An explicit instantiation declaration shall not name a specialization of + // a template with internal linkage. + if (TSK == TSK_ExplicitInstantiationDeclaration && + D->getFormalLinkage() == InternalLinkage) { + S.Diag(InstLoc, diag::err_explicit_instantiation_internal_linkage) << D; + return true; + } + + // C++11 [temp.explicit]p3: [DR 275] + // An explicit instantiation shall appear in an enclosing namespace of its + // template. + if (CheckExplicitInstantiationScope(S, D, InstLoc, WasQualifiedName)) + return true; + + return false; +} + /// Determine whether the given scope specifier has a template-id in it. static bool ScopeSpecifierHasTemplateId(const CXXScopeSpec &SS) { if (!SS.isSet()) @@ -8770,13 +8793,8 @@ DeclResult Sema::ActOnExplicitInstantiation( TemplateSpecializationKind PrevDecl_TSK = PrevDecl ? PrevDecl->getTemplateSpecializationKind() : TSK_Undeclared; - // C++0x [temp.explicit]p2: - // [...] An explicit instantiation shall appear in an enclosing - // namespace of its template. [...] - // - // This is C++ DR 275. - if (CheckExplicitInstantiationScope(*this, ClassTemplate, TemplateNameLoc, - SS.isSet())) + if (CheckExplicitInstantiation(*this, ClassTemplate, TemplateNameLoc, + SS.isSet(), TSK)) return true; ClassTemplateSpecializationDecl *Specialization = nullptr; @@ -8999,12 +9017,7 @@ Sema::ActOnExplicitInstantiation(Scope *S, SourceLocation ExternLoc, = ExternLoc.isInvalid()? TSK_ExplicitInstantiationDefinition : TSK_ExplicitInstantiationDeclaration; - // C++0x [temp.explicit]p2: - // [...] An explicit instantiation shall appear in an enclosing - // namespace of its template. [...] - // - // This is C++ DR 275. - CheckExplicitInstantiationScope(*this, Record, NameLoc, true); + CheckExplicitInstantiation(*this, Record, NameLoc, true, TSK); // Verify that it is okay to explicitly instantiate here. CXXRecordDecl *PrevDecl @@ -9235,8 +9248,7 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S, diag::ext_explicit_instantiation_without_qualified_id) << Prev << D.getCXXScopeSpec().getRange(); - // Check the scope of this explicit instantiation. - CheckExplicitInstantiationScope(*this, Prev, D.getIdentifierLoc(), true); + CheckExplicitInstantiation(*this, Prev, D.getIdentifierLoc(), true, TSK); // Verify that it is okay to explicitly instantiate here. TemplateSpecializationKind PrevTSK = Prev->getTemplateSpecializationKind(); @@ -9444,11 +9456,11 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S, diag::ext_explicit_instantiation_without_qualified_id) << Specialization << D.getCXXScopeSpec().getRange(); - CheckExplicitInstantiationScope(*this, - FunTmpl? (NamedDecl *)FunTmpl - : Specialization->getInstantiatedFromMemberFunction(), - D.getIdentifierLoc(), - D.getCXXScopeSpec().isSet()); + CheckExplicitInstantiation( + *this, + FunTmpl ? (NamedDecl *)FunTmpl + : Specialization->getInstantiatedFromMemberFunction(), + D.getIdentifierLoc(), D.getCXXScopeSpec().isSet(), TSK); // FIXME: Create some kind of ExplicitInstantiationDecl here. return (Decl*) nullptr; diff --git a/clang/test/CXX/drs/dr0xx.cpp b/clang/test/CXX/drs/dr0xx.cpp index 911aab1..53bd6f3 100644 --- a/clang/test/CXX/drs/dr0xx.cpp +++ b/clang/test/CXX/drs/dr0xx.cpp @@ -869,18 +869,17 @@ namespace dr68 { // dr68: yes } namespace dr69 { // dr69: yes - template static void f() {} + template static void f() {} // #dr69-f // FIXME: Should we warn here? inline void g() { f(); } - // FIXME: This should be rejected, per [temp.explicit]p11. - extern template void f(); + extern template void f(); // expected-error {{explicit instantiation declaration of 'f' with internal linkage}} #if __cplusplus < 201103L // expected-error@-2 {{C++11 extension}} #endif template struct Q {}; Q<&f > q; #if __cplusplus < 201103L - // expected-error@-2 {{internal linkage}} expected-note@-11 {{here}} + // expected-error@-2 {{internal linkage}} expected-note@#dr69-f {{here}} #endif } diff --git a/clang/test/CXX/drs/dr17xx.cpp b/clang/test/CXX/drs/dr17xx.cpp index 9f67b24..bf7458e 100644 --- a/clang/test/CXX/drs/dr17xx.cpp +++ b/clang/test/CXX/drs/dr17xx.cpp @@ -77,7 +77,7 @@ namespace dr1758 { // dr1758: 3.7 #endif } -namespace dr1722 { // dr1722: 9.0 +namespace dr1722 { // dr1722: 9 #if __cplusplus >= 201103L void f() { const auto lambda = [](int x) { return x + 1; }; diff --git a/clang/test/CXX/drs/dr23xx.cpp b/clang/test/CXX/drs/dr23xx.cpp new file mode 100644 index 0000000..87db0d4 --- /dev/null +++ b/clang/test/CXX/drs/dr23xx.cpp @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -std=c++98 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++11 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++17 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++2a %s -verify -fexceptions -fcxx-exceptions -pedantic-errors + +#if __cplusplus <= 201103L +// expected-no-diagnostics +#endif + +namespace dr2387 { // dr2387: 9 +#if __cplusplus >= 201402L + template int a = 0; + extern template int a<0>; // ok + + template static int b = 0; + extern template int b<0>; // expected-error {{internal linkage}} + + template const int c = 0; + extern template const int c<0>; // ok, has external linkage despite 'const' + + template T d = 0; + extern template int d; + extern template const int d; +#endif +} diff --git a/clang/test/CXX/module/module.interface/p3.cpp b/clang/test/CXX/module/module.interface/p3.cpp index 89c5e08..22a0035 100644 --- a/clang/test/CXX/module/module.interface/p3.cpp +++ b/clang/test/CXX/module/module.interface/p3.cpp @@ -48,7 +48,7 @@ export namespace { int c; } // expected-error {{declaration of 'c' with internal namespace { // expected-note {{here}} export int d; // expected-error {{export declaration appears within anonymous namespace}} } -export template static int e; // FIXME +export template static int e; // expected-error {{declaration of 'e' with internal linkage cannot be exported}} export template static int f(); // expected-error {{declaration of 'f' with internal linkage cannot be exported}} export const int k = 5; export static union { int n; }; // expected-error {{declaration of 'n' with internal linkage cannot be exported}} diff --git a/clang/test/CXX/module/module.interface/p5.cpp b/clang/test/CXX/module/module.interface/p5.cpp index c4299dc..17c4105 100644 --- a/clang/test/CXX/module/module.interface/p5.cpp +++ b/clang/test/CXX/module/module.interface/p5.cpp @@ -14,7 +14,7 @@ static union { int sg1, sg2; }; // expected-note {{target}} namespace NS {} template int ta; -template static int sta; +template static int sta; // expected-note {{target}} template void tb(); template static void stb(); // expected-note {{target}} template struct tc {}; @@ -44,7 +44,7 @@ namespace UnnamedNS { } } -export { // expected-note 18{{here}} +export { // expected-note 19{{here}} using ::a; using ::sa; // expected-error {{using declaration referring to 'sa' with internal linkage}} using ::b; @@ -56,7 +56,7 @@ export { // expected-note 18{{here}} using ::sg1; // expected-error {{using declaration referring to 'sg1' with internal linkage}} using ::ta; - using ::sta; // FIXME {{using declaration referring to 'sta' with internal linkage}} + using ::sta; // expected-error {{using declaration referring to 'sta' with internal linkage}} using ::tb; using ::stb; // expected-error {{using declaration referring to 'stb' with internal linkage}} using ::tc; diff --git a/clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp b/clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp index bc77556..c77841c 100644 --- a/clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp +++ b/clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp @@ -6,21 +6,61 @@ // should be 'internal global' and not 'linkonce_odr global'. template int x = 42; - +// CHECK-DAG: @_Z1xIiE = linkonce_odr global // CHECK-DAG: @_Z1xIZL3foovE3FooE = internal global +// 'static' affects the linkage of the global +template static int y = 42; +// CHECK-DAG: @_ZL1yIiE = internal global +// CHECK-DAG: @_ZL1yIZL3foovE3FooE = internal global + +// 'const' does not +template const int z = 42; +// CHECK-DAG: @_Z1zIiE = linkonce_odr constant +// CHECK-DAG: @_Z1zIZL3foovE3FooE = internal constant + +template T t = 42; +// CHECK-DAG: @_Z1tIiE = linkonce_odr global +// CHECK-DAG: @_Z1tIKiE = linkonce_odr constant + +int mode; + // CHECK-DAG: define internal dereferenceable(4) i32* @_ZL3foov( -static int &foo() { +static const int &foo() { struct Foo { }; - - // CHECK-DAG: ret i32* @_Z1xIZL3foovE3FooE - return x; + + switch (mode) { + case 0: + // CHECK-DAG: @_Z1xIiE + return x; + case 1: + // CHECK-DAG: @_Z1xIZL3foovE3FooE + return x; + case 2: + // CHECK-DAG: @_ZL1yIiE + return y; + case 3: + // CHECK-DAG: @_ZL1yIZL3foovE3FooE + return y; + case 4: + // CHECK-DAG: @_Z1zIiE + return z; + case 5: + // CHECK-DAG: @_Z1zIZL3foovE3FooE + return z; + case 6: + // CHECK-DAG: @_Z1tIiE + return t; + case 7: + // CHECK-DAG: @_Z1tIKiE + return t; + } } #if !__has_feature(cxx_exceptions) // File A // CHECKA-DAG: define dereferenceable(4) i32* @_Z3barv( -int &bar() { +const int &bar() { // CHECKA-DAG: call dereferenceable(4) i32* @_ZL3foov() return foo(); } @@ -28,7 +68,7 @@ int &bar() { #else // File B // CHECKB-DAG: declare dereferenceable(4) i32* @_Z3barv( -int &bar(); +const int &bar(); int main() { // CHECKB-DAG: call dereferenceable(4) i32* @_Z3barv() diff --git a/clang/test/SemaCXX/PR10177.cpp b/clang/test/SemaCXX/PR10177.cpp index 59630be..0d2e792 100644 --- a/clang/test/SemaCXX/PR10177.cpp +++ b/clang/test/SemaCXX/PR10177.cpp @@ -57,11 +57,10 @@ namespace N { } #else -// expected-no-diagnostics namespace { template extern int n; } template int g() { return n; } -namespace { extern template int n; } +namespace { extern template int n; } // expected-error {{explicit instantiation declaration of 'n' with internal linkage}} #endif diff --git a/clang/test/SemaCXX/warn-unused-filescoped.cpp b/clang/test/SemaCXX/warn-unused-filescoped.cpp index 93c6bbd..e052ecb 100644 --- a/clang/test/SemaCXX/warn-unused-filescoped.cpp +++ b/clang/test/SemaCXX/warn-unused-filescoped.cpp @@ -207,8 +207,9 @@ static void completeRedeclChainForTemplateSpecialization() { } // expected-warni namespace test10 { #if __cplusplus >= 201103L +// FIXME: Warn on template definitions with no instantiations? template -constexpr T pi = T(3.14); // expected-warning {{unused}} +constexpr T pi = T(3.14); #endif } diff --git a/clang/test/SemaCXX/warn-unused-variables.cpp b/clang/test/SemaCXX/warn-unused-variables.cpp index a7ac9af..97634ac 100644 --- a/clang/test/SemaCXX/warn-unused-variables.cpp +++ b/clang/test/SemaCXX/warn-unused-variables.cpp @@ -135,7 +135,9 @@ namespace PR19305 { template int m = 0; template int m = 0; - template<> const int m = 0; // expected-warning {{unused variable}} + // This has external linkage, so could be referenced by a declaration in a + // different translation unit. + template<> const int m = 0; // no warning } namespace ctor_with_cleanups { diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index c0f6a9c..8c4de69 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -1,14176 +1,14236 @@ - - - - - - Clang - C++ Defect Report Status - - - - - - - - -
- - -

C++ Defect Report Support in Clang

- -

Last updated: $Date$

- -

C++ defect report implementation status

- -

This page tracks which C++ defect reports are implemented within Clang.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Clang - C++ Defect Report Status + + + + + + + + +
+ + +

C++ Defect Report Support in Clang

+ +

Last updated: $Date$

+ +

C++ defect report implementation status

+ +

This page tracks which C++ defect reports are implemented within Clang.

+ +
NumberStatusIssue titleAvailable in Clang?
1TC1What if two using-declarations refer to the same function but the declarations introduce different default-arguments?No
2draftingHow can dependent names be used in member declarations that appear outside of the class template definition?Not resolved
3NADThe template compilation model rules render some explicit specialization declarations not visible during instantiationYes
4CD1Does extern "C" affect the linkage of function names with internal linkage?Yes
5CD1CV-qualifiers and type conversionsYes
6openShould 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
7NADCan a class with a private virtual base class be derived from?Yes
8CD1Access to template arguments used in a function return type and in the nested name specifierDuplicate of 45
9CD1Clarification of access to base class membersYes
10CD1Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?Duplicate of 45
11CD1How do the keywords typename/template interact with using-declarations?Yes
12dupDefault arguments on different declarations for the same function and the Koenig lookupSuperseded by 239
13NADextern "C" for Parameters of Function TemplatesNo
14NADextern "C" functions and declarations in different namespacesYes
15dupDefault arguments for parameters of function templatesYes
16CD1Access to members of indirect private base classesYes
17NADFootnote 99 should discuss the naming class when describing members that can be accessed from friendsYes
18NADf(TYPE) where TYPE is void should be allowedSuperseded by 577
19NADClarify protected member accessYes
20TC1Some clarifications needed for 12.8 para 15Yes
21TC1Can a default argument for a template parameter appear in a friend declaration?Yes
22TC1Template parameter with a default argument that refers to itselfSuperseded by 481
23NADSome questions regarding partial ordering of function templatesYes
24TC1Errors in examples in 14.7.3N/A
25TC1Exception specifications and pointers to membersYes
26NADCopy constructors and default argumentsYes
27NADOverload ambiguities for builtin ?: prototypesYes
28CD1'exit', 'signal' and static object destructionN/A (Library DR)
29CD1Linkage of locally declared functionsClang 3.4
30TC1Valid uses of "::template"Superseded by 468 (C++11 onwards)
31NADLooking up new/deleteYes
32TC1Clarification of explicit instantiation of non-exported templatesN/A
33TC1Argument dependent lookup and overloaded functionsYes
34NADArgument dependent lookup and points of instantiationN/A
35TC1Definition of default-initializationDuplicate of 178
36openusing-declarations in multiple-declaration contextsNot resolved
37NADWhen is uncaught_exception() true?Superseded by 475
38TC1Explicit template arguments and operator functionsYes
39CD1Conflicting ambiguity rulesNo
40TC1Syntax of declarator-idN/A
41TC1Clarification of lookup of names after declarator-idYes
42NADRedefining names from base classesYes
43TC1Copying base classes (PODs) using memcpyN/A
44CD1Member specializationsSuperseded by 727
45CD1Access to nested classesYes
46NADExplicit instantiation of member templatesYes
47NADTemplate friend issuesSuperseded by 329
48TC1Definitions of unused static membersYes
49TC1Restriction on non-type, non-value template argumentsYes
50NADConverting pointer to incomplete type to same typeYes
51TC1Overloading and user-defined conversionsYes
52TC1Non-static members, member selection and access checkingYes
53TC1Lvalue-to-rvalue conversion before certain static_castsYes
54CD1Static_cast from private base to derived classYes
55NADAdding/subtracting pointer and enumeration valueYes
56TC1Redeclaring typedefs within classesYes
57openEmpty unionsNot resolved
58CD1Signedness of bit fields of enum typeYes
59TC1Clarification of overloading and UDC to reference typeYes
60CD1Reference binding and valid conversion sequencesYes
61NADAddress of static member function "&p->f"Yes
62CD1Unnamed members of classes used as type parametersYes
63CD1Class instantiation from pointer conversion to void*, null and selfYes
64TC1Partial ordering to disambiguate explicit specializationYes
65TC1Typo in default argument exampleN/A
66NADVisibility of default args vs overloads added after using-declarationNo
67TC1Evaluation of left side of object-expressionN/A
68TC1Grammar does not allow "friend class A<int>;"Yes
69TC1Storage class specifiers on template declarationsYes
70CD1Is an array bound a nondeduced context?Yes
71NADIncorrect cross referenceN/A
72dupLinkage and storage class specifiers for templatesDuplicate of 69
73TC1Pointer equalityNo
74TC1Enumeration value in direct-new-declaratorYes
75TC1In-class initialized members must be constYes
76TC1Are const volatile variables considered "constant expressions"?Yes
77CD1The definition of friend does not allow nested classes to be friendsYes
78CD1Section 8.5 paragraph 9 should state it only applies to non-static objectsSuperseded by ????
79dupAlignment and placement newN/A
80TC1Class members with same name as classYes
81NADNull pointers and C compatibilityN/A
82dupDefinition of "using" a constant expressionDuplicate of 48
83TC1Overloading and deprecated conversion of string literalYes
84TC1Overloading and conversion loophole used by auto_ptrYes
85TC1Redeclaration of member classYes
86CD1Lifetime of temporaries in query expressionsDuplicate of 446
87CD1Exception specifications on function parametersNo
88NADSpecialization of member constant templatesYes
89TC1Object lifetime does not account for reference rebindingN/A
90TC1Should the enclosing class be an "associated class" too?Yes
91NADA union's associated types should include the union itselfYes
92CD4Should exception-specifications be part of the type system?Clang 4 (C++17 onwards)
93TC1Missing word in 3.8 basic.life paragraph 2N/A
94TC1Inconsistencies in the descriptions of constant expressionsYes
95NADElaborated type specifiers referencing names declared in friend declsYes
96C++11Syntactic disambiguation using the template keywordNo
97NADUse of bool constants in integral constant expressionsYes
98TC1Branching into try blockYes
99NADPartial ordering, references and cv-qualifiersSuperseded by 214
100TC1Clarify why string literals are not allowed as template argumentsYes
101TC1Redeclaration of extern "C" names via using-declarationsClang 3.5
102NADOperator lookup rules do not work well with parts of the libraryYes
103TC1Is it extended-namespace-definition or extension-namespace-definition ?N/A
104NADDestroying the exception temp when no handler is foundN/A (Library DR)
105TC1Meaning of "template function"N/A
106CD1Creating references to references during template deduction/instantiationSuperseded by 540
107NADLinkage of operator functionsYes
108TC1Are classes nested in templates dependent?Yes
109NADAllowing ::template in using-declarationsYes
110openCan template functions and classes be declared in the same scope?Not resolved
111NADCopy constructors and cv-qualifiersDuplicate of 535
112CD1Array types and cv-qualifiersYes
113CD1Visibility of called functionYes
114NADVirtual overriding by template member function specializationsYes
115CD1Address of template-idYes
116TC1Equivalent and functionally-equivalent function templatesYes
117NADTiming of destruction of temporariesN/A
118CD1Calls via pointers to virtual member functionsYes
119CD1Object lifetime and aggregate initializationN/A
120TC1Nonexistent non-terminal qualified-nameN/A
121TC1Dependent type names with non-dependent nested-name-specifiersYes
122CD1template-ids as unqualified-idsYes
123TC1Bad cross-referenceN/A
124CD1Lifetime of temporaries in default initialization of class arraysDuplicate of 201
125CD1Ambiguity in friend declaration syntaxYes
126TC1Exception specifications and constPartial
127TC1Ambiguity in description of matching deallocation functionYes
128TC1Casting between enum typesYes
129CD3Stability of uninitialized auto variablesDuplicate of 616
130NADSequence points and new-expressionsN/A
131TC1Typo in Lao charactersYes
132NADLocal types and linkageNo
133dupException specifications and checkingDuplicate of 87
134TC1Template classes and declarator-idsN/A
135TC1Class type in in-class member function definitionsYes
136CD1Default arguments and friend declarationsClang 3.4
137TC1static_cast of cv void*Yes
138draftingFriend declaration name lookupNot resolved
139CD1Error in friend lookup exampleYes
140CD1Agreement of parameter declarationsYes
141CD1Non-member function templates in member access expressionsYes
142TC1Injection-related errors in access exampleYes
143CD1Friends and Koenig lookupYes
144openPosition of friend specifierNot resolved
145TC1Deprecation of prefix ++Yes
146openFloating-point zeroNot resolved
147TC1Naming the constructorYes
148TC1POD classes and pointers to membersYes
149TC1Accessibility and ambiguityN/A
150C++17Template template parameters and default argumentsUnknown
151TC1Terminology of zero-initializationYes
152TC1explicit copy constructorsYes
153TC1Misleading wording (rank of conversion)N/A
154NADAnonymous unions in unnamed namespacesYes
155dupBrace initializer for scalarDuplicate of 632
156draftingName lookup for conversion functionsNot resolved
157openOmitted typedef declaratorNot resolved
158CD1Aliasing and qualification conversionsYes
159TC1Namespace qualification in declaratorsClang 3.5
160CD1Missing std:: qualificationN/A
161TC1Access to protected nested typeYes
162CD1(&C::f)() with nonstatic membersNo
163TC1Description of subaggregate initializerN/A
164TC1Overlap between Koenig and normal lookupYes
165NADDefinitions of friends and block-scope externsNo
166TC1Friend declarations of template-idsYes
167NADDeprecating static functionsSuperseded by 1012
168NADC linkage for static member functionsNo
169NADtemplate-ids in using-declarationsYes
170draftingPointer-to-member conversionsNot resolved
171TC1Global namespace scopeYes
172CD1Unsigned int as underlying type of enumYes
173TC1Constraints on execution character setYes
174NADUndeprecating global staticSuperseded by 1012
175CD1Class name injection and base name accessYes
176TC1Name injection and templatesYes
177CD1Lvalues vs rvalues in copy-initializationYes
178TC1More on value-initializationYes
179TC1Function pointers and subtractionYes
180CD1typename and elaborated typesYes
181TC1Errors in template template-parameter exampleYes
182NADAccess checking on explicit specializationsYes
183TC1typename in explicit specializationsSuperseded by 382
184CD1Default arguments in template template-parametersYes
185TC1"Named" temporaries and copy elisionUnknown
186openName hiding and template template-parametersNot resolved
187TC1Scope of template parameter namesSuperseded by 481
188TC1Comma operator and rvalue conversionYes
189draftingDefinition of operator and punctuatorNot resolved
190TC1Layout-compatible POD-struct typesUnknown
191openName lookup does not handle complex nestingNot resolved
192draftingName lookup in parametersNot resolved
193TC1Order of destruction of local automatics of destructorUnknown
194TC1Identifying constructorsYes
195CD1Converting between function and object pointersYes
196openArguments to deallocation functionsNot resolved
197CD1Issues with two-stage lookup of dependent namesYes
198CD1Definition of "use" in local and nested classesYes
199CD1Order of destruction of temporariesUnknown
200dupPartial ordering and explicit argumentsDuplicate of 214
201CD1Order of destruction of temporaries in initializersUnknown
202TC1Use of overloaded function nameYes
203NADType of address-of-member expressionUnknown
204CD1Exported class templatesNo
205draftingTemplates and static data membersNot resolved
206TC1Semantic constraints on non-dependent namesYes
207CD1using-declarations and protected accessYes
208CD1Rethrowing exceptions in nested handlersUnknown
209NAD
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +accessible? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +of class templates + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NumberStatusIssue titleAvailable in Clang?
1TC1What if two using-declarations refer to the same function but the declarations introduce different default-arguments?No
2draftingHow can dependent names be used in member declarations that appear outside of the class template definition?Not resolved
3NADThe template compilation model rules render some explicit specialization declarations not visible during instantiationYes
4CD1Does extern "C" affect the linkage of function names with internal linkage?Yes
5CD1CV-qualifiers and type conversionsYes
6openShould 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
7NADCan a class with a private virtual base class be derived from?Yes
8CD1Access to template arguments used in a function return type and in the nested name specifierDuplicate of 45
9CD1Clarification of access to base class membersYes
10CD1Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?Duplicate of 45
11CD1How do the keywords typename/template interact with using-declarations?Yes
12dupDefault arguments on different declarations for the same function and the Koenig lookupSuperseded by 239
13NADextern "C" for Parameters of Function TemplatesNo
14NADextern "C" functions and declarations in different namespacesYes
15dupDefault arguments for parameters of function templatesYes
16CD1Access to members of indirect private base classesYes
17NADFootnote 99 should discuss the naming class when describing members that can be accessed from friendsYes
18NADf(TYPE) where TYPE is void should be allowedSuperseded by 577
19NADClarify protected member accessYes
20TC1Some clarifications needed for 12.8 para 15Yes
21TC1Can a default argument for a template parameter appear in a friend declaration?Yes
22TC1Template parameter with a default argument that refers to itselfSuperseded by 481
23NADSome questions regarding partial ordering of function templatesYes
24TC1Errors in examples in 14.7.3N/A
25TC1Exception specifications and pointers to membersYes
26NADCopy constructors and default argumentsYes
27NADOverload ambiguities for builtin ?: prototypesYes
28CD1'exit', 'signal' and static object destructionN/A (Library DR)
29CD1Linkage of locally declared functionsClang 3.4
30TC1Valid uses of "::template"Superseded by 468 (C++11 onwards)
31NADLooking up new/deleteYes
32TC1Clarification of explicit instantiation of non-exported templatesN/A
33TC1Argument dependent lookup and overloaded functionsYes
34NADArgument dependent lookup and points of instantiationN/A
35TC1Definition of default-initializationDuplicate of 178
36openusing-declarations in multiple-declaration contextsNot resolved
37NADWhen is uncaught_exception() true?Superseded by 475
38TC1Explicit template arguments and operator functionsYes
39CD1Conflicting ambiguity rulesNo
40TC1Syntax of declarator-idN/A
41TC1Clarification of lookup of names after declarator-idYes
42NADRedefining names from base classesYes
43TC1Copying base classes (PODs) using memcpyN/A
44CD1Member specializationsSuperseded by 727
45CD1Access to nested classesYes
46NADExplicit instantiation of member templatesYes
47NADTemplate friend issuesSuperseded by 329
48TC1Definitions of unused static membersYes
49TC1Restriction on non-type, non-value template argumentsYes
50NADConverting pointer to incomplete type to same typeYes
51TC1Overloading and user-defined conversionsYes
52TC1Non-static members, member selection and access checkingYes
53TC1Lvalue-to-rvalue conversion before certain static_castsYes
54CD1Static_cast from private base to derived classYes
55NADAdding/subtracting pointer and enumeration valueYes
56TC1Redeclaring typedefs within classesYes
57openEmpty unionsNot resolved
58CD1Signedness of bit fields of enum typeYes
59TC1Clarification of overloading and UDC to reference typeYes
60CD1Reference binding and valid conversion sequencesYes
61NADAddress of static member function "&p->f"Yes
62CD1Unnamed members of classes used as type parametersYes
63CD1Class instantiation from pointer conversion to void*, null and selfYes
64TC1Partial ordering to disambiguate explicit specializationYes
65TC1Typo in default argument exampleN/A
66NADVisibility of default args vs overloads added after using-declarationNo
67TC1Evaluation of left side of object-expressionN/A
68TC1Grammar does not allow "friend class A<int>;"Yes
69TC1Storage class specifiers on template declarationsYes
70CD1Is an array bound a nondeduced context?Yes
71NADIncorrect cross referenceN/A
72dupLinkage and storage class specifiers for templatesDuplicate of 69
73TC1Pointer equalityNo
74TC1Enumeration value in direct-new-declaratorYes
75TC1In-class initialized members must be constYes
76TC1Are const volatile variables considered "constant expressions"?Yes
77CD1The definition of friend does not allow nested classes to be friendsYes
78CD1Section 8.5 paragraph 9 should state it only applies to non-static objectsSuperseded by ????
79dupAlignment and placement newN/A
80TC1Class members with same name as classYes
81NADNull pointers and C compatibilityN/A
82dupDefinition of "using" a constant expressionDuplicate of 48
83TC1Overloading and deprecated conversion of string literalYes
84TC1Overloading and conversion loophole used by auto_ptrYes
85TC1Redeclaration of member classYes
86CD1Lifetime of temporaries in query expressionsDuplicate of 446
87CD1Exception specifications on function parametersNo
88NADSpecialization of member constant templatesYes
89TC1Object lifetime does not account for reference rebindingN/A
90TC1Should the enclosing class be an "associated class" too?Yes
91NADA union's associated types should include the union itselfYes
92CD4Should exception-specifications be part of the type system?Clang 4 (C++17 onwards)
93TC1Missing word in 3.8 basic.life paragraph 2N/A
94TC1Inconsistencies in the descriptions of constant expressionsYes
95NADElaborated type specifiers referencing names declared in friend declsYes
96C++11Syntactic disambiguation using the template keywordNo
97NADUse of bool constants in integral constant expressionsYes
98TC1Branching into try blockYes
99NADPartial ordering, references and cv-qualifiersSuperseded by 214
100TC1Clarify why string literals are not allowed as template argumentsYes
101TC1Redeclaration of extern "C" names via using-declarationsClang 3.5
102NADOperator lookup rules do not work well with parts of the libraryYes
103TC1Is it extended-namespace-definition or extension-namespace-definition ?N/A
104NADDestroying the exception temp when no handler is foundN/A (Library DR)
105TC1Meaning of "template function"N/A
106CD1Creating references to references during template deduction/instantiationSuperseded by 540
107NADLinkage of operator functionsYes
108TC1Are classes nested in templates dependent?Yes
109NADAllowing ::template in using-declarationsYes
110openCan template functions and classes be declared in the same scope?Not resolved
111NADCopy constructors and cv-qualifiersDuplicate of 535
112CD1Array types and cv-qualifiersYes
113CD1Visibility of called functionYes
114NADVirtual overriding by template member function specializationsYes
115CD1Address of template-idYes
116TC1Equivalent and functionally-equivalent function templatesYes
117NADTiming of destruction of temporariesN/A
118CD1Calls via pointers to virtual member functionsYes
119CD1Object lifetime and aggregate initializationN/A
120TC1Nonexistent non-terminal qualified-nameN/A
121TC1Dependent type names with non-dependent nested-name-specifiersYes
122CD1template-ids as unqualified-idsYes
123TC1Bad cross-referenceN/A
124CD1Lifetime of temporaries in default initialization of class arraysDuplicate of 201
125CD1Ambiguity in friend declaration syntaxYes
126TC1Exception specifications and constPartial
127TC1Ambiguity in description of matching deallocation functionYes
128TC1Casting between enum typesYes
129CD3Stability of uninitialized auto variablesDuplicate of 616
130NADSequence points and new-expressionsN/A
131TC1Typo in Lao charactersYes
132NADLocal types and linkageNo
133dupException specifications and checkingDuplicate of 87
134TC1Template classes and declarator-idsN/A
135TC1Class type in in-class member function definitionsYes
136CD1Default arguments and friend declarationsClang 3.4
137TC1static_cast of cv void*Yes
138draftingFriend declaration name lookupNot resolved
139CD1Error in friend lookup exampleYes
140CD1Agreement of parameter declarationsYes
141CD1Non-member function templates in member access expressionsYes
142TC1Injection-related errors in access exampleYes
143CD1Friends and Koenig lookupYes
144openPosition of friend specifierNot resolved
145TC1Deprecation of prefix ++Yes
146openFloating-point zeroNot resolved
147TC1Naming the constructorYes
148TC1POD classes and pointers to membersYes
149TC1Accessibility and ambiguityN/A
150C++17Template template parameters and default argumentsUnknown
151TC1Terminology of zero-initializationYes
152TC1explicit copy constructorsYes
153TC1Misleading wording (rank of conversion)N/A
154NADAnonymous unions in unnamed namespacesYes
155dupBrace initializer for scalarDuplicate of 632
156draftingName lookup for conversion functionsNot resolved
157openOmitted typedef declaratorNot resolved
158CD1Aliasing and qualification conversionsYes
159TC1Namespace qualification in declaratorsClang 3.5
160CD1Missing std:: qualificationN/A
161TC1Access to protected nested typeYes
162CD1(&C::f)() with nonstatic membersNo
163TC1Description of subaggregate initializerN/A
164TC1Overlap between Koenig and normal lookupYes
165NADDefinitions of friends and block-scope externsNo
166TC1Friend declarations of template-idsYes
167NADDeprecating static functionsSuperseded by 1012
168NADC linkage for static member functionsNo
169NADtemplate-ids in using-declarationsYes
170draftingPointer-to-member conversionsNot resolved
171TC1Global namespace scopeYes
172CD1Unsigned int as underlying type of enumYes
173TC1Constraints on execution character setYes
174NADUndeprecating global staticSuperseded by 1012
175CD1Class name injection and base name accessYes
176TC1Name injection and templatesYes
177CD1Lvalues vs rvalues in copy-initializationYes
178TC1More on value-initializationYes
179TC1Function pointers and subtractionYes
180CD1typename and elaborated typesYes
181TC1Errors in template template-parameter exampleYes
182NADAccess checking on explicit specializationsYes
183TC1typename in explicit specializationsSuperseded by 382
184CD1Default arguments in template template-parametersYes
185TC1"Named" temporaries and copy elisionUnknown
186openName hiding and template template-parametersNot resolved
187TC1Scope of template parameter namesSuperseded by 481
188TC1Comma operator and rvalue conversionYes
189draftingDefinition of operator and punctuatorNot resolved
190TC1Layout-compatible POD-struct typesUnknown
191openName lookup does not handle complex nestingNot resolved
192draftingName lookup in parametersNot resolved
193TC1Order of destruction of local automatics of destructorUnknown
194TC1Identifying constructorsYes
195CD1Converting between function and object pointersYes
196openArguments to deallocation functionsNot resolved
197CD1Issues with two-stage lookup of dependent namesYes
198CD1Definition of "use" in local and nested classesYes
199CD1Order of destruction of temporariesUnknown
200dupPartial ordering and explicit argumentsDuplicate of 214
201CD1Order of destruction of temporaries in initializersUnknown
202TC1Use of overloaded function nameYes
203NADType of address-of-member expressionUnknown
204CD1Exported class templatesNo
205draftingTemplates and static data membersNot resolved
206TC1Semantic constraints on non-dependent namesYes
207CD1using-declarations and protected accessYes
208CD1Rethrowing exceptions in nested handlersUnknown
209NAD Must friend declaration names be -accessible?Yes
210TC1What is the type matched by an exception handler?Unknown
211NADConstructors should not be allowed to return normally after an exceptionYes
212CD4Implicit instantiation is not described clearly enoughUnknown
213TC1Lookup in dependent base classesYes
214CD1Partial ordering of function templates is underspecifiedYes
215CD1Template parameters are not allowed in nested-name-specifiersYes
216CD1Linkage of nameless class-scope enumeration typesNo
217TC1Default arguments for non-template member functions of class templatesYes
218CD1Specification of Koenig lookupYes
219NADCannot defend against destructors that throw exceptionsN/A
220CD1All deallocation functions should be required not to throwN/A
221CD1Must compound assignment operators be member functions?Yes
222CD1Sequence points and lvalue-returning operatorsDuplicate of 637
223CD3The meaning of deprecationN/A
224CD1Definition of dependent namesNo
225NADKoenig lookup and fundamental typesYes
226CD1Default template arguments for function templatesNo
227TC1How many scopes in an if statement?Yes
228CD1Use of template keyword with non-member templatesYes
229NADPartial specialization of function templatesYes
230NADCalls to pure virtual functionsYes
231NADVisibility of names after using-directivesYes
232draftingIs indirection through a null pointer undefined behavior?Not resolved
233openReferences vs pointers in UDC overload resolutionNot resolved
234NADReuse of base class subobjectsN/A
235TC1Assignment vs initializationN/A
236NADExplicit temporaries and integral constant expressionsYes
237CD1Explicit instantiation and base class membersDuplicate of 470
238CD4Precision and accuracy constraints on floating pointUnknown
239CD1Footnote 116 and Koenig lookupYes
240CD3Uninitialized values and undefined behaviorDuplicate of 616
241TC1Error in example in 14.8.1Yes
242CD4Interpretation of old-style castsUnknown
243NADWeighting of conversion functions in direct-initializationYes
244CD1Destructor lookupPartial
245CD1Name lookup in elaborated-type-specifiersYes
246CD1Jumps in function-try-block handlersYes
247NADPointer-to-member casts and function overload resolutionYes
248C++11Identifier charactersYes (C++11 onwards)
249TC1What is a member function template?Yes
250TC1Address of function template specialization with non-deduced template argumentsYes
251openHow many signed integer types are there?Not resolved
252CD1Looking up deallocation functions in virtual destructorsYes
253C++17Why must empty or fully-initialized const objects be initialized?Unknown
254CD1Definitional problems with elaborated-type-specifiersYes
255draftingPlacement deallocation functions and lookup ambiguityNot resolved
256CD1Overflow in size calculationsDuplicate of 624
257CD2Abstract base constructors and virtual base initializationYes
258CD1using-declarations and cv-qualifiersYes
259CD1Restrictions on explicit specialization and instantiationClang 4
260openUser-defined conversions and built-in operator=Not resolved
261CD1When is a deallocation function "used?"No
262CD1Default arguments and ellipsisYes
263CD1Can a constructor be declared a friend?Yes
264openUnusable template constructors and conversion functionsNot resolved
265dupDestructors, exceptions, and deallocationDuplicate of 353
266NADNo grammar sentence symbolN/A
267openAlignment requirement for new-expressionsNot resolved
268openMacro name suppression in rescanned replacement textNot resolved
269NADYes
210TC1What is the type matched by an exception handler?Unknown
211NADConstructors should not be allowed to return normally after an exceptionYes
212CD4Implicit instantiation is not described clearly enoughUnknown
213TC1Lookup in dependent base classesYes
214CD1Partial ordering of function templates is underspecifiedYes
215CD1Template parameters are not allowed in nested-name-specifiersYes
216CD1Linkage of nameless class-scope enumeration typesNo
217TC1Default arguments for non-template member functions of class templatesYes
218CD1Specification of Koenig lookupYes
219NADCannot defend against destructors that throw exceptionsN/A
220CD1All deallocation functions should be required not to throwN/A
221CD1Must compound assignment operators be member functions?Yes
222CD1Sequence points and lvalue-returning operatorsDuplicate of 637
223CD3The meaning of deprecationN/A
224CD1Definition of dependent namesNo
225NADKoenig lookup and fundamental typesYes
226CD1Default template arguments for function templatesNo
227TC1How many scopes in an if statement?Yes
228CD1Use of template keyword with non-member templatesYes
229NADPartial specialization of function templatesYes
230NADCalls to pure virtual functionsYes
231NADVisibility of names after using-directivesYes
232draftingIs indirection through a null pointer undefined behavior?Not resolved
233openReferences vs pointers in UDC overload resolutionNot resolved
234NADReuse of base class subobjectsN/A
235TC1Assignment vs initializationN/A
236NADExplicit temporaries and integral constant expressionsYes
237CD1Explicit instantiation and base class membersDuplicate of 470
238CD4Precision and accuracy constraints on floating pointUnknown
239CD1Footnote 116 and Koenig lookupYes
240CD3Uninitialized values and undefined behaviorDuplicate of 616
241TC1Error in example in 14.8.1Yes
242CD4Interpretation of old-style castsUnknown
243NADWeighting of conversion functions in direct-initializationYes
244CD1Destructor lookupPartial
245CD1Name lookup in elaborated-type-specifiersYes
246CD1Jumps in function-try-block handlersYes
247NADPointer-to-member casts and function overload resolutionYes
248C++11Identifier charactersYes (C++11 onwards)
249TC1What is a member function template?Yes
250TC1Address of function template specialization with non-deduced template argumentsYes
251openHow many signed integer types are there?Not resolved
252CD1Looking up deallocation functions in virtual destructorsYes
253C++17Why must empty or fully-initialized const objects be initialized?Unknown
254CD1Definitional problems with elaborated-type-specifiersYes
255draftingPlacement deallocation functions and lookup ambiguityNot resolved
256CD1Overflow in size calculationsDuplicate of 624
257CD2Abstract base constructors and virtual base initializationYes
258CD1using-declarations and cv-qualifiersYes
259CD1Restrictions on explicit specialization and instantiationClang 4
260openUser-defined conversions and built-in operator=Not resolved
261CD1When is a deallocation function "used?"No
262CD1Default arguments and ellipsisYes
263CD1Can a constructor be declared a friend?Yes
264openUnusable template constructors and conversion functionsNot resolved
265dupDestructors, exceptions, and deallocationDuplicate of 353
266NADNo grammar sentence symbolN/A
267openAlignment requirement for new-expressionsNot resolved
268openMacro name suppression in rescanned replacement textNot resolved
269NAD Order of initialization of multiply-defined static data members -of class templatesN/A
270CD1Order of initialization of static data members of class templatesN/A
271openExplicit instantiation and template argument deductionNot resolved
272CD1Explicit destructor invocation and qualified-idsYes
273CD1POD classes and operator&()Yes
274CD1Cv-qualification and char-alias access to out-of-lifetime objectsN/A
275CD1Explicit instantiation/specialization and using-directivesNo
276CD1Order of destruction of parameters and temporariesN/A
277CD1Zero-initialization of pointersYes
278openExternal linkage and nameless entitiesNot resolved
279openCorrespondence of "names for linkage purposes"Not resolved
280CD1Access and surrogate call functionsYes
281CD1inline specifier in friend declarationsNo
282openNamespace for extended_type_infoNot resolved
283CD1Template type-parameters are not syntactically type-namesYes
284CD1qualified-ids in class declarationsNo
285NADIdentifying a function template being specializedYes
286CD1Incorrect example in partial specializationYes
287draftingOrder dependencies in template instantiationNot resolved
288CD1Misuse of "static type" in describing pointersN/A
289CD1Incomplete list of contexts requiring a complete typeYes
290NADShould memcpy be allowed into a POD with a const member?N/A
291CD1Overload resolution needed when binding reference to class rvalueDuplicate of 391
292CD3Deallocation on exception in new before arguments evaluatedUnknown
293openSyntax of explicit instantiation/specialization too permissiveNot resolved
294NADCan static_cast drop exception specifications?No
295CD1cv-qualifiers on function typesClang 3.7
296CD1Can conversion functions be static?Yes
297openWhich template does an explicit specialization specialize?Not resolved
298CD1T::x when T is cv-qualifiedYes
299CD1Conversion on array bound expression in newYes (C++11 onwards)
300CD1References to functions in template argument deductionYes
301CD1Syntax for template-nameYes
302CD1Value-initialization and generation of default constructorYes
303NADIntegral promotions on bit-fieldsN/A
304TC1Value-initialization of a referenceYes
305CD1Name lookup in destructor callNo
306CD1Ambiguity by class name injectionNo
307NADInitialization of a virtual base class subobjectN/A
308NADCatching exceptions with ambiguous base classesYes
309CD1Linkage of entities whose names are not simply identifiers, in introductionDuplicate of 485
310openCan function templates differing only in parameter cv-qualifiers be overloaded?Not resolved
311NADUsing qualified name to reopen nested namespaceYes
312CD3“use” of invalid pointer value not definedDuplicate of 616
313dupClass with single conversion function to integral as array size in newDuplicate of 299 (C++11 onwards)
314C++17template in base class specifierUnknown
315NADIs call of static member function through null pointer undefined?N/A
316NADInjected-class-name of template used as template template parameterSuperseded by 1004
317CD1Can a function be declared inline after it has been called?Clang 3.5
318CD1struct A::A should not name the constructor of ASuperseded by 1310
319CD1Use of names without linkage in declaring entities with linkageNo
320CD1Question on copy constructor elision exampleYes
321dupAssociated classes and namespaces for argument-dependent lookupDuplicate of 557
322CD1Deduction of reference conversionsYes
323CD1Where must export appear?No
324CD1Can "&" be applied to assignment to bit-field?Yes
325draftingWhen are default arguments parsed?Not resolved
326CD1Wording for definition of trivial constructorYes
327CD1Use of "structure" without definitionDuplicate of 538
328CD1Missing requirement that class member types be completeYes
329CD1Evaluation of friends of templatesClang 3.5
330CD4Qualification conversions and pointers to arrays of pointersClang 7
331CD1Allowed copy constructor signaturesYes
332CD3cv-qualified void parameter typesDuplicate of 577
333NADAmbiguous use of "declaration" in disambiguation sectionYes
334NADIs a comma-expression dependent if its first operand is?Yes
335CD1Allowing export on template members of nontemplate classesNo
336CD1Explicit specialization examples are still incorrectYes
337CD1Attempt to create array of abtract type should cause deduction to failYes
338openEnumerator name with linkage used as class name in other translation unitNot resolved
339CD1Overload resolution in operand of sizeof in constant expressionYes
340NADUnclear wording in disambiguation sectionYes
341C++11extern "C" namespace member function versus global variableSuperseded by 1708
342CD3Terminology: "indirection" versus "dereference"N/A
343C++17Make template optional in contexts that require a typeUnknown
344CD3Naming destructorsDuplicate of 1435
345CD1Misleading comment on example in templates chapterYes
346NADTypo in 15.4N/A
347NADUse of derived class name in defining base class nested classYes
348CD1delete and user-written deallocation functionsN/A
349CD1Template argument deduction for conversion functions and qualification conversionsNo
350opensigned char underlying representation for objectsNot resolved
351CD1Sequence point error: unspecified or undefined?N/A
352CD1Nondeduced contextsYes
353CD1Is deallocation routine called if destructor throws exception in delete?Unknown
354CD1Null as nontype template argumentYes (C++11 onwards)
355C++11Global-scope :: in nested-name-specifierYes
356NADWording of behavior of generated copy constructor for scalar membersN/A
357CD1Definition of signature should include nameYes
358NADNamespaces and extern "C"Yes
359NADType definition in anonymous unionYes
360openUsing-declaration that reduces accessNot resolved
361openForward reference to default argumentNot resolved
362CD1Order of initialization in instantiation unitsN/A
363NADInitialization of class from selfN/A
364CD1Calling overloaded function with static in set, with no objectYes
365openStorage duration and temporariesNot resolved
366CD1String literal allowed in integral constant expression?Yes
367CD1throw operator allowed in constant expression?Yes
368CD1Uses of non-type parameters that should cause deduction to failYes
369draftingAre new/delete identifiers or preprocessing-op-or-punc?Not resolved
370CD1Can #include <...> form be used other than for standard C++ headers?N/A
371openInterleaving of constructor callsNot resolved
372CD1Is access granted by base class specifiers available in following base class specifiers?No
373C++11Lookup on namespace qualified name in using-directiveClang 5
374CD2Can explicit specialization outside namespace use qualified name?Yes
375dupConfusing example on lookup with typenameDuplicate of 345
376NADClass "definition" versus class "declaration"N/A
377CD1Enum whose enumerators will not fit in any integral typeYes
378CD1Wording that says temporaries are declaredDuplicate of 276
379CD1Change "class declaration" to "class definition"N/A
380openDefinition of "ambiguous base class" missingNot resolved
381CD1Incorrect example of base class member lookupYes
382CD1Allow typename outside of templatesYes (C++11 onwards)
383CD1Is a class with a declared but not defined destructor a POD?Yes
384NADArgument-dependent lookup and operator functionsYes
385CD1How does protected member check of 11.5 interact with using-declarations?Yes
386draftingFriend declaration of name brought in by using-declarationNot resolved
387CD1Errors in example in 14.6.5Yes
388CD3Catching base*& from a throw of derived*Unknown
389CD1Unnamed types in entities with linkageNo
390CD1Pure virtual must be defined when implicitly calledYes
391CD1Require direct binding of short-lived references to rvaluesYes (C++11 onwards)
392CD1Use of full expression lvalue before temporary destructionUnknown
393CD4Pointer to array of unknown bound in template argument list in parameterUnknown
394CD1identifier-list is never definedN/A
395NADConversion operator template syntaxYes
396CD1Misleading note regarding use of auto for disambiguationYes
397CD1Same address for string literals from default arguments in inline functions?Superseded by 1823
398CD1Ambiguous wording on naming a type in deductionYes
399draftingDestructor lookup reduxNot resolved
400CD1Using-declarations and the "struct hack"Yes
401CD1When is access for template parameter default arguments checked?Yes
402openMore on partial ordering of function templatesNot resolved
403CD1Reference to a type as a template-idYes
404CD1Unclear reference to construction with non-trivial constructorN/A
405openUnqualified function name lookupNot resolved
406CD1Static data member in class with name for linkage purposesYes
407C++11Named class with associated typedef: two names or one?Clang 3.8
408CD2sizeof applied to unknown-bound array static data member of templateClang 3.4
409CD1Obsolete paragraph missed by changes for issue 224Yes
410CD1Paragraph missed in changes for issue 166No
411openUse of universal-character-name in character versus string literalsNot resolved
412NADCan a replacement allocation function be inline?Yes
413CD1Definition of "empty class"Yes
414CD1Multiple types found on destructor lookupDuplicate of 305
415CD1Template deduction does not cause instantiationYes
416CD1Class must be complete to allow operator lookup?Yes
417CD1Using derived-class qualified name in out-of-class nested class definitionNo
418openImperfect wording on error on multiple default arguments on a called functionNot resolved
419openCan cast to virtual base class be done on partially-constructed object?Not resolved
420CD1postfixexpression->scalar_type_dtor() inconsistentYes
421CD1Is rvalue.field an rvalue?Yes
422NADIs a typedef redeclaration allowed with a template type that might be the same?Yes
423NADCan a conversion be done on the left operand of a compound assignment?Yes
424CD1Wording problem with issue 56 resolution on redeclaring typedefs in class scopeYes
425CD1Set of candidates for overloaded built-in operator with float operandYes
426C++17Identically-named variables, one internally and one externally linked, allowed?Unknown
427CD1static_cast ambiguity: conversion versus cast to derivedYes
428CD1Mention of expression with reference typeYes
429CD1Matching deallocation function chosen based on syntax or signature?Yes (C++11 onwards)
430CD1Ordering of expression evaluation in initializer listYes (C++11 onwards)
431C++11Defect in wording in 14.2Yes
432CD1Is injected class name visible in base class specifier list?Yes
433CD1Do elaborated type specifiers in templates inject into enclosing namespace scope?Yes
434NADUnclear suppression of standard conversions while binding reference to lvalueYes
435NADChange "declararation or definition" to "declaration"N/A
436CD1Problem in example in 9.6 paragraph 4Yes
437CD1Is type of class allowed in member function exception specification?Superseded by 1308
438CD2Possible flaw in wording for multiple accesses to object between sequence pointsUnknown
439CD1Guarantees on casting pointer back to cv-qualified version of original typeUnknown
440openAllow implicit pointer-to-member conversion on nontype template argumentNot resolved
441CD1Ordering of static reference initializationUnknown
442CD1Incorrect use of null pointer constant in description of delete operatorSuperseded by 348
443CD1Wording nit in description of lifetime of temporariesN/A
444NADOverriding and the generated copy assignment operatorYes
445NADWording issue on friend declarationsYes
446CD1Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?Yes
447CD1Is offsetof type-dependent?Yes
448C++11Set of template functions in call with dependent explicit argumentYes
449NADConsistency in use of hyphen with names of "non" entitiesN/A
450CD1Binding a reference to const to a cv-qualified array rvalueYes
451CD1Expressions with invalid results and ill-formednessYes
452CD1Wording nit on description of thisYes
453draftingReferences may only bind to “valid” objectsNot resolved
454CD1When is a definition of a static data member required?Unknown
455draftingPartial ordering and non-deduced argumentsNot resolved
456NADIs initialized const int or const bool variable a null pointer constant?Yes
457CD1Wording nit on use of const variables in constant expressionsYes
458C++11Hiding of member template parameters by other membersNo
459openHiding of template parameters by base class membersNot resolved
460CD1Can a using-declaration name a namespace?Yes
461NADMake asm conditionally-supportedN/A
462CD3Lifetime of temporaries bound to comma expressionsUnknown
463CD1reinterpret_cast<T*>(0)N/A
464CD1Wording nit on lifetime of temporaries to which references are boundN/A
465NADMay constructors of global objects call exit()?N/A
466CD1cv-qualifiers on pseudo-destructor typeNo
467NADJump past initialization of local static variableYes
468CD1Allow ::template outside of templatesYes (C++11 onwards)
469NADConst template specializations and reference argumentsNo
470CD1Instantiation of members of an explicitly-instantiated class templateYes
471NADConflicting inherited access specificationsYes
472draftingCasting across protected inheritanceNot resolved
473openBlock-scope declarations of allocator functionsNot resolved
474CD1Block-scope extern declarations in namespace membersYes
475C++11When is std::uncaught_exception() true? (take 2)Unknown
476extensionDetermining the buffer size for placement newNot resolved
477CD1Can virtual appear in a friend declaration?Clang 3.5
478NADMay a function parameter be an array of an abstract class type?Yes
479CD1Copy elision in exception handlingYes
480CD1Is a base of a virtual base also virtual?Yes
481CD2Scope of template parametersYes
482CD3Qualified declarators in redeclarationsClang 3.5
483CD3Normative requirements on integral rangesYes
484CD1Can a base-specifier name a cv-qualified class type?Yes
485CD1What is a “name”?Yes
486CD1Invalid return types and template argument deductionYes
487NADOperator overloading in constant expressionsYes
488CD1Local types, overload resolution, and template argument deductionYes (C++11 onwards)
489NADMust member function templates be instantiated during overload resolution?N/A
490CD2Name lookup in friend declarationsYes
491CD1Initializers for empty-class aggregrate membersDuplicate of 413
492CD1typeid constness inconsistent with exampleUnknown
493CD2Type deduction from a bool contextDuplicate of 976
494CD1Problems with the resolution of issue 45Duplicate of 372
495CD2Overload resolution with template and non-template conversion functionsClang 3.5
496CD3Is a volatile-qualified type really a POD?Superseded by 2094
497CD1Missing required initialization in exampleSuperseded by 253
498openStorage class specifiers in definitions of class membersNot resolved
499CD2Throwing an array of unknown sizeYes
500CD1Access in base-specifiers of friend and nested classesDuplicate of 372
501NADVisibility of friend declarations within the befriending classYes
502C++11Dependency of nested enumerations and enumeratorsYes
503openCv-qualified function types in template argument deductionNot resolved
504openShould use of a variable in its own initializer require a diagnostic?Not resolved
505CD1Conditionally-supported behavior for unknown character escapesYes
506CD1Conditionally-supported behavior for non-POD objects passed to ellipsisYes
507dupAmbiguity assigning class object to built-in typeDuplicate of 260
508C++11Non-constructed value-initialized objectsN/A
509CD1Dead code in the specification of default initializationN/A
510CD1Default initialization of POD classes?N/A
511openPOD-structs with template assignment operatorsNot resolved
512NADUnion members with user-declared non-default constructorsYes
513CD1Non-class “most-derived” objectsN/A
514CD1Is the initializer for a namespace member in the scope of the namespace?Yes
515CD1Non-dependent references to base class membersSuperseded by 1017
516CD1Use of signed in bit-field declarationsN/A
517CD1Partial specialization following explicit instantiationNo
518CD1Trailing comma following enumerator-listYes (C++11 onwards)
519CD1Null pointer preservation in void* conversionsYes
520CD1Old-style casts between incomplete class typesN/A
521CD1Requirements for exceptions thrown by allocation functionsNo
522CD1Array-to-pointer decay in template argument deductionYes
523openCan a one-past-the-end pointer be invalidated by deleting an adjacent object?Not resolved
524CD1Can function-notation calls to operator functions be dependent?Yes
525CD1Missing * in exampleYes
526CD1Confusing aspects in the specification of non-deduced contextsYes
527CD2Problems with linkage of typesN/A
528openWhy are incomplete class types not allowed with typeid?Not resolved
529draftingUse of template<> with “explicitly-specialized” class templatesNot resolved
530CD1Nontype template arguments in constant expressionsYes
531C++11Defining members of explicit specializationsPartial
532C++11Member/nonmember operator template partial orderingClang 3.5
533NADSpecial treatment for C-style header namesN/A
534CD1template-names and operator-function-idsYes
535CD3Copy construction without a copy constructorYes
536draftingProblems in the description of id-expressionsNot resolved
537CD1Definition of “signature”N/A
538CD1N/A
270CD1Order of initialization of static data members of class templatesN/A
271openExplicit instantiation and template argument deductionNot resolved
272CD1Explicit destructor invocation and qualified-idsYes
273CD1POD classes and operator&()Yes
274CD1Cv-qualification and char-alias access to out-of-lifetime objectsN/A
275CD1Explicit instantiation/specialization and using-directivesNo
276CD1Order of destruction of parameters and temporariesN/A
277CD1Zero-initialization of pointersYes
278openExternal linkage and nameless entitiesNot resolved
279openCorrespondence of "names for linkage purposes"Not resolved
280CD1Access and surrogate call functionsYes
281CD1inline specifier in friend declarationsNo
282openNamespace for extended_type_infoNot resolved
283CD1Template type-parameters are not syntactically type-namesYes
284CD1qualified-ids in class declarationsNo
285NADIdentifying a function template being specializedYes
286CD1Incorrect example in partial specializationYes
287draftingOrder dependencies in template instantiationNot resolved
288CD1Misuse of "static type" in describing pointersN/A
289CD1Incomplete list of contexts requiring a complete typeYes
290NADShould memcpy be allowed into a POD with a const member?N/A
291CD1Overload resolution needed when binding reference to class rvalueDuplicate of 391
292CD3Deallocation on exception in new before arguments evaluatedUnknown
293openSyntax of explicit instantiation/specialization too permissiveNot resolved
294NADCan static_cast drop exception specifications?No
295CD1cv-qualifiers on function typesClang 3.7
296CD1Can conversion functions be static?Yes
297openWhich template does an explicit specialization specialize?Not resolved
298CD1T::x when T is cv-qualifiedYes
299CD1Conversion on array bound expression in newYes (C++11 onwards)
300CD1References to functions in template argument deductionYes
301CD1Syntax for template-nameYes
302CD1Value-initialization and generation of default constructorYes
303NADIntegral promotions on bit-fieldsN/A
304TC1Value-initialization of a referenceYes
305CD1Name lookup in destructor callNo
306CD1Ambiguity by class name injectionNo
307NADInitialization of a virtual base class subobjectN/A
308NADCatching exceptions with ambiguous base classesYes
309CD1Linkage of entities whose names are not simply identifiers, in introductionDuplicate of 485
310openCan function templates differing only in parameter cv-qualifiers be overloaded?Not resolved
311NADUsing qualified name to reopen nested namespaceYes
312CD3“use” of invalid pointer value not definedDuplicate of 616
313dupClass with single conversion function to integral as array size in newDuplicate of 299 (C++11 onwards)
314C++17template in base class specifierUnknown
315NADIs call of static member function through null pointer undefined?N/A
316NADInjected-class-name of template used as template template parameterSuperseded by 1004
317CD1Can a function be declared inline after it has been called?Clang 3.5
318CD1struct A::A should not name the constructor of ASuperseded by 1310
319CD1Use of names without linkage in declaring entities with linkageNo
320CD1Question on copy constructor elision exampleYes
321dupAssociated classes and namespaces for argument-dependent lookupDuplicate of 557
322CD1Deduction of reference conversionsYes
323CD1Where must export appear?No
324CD1Can "&" be applied to assignment to bit-field?Yes
325draftingWhen are default arguments parsed?Not resolved
326CD1Wording for definition of trivial constructorYes
327CD1Use of "structure" without definitionDuplicate of 538
328CD1Missing requirement that class member types be completeYes
329CD1Evaluation of friends of templatesClang 3.5
330CD4Qualification conversions and pointers to arrays of pointersClang 7
331CD1Allowed copy constructor signaturesYes
332CD3cv-qualified void parameter typesDuplicate of 577
333NADAmbiguous use of "declaration" in disambiguation sectionYes
334NADIs a comma-expression dependent if its first operand is?Yes
335CD1Allowing export on template members of nontemplate classesNo
336CD1Explicit specialization examples are still incorrectYes
337CD1Attempt to create array of abtract type should cause deduction to failYes
338openEnumerator name with linkage used as class name in other translation unitNot resolved
339CD1Overload resolution in operand of sizeof in constant expressionYes
340NADUnclear wording in disambiguation sectionYes
341C++11extern "C" namespace member function versus global variableSuperseded by 1708
342CD3Terminology: "indirection" versus "dereference"N/A
343C++17Make template optional in contexts that require a typeUnknown
344CD3Naming destructorsDuplicate of 1435
345CD1Misleading comment on example in templates chapterYes
346NADTypo in 15.4N/A
347NADUse of derived class name in defining base class nested classYes
348CD1delete and user-written deallocation functionsN/A
349CD1Template argument deduction for conversion functions and qualification conversionsNo
350opensigned char underlying representation for objectsNot resolved
351CD1Sequence point error: unspecified or undefined?N/A
352CD1Nondeduced contextsYes
353CD1Is deallocation routine called if destructor throws exception in delete?Unknown
354CD1Null as nontype template argumentYes (C++11 onwards)
355C++11Global-scope :: in nested-name-specifierYes
356NADWording of behavior of generated copy constructor for scalar membersN/A
357CD1Definition of signature should include nameYes
358NADNamespaces and extern "C"Yes
359NADType definition in anonymous unionYes
360openUsing-declaration that reduces accessNot resolved
361openForward reference to default argumentNot resolved
362CD1Order of initialization in instantiation unitsN/A
363NADInitialization of class from selfN/A
364CD1Calling overloaded function with static in set, with no objectYes
365openStorage duration and temporariesNot resolved
366CD1String literal allowed in integral constant expression?Yes
367CD1throw operator allowed in constant expression?Yes
368CD1Uses of non-type parameters that should cause deduction to failYes
369draftingAre new/delete identifiers or preprocessing-op-or-punc?Not resolved
370CD1Can #include <...> form be used other than for standard C++ headers?N/A
371openInterleaving of constructor callsNot resolved
372CD1Is access granted by base class specifiers available in following base class specifiers?No
373C++11Lookup on namespace qualified name in using-directiveClang 5
374CD2Can explicit specialization outside namespace use qualified name?Yes
375dupConfusing example on lookup with typenameDuplicate of 345
376NADClass "definition" versus class "declaration"N/A
377CD1Enum whose enumerators will not fit in any integral typeYes
378CD1Wording that says temporaries are declaredDuplicate of 276
379CD1Change "class declaration" to "class definition"N/A
380openDefinition of "ambiguous base class" missingNot resolved
381CD1Incorrect example of base class member lookupYes
382CD1Allow typename outside of templatesYes (C++11 onwards)
383CD1Is a class with a declared but not defined destructor a POD?Yes
384NADArgument-dependent lookup and operator functionsYes
385CD1How does protected member check of 11.5 interact with using-declarations?Yes
386draftingFriend declaration of name brought in by using-declarationNot resolved
387CD1Errors in example in 14.6.5Yes
388CD3Catching base*& from a throw of derived*Unknown
389CD1Unnamed types in entities with linkageNo
390CD1Pure virtual must be defined when implicitly calledYes
391CD1Require direct binding of short-lived references to rvaluesYes (C++11 onwards)
392CD1Use of full expression lvalue before temporary destructionUnknown
393CD4Pointer to array of unknown bound in template argument list in parameterUnknown
394CD1identifier-list is never definedN/A
395NADConversion operator template syntaxYes
396CD1Misleading note regarding use of auto for disambiguationYes
397CD1Same address for string literals from default arguments in inline functions?Superseded by 1823
398CD1Ambiguous wording on naming a type in deductionYes
399draftingDestructor lookup reduxNot resolved
400CD1Using-declarations and the "struct hack"Yes
401CD1When is access for template parameter default arguments checked?Yes
402openMore on partial ordering of function templatesNot resolved
403CD1Reference to a type as a template-idYes
404CD1Unclear reference to construction with non-trivial constructorN/A
405openUnqualified function name lookupNot resolved
406CD1Static data member in class with name for linkage purposesYes
407C++11Named class with associated typedef: two names or one?Clang 3.8
408CD2sizeof applied to unknown-bound array static data member of templateClang 3.4
409CD1Obsolete paragraph missed by changes for issue 224Yes
410CD1Paragraph missed in changes for issue 166No
411openUse of universal-character-name in character versus string literalsNot resolved
412NADCan a replacement allocation function be inline?Yes
413CD1Definition of "empty class"Yes
414CD1Multiple types found on destructor lookupDuplicate of 305
415CD1Template deduction does not cause instantiationYes
416CD1Class must be complete to allow operator lookup?Yes
417CD1Using derived-class qualified name in out-of-class nested class definitionNo
418openImperfect wording on error on multiple default arguments on a called functionNot resolved
419openCan cast to virtual base class be done on partially-constructed object?Not resolved
420CD1postfixexpression->scalar_type_dtor() inconsistentYes
421CD1Is rvalue.field an rvalue?Yes
422NADIs a typedef redeclaration allowed with a template type that might be the same?Yes
423NADCan a conversion be done on the left operand of a compound assignment?Yes
424CD1Wording problem with issue 56 resolution on redeclaring typedefs in class scopeYes
425CD1Set of candidates for overloaded built-in operator with float operandYes
426C++17Identically-named variables, one internally and one externally linked, allowed?Unknown
427CD1static_cast ambiguity: conversion versus cast to derivedYes
428CD1Mention of expression with reference typeYes
429CD1Matching deallocation function chosen based on syntax or signature?Yes (C++11 onwards)
430CD1Ordering of expression evaluation in initializer listYes (C++11 onwards)
431C++11Defect in wording in 14.2Yes
432CD1Is injected class name visible in base class specifier list?Yes
433CD1Do elaborated type specifiers in templates inject into enclosing namespace scope?Yes
434NADUnclear suppression of standard conversions while binding reference to lvalueYes
435NADChange "declararation or definition" to "declaration"N/A
436CD1Problem in example in 9.6 paragraph 4Yes
437CD1Is type of class allowed in member function exception specification?Superseded by 1308
438CD2Possible flaw in wording for multiple accesses to object between sequence pointsUnknown
439CD1Guarantees on casting pointer back to cv-qualified version of original typeUnknown
440openAllow implicit pointer-to-member conversion on nontype template argumentNot resolved
441CD1Ordering of static reference initializationUnknown
442CD1Incorrect use of null pointer constant in description of delete operatorSuperseded by 348
443CD1Wording nit in description of lifetime of temporariesN/A
444NADOverriding and the generated copy assignment operatorYes
445NADWording issue on friend declarationsYes
446CD1Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?Yes
447CD1Is offsetof type-dependent?Yes
448C++11Set of template functions in call with dependent explicit argumentYes
449NADConsistency in use of hyphen with names of "non" entitiesN/A
450CD1Binding a reference to const to a cv-qualified array rvalueYes
451CD1Expressions with invalid results and ill-formednessYes
452CD1Wording nit on description of thisYes
453draftingReferences may only bind to “valid” objectsNot resolved
454CD1When is a definition of a static data member required?Unknown
455draftingPartial ordering and non-deduced argumentsNot resolved
456NADIs initialized const int or const bool variable a null pointer constant?Yes
457CD1Wording nit on use of const variables in constant expressionsYes
458C++11Hiding of member template parameters by other membersNo
459openHiding of template parameters by base class membersNot resolved
460CD1Can a using-declaration name a namespace?Yes
461NADMake asm conditionally-supportedN/A
462CD3Lifetime of temporaries bound to comma expressionsUnknown
463CD1reinterpret_cast<T*>(0)N/A
464CD1Wording nit on lifetime of temporaries to which references are boundN/A
465NADMay constructors of global objects call exit()?N/A
466CD1cv-qualifiers on pseudo-destructor typeNo
467NADJump past initialization of local static variableYes
468CD1Allow ::template outside of templatesYes (C++11 onwards)
469NADConst template specializations and reference argumentsNo
470CD1Instantiation of members of an explicitly-instantiated class templateYes
471NADConflicting inherited access specificationsYes
472draftingCasting across protected inheritanceNot resolved
473openBlock-scope declarations of allocator functionsNot resolved
474CD1Block-scope extern declarations in namespace membersYes
475C++11When is std::uncaught_exception() true? (take 2)Unknown
476extensionDetermining the buffer size for placement newNot resolved
477CD1Can virtual appear in a friend declaration?Clang 3.5
478NADMay a function parameter be an array of an abstract class type?Yes
479CD1Copy elision in exception handlingYes
480CD1Is a base of a virtual base also virtual?Yes
481CD2Scope of template parametersYes
482CD3Qualified declarators in redeclarationsClang 3.5
483CD3Normative requirements on integral rangesYes
484CD1Can a base-specifier name a cv-qualified class type?Yes
485CD1What is a “name”?Yes
486CD1Invalid return types and template argument deductionYes
487NADOperator overloading in constant expressionsYes
488CD1Local types, overload resolution, and template argument deductionYes (C++11 onwards)
489NADMust member function templates be instantiated during overload resolution?N/A
490CD2Name lookup in friend declarationsYes
491CD1Initializers for empty-class aggregrate membersDuplicate of 413
492CD1typeid constness inconsistent with exampleUnknown
493CD2Type deduction from a bool contextDuplicate of 976
494CD1Problems with the resolution of issue 45Duplicate of 372
495CD2Overload resolution with template and non-template conversion functionsClang 3.5
496CD3Is a volatile-qualified type really a POD?Superseded by 2094
497CD1Missing required initialization in exampleSuperseded by 253
498openStorage class specifiers in definitions of class membersNot resolved
499CD2Throwing an array of unknown sizeYes
500CD1Access in base-specifiers of friend and nested classesDuplicate of 372
501NADVisibility of friend declarations within the befriending classYes
502C++11Dependency of nested enumerations and enumeratorsYes
503openCv-qualified function types in template argument deductionNot resolved
504openShould use of a variable in its own initializer require a diagnostic?Not resolved
505CD1Conditionally-supported behavior for unknown character escapesYes
506CD1Conditionally-supported behavior for non-POD objects passed to ellipsisYes
507dupAmbiguity assigning class object to built-in typeDuplicate of 260
508C++11Non-constructed value-initialized objectsN/A
509CD1Dead code in the specification of default initializationN/A
510CD1Default initialization of POD classes?N/A
511openPOD-structs with template assignment operatorsNot resolved
512NADUnion members with user-declared non-default constructorsYes
513CD1Non-class “most-derived” objectsN/A
514CD1Is the initializer for a namespace member in the scope of the namespace?Yes
515CD1Non-dependent references to base class membersSuperseded by 1017
516CD1Use of signed in bit-field declarationsN/A
517CD1Partial specialization following explicit instantiationNo
518CD1Trailing comma following enumerator-listYes (C++11 onwards)
519CD1Null pointer preservation in void* conversionsYes
520CD1Old-style casts between incomplete class typesN/A
521CD1Requirements for exceptions thrown by allocation functionsNo
522CD1Array-to-pointer decay in template argument deductionYes
523openCan a one-past-the-end pointer be invalidated by deleting an adjacent object?Not resolved
524CD1Can function-notation calls to operator functions be dependent?Yes
525CD1Missing * in exampleYes
526CD1Confusing aspects in the specification of non-deduced contextsYes
527CD2Problems with linkage of typesN/A
528openWhy are incomplete class types not allowed with typeid?Not resolved
529draftingUse of template<> with “explicitly-specialized” class templatesNot resolved
530CD1Nontype template arguments in constant expressionsYes
531C++11Defining members of explicit specializationsPartial
532C++11Member/nonmember operator template partial orderingClang 3.5
533NADSpecial treatment for C-style header namesN/A
534CD1template-names and operator-function-idsYes
535CD3Copy construction without a copy constructorYes
536draftingProblems in the description of id-expressionsNot resolved
537CD1Definition of “signature”N/A
538CD1 Definition and usage of structure, POD-struct, POD-union, -and POD classN/A
539CD3Constraints on type-specifier-seqYes
540CD1Propagation of cv-qualifiers in reference-to-reference collapseYes
541CD2Dependent function typesYes
542CD2Value initialization of arrays of POD-structsYes
543CD1Value initialization and default constructorsYes
544NADBase class lookup in explicit specializationYes
545openUser-defined conversions and built-in operator overload resolutionNot resolved
546C++11Explicit instantiation of class template membersYes
547C++11Partial specialization on member function typesYes
548dupqualified-ids in declarationsDuplicate of 482
549draftingNon-deducible parameters in partial specializationsNot resolved
550dupPointer to array of unknown bound in parameter declarationsUnknown
551CD1When is inline permitted in an explicit instantiation?Yes (C++11 onwards)
552NADUse of typename in the type in a non-type parameter-declarationYes
553NADProblems with friend allocation and deallocation functionsUnknown
554draftingDefinition of “declarative region” and “scope”Not resolved
555draftingPseudo-destructor name lookupNot resolved
556CD2Conflicting requirements for acceptable aliasingN/A
557CD1Does argument-dependent lookup cause template instantiation?Yes
558CD1Excluded characters in universal character namesYes
559CD1Editing error in issue 382 resolutionYes
560draftingUse of the typename keyword in return typesNot resolved
561CD2Internal linkage functions in dependent name lookupYes
562openqualified-ids in non-expression contextsNot resolved
563openLinkage specification for objectsNot resolved
564CD2Agreement of language linkage or linkage-specifications?Yes
565CD3Conflict rules for using-declarations naming function templatesYes
566NADConversion of negative floating point values to integer typeYes
567NADCan size_t and ptrdiff_t be larger than long?N/A
568CD1Definition of POD is too strictYes (C++11 onwards)
569CD2Spurious semicolons at namespace scope should be allowedYes (C++11 onwards)
570CD2Are references subject to the ODR?Duplicate of 633
571CD2References declared constUnknown
572C++11Standard conversions for non-built-in typesYes
573C++11Conversions between function pointers and void*No
574NADDefinition of “copy assignment operator”Yes
575C++11Criteria for deduction failureYes
576CD2Typedefs in function definitionsYes
577CD3void in an empty parameter listYes
578openPhase 1 replacement of characters with universal-character-namesNot resolved
579openWhat is a “nested” > or >>?Not resolved
580C++11Access in template-parameters of member and friend definitionsPartial
581draftingCan a templated constructor be explicitly instantiated or specialized?Not resolved
582CD1Template conversion functionsN/A
583CD3Relational pointer comparisons against the null pointer constantClang 4
584NADUnions and aliasingN/A
585NADFriend template template parametersYes
586NADDefault template-arguments and template argument deductionN/A
587CD2Lvalue operands of a conditional expression differing only in cv-qualificationYes
588CD2Searching dependent bases of classes local to function templatesYes
589CD2Direct binding of class and array rvalues in reference initializationYes
590C++11Nested classes and the “current instantiation”Yes
591CD4When a dependent base class is the current instantiationNo
592CD1Exceptions during construction of local static objectsN/A
593NADFalling off the end of a destructor's function-try-block handlerUnknown
594CD1Coordinating issues 119 and 404 with delegating constructorsN/A
595dupException specifications in templates instantiated from class bodiesDuplicate of 1330
596NADReplacing an exception objectUnknown
597CD3Conversions applied to out-of-lifetime non-POD lvaluesN/A
598CD2Associated namespaces of overloaded functions and function templatesYes
599CD2Deleting a null function pointerPartial
600openDoes access control apply to members or to names?Not resolved
601CD2Type of literals in preprocessing expressionsYes
602C++11When is the injected-class-name of a class template a template?Yes
603CD1Type equivalence and unsigned overflowYes
604CD2Argument list for overload resolution in copy-initializationN/A
605C++11Linkage of explicit specializationsUnknown
606CD1Template argument deduction for rvalue referencesYes
607openLookup of mem-initializer-idsNot resolved
608CD2Determining the final overrider of a virtual functionYes
609CD4What is a “top-level” cv-qualifier?Unknown
610NADComputing the negative of 0UYes
611CD2Zero-initializing referencesYes
612CD2Requirements on a conforming implementationN/A
613CD1Unevaluated uses of non-static class membersYes (C++11 onwards)
614CD1Results of integer / and %Yes
615C++11Incorrect description of variables that can be initializedYes
616CD3Definition of “indeterminate value”Clang 4
617draftingLvalue-to-rvalue conversions of uninitialized char objectsNot resolved
618CD2Casts in preprocessor conditional expressionsYes
619C++11Completeness of array typesYes
620CD1Declaration order in layout-compatible POD structsDuplicate of 568
621C++11Template argument deduction from function return typesUnknown
622NADRelational comparisons of arbitrary pointersUnknown
623CD3Use of pointers to deallocated storageN/A
624CD1Overflow in calculating size of allocationUnknown
625CD2Use of auto as a template-argumentYes
626CD2Preprocessor string literalsYes
627NADValues behaving as typesYes
628CD2The values of an enumeration with no enumeratorN/A
629CD1auto parsing ambiguityYes
630CD2Equality of narrow and wide character values in the basic character setYes
631CD3Jumping into a “then” clauseN/A
632CD1Brace-enclosed initializer for scalar member of aggregateYes
633CD2Specifications for variables that should also apply to referencesN/A
634CD1Conditionally-supported behavior for non-POD objects passed to ellipsis reduxYes
635NADNames of constructors and destructors of templatesYes
636CD4Dynamic type of objects and aliasingUnknown
637CD1Sequencing rules and example disagreeYes
638CD2Explicit specialization and friendshipNo
639CD1What makes side effects “different” from one another?Yes
640openAccessing destroyed local objects of static storage durationNot resolved
641CD2Overload resolution and conversion-to-same-type operatorsYes
642CD2Definition and use of “block scope” and “local scope”Yes
643NADUse of decltype in a class member-specificationYes
644CD1Should a trivial class type be a literal type?Partial
645CD2Are bit-field and non-bit-field members layout compatible?N/A
646NADCan a class with a constexpr copy constructor be a literal type?Superseded by 981
647CD1Non-constexpr instances of constexpr constructor templatesYes
648CD1Constant expressions in constexpr initializersYes
649CD1Optionally ill-formed extended alignment requestsYes
650CD2Order of destruction for temporaries bound to the returned value of a functionUnknown
651CD1Problems in decltype specification and examplesYes
652CD2Compile-time evaluation of floating-point expressionsYes
653CD2Copy assignment of unionsUnknown
654CD1Conversions to and from nullptr_tYes
655C++11Initialization not specified for forwarding constructorsYes
656CD2Direct binding to the result of a conversion operatorYes
657CD2Abstract class parameter in synthesized declarationPartial
658CD2Defining reinterpret_cast for pointer typesUnknown
659CD1Alignment of function typesYes
660CD1Unnamed scoped enumerationsYes
661CD1Semantics of arithmetic comparisonsUnknown
662NADForming a pointer to a reference typeYes
663CD1Valid Cyrillic identifier charactersYes (C++11 onwards)
664CD2Direct binding of references to non-class rvalue referencesYes
665CD2Problems in the specification of dynamic_castYes
666CD1Dependent qualified-ids without the typename keywordYes
667CD2Trivial special member functions that cannot be implicitly definedYes
668CD2Throwing an exception from the destructor of a local static objectUnknown
669NADConfusing specification of the meaning of decltypeYes
670openCopy initialization via derived-to-base conversion in the second stepNot resolved
671CD1Explicit conversion from a scoped enumeration type to integral typeYes
672CD2Sequencing of initialization in new-expressionsUnknown
673NADInjection of names from elaborated-type-specifiers in friend declarationsYes
674C++11“matching specialization” for a friend declarationSVN
675CD3Signedness of bit-field with typedef or template parameter typeDuplicate of 739
676C++11static_assert-declarations and general requirements for declarationsN/A
677CD1Deleted operator delete and virtual destructorsNo
678C++11Language linkage of member function parameter types and the ODRUnknown
679CD1Equivalence of template-ids and operator function templatesYes
680CD2What is a move constructor?N/A
681CD1Restrictions on declarators with late-specified return typesPartial
682draftingMissing description of lookup of template aliasesNot resolved
683CD1Requirements for trivial subobject special functionsYes
684CD1Constant expressions involving the address of an automatic variableSuperseded by 1454
685CD2Integral promotion of enumeration ignores fixed underlying typeYes
686CD1Type declarations/definitions in type-specifier-seqs and type-idsYes
687extensiontemplate keyword with unqualified-idsNot resolved
688CD1Constexpr constructors and static initializationUnknown
689openMaximum values of signed and unsigned integersNot resolved
690CD2The dynamic type of an rvalue referenceUnknown
691C++11Template parameter packs in class template partial specializationsUnknown
692C++11Partial ordering of variadic class template partial specializationsNo
693CD2New string types and deprecated conversionUnknown
694C++11Zero- and value-initialization of union objectsUnknown
695CD2Compile-time calculation errors in constexpr functionsUnknown
696C++11Use of block-scope constants in local classesUnknown
697openDeduction rules apply to more than functionsNot resolved
698openThe definition of “sequenced before” is too narrowNot resolved
699CD2Must constexpr member functions be defined in the class member-specification?Unknown
700C++11Constexpr member functions of class templatesUnknown
701CD2When is the array-to-pointer conversion applied?Unknown
702CD2Preferring conversion to std::initializer_listUnknown
703CD2Narrowing for literals that cannot be exactly representedUnknown
704CD2To which postfix-expressions does overload resolution apply?Unknown
705CD2Suppressing argument-dependent lookup via parenthesesUnknown
706NADUse of auto with rvalue referencesUnknown
707CD2Undefined behavior in integral-to-floating conversionsUnknown
708openPartial specialization of member templates of class templatesNot resolved
709C++11Enumeration names as nested-name-specifiers in deduction failureUnknown
710CD2Data races during constructionUnknown
711CD2auto with braced-init-listUnknown
712CD3Are integer constant operands of a conditional-expression “used?”Unknown
713CD2Unclear note about cv-qualified function typesUnknown
714CD2Static const data members and braced-init-listsUnknown
715CD2Class member access constant expressionsUnknown
716CD2Specifications that should apply only to non-static union data membersUnknown
717CD2Unintentional restrictions on the use of thread_localUnknown
718openNon-class, non-function friend declarationsNot resolved
719CD2Specifications for operator-function-id that should also apply to literal-operator-idUnknown
720CD2Need examples of lambda-expressionsUnknown
721CD2Where must a variable be initialized to be used in a constant expression?Unknown
722CD2Can nullptr be passed to an ellipsis?Unknown
726CD2Atomic and non-atomic objects in the memory modelUnknown
727C++17In-class explicit specializationsPartial
728extensionRestrictions on local classesNot resolved
729CD3Qualification conversions and handlers of reference-to-pointer typeUnknown
730CD2Explicit specializations of members of non-template classesUnknown
731CD2Omitted reference qualification of member function typeUnknown
732CD2Late-specified return types in function definitionsUnknown
733NADReference qualification of copy assignment operatorsUnknown
734CD2Are unique addresses required for namespace-scope variables?Unknown
735CD2Missing case in specification of safely-derived pointersUnknown
736NADIs the & ref-qualifier needed?Unknown
737CD2Uninitialized trailing characters in string initializationUnknown
738C++11constexpr not permitted by the syntax of constructor declarationsUnknown
739CD3Signedness of plain bit-fieldsUnknown
740CD2Incorrect note on data racesUnknown
741C++11“plain” long long bit-fieldsUnknown
742openPostfix increment/decrement with long bit-field operandsNot resolved
743CD2Use of decltype in a nested-name-specifierUnknown
744CD2Matching template arguments with template template parameters with parameter packsUnknown
745openEffect of ill-formedness resulting from #errorNot resolved
746CD2Use of auto in new-expressionsUnknown
747dupAccess of protected base classesUnknown
749CD2References to function types with a cv-qualifier or ref-qualifierUnknown
750CD2Implementation constraints on reference-only closure objectsUnknown
751CD2Deriving from closure classesUnknown
752CD2Name lookup in nested lambda-expressionsUnknown
753CD2Array names in lambda capture setsUnknown
754CD2Lambda expressions in default arguments of block-scope function declarationsUnknown
755CD3Generalized lambda-capturesUnknown
756CD2Dropping cv-qualification on members of closure objectsUnknown
757CD2Types without linkage in declarationsUnknown
758C++11Missing cases of declarations that are not definitionsUnknown
759CD2Destruction of closure objectsUnknown
760CD2this inside a nested class of a non-static member functionUnknown
761CD2Inferred return type of closure object call operatorUnknown
762CD2Name lookup in the compound-statement of a lambda expressionUnknown
763CD2Is a closure object's operator() inline?Unknown
764CD2Capturing unused variables in a lambda expressionUnknown
765CD2Local types in inline functions with external linkageUnknown
766CD2Where may lambda expressions appear?Unknown
767CD2void and other unnamed lambda-parametersUnknown
768CD2Ellipsis in a lambda parameter listUnknown
769CD2Initialization of closure objectsUnknown
770CD2Ambiguity in late-specified return typeUnknown
771CD2Move-construction of reference members of closure objectsUnknown
772CD2capture-default in lambdas in local default argumentsUnknown
773C++11Parentheses in address non-type template argumentsUnknown
774CD2Can a closure class be a POD?Unknown
775CD2Capturing references to functionsUnknown
776CD2Delegating constructors, destructors, and std::exitUnknown
777CD2Default arguments and parameter packsClang 3.7
778C++11Template parameter packs in non-type template parametersUnknown
779CD2Rvalue reference members of closure objects?Unknown
782CD2Lambda expressions and argument-dependent lookupUnknown
783openDefinition of “argument”Not resolved
784C++11List of incompatibilities with the previous StandardUnknown
785CD2“Execution sequence” is inappropriate phraseologyUnknown
786CD2Definition of “thread”Unknown
787CD2Unnecessary lexical undefined behaviorUnknown
788CD2Relationship between locale and values of the execution character setUnknown
789CD2Deprecating trigraphsUnknown
790CD2Concatenation of raw and non-raw string literalsUnknown
792CD2Effects of std::quick_exitUnknown
793CD2Use of class members during destructionUnknown
794extensionBase-derived conversion in member type of pointer-to-member conversionNot resolved
795NADDependency of lambdas on <functional>Unknown
796CD2Lifetime of a closure object with members captured by referenceUnknown
797CD2Converting a no-capture lambda to a function typeUnknown
798C++11Overloaded subscript operator described in clause 5Unknown
799CD2Can reinterpret_cast be used to cast an operand to its own type?Unknown
800NADSafely-derived pointers and object pointers converted from function pointersUnknown
801CD2Casting away constness in a cast to rvalue reference typeUnknown
803CD2sizeof an enumeration type with a fixed underlying typeUnknown
804CD2Deducing the type in new auto(x)Unknown
805CD2Which exception to throw for overflow in array size calculationUnknown
806CD2Enumeration types in integral constant expressionsUnknown
807NADtypeid expressions in constant expressionsUnknown
808CD2Non-type decl-specifiers versus max-munchUnknown
809CD2Deprecation of the register keywordUnknown
810CD2Block-scope thread_local variables should be implicitly staticUnknown
811CD2Unclear implications of const-qualificationUnknown
812CD2Duplicate names in inline namespacesUnknown
813opentypename in a using-declaration with a non-dependent nameNot resolved
814CD2Attribute to indicate that a function throws nothingUnknown
815CD2Parameter pack expansion inside attributesUnknown
816CD2Diagnosing violations of [[final]]Unknown
817CD2Meaning of [[final]] applied to a class definitionUnknown
818CD2Function parameter packs in non-final positionsUnknown
819NADAccess control and deleted implicitly-declared special member functionsUnknown
820CD2Deprecation of exportUnknown
822NADAdditional contexts for template aliasesUnknown
823CD2Literal types with constexpr conversions as non-type template argumentsUnknown
828CD2Destruction of exception objectsUnknown
829NADAt what point is std::unexpected called?Unknown
830CD2Deprecating exception specificationsUnknown
831CD2Limit on recursively nested template instantiationsUnknown
832CD2Value of preprocessing numbersUnknown
833CD2Explicit conversion of a scoped enumeration value to a floating typeUnknown
834CD2What is an “ordinary string literal”?Unknown
835CD2Scoped enumerations and the “usual arithmetic conversions”Unknown
836NAD[[noreturn]] applied to function typesUnknown
837C++11Constexpr functions and return braced-init-listUnknown
838C++11Use of this in a brace-or-equal-initializerUnknown
839dupsizeof with opaque enumerationsUnknown
840CD2Rvalue references as nontype template parametersUnknown
842CD2Casting to rvalue reference typeUnknown
845CD2What is the “first declaration” of an explicit specialization?Unknown
846CD2Rvalue references to functionsUnknown
847CD2Error in rvalue reference deduction exampleUnknown
850CD2Restrictions on use of non-static data membersUnknown
852openusing-declarations and dependent base classesNot resolved
853CD2Support for relaxed pointer safetyUnknown
854CD2Left shift and unsigned extended typesUnknown
855CD2Incorrect comments in braced-init-list assignment exampleUnknown
858CD2Example binding an rvalue reference to an lvalueUnknown
860C++11Explicit qualification of constexpr member functionsUnknown
861CD2Unintended ambiguity in inline namespace lookupUnknown
862CD2Undefined behavior with enumerator value overflowUnknown
863CD2Rvalue reference cast to incomplete typeUnknown
864C++11braced-init-list in the range-based for statementUnknown
865CD2Initializing a std::initializer_listUnknown
869CD2Uninitialized thread_local objectsUnknown
872CD2Lexical issues with raw stringsUnknown
873C++11Deducing rvalue references in declarative contextsUnknown
874CD2Class-scope definitions of enumeration typesUnknown
876CD2Type references in rvalue reference deduction specificationUnknown
877CD2Viable functions and binding references to rvaluesUnknown
879CD2Missing built-in comparison operators for pointer typesUnknown
880CD2Built-in conditional operator for scoped enumerationsUnknown
882CD2Defining main as deletedUnknown
883CD2std::memcpy vs std::memmoveUnknown
884CD2Defining an explicitly-specialized static data memberUnknown
885NADPartial ordering of function templates with unordered parameter pairsUnknown
886CD2Member initializers and aggregatesUnknown
887CD2Move construction of thrown objectUnknown
888CD2Union member initializersUnknown
891CD2const_cast to rvalue reference from objectless rvalueUnknown
892C++11Missing requirements for constexpr constructorsUnknown
893NADBrace syntax for enumerator-definitionsUnknown
896CD2Rvalue references and rvalue-reference conversion functionsUnknown
897open_Pragma and extended string-literalsNot resolved
898C++11Declarations in constexpr functionsUnknown
899CD2Explicit conversion functions in direct class initializationUnknown
900extensionLifetime of temporaries in range-based forNot resolved
901draftingDeleted operator deleteNot resolved
902NADIn-class initialization of non-constant static data membersUnknown
903CD3Value-dependent integral null pointer constantsUnknown
904CD2Parameter packs in lambda-capturesUnknown
905CD2Explicit defaulted copy constructors and trivial copyabilityUnknown
906CD2Which special member functions can be defaulted?Unknown
908CD2Deleted global allocation and deallocation functionsUnknown
909NADOld-style casts with conversion functionsUnknown
910CD2Move constructors and implicitly-declared copy constructorsUnknown
912CD3Character literals and universal-character-namesUnknown
913CD2Deduction rules for array- and function-type conversion functionsUnknown
914extensionValue-initialization of array typesNot resolved
915CD2Deleted specializations of member function templatesUnknown
916openDoes a reference type have a destructor?Not resolved
919CD2Contradictions regarding inline namespacesUnknown
920CD2Interaction of inline namespaces and using-declarationsUnknown
921CD2Unclear specification of inline namespacesUnknown
922CD2Implicit default constructor definitions and const variant membersUnknown
923CD2Inline explicit specializationsUnknown
924C++11alias-declaration as a class memberUnknown
925openType of character literals in preprocessor expressionsNot resolved
926CD2Inline unnamed namespacesUnknown
927CD2Implicitly-deleted default constructors and member initializersUnknown
928CD2Defaulting a function that would be implicitly defined as deletedUnknown
929CD2What is a template alias?Unknown
930CD2alignof with incomplete array typeUnknown
931CD2Confusing reference to the length of a user-defined string literalUnknown
932CD2UCNs in closing delimiters of raw string literalsUnknown
933CD232-bit UCNs with 16-bit wchar_tUnknown
934CD2List-initialization of referencesUnknown
935CD2Missing overloads for character types for user-defined literalsUnknown
936CD2Array initialization with new string literalsUnknown
937NADRestrictions on values of template arguments in user-defined literalsUnknown
938C++11Initializer lists and array newUnknown
939CD2Explicitly checking virtual function overridingUnknown
940CD2Global anonymous unionsUnknown
941C++11Explicit specialization of deleted function templateUnknown
942CD2Is this an entity?Unknown
943DRWPIs T() a temporary?Unknown
944extensionreinterpret_cast for all types with the same size and alignmentNot resolved
945C++11Use of this in a late-specified return typeUnknown
946CD2Order of destruction of local static objects and calls to std::atexitUnknown
947NADDeducing type template arguments from default function argumentsUnknown
948C++11constexpr in conditionsClang 3.7
949openRequirements for freestanding implementationsNot resolved
950CD2Use of decltype as a class-nameUnknown
951CD2Problems with attribute-specifiersUnknown
952draftingInsufficient description of “naming class”Not resolved
953CD2Rvalue references and function viabilityUnknown
954openOverload resolution of conversion operator templates with built-in typesNot resolved
955CD2Can a closure type's operator() be virtual?Unknown
956CD2Function prototype scope with late-specified return typesUnknown
957CD2Alternative tokens and attribute-tokensUnknown
958NADLambdas and decltypeUnknown
959CD2Alignment attribute for class and enumeration typesUnknown
960CD2Covariant functions and lvalue/rvalue referencesUnknown
961CD2Overload resolution and conversion of std::nullptr_t to boolUnknown
962CD2Attributes appertaining to class and enum typesUnknown
963CD2Comparing nullptr with 0Unknown
964C++11Incorrect description of when the lvalue-to-rvalue conversion appliesUnknown
965CD2Limiting the applicability of the carries_dependency attributeUnknown
966CD2Nested types without linkageUnknown
967NADException specification of replacement allocation functionUnknown
968CD2Syntactic ambiguity of the attribute notationUnknown
969CD2Explicit instantiation declarations of class template specializationsUnknown
970CD2Consistent use of “appertain” and “apply”Unknown
971C++11Incorrect treatment of exception-declarationsUnknown
972C++11Allowing multiple attribute-specifiersUnknown
973CD2Function types in exception-specificationsUnknown
974CD3Default arguments for lambdasUnknown
975CD3Restrictions on return type deduction for lambdasUnknown
976CD2Deduction for const T& conversion operatorsUnknown
977CD3When is an enumeration type complete?Unknown
978CD2Incorrect specification for copy initializationUnknown
979CD2Position of attribute-specifier in declarator syntaxUnknown
980CD2Explicit instantiation of a member of a class templateUnknown
981C++11Constexpr constructor templates and literal typesUnknown
982NADInitialization with an empty initializer listUnknown
983CD2Ambiguous pointer-to-member constantUnknown
984CD2“Deduced type” is unclear in auto type deductionUnknown
985C++11Alternative tokens and user-defined literalsUnknown
986CD2Transitivity of using-directives versus qualified lookupUnknown
987CD4Which declarations introduce namespace members?Unknown
988CD2Reference-to-reference collapsing with decltypeUnknown
989CD2Misplaced list-initialization exampleUnknown
990CD2Value initialization with multiple initializer-list constructorsClang 3.5
991CD2Reference parameters of constexpr functions and constructorsUnknown
992NADInheriting explicitnessUnknown
993C++11Freedom to perform instantiation at the end of the translation unitUnknown
994C++11braced-init-list as a default argumentUnknown
995CD2Incorrect example for using-declaration and explicit instantiationUnknown
996C++11Ambiguous partial specializations of member class templatesUnknown
997C++11Argument-dependent lookup and dependent function template parameter typesUnknown
998dupFunction parameter transformations and template functionsUnknown
999CD2“Implicit” or “implied” object argument/parameter?Unknown
1000CD2Mistaking member typedefs for constructorsUnknown
1001draftingParameter type adjustment in dependent parameter typesNot resolved
1002NADPack expansion for function argumentsUnknown
1003CD3Acceptable definitions of mainUnknown
1004C++11Injected-class-names as arguments for template template parametersClang 5
1005NADQualified name resolution in member functions of class templatesUnknown
1006C++11std::nullptr_t as a non-type template parameterUnknown
1007NADProtected access and pointers to membersUnknown
1008extensionQuerying the alignment of an objectNot resolved
1009C++11Missing cases in the declarator-id of a function template declarationUnknown
1010CD2Address of object with dynamic storage duration in constant expressionUnknown
1011C++11Standard conversions that cannot be invertedUnknown
1012C++11Undeprecating staticUnknown
1013CD3Uninitialized std::nullptr_t objectsUnknown
1014NADOverload resolution between const T& and T&&Unknown
1015C++11Template arguments and argument-dependent lookupUnknown
1016C++11Overloadable declarations, function templates, and referencesUnknown
1017C++11Member access transformation in unevaluated operandsUnknown
1018C++11Ambiguity between simple-declaration and attribute-declarationUnknown
1019dupDependent simple-template-ids in base-specifiers and mem-initializersUnknown
1020C++11Implicitly-defined copy constructors and explicit base class constructorsUnknown
1021CD4Definitions of namespace membersUnknown
1022C++11Can an enumeration variable have values outside the values of the enumeration?Unknown
1023dupthread_local objects as non-type template argumentsUnknown
1024CD3Limits on multicharacter literalsUnknown
1025C++11Use of a reference as a non-type template argumentUnknown
1026NADCv-qualified non-class rvaluesUnknown
1027draftingType consistency and reallocation of scalar typesNot resolved
1028openDependent names in non-defining declarationsNot resolved
1029C++11Type of a destructor callUnknown
1030C++11Evaluation order in initializer-lists used in aggregate initializationUnknown
1031C++11Optional elements in attributesUnknown
1032C++11Empty pack expansionsUnknown
1033C++11Restrictions on alignment attributesUnknown
1034C++11Attributes for return statements in lambdasUnknown
1035C++11Omitted and required decl-specifiersUnknown
1036C++11Alignment attribute in an exception-declarationUnknown
1037C++11Requirements for operands of delete-expressions and deallocation functionsUnknown
1038openOverload resolution of &x.static_funcNot resolved
1039dupCoordinating C and C++ alignment specificationsUnknown
1040NADMemory model issuesUnknown
1041dupalias-declarations as class membersUnknown
1042C++11Attributes in alias-declarationsUnknown
1043C++11Qualified name lookup in the current instantiationUnknown
1044C++11Point of declaration for an alias-declarationUnknown
1045NADRequiring explicit instantiation declarationsUnknown
1046openWhat is a “use” of a class specialization?Not resolved
1047C++11When is typeid value-dependent?Unknown
1048CD3auto deduction and lambda return type deduction.Clang 3.6
1049openCopy elision through reference parameters of inline functionsNot resolved
1050NADEffects of thread support on object lifetimeUnknown
1051C++11Reference members and generated copy constructorsUnknown
1052dupconst non-static data member and PODnessUnknown
1053NADTerminate vs undefined behavior for noexcept violationUnknown
1054C++11Lvalue-to-rvalue conversions in expression statementsNo
1055C++11Permissible uses of voidUnknown
1056C++11Template aliases, member definitions, and the current instantiationUnknown
1057C++11decltype and the current instantiationUnknown
1058NADReference binding of incompatible array typesUnknown
1059CD3Cv-qualified array types (with rvalues)Unknown
1060C++11Scoped enumerators in integral constant expressionsUnknown
1061C++11Negative array bounds in a new-expressionUnknown
1062C++11Syntax of attribute-specifiers in lambdasUnknown
1063C++11[[hiding]] with non-attribute declarationsUnknown
1064C++11Defaulted move constructor for a unionUnknown
1065C++11[[hiding]] with [[override]]Unknown
1066C++11When is a copy/move assignment operator implicitly defined?Unknown
1067NAD[[hiding]], using-declarations, and multiple inheritanceUnknown
1068C++11Template aliases with default arguments and template parameter packsUnknown
1069C++11Incorrect function type with trailing-return-typeUnknown
1070C++11Missing initializer clauses in aggregate initializationClang 3.5
1071C++11Literal class types and trivial default constructorsUnknown
1072C++11Scoped enumerator with the same name as its containing classUnknown
1073C++11Merging dynamic-exception-specifications and noexcept-specificationsUnknown
1074C++11Value-dependent noexcept-expressionsUnknown
1075C++11Grammar does not allow template alias in type-nameUnknown
1076DRWPValue categories and lvalue temporariesUnknown
1077extensionExplicit specializations in non-containing namespacesNot resolved
1078NADNarrowing and the usual arithmetic conversionsUnknown
1079C++11Overload resolution involving aggregate initializationUnknown
1080C++11Confusing relationship between templates and copy constructorsUnknown
1081C++11Defaulted destructor and unusable operator deleteUnknown
1082C++11Implicit copy function if subobject has none?Unknown
1083C++11Passing an object to ellipsis with non-trivial move constructorUnknown
1084NADConditions for a deleted move functionUnknown
1085NADMove assignment operators and virtual basesUnknown
1086C++11const_cast to rvalue reference to function typeUnknown
1087C++11Additional applications of issue 899Unknown
1088C++11Dependent non-type template argumentsUnknown
1089draftingTemplate parameters in member selectionsNot resolved
1090C++11Alignment of subobjectsUnknown
1091C++11Inconsistent use of the term “object expression”Unknown
1092draftingCycles in overload resolution during instantiationNot resolved
1093CD3Value-initializing non-objectsUnknown
1094C++11Converting floating-point values to scoped enumeration typesUnknown
1095C++11List-initialization of referencesUnknown
1096C++11Missing requirement for template definitionsUnknown
1097NADAggregate initialization of function parametersUnknown
1098C++11Pointer conversions in constant expressionsUnknown
1099C++11Infinite recursion in constexpr functionsUnknown
1100C++11constexpr conversion functions and non-type template argumentsUnknown
1101C++11Non-integral initialized static data membersUnknown
1102C++11Better example of undefined behaviorUnknown
1103C++11Reversion of phase 1 and 2 transformations in raw string literalsUnknown
1104C++11Global-scope template arguments vs the <: digraphUnknown
1105C++11Issues relating to TR 10176:2003Unknown
1106C++11Need more detail in nullptr keyword descriptionUnknown
1107C++11Overload resolution for user-defined integer literalsUnknown
1108NADUser-defined literals have not been implementedUnknown
1109C++11When is “use” a reference to the ODR meaning?Unknown
1110NADIncomplete return type should be allowed in decltype operandUnknown
1111C++11Remove dual-scope lookup of member template namesUnknown
1112C++11constexpr variables should have internal linkage like constUnknown
1113C++11Linkage of namespace member of unnamed namespacePartial
1114C++11Incorrect use of placement new in exampleUnknown
1115C++11C-compatible alignment specificationUnknown
1116CD4Aliasing of union membersUnknown
1117C++11Incorrect note about xvalue member access expressionsUnknown
1118NADImplicit lambda capture via explicit copy constructorUnknown
1119C++11Missing case in description of member access ambiguityUnknown
1120C++11reinterpret_cast and void*Unknown
1121C++11Unnecessary ambiguity error in formation of pointer to memberUnknown
1122C++11Circular definition of std::size_tUnknown
1123C++11Destructors should be noexcept by defaultUnknown
1124NADError in description of value category of pointer-to-member expressionUnknown
1125C++11Unclear definition of “potential constant expression”Unknown
1126C++11constexpr functions in const initializersUnknown
1127C++11Overload resolution in constexpr functionsUnknown
1128C++11attribute-specifiers in decl-specifier-seqsUnknown
1129C++11Default nothrow for constexpr functionsUnknown
1130C++11Function parameter type adjustments and decltypeUnknown
1131C++11Template aliases in elaborated-type-specifiersUnknown
1132NADKeyword vs attribute for noreturnUnknown
1133C++11Keywords vs attributes for control of hiding and overridingUnknown
1134C++11When is an explicitly-defaulted function defined?Unknown
1135C++11Explicitly-defaulted non-public special member functionsUnknown
1136C++11Explicitly-defaulted explicit constructorsUnknown
1137C++11Explicitly-defaulted virtual special member functionsUnknown
1138C++11Rvalue-ness check for rvalue reference binding is wrongUnknown
1139C++11Rvalue reference binding to scalar xvaluesUnknown
1140C++11Incorrect redefinition of POD classUnknown
1141NADNon-static data member initializers have not been implementedUnknown
1142C++11friend declaration of member function of containing classUnknown
1143NADMove semantics for *this have not been implementedUnknown
1144C++11Remove access declarationsUnknown
1145C++11Defaulting and trivialityUnknown
1146C++11exception-specifications of defaulted functionsUnknown
1147C++11Destructors should be default nothrowUnknown
1148C++11Copy elision and move construction of function parametersUnknown
1149C++11Trivial non-public copy operators in subobjectsUnknown
1150NADInheriting constructors have not been implementedUnknown
1151C++11Overload resolution with initializer-list and non-list constructorsUnknown
1152C++11Rules for determining existence of implicit conversion sequenceUnknown
1153C++11Type matching in address of overloaded functionUnknown
1154C++11Address of thread_local variable as non-type template argumentUnknown
1155C++11Internal-linkage non-type template argumentsUnknown
1156C++11Partial ordering in a non-call contextUnknown
1157openPartial ordering of function templates is still underspecifiedNot resolved
1158C++11Recursive instantiation via alias templateUnknown
1159C++11Class and enumeration definitions in template aliasesUnknown
1160C++11Definitions of template members and the current instantiationUnknown
1161C++11Dependent nested-name-specifier in a pointer-to-member declaratorUnknown
1162NADDependent elaborated-type-specifiers in non-deduced contextsUnknown
1163NADextern template prevents inlining functions not marked inlineUnknown
1164C++11Partial ordering of f(T&) and f(T&&)Unknown
1165C++11Exceptions when destroying array elementsUnknown
1166C++11exception-declarations that do not declare objectsUnknown
1167C++11function-try-blocks for destructorsUnknown
1168C++11Additional reasons to call std::terminateUnknown
1169C++11Missing feature macro for strict pointer safetyUnknown
1170C++11Access checking during template argument deductionUnknown
1171C++11Partial stack unwinding with noexcept violationUnknown
1172drafting“instantiation-dependent” constructsNot resolved
1173C++11Unclear specification of effects of signal handlingUnknown
1174C++11When is a pure virtual function “used?”Unknown
1175C++11Disambiguating user-defined literalsUnknown
1176C++11Definition of release sequenceUnknown
1177C++11Intra-thread dependency-ordered-beforeUnknown
1178C++11Deduction failure matching placement newUnknown
1179NADCv-qualification of non-type template parametersUnknown
1180C++11Over-aligned class typesUnknown
1181C++11What is a “built-in type?”Unknown
1182C++11Incorrect description of pack expansion syntaxUnknown
1183C++11Expansion of parameter packs in declaratorsUnknown
1184C++11Argument conversions to nondeduced parameter typesUnknown
1185C++11Misleading description of language linkage and member function typesUnknown
1186C++11Non-dependent constexpr violations in function templatesUnknown
1187C++11Problems in initialization exampleUnknown
1188C++11Type punning in constant expressionsUnknown
1189C++11Address of distinct base class subobjectsUnknown
1190C++11Operations on non-safely-derived pointersUnknown
1191C++11Deleted subobject destructors and implicitly-defined constructorsUnknown
1192C++11Inadvertent change to ODR and templatesUnknown
1193C++11Use of address-constant pointers in constant expressionsUnknown
1194C++11Constexpr referencesUnknown
1195C++11References to non-literal types in constexpr functionsUnknown
1196C++11Definition required for explicit instantiation after explicit specialization?Unknown
1197C++11Constexpr arraysUnknown
1198C++11Literal types and copy constructorsUnknown
1199C++11Deleted constexpr functionsUnknown
1200openLookup rules for template parametersNot resolved
1201C++11Are deleted and defaulted functions definitions?Unknown
1202C++11Calling virtual functions during destructionUnknown
1203dupMisleading note regarding initialized static data membersUnknown
1204C++11Specifiers in a for-range-declarationUnknown
1205dupLvalue reference binding and function viabilityUnknown
1206C++11Defining opaque enumeration members of class templatesUnknown
1207C++11Type of class member in trailing-return-typeUnknown
1208C++11Explicit noexcept in defaulted definitionUnknown
1209openIs a potentially-evaluated expression in a template definition a “use?”Not resolved
1210C++11Injection of elaborated-type-specifier in enumeration scopeUnknown
1211draftingMisaligned lvaluesNot resolved
1212C++11Non-function-call xvalues and decltypeUnknown
1213CD3Array subscripting and xvaluesClang 7
1214C++11Kinds of initializersUnknown
1215C++11Definition of POD structUnknown
1216C++11Exceptions “allowed” by a noexcept-specificationUnknown
1217NADAre deleted functions implicitly noexcept?Unknown
1218C++11What is the “currently-handled exception” in a multi-threaded program?Unknown
1219C++11Non-static data member initializers in constant expressionsUnknown
1220C++11Looking up conversion-type-idsUnknown
1221openPartial ordering and reference collapsingNot resolved
1222NADUnnecessary restriction on auto array typesUnknown
1223draftingSyntactic disambiguation and trailing-return-typesNot resolved
1224C++11constexpr defaulted copy constructorsUnknown
1225C++11constexpr constructors and virtual basesUnknown
1226CD3Converting a braced-init-list default argumentUnknown
1227CD3Mixing immediate and non-immediate contexts in deduction failureUnknown
1228NADCopy-list-initialization and explicit constructorsUnknown
1229C++11Overload resolution with empty braced-init-list argumentUnknown
1230openConfusing description of ambiguity of destructor nameNot resolved
1231C++11Variadic templates requiring an empty pack expansionUnknown
1232C++11Creation of array temporaries using a braced-init-listUnknown
1233C++11Pack expansions and dependent callsUnknown
1234C++11abstract-declarator does not permit ... after ptr-operatorUnknown
1235C++11“Unused” ellipsis and default arguments in partial orderingUnknown
1236C++11Inconsistently-interrelated examplesUnknown
1237C++11Deprecated implicit copy assignment in exampleUnknown
1238C++11Overloading ambiguity binding reference to functionUnknown
1239C++11Hexadecimal floating-point literals vs user-defined literalsUnknown
1240C++11constexpr defaulted constructorsUnknown
1241C++11Which members does a destructor destroy?Unknown
1242C++11Initializing variant class membersUnknown
1243C++11Misleading footnote regarding multiple-declarator declarationsUnknown
1244C++11Equivalence of alias templates and class templatesUnknown
1245C++11Matching declarations involving decltypeUnknown
1246C++11Non-deduced non-final parameter packsUnknown
1247CD4Restriction on alias name appearing in type-idUnknown
1248openUpdating Annex C to C99Not resolved
1249draftingCv-qualification of nested lambda captureNot resolved
1250CD3Cv-qualification of incomplete virtual function return typesClang 3.9
1251CD3C compatibility: casting to unqualified void*Unknown
1252draftingOverloading member function templates based on dependent return typeNot resolved
1253draftingGeneric non-template membersNot resolved
1254NADodr-use vs template arguments and constexpr functionsUnknown
1255draftingDefinition problems with constexpr functionsNot resolved
1256openUnevaluated operands are not necessarily constant expressionsNot resolved
1257openInstantiation via non-dependent references in uninstantiated templatesNot resolved
1258drafting“Instantiation context” differs from dependent lookup rulesNot resolved
1259NADDeleting a POD via a pointer to baseUnknown
1260CD3Incorrect use of term “overloaded” in description of odr-useUnknown
1261CD3Explicit handling of cv-qualification with non-class prvaluesUnknown
1262CD3Default template arguments and deduction failureUnknown
1263NADMismatch between rvalue reference binding and overload resolutionUnknown
1264CD3Use of this in constexpr constructorUnknown
1265CD3Mixed use of the auto specifierClang 5
1266openuser-defined-integer-literal overflowNot resolved
1267CD3Rvalue reference types in exception-specificationsUnknown
1268CD3reinterpret_cast of an xvalue operandUnknown
1269CD3dynamic_cast of an xvalue operandUnknown
1270CD3Brace elision in array temporary initializationUnknown
1271DRImprecise wording regarding dependent typesUnknown
1272NADImplicit definition of static data member of const literal typeUnknown
1273NADAccessibility and function signaturesUnknown
1274CD4Common nonterminal for expression and braced-init-listUnknown
1275CD3Incorrect comment in example of template parameter pack restrictionUnknown
1276NADReference to stdint.hUnknown
1277NADLax definition of intmax_t and uintmax_tUnknown
1278draftingIncorrect treatment of contrived objectNot resolved
1279draftingAdditional differences between C++ 2003 and C++ 2011Not resolved
1280NADObject reallocation and reference membersUnknown
1281NADVirtual and dependent base classesUnknown
1282CD3Underspecified destructor exception-specificationUnknown
1283draftingStatic data members of classes with typedef name for linkage purposesNot resolved
1284CD4Should the lifetime of an array be independent of that of its elements?Unknown
1285openTrivial destructors and object lifetimeNot resolved
1286draftingEquivalence of alias templatesNot resolved
1287C++14Direct initialization vs “implicit” conversion in reference bindingUnknown
1288CD3Reference list initializationUnknown
1289NADCan an alias template name the current instantiation?Unknown
1290CD3Lifetime of the underlying array of an initializer_list memberUnknown
1291draftingLooking up a conversion-type-idNot resolved
1292CD4Dependent calls with braced-init-lists containing a pack expansionUnknown
1293CD3String literals in constant expressionsUnknown
1294draftingSide effects in dynamic/static initializationNot resolved
1295CD3Binding a reference to an rvalue bit-fieldClang 4
1296CD3Ill-formed template declarations (not just definitions)Unknown
1297CD3Misplaced function attribute-specifierUnknown
1298CD3Incorrect example in overload resolutionUnknown
1299DRWP“Temporary objects” vs “temporary expressions”Unknown
1300dupT() for array typesUnknown
1301CD3Value initialization of unionUnknown
1302CD3noexcept applied to expression of type voidUnknown
1303NADC language linkage for template with internal linkageUnknown
1304draftingOmitted array bound with string initializationNot resolved
1305CD3alignof applied to array of unknown sizeUnknown
1306CD3Modifying an object within a const member functionUnknown
1307C++14Overload resolution based on size of array initializer-listUnknown
1308CD3Completeness of class type within an exception-specificationUnknown
1309CD4Incorrect note regarding lookup of a member of the current instantiationUnknown
1310CD3What is an “acceptable lookup result?”Clang 5
1311CD3Volatile lvalues in constant expressionsUnknown
1312CD3Simulated reinterpret_cast in constant expressionsUnknown
1313CD3Undefined pointer arithmetic in constant expressionsUnknown
1314NADPointer arithmetic within standard-layout objectsUnknown
1315CD4Restrictions on non-type template arguments in partial specializationsPartial
1316NADconstexpr function requirements and class scopeUnknown
1317NADUnnamed scoped enumerationsUnknown
1318CD3Syntactic ambiguities with finalUnknown
1319NADError in pack expansion exampleUnknown
1320CD3Converting scoped enumerations to boolUnknown
1321CD3Equivalency of dependent callsUnknown
1322draftingFunction parameter type decay in templatesNot resolved
1323NADNonexistent nonterminal in alignment-specifier grammarUnknown
1324CD3Value initialization and defaulted constructorsUnknown
1325NADOmitted declarator in friend declarationsUnknown
1326extensionDeducing an array bound from an initializer-listNot resolved
1327CD3virt-specifier in a defaulted definitionUnknown
1328CD3Conflict in reference binding vs overload resolutionUnknown
1329CD3Recursive deduction substitutionsUnknown
1330CD3Delayed instantiation of noexcept specifiersClang 4 (C++11 onwards)
1331extensionconst mismatch with defaulted copy constructorNot resolved
1332draftingHandling of invalid universal-character-namesNot resolved
1333CD3Omission of const in a defaulted copy constructorUnknown
1334NADLayout compatibility and cv-qualificationUnknown
1335draftingStringizing, extended characters, and universal-character-namesNot resolved
1336CD3Definition of “converting constructor”Unknown
1337dupPartial ordering and non-deduced parametersUnknown
1338CD4Aliasing and allocation functionsUnknown
1339NADParenthesized braced-init-list and arraysUnknown
1340CD3Complete type in member pointer expressionsUnknown
1341NADBit-field initializersUnknown
1342draftingOrder of initialization with multiple declaratorsNot resolved
1343C++17Sequencing of non-class initializationUnknown
1344C++14Adding new special member functions to a class via default argumentsUnknown
1345CD3Initialization of anonymous union class membersUnknown
1346CD3expression-list initializers and the auto specifierClang 3.5
1347CD3Consistency of auto in multiple-declarator declarationsYes
1348draftingUse of auto in a trailing-return-typeNot resolved
1349dupConsistency of alias template redeclarationsUnknown
1350CD3Incorrect exception specification for inherited constructorsUnknown
1351CD4Problems with implicitly-declared exception-specificationsUnknown
1352CD3Inconsistent class scope and completeness rulesUnknown
1353draftingArray and variant members and deleted special member functionsNot resolved
1354CD3Destructor exceptions for temporaries in noexcept expressionsUnknown
1355CD3Aggregates and “user-provided” constructorsUnknown
1356CD4Exception specifications of copy assignment operators with virtual basesUnknown
1357CD3brace-or-equal-initializers for function and typedef membersUnknown
1358CD3Unintentionally ill-formed constexpr function template instancesUnknown
1359CD3constexpr union constructorsClang 3.5
1360draftingconstexpr defaulted default constructorsNot resolved
1361CD3Requirement on brace-or-equal-initializers of literal typesUnknown
1362CD3Complete type required for implicit conversion to T&Unknown
1363CD3Triviality vs multiple default constructorsUnknown
1364CD3constexpr function parametersUnknown
1365CD3Calling undefined constexpr functionsUnknown
1366CD3Deleted constexpr constructors and virtual base classesUnknown
1367CD3Use of this in a constant expressionUnknown
1368CD3Value initialization and defaulted constructors (part 2)Unknown
1369CD3Function invocation substitution of thisUnknown
1370CD3identifier-list cannot contain ellipsisUnknown
1371NADDeduction from T&& in return typesUnknown
1372CD3Cross-references incorrect in conversion function template argument deductionUnknown
1373dupOverload resolution changes matching reference-binding changesUnknown
1374CD3Qualification conversion vs difference in reference bindingUnknown
1375CD3Reference to anonymous union?Unknown
1376C++14static_cast of temporary to rvalue referenceUnknown
1377dupAccess declarations not mentioned in Annex CUnknown
1378openWhen is an instantiation required?Not resolved
1379NADIs std::initializer_list an aggregate?Unknown
1380CD3Type definitions in template-parameter parameter-declarationsUnknown
1381CD3Implicitly-declared special member functions and default nothrowUnknown
1382CD3Dead code for constructor namesUnknown
1383CD3Clarifying discarded-value expressionsUnknown
1384NADreinterpret_cast in constant expressionsUnknown
1385CD3Syntactic forms of conversion functions for surrogate call functionsUnknown
1386NADExplicitly-specified partial argument list with multiple parameter packsUnknown
1387CD3Missing non-deduced context for decltypeUnknown
1388CD3Missing non-deduced context following a function parameter packClang 4
1389NADRecursive reference in trailing-return-typeUnknown
1390draftingDependency of alias template specializationsNot resolved
1391CD4Conversions to parameter types with non-deduced template argumentsPartial
1392CD3Explicit conversion functions for references and non-referencesUnknown
1393extensionPack expansions in using-declarationsNot resolved
1394CD3Incomplete types as parameters of deleted functionsUnknown
1395C++17Partial ordering of variadic templates reconsideredUnknown
1396draftingDeferred instantiation and checking of non-static data member initializersNot resolved
1397CD4Class completeness in non-static data member initializersUnknown
1398CD3Non-type template parameters of type std::nullptr_tUnknown
1399CD3Deduction with multiple function parameter packsDuplicate of 1388
1400NADFunction pointer equalityUnknown
1401CD3Similar types and reference compatibilityUnknown
1402CD3Move functions too often deletedUnknown
1403openUniversal-character-names in commentsNot resolved
1404draftingObject reallocation in unionsNot resolved
1405CD3constexpr and mutable members of literal typesUnknown
1406CD3ref-qualifiers and added parameters of non-static member function templatesUnknown
1407NADIntegral to bool conversion in converted constant expressionsUnknown
1408CD3What is “the same aggregate initialization?”Unknown
1409CD3What is the second standard conversion sequence of a list-initialization sequence?Unknown
1410CD3Reference overload tiebreakers should apply to rvalue referencesUnknown
1411CD3More on global scope :: in nested-name-specifierUnknown
1412CD3Problems in specifying pointer conversionsUnknown
1413CD3Missing cases of value-dependencyUnknown
1414draftingBinding an rvalue reference to a reference-unrelated lvalueNot resolved
1415CD3Missing prohibition of block-scope definition of extern objectUnknown
1416CD3Function cv-qualifiers and typeidUnknown
1417C++14Pointers/references to functions with cv-qualifiers or ref-qualifierUnknown
1418CD3Type of initializer_list backing arrayUnknown
1419NADEvaluation order in aggregate initializationUnknown
1420NADAbstract final classesUnknown
1421NADFull expressions and aggregate initializationUnknown
1422dupType of character literals containing universal-character-namesUnknown
1423CD3Convertibility of nullptr to boolUnknown
1424C++14When must sub-object destructors be accessible?Unknown
1425CD3Base-class subobjects of standard-layout structsN/A (ABI constraint)
1426extensionAllowing additional parameter types in defaulted functionsNot resolved
1427NADDefault constructor and deleted or inaccessible destructorsUnknown
1428CD3Dynamic const objectsUnknown
1429NADScope of a member template's template parameterUnknown
1430draftingPack expansion into fixed alias template parameter listNot resolved
1431CD3Exceptions from other than throw-expressionsUnknown
1432draftingNewly-ambiguous variadic template expansionsNot resolved
1433extensiontrailing-return-type and point of declarationNot resolved
1434NADParenthesized braced-init-listUnknown
1435CD3template-id as the declarator for a class template constructorUnknown
1436draftingInteraction of constant expression changes with preprocessor expressionsNot resolved
1437CD3alignas in alias-declarationUnknown
1438CD3Non-dereference use of invalid pointersUnknown
1439CD3Lookup and friend template declarationsUnknown
1440CD3Acceptable decltype-specifiers used as nested-name-specifiersUnknown
1441C++14Unclear wording for signal handler restrictionsUnknown
1442CD3Argument-dependent lookup in the range-based forUnknown
1443NADDefault arguments and non-static data membersUnknown
1444draftingType adjustments of non-type template parametersNot resolved
1445dupArgument-dependent lookup of begin and endUnknown
1446CD4Member function with no ref-qualifier and non-member function with rvalue referenceUnknown
1447CD3static_cast of bit-field lvalue to rvalue referenceUnknown
1448NADIntegral values of type boolUnknown
1449CD3Narrowing conversion of negative value to unsigned typeUnknown
1450CD3INT_MIN % -1Unknown
1451extensionObjects with no linkage in non-type template argumentsNot resolved
1452draftingValue-initialized objects may be constantsNot resolved
1453CD3Volatile members in literal classes?Unknown
1454CD3Passing constants through constexpr functions via referencesUnknown
1455CD3Lvalue converted constant expressionsUnknown
1456CD3Address constant expression designating the one-past-the-end addressUnknown
1457CD3Undefined behavior in left-shiftUnknown
1458CD3Address of incomplete type vs operator&()Unknown
1459openReference-binding tiebreakers in overload resolutionNot resolved
1460C++14What is an empty union?Clang 3.5
1461NADNarrowing conversions to bit-fieldsUnknown
1462CD3Deduction failure vs “ill-formed, no diagnostic required”Unknown
1463extensionextern "C" alias templatesNot resolved
1464CD3Negative array bound in a new-expressionUnknown
1465CD4noexcept and std::bad_array_new_lengthUnknown
1466C++14Visible sequences of side effects are redundantUnknown
1467CD4List-initialization of aggregate from same-type objectClang 3.7 (C++11 onwards)
1468draftingtypeid, overload resolution, and implicit lambda captureNot resolved
1469extensionOmitted bound in array new-expressionNot resolved
1470NADThread migrationUnknown
1471CD3Nested type of non-dependent baseUnknown
1472CD3odr-use of reference variablesUnknown
1473CD3Syntax of literal-operator-idUnknown
1474NADUser-defined literals and <inttypes.h> format macrosUnknown
1475CD3Errors in [[carries_dependency]] exampleUnknown
1476CD3Definition of user-defined typeUnknown
1477CD3Definition of a friend outside its namespaceUnknown
1478draftingtemplate keyword for dependent template template argumentsNot resolved
1479CD3Literal operators and default argumentsUnknown
1480CD3Constant initialization via non-constant temporaryUnknown
1481CD3Increment/decrement operators with reference parametersUnknown
1482CD3Point of declaration of enumerationUnknown
1483NADNon-dependent static_assert-declarationsUnknown
1484CD4Unused local classes of function templatesUnknown
1485draftingOut-of-class definition of member unscoped opaque enumerationNot resolved
1486draftingBase-derived conversion in member pointer deductionNot resolved
1487CD3When are inheriting constructors declared?Unknown
1488draftingabstract-pack-declarators in type-idsNot resolved
1489CD3Is value-initialization of an array constant initialization?Unknown
1490CD4List-initialization from a string literalClang 3.7 (C++11 onwards)
1491CD3Move construction and rvalue reference membersUnknown
1492CD4Exception specifications on template destructorsUnknown
1493C++14Criteria for move-constructionUnknown
1494CD3Temporary initialization for reference binding in list-initializationUnknown
1495CD3Partial specialization of variadic class templateClang 4
1496CD4Triviality with deleted and missing default constructorsUnknown
1497NADAggregate initialization with parenthesized string literalUnknown
1498dupLifetime of temporaries in range-based forUnknown
1499draftingMissing case for deleted move assignment operatorNot resolved
1500openName lookup of dependent conversion functionNot resolved
1501NADNested braces in list-initializationUnknown
1502CD3Value initialization of unions with member initializersUnknown
1503CD3Exceptions during copy to exception objectUnknown
1504CD3Pointer arithmetic after derived-base conversionUnknown
1505dupDirect binding of reference to temporary in list-initializationUnknown
1506CD3Value category of initializer_list objectUnknown
1507CD3Value initialization with trivial inaccessible default constructorUnknown
1508C++14Template initializer-list constructorsUnknown
1509C++14Definition of “non-template function”Unknown
1510CD3cv-qualified references via decltypeUnknown
1511CD3const volatile variables and the one-definition ruleUnknown
1512CD3Pointer comparison vs qualification conversionsClang 4
1513draftinginitializer_list deduction failureNot resolved
1514C++14Ambiguity between enumeration definition and zero-length bit-fieldUnknown
1515CD3Modulo 2n arithmetic for implicitly-unsigned typesUnknown
1516CD3Definition of “virtual function call”Unknown
1517draftingUnclear/missing description of behavior during construction/destructionNot resolved
1518CD4Explicit default constructors and copy-list-initializationClang 4
1519NADConflicting default and variadic constructorsUnknown
1520NADAlias template specialization vs pack expansionUnknown
1521draftingT{expr} with reference typesNot resolved
1522CD3Access checking for initializer_list array initializationUnknown
1523DRWPPoint of declaration in range-based forUnknown
1524draftingIncompletely-defined class template baseNot resolved
1525NADArray bound inference in temporary arrayUnknown
1526dupDependent-class lookup in the current instantiationUnknown
1527CD3Assignment from braced-init-listUnknown
1528CD3Repeated cv-qualifiers in declaratorsUnknown
1529draftingNomenclature for variable vs reference non-static data memberNot resolved
1530draftingMember access in out-of-lifetime objectsNot resolved
1531CD3Definition of “access” (verb)Unknown
1532CD3Explicit instantiation and member templatesUnknown
1533CD3Function pack expansion for member initializationUnknown
1534dupcv-qualification of prvalue of type “array of class”Unknown
1535CD3typeid in core constant expressionsUnknown
1536draftingOverload resolution with temporary from initializer listNot resolved
1537CD3Optional compile-time evaluation of constant expressionsUnknown
1538CD3C-style cast in braced-init-list assignmentUnknown
1539CD3Definition of “character type”Unknown
1540NADUse of address constants in constant expressionsUnknown
1541CD3cv void return typesUnknown
1542draftingCompound assignment of braced-init-listNot resolved
1543CD3Implicit conversion sequence for empty initializer listUnknown
1544CD3Linkage of member of unnamed namespaceUnknown
1545draftingfriend function templates defined in class templatesNot resolved
1546NADErrors in function template default argumentsUnknown
1547NADtypename keyword in alias-declarationsUnknown
1548draftingCopy/move construction and conversion functionsNot resolved
1549openOverloaded comma operator with void operandNot resolved
1550CD3Parenthesized throw-expression operand of conditional-expressionYes
1551C++14Wording problems in using-declaration specificationUnknown
1552CD4exception-specifications and defaulted special member functionsUnknown
1553CD3sizeof and xvalue bit-fieldsUnknown
1554draftingAccess and alias templatesNot resolved
1555extensionLanguage linkage and function type compatibilityNot resolved
1556CD3Constructors and explicit conversion functions in direct initializationUnknown
1557CD3Language linkage of converted lambda function pointerUnknown
1558CD4Unused arguments in alias template specializationsUnknown
1559CD3String too long in initializer list of new-expressionUnknown
1560CD3Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operandClang 3.5
1561extensionAggregates with empty base classesNot resolved
1562C++14Non-static data member initializers and union ctor-initializerUnknown
1563CD3List-initialization and overloaded function disambiguationUnknown
1564NADTemplate argument deduction from an initializer listUnknown
1565NADCopy elision and lifetime of initializer_list underlying arrayUnknown
1566NADShould new std::initializer_list<T> be ill-formed?Unknown
1567C++14Inheriting constructors and copy/move constructorsUnknown
1568dupTemporary lifetime extension with intervening castUnknown
1569C++14Deducing a function parameter pack before ellipsisUnknown
1570C++14Address of subobject as non-type template argumentUnknown
1571CD4cv-qualification for indirect reference binding via conversion functionUnknown
1572CD4Incorrect example for rvalue reference binding via conversion functionUnknown
1573CD4Inherited constructor characteristicsClang 3.9
1574NADExplicitly-defaulted constexpr functions in wrapper templatesUnknown
1575C++14Incorrect definition of “strict pointer safety”Unknown
1576C++14Discarded-value volatile xvaluesUnknown
1577NADUnnecessary restrictions on partial specializationsUnknown
1578NADValue-initialization of aggregatesUnknown
1579C++14Return by converting move constructorClang 3.9
1580draftingDefault arguments in explicit instantiationsNot resolved
1581draftingWhen are constexpr member functions defined?Not resolved
1582draftingTemplate default arguments and deduction failureNot resolved
1583C++14Incorrect example of unspecified behaviorUnknown
1584draftingDeducing function types from cv-qualified typesNot resolved
1585NADValue category of member access of rvalue reference memberUnknown
1586NADNaming a destructor via decltypeUnknown
1587C++14constexpr initialization and nested anonymous unionsUnknown
1588CD3Deducing cv-qualified autoUnknown
1589CD4Ambiguous ranking of list-initialization sequencesClang 3.7 (C++11 onwards)
1590draftingBypassing non-copy/move constructor copyingNot resolved
1591CD4Deducing array bound and element type from initializer listUnknown
1592C++14When do template parameters match?Unknown
1593C++14“Parameter type” of special member functionsUnknown
1594draftingLazy declaration of special members vs overload errorsNot resolved
1595C++14Constructors “involved in” subobject initializationUnknown
1596CD4Non-array objects as array[1]Unknown
1597CD3Misleading constexpr exampleUnknown
1598C++14Criterion for equality of pointers to membersUnknown
1599openLifetime of initializer_list underlying arrayNot resolved
1600CD4Erroneous reference initialization in exampleUnknown
1601C++14Promotion of enumeration with fixed underlying typeUnknown
1602openLinkage of specialization vs linkage of template argumentsNot resolved
1603CD4Errors resulting from giving unnamed namespaces internal linkageUnknown
1604C++14Double temporaries in reference initializationUnknown
1605CD3Misleading parenthetical comment for explicit destructor callUnknown
1606NADsizeof closure classUnknown
1607C++14Lambdas in template parametersUnknown
1608C++14Operator lookup in trailing return typeUnknown
1609openDefault arguments and function parameter packsNot resolved
1610draftingCv-qualification in deduction of reference to arrayNot resolved
1611C++14Deleted default constructor for abstract classDuplicate of 1658
1612C++14Implicit lambda capture and anonymous unionsUnknown
1613C++14Constant expressions and lambda captureUnknown
1614CD4Address of pure virtual function vs odr-useUnknown
1615CD4Alignment of types, variables, and membersUnknown
1616draftingDisambiguation parsing and template parametersNot resolved
1617openalignas and non-defining declarationsNot resolved
1618C++14Gratuitously-unsigned underlying enum typeUnknown
1619openDefinition of current instantiationNot resolved
1620openUser-defined literals and extended integer typesNot resolved
1621draftingMember initializers in anonymous unionsNot resolved
1622C++17Empty aggregate initializer for unionUnknown
1623draftingDeleted default union constructor and member initializersNot resolved
1624NADDestruction of union members with member initializersUnknown
1625openAdding spaces between tokens in stringizingNot resolved
1626draftingconstexpr member functions in brace-or-equal-initializersNot resolved
1627NADAgreement of dependent alignas specifiersUnknown
1628openDeallocation function templatesNot resolved
1629C++14Can a closure class be a literal type?Unknown
1630CD4Multiple default constructor templatesUnknown
1631CD4Incorrect overload resolution for single-element initializer-listClang 3.7
1632openLambda capture in member initializersNot resolved
1633CD4Copy-initialization in member initializationUnknown
1634draftingTemporary storage durationNot resolved
1635draftingHow similar are template default arguments to function default arguments?Not resolved
1636tentatively readyBits required for negative enumerator valuesUnknown
1637NADRecursion in constexpr template default constructorUnknown
1638CD4Declaring an explicit specialization of a scoped enumerationYes
1639CD4exception-specifications and pointer/pointer-to-member expressionsUnknown
1640draftingArray of abstract instance of class templateNot resolved
1641NADAssignment in member initializerUnknown
1642openMissing requirements for prvalue operandsNot resolved
1643extensionDefault arguments for template parameter packsNot resolved
1644openEquivalent exception-specifications in function template declarationsNot resolved
1645CD4Identical inheriting constructors via default argumentsClang 3.9
1646draftingdecltype-specifiers, abstract classes, and deduction failureNot resolved
1647draftingType agreement of non-type template arguments in partial specializationsNot resolved
1648C++14thread_local vs block extern declarationsUnknown
1649C++14Error in the syntax of mem-initializer-listUnknown
1650NADClass prvalues in reference initializationUnknown
1651draftingLifetime extension of temporary via reference to subobjectNot resolved
1652CD4Object addresses in constexpr expressionsUnknown
1653CD4Removing deprecated increment of boolClang 4 (C++17 onwards)
1654dupLiteral types and constexpr defaulted constructorsUnknown
1655draftingLine endings in raw string literalsNot resolved
1656draftingEncoding of numerically-escaped charactersNot resolved
1657CD4Attributes for namespaces and enumeratorsUnknown
1658C++14Deleted default constructor for abstract class via destructorClang 5
1659openInitialization order of thread_local template static data membersNot resolved
1660C++14member-declaration requirements and unnamed bit-fieldsUnknown
1661NADPreservation of infinite loopsUnknown
1662C++14Capturing function parameter packsUnknown
1663NADCapturing an empty pack expansionUnknown
1664C++14Argument-dependent lookup of lambdas used in default argumentsUnknown
1665draftingDeclaration matching in explicit instantiationsNot resolved
1666C++14Address constant expressionsUnknown
1667NADFunction exiting via exception called by destructor during unwindingUnknown
1668draftingParameter type determination still not clear enoughNot resolved
1669C++14auto return type for mainUnknown
1670draftingauto as conversion-type-idNot resolved
1671NADUnclear rules for deduction with cv-qualificationUnknown
1672CD4Layout compatibility with multiple empty basesClang 7
1673C++14Clarifying overload resolution for the second step of copy-initializationUnknown
1674C++14Return type deduction for address of functionUnknown
1675NADSize limit for automatic array objectUnknown
1676draftingauto return type for allocation and deallocation functionsNot resolved
1677C++17Constant initialization via aggregate initializationUnknown
1678NADNaming the type of an array of runtime boundUnknown
1679NADRange-based for and array of runtime boundUnknown
1680draftingIncluding <initializer_list> for range-based forNot resolved
1681C++14init-captures and nested lambdasUnknown
1682openOverly-restrictive rules on function templates as allocation functionsNot resolved
1683CD4Incorrect example after constexpr changesUnknown
1684C++14Static constexpr member functions for non-literal classesClang 3.6
1685NADValue category of noexcept expressionUnknown
1686CD4Which variables are “explicitly declared const?”Unknown
1687C++14Conversions of operands of built-in operatorsClang 7
1688NADVolatile constexpr variablesUnknown
1689C++14Syntactic nonterminal for operand of alignasUnknown
1690C++14Associated namespace for local typeUnknown
1691C++14Argument-dependent lookup and opaque enumerationsUnknown
1692C++14Associated namespaces of doubly-nested classesUnknown
1693C++14Superfluous semicolons in class definitionsUnknown
1694CD4Restriction on reference to temporary as a constant expressionUnknown
1695NADLifetime extension via init-captureUnknown
1696CD4Temporary lifetime and non-static data member initializersClang 7
1697draftingLifetime extension and copy elisionNot resolved
1698openFiles ending in \Not resolved
1699draftingDoes befriending a class befriend its friends?Not resolved
1700NADDoes the special rvalue-reference deduction apply to alias templates?Unknown
1701draftingArray vs sequence in object representationNot resolved
1702draftingRephrasing the definition of “anonymous union”Not resolved
1703NADLanguage linkage of names of functions with internal linkageUnknown
1704DRWPType checking in explicit instantiation of variable templatesUnknown
1705CD4Unclear specification of “more specialized”Unknown
1706draftingalignas pack expansion syntaxNot resolved
1707C++14template in elaborated-type-specifier without nested-name-specifierUnknown
1708CD4overly-strict requirements for names with C language linkageUnknown
1709draftingStringizing raw string literals containing newlineNot resolved
1710C++17Missing template keyword in class-or-decltypeUnknown
1711draftingMissing specification of variable template partial specializationsNot resolved
1712CD4constexpr variable template declarationsUnknown
1713draftingLinkage of variable template specializationsNot resolved
1714NADodr-use of this from a local classUnknown
1715CD4Access and inherited constructor templatesClang 3.9
1716C++14When are default arguments evaluated?Unknown
1717C++14Missing specification of type of binary literalUnknown
1718draftingMacro invocation spanning end-of-fileNot resolved
1719CD4Layout compatibility and cv-qualification revisitedUnknown
1720NADMacro invocation in #include directiveUnknown
1721draftingDiagnosing ODR violations for static data membersNot resolved
1722CD4Should lambda to function pointer conversion function be noexcept?Clang 9.0
1723draftingMulticharacter user-defined character literalsNot resolved
1724draftingUnclear rules for deduction failureNot resolved
1725NADTrailing return type with nested function declaratorUnknown
1726draftingDeclarator operators and conversion functionNot resolved
1727NADType of a specialization of a variable templateUnknown
1728DRWPType of an explicit instantiation of a variable templateUnknown
1729draftingMatching declarations and definitions of variable templatesNot resolved
1730draftingCan a variable template have an unnamed type?Not resolved
1731NADis_trivially_X and definitions of special member functionsUnknown
1732C++14Defining types in conditions and range-based for statementsUnknown
1733draftingReturn type and value for operator= with ref-qualifierNot resolved
1734CD4Nontrivial deleted copy functionsUnknown
1735draftingOut-of-range literals in user-defined-literalsNot resolved
1736CD4Inheriting constructor templates in a local classClang 3.9
1737C++14Type dependence of call to a member of the current instantiationUnknown
1738C++14Explicit instantiation/specialization of inheriting constructor templatesUnknown
1739C++14Conversion of floating point to enumerationUnknown
1740C++14Disambiguation of noexceptUnknown
1741C++14odr-use of class object in lvalue-to-rvalue conversionUnknown
1742openusing-declarations and scoped enumeratorsNot resolved
1743NADinit-captures in nested lambdasUnknown
1744CD4Unordered initialization for variable template specializationsUnknown
1745NADthread_local constexpr variableUnknown
1746C++14Are volatile scalar types trivially copyable?Unknown
1747C++14Constant initialization of reference to functionUnknown
1748CD4Placement new with a null pointerClang 3.7
1749NADConfusing definition for constant initializerUnknown
1750CD4“Argument” vs “parameter”Unknown
1751CD4Non-trivial operations vs non-trivial initializationUnknown
1752CD4Right-recursion in mem-initializer-listUnknown
1753CD4decltype-specifier in nested-name-specifier of destructorUnknown
1754NADDeclaration of partial specialization of static data member templateUnknown
1755draftingOut-of-class partial specializations of member templatesNot resolved
1756CD4Direct-list-initialization of a non-class objectClang 3.7
1757CD4Const integral subobjectsUnknown
1758CD4Explicit conversion in copy/move list initializationClang 3.7
1759C++14UTF-8 code units in plain charUnknown
1760C++14Access of member corresponding to init-captureUnknown
1761NADRuntime check on size of automatic arrayUnknown
1762C++14Reserved identifier used in literal-operator-id exampleUnknown
1763openLength mismatch in template type deductionNot resolved
1764C++14Hiding of function from using-declaration by signatureUnknown
1765C++14Overflow of enumeration used as enumerator valueUnknown
1766CD4Values outside the range of the values of an enumerationUnknown
1767C++14Scoped enumeration in a switch statementUnknown
1768NADZero-element array of runtime boundUnknown
1769C++14Catching a base class of the exception objectUnknown
1770C++14Type matching of non-type template parameters and argumentsUnknown
1771openRestricted lookup in nested-name-specifierNot resolved
1772C++14__func__ in a lambda bodyUnknown
1773C++14Out-of-lifetime lvalue-to-rvalue conversionUnknown
1774CD4Discrepancy between subobject destruction and stack unwindingUnknown
1775C++14Undefined behavior of line splice in raw string literalUnknown
1776CD4Replacement of class objects containing reference membersUnknown
1777CD4Empty pack expansion in dynamic-exception-specificationUnknown
1778C++14exception-specification in explicitly-defaulted functionsUnknown
1779CD4Type dependency of __func__Unknown
1780CD4Explicit instantiation/specialization of generic lambda operator()Unknown
1781tentatively readyConverting from nullptr_t to bool in overload resolutionUnknown
1782CD4Form of initialization for nullptr_t to bool conversionUnknown
1783NADWhy are virtual destructors non-trivial?Unknown
1784C++17Concurrent execution during static local initializationUnknown
1785NADConflicting diagnostic requirements for template definitionsUnknown
1786C++14Effect of merging allocations on memory leakageUnknown
1787C++14Uninitialized unsigned char valuesUnknown
1788CD4Sized deallocation of array of non-class typeUnknown
1789draftingArray reference vs array decay in overload resolutionNot resolved
1790extensionEllipsis following function parameter packNot resolved
1791CD4Incorrect restrictions on cv-qualifier-seq and ref-qualifierUnknown
1792NADIncorrect example of explicit specialization of member enumerationUnknown
1793CD4thread_local in explicit specializationsUnknown
1794C++17template keyword and alias templatesUnknown
1795CD4Disambiguating original-namespace-definition and extension-namespace-definitionUnknown
1796CD4Is all-bits-zero for null characters a meaningful requirement?Unknown
1797CD4Are all bit patterns of unsigned char distinct numbers?Unknown
1798NADexception-specifications of template argumentsUnknown
1799CD4mutable and non-explicit const qualificationUnknown
1800CD4Pointer to member of nested anonymous unionUnknown
1801draftingKind of expression referring to member of anonymous unionNot resolved
1802CD4char16_t string literals and surrogate pairsUnknown
1803draftingopaque-enum-declaration as member-declarationNot resolved
1804CD4Partial specialization and friendshipUnknown
1805CD4Conversions of array operands in conditional-expressionsUnknown
1806CD4Virtual bases and move-assignmentUnknown
1807CD4Order of destruction of array elements after an exceptionUnknown
1808draftingConstructor templates vs default constructorsNot resolved
1809CD4Narrowing and template argument deductionUnknown
1810CD4Invalid ud-suffixesUnknown
1811CD4Lookup of deallocation function in a virtual destructor definitionUnknown
1812C++17Omission of template in a typename-specifierUnknown
1813CD4Direct vs indirect bases in standard-layout classesClang 7
1814CD4Default arguments in lambda-expressionsUnknown
1815CD4Lifetime extension in aggregate initializationNo
1816CD4Unclear specification of bit-field valuesUnknown
1817draftingLinkage specifications and nested scopesNot resolved
1818openVisibility and inherited language linkageNot resolved
1819CD4Acceptable scopes for definition of partial specializationUnknown
1820openQualified typedef namesNot resolved
1821openQualified redeclarations in a class member-specificationNot resolved
1822openLookup of parameter names in lambda-expressionsNot resolved
1823CD4String literal uniqueness in inline functionsUnknown
1824CD4Completeness of return type vs point of instantiationUnknown
1825C++17Partial ordering between variadic and non-variadic function templatesUnknown
1826NADconst floating-point in constant expressionsUnknown
1827draftingReference binding with ambiguous conversionsNot resolved
1828draftingnested-name-specifier ambiguityNot resolved
1829openDependent unnamed typesNot resolved
1830CD4Repeated specifiersUnknown
1831NADExplicitly vs implicitly deleted move constructorsUnknown
1832CD4Casting to incomplete enumerationUnknown
1833NADfriend declarations naming implicitly-declared member functionsUnknown
1834CD4Constant initialization binding a reference to an xvalueUnknown
1835draftingDependent member lookup before <Not resolved
1836DRWPUse of class type being defined in trailing-return-typeUnknown
1837draftingUse of this in friend and local class declarationsNot resolved
1838CD4Definition via unqualified-id and using-declarationUnknown
1839draftingLookup of block-scope extern declarationsNot resolved
1840draftingNon-deleted explicit specialization of deleted function templateNot resolved
1841drafting< following template injected-class-nameNot resolved
1842concurrencyUnevaluated operands and “carries a dependency”Not resolved
1843CD4Bit-field in conditional operator with throw operandUnknown
1844draftingDefining “immediate context”Not resolved
1845draftingPoint of instantiation of a variable template specializationNot resolved
1846CD4Declaring explicitly-defaulted implicitly-deleted functionsUnknown
1847CD4Clarifying compatibility during partial orderingUnknown
1848CD4Parenthesized constructor and destructor declaratorsUnknown
1849draftingVariable templates and the ODRNot resolved
1850CD4Differences between definition context and point of instantiationUnknown
1851CD4decltype(auto) in new-expressionsUnknown
1852CD4Wording issues regarding decltype(auto)Unknown
1853draftingDefining “allocated storage”Not resolved
1854draftingDisallowing use of implicitly-deleted functionsNot resolved
1855dupOut-of-lifetime access to nonstatic data membersUnknown
1856openIndirect nested classes of class templatesNot resolved
1857draftingAdditional questions about bitsNot resolved
1858CD4Comparing pointers to union membersUnknown
1859draftingUTF-16 in char16_t string literalsNot resolved
1860C++17What is a “direct member?”Unknown
1861CD4Values of a bit-fieldUnknown
1862DRDetermining “corresponding members” for friendshipUnknown
1863CD4Requirements on thrown object type to support std::current_exception()Unknown
1864extensionList-initialization of array objectsNot resolved
1865CD4Pointer arithmetic and multi-level qualification conversionsUnknown
1866CD4Initializing variant members with non-trivial destructorsUnknown
1867NADFunction/expression ambiguity with qualified parameter nameUnknown
1868draftingMeaning of “placeholder type”Not resolved
1869NADthread_local vs linkage-specificationsUnknown
1870CD4Contradictory wording about definitions vs explicit specialization/instantiationUnknown
1871extensionNon-identifier characters in ud-suffixNot resolved
1872CD4Instantiations of constexpr templates that cannot appear in constant expressionsUnknown
1873CD4Protected member access from derived class friendsUnknown
1874CD4Type vs non-type template parameters with class keywordUnknown
1875CD4Reordering declarations in class scopeUnknown
1876extensionPreventing explicit specializationNot resolved
1877CD4Return type deduction from return with no operandUnknown
1878CD4operator auto templateUnknown
1879NADInadequate definition of alignment requirementUnknown
1880draftingWhen are parameter objects destroyed?Not resolved
1881CD4Standard-layout classes and unnamed bit-fieldsClang 7
1882CD4Reserved names without library useUnknown
1883draftingProtected access to constructors in mem-initializersNot resolved
1884draftingUnclear requirements for same-named external-linkage entitiesNot resolved
1885CD4Return value of a function is underspecifiedUnknown
1886CD4Language linkage for main()Unknown
1887CD4Problems with :: as nested-name-specifierUnknown
1888CD4Implicitly-declared default constructors and explicitUnknown
1889draftingUnclear effect of #pragma on conformanceNot resolved
1890draftingMember type depending on definition of member functionNot resolved
1891CD4Move constructor/assignment for closure classClang 4
1892CD4Use of auto in function typeUnknown
1893DRFunction-style cast with braced-init-lists and empty pack expansionsUnknown
1894opentypedef-names and using-declarationsNot resolved
1895CD4Deleted conversions in conditional operator operandsUnknown
1896draftingRepeated alias templatesNot resolved
1897draftingODR vs alternative tokensNot resolved
1898draftingUse of “equivalent” in overload resolutionNot resolved
1899CD4Value-dependent constant expressionsUnknown
1900draftingDo friend declarations count as “previous declarations”?Not resolved
1901draftingpunctuator referenced but not definedNot resolved
1902CD4What makes a conversion “otherwise ill-formed”?Clang 3.7
1903CD4What declarations are introduced by a non-member using-declaration?Unknown
1904NADDefault template arguments for members of class templatesUnknown
1905MADDependent types and injected-class-namesUnknown
1906NADName lookup in member friend declarationUnknown
1907draftingusing-declarations and default argumentsNot resolved
1908draftingDual destructor lookup and template-idsNot resolved
1909CD4Member class template with the same name as the classYes
1910DR“Shall” requirement applied to runtime behaviorUnknown
1911CD4constexpr constructor with non-literal base classUnknown
1912extensionexception-specification of defaulted functionNot resolved
1913draftingdecltype((x)) in lambda-expressionsNot resolved
1914extensionDuplicate standard attributesNot resolved
1915extensionPotentially-invoked destructors in non-throwing constructorsNot resolved
1916CD4“Same cv-unqualified type”Unknown
1917draftingdecltype-qualified enumeration namesNot resolved
1918openfriend templates with dependent scopesNot resolved
1919openOverload resolution for ! with explicit conversion operatorNot resolved
1920CD4Qualification mismatch in pseudo-destructor-nameUnknown
1921NADconstexpr constructors and point of initialization of const variablesUnknown
1922CD4Injected class template names and default argumentsUnknown
1923extensionLvalues of type voidNot resolved
1924reviewDefinition of “literal” and kinds of literalsNot resolved
1925CD4Bit-field prvaluesUnknown
1926CD4Potential results of subscript operatorUnknown
1927dupLifetime of temporaries in init-capturesUnknown
1928NADTriviality of deleted special member functionsUnknown
1929CD4template keyword following namespace nested-name-specifierUnknown
1930CD4init-declarator-list vs member-declarator-listUnknown
1931extensionDefault-constructible and copy-assignable closure typesNot resolved
1932CD4Bit-field results of conditional operatorsUnknown
1933NADImplementation limit for initializer-list elementsUnknown
1934extensionRelaxing exception-specification compatibility requirementsNot resolved
1935draftingReuse of placement arguments in deallocationNot resolved
1936draftingDependent qualified-idsNot resolved
1937draftingIncomplete specification of function pointer from lambdaNot resolved
1938draftingShould hosted/freestanding be implementation-defined?Not resolved
1939draftingArgument conversions to nondeduced parameter types revisitedNot resolved
1940CD4static_assert in anonymous unionsYes
1941CD4SFINAE and inherited constructor default argumentsClang 3.9
1942CD4Incorrect reference to trailing-return-typeUnknown
1943openUnspecified meaning of “bit”Not resolved
1944openNew C incompatibilitiesNot resolved
1945openFriend declarations naming members of class templates in non-templatesNot resolved
1946CD4exception-specifications vs pointer dereferenceUnknown
1947NADDigit separators following non-octal prefixYes
1948NADexception-specification of replacement global newYes
1949CD4“sequenced after” instead of “sequenced before”Unknown
1950NADRestructuring description of ranks of conversion sequencesUnknown
1951CD4Cv-qualification and literal typesUnknown
1952CD4Constant expressions and library undefined behaviorUnknown
1953openData races and common initial sequenceNot resolved
1954opentypeid null dereference check in subexpressionsNot resolved
1955CD4#elif with invalid controlling expressionUnknown
1956CD4Reuse of storage of automatic variablesUnknown
1957extensiondecltype(auto) with direct-list-initializationNot resolved
1958CD4decltype(auto) with parenthesized initializerUnknown
1959CD4Inadvertently inherited copy constructorClang 3.9
1960NADVisibility of entity named in class-scope using-declarationUnknown
1961C++17Potentially-concurrent actions within a signal handlerUnknown
1962draftingType of __func__Not resolved
1963CD4Implementation-defined identifier charactersUnknown
1964NADopaque-enum-declaration in alias-declaration?Unknown
1965draftingExplicit casts to reference typesNot resolved
1966CD4Colon following enumeration elaborated-type-specifierUnknown
1967CD4Temporary lifetime and move-elisionUnknown
1968NADAddress of typeid in constant expressionsYes
1969openMissing exclusion of ~S as an ordinary function nameNot resolved
1970NADAmbiguity resolution for (T())*xUnknown
1971CD4Unclear disambiguation of destructor and operator~Unknown
1972openIdentifier character restrictions in non-identifiersNot resolved
1973draftingWhich parameter-declaration-clause in a lambda-expression?Not resolved
1974openRedundant specification of non-type typename-specifierNot resolved
1975CD4Permissible declarations for exception-specificationsUnknown
1976NADAmbiguity of namespace-aliasesUnknown
1977draftingContradictory results of failed destructor lookupNot resolved
1978CD4Redundant description of explicit constructor useUnknown
1979draftingAlias template specialization in template member definitionNot resolved
1980draftingEquivalent but not functionally-equivalent redeclarationsNot resolved
1981CD4Implicit contextual conversions and explicitUnknown
1982NADDeduction extending parameter packUnknown
1983DRInappropriate use of virt-specifierUnknown
1984NADLossless narrowing conversionsUnknown
1985NADUnknown bound array member with brace-or-equal-initializerUnknown
1986draftingodr-use and delayed initializationNot resolved
1987NADconstexpr static data members across translation unitsUnknown
1988CD4Ambiguity between dependent and non-dependent bases in implicit member accessUnknown
1989draftingInsufficient restrictions on parameters of postfix operatorsNot resolved
1990CD4Ambiguity due to optional decl-specifier-seqUnknown
1991CD4Inheriting constructors vs default argumentsClang 3.9
1992CD4new (std::nothrow) int[N] can throwUnknown
1993draftingUse of template<> defining member of explicit specializationNot resolved
1994dupConfusing wording regarding multiple template<> prefixesDuplicate of 529
1995CD4exception-specifications and non-type template parametersUnknown
1996draftingReference list-initialization ignores conversion functionsNot resolved
1997draftingPlacement new and previous initializationNot resolved
1998NADAdditional sources of xvalue expressionsUnknown
1999CD4Representation of source characters as universal-character-namesUnknown
2000CD4header-name outside #include directiveUnknown
2001CD4non-directive is underspecifiedUnknown
2002openWhite space within preprocessing directivesNot resolved
2003draftingZero-argument macros incorrectly specifiedNot resolved
2004CD4Unions with mutable members in constant expressionsUnknown
2005NADIncorrect constexpr reference initialization requirementsUnknown
2006CD4Cv-qualified void typesUnknown
2007draftingArgument-dependent lookup for operator=Not resolved
2008CD4Default template-arguments underspecifiedUnknown
2009openUnclear specification of class scopeNot resolved
2010CD4exception-specifications and conversion operatorsUnknown
2011C++17Unclear effect of reference capture of referenceUnknown
2012CD4Lifetime of referencesUnknown
2013draftingPointer subtraction in large arrayNot resolved
2014NADUnneeded deallocation signaturesUnknown
2015CD4odr-use of deleted virtual functionsUnknown
2016CD4Confusing wording in description of conversion functionUnknown
2017CD4Flowing off end is not equivalent to no-expression returnUnknown
2018draftingQualification conversion vs reference bindingNot resolved
2019CD4Member references omitted from description of storage durationUnknown
2020draftingInadequate description of odr-use of implicitly-invoked functionsNot resolved
2021dupFunction template redeclaration via alias templateUnknown
2022CD4Copy elision in constant expressionsUnknown
2023draftingComposite reference result type of conditional operatorNot resolved
2024CD4Dependent types and unexpanded parameter packsUnknown
2025dupDeclaration matching via alias templatesUnknown
2026CD4Zero-initialization and constexprUnknown
2027CD4Unclear requirements for multiple alignas specifiersUnknown
2028draftingConverting constructors in rvalue reference initializationNot resolved
2029dupAbstract class return type in decltype operandUnknown
2030NADAccess of injected-class-name with template argumentsUnknown
2031CD4Missing incompatibility for &&Unknown
2032CD4Default template-arguments of variable templatesUnknown
2033CD4Redundant restriction on partial specialization argumentUnknown
2034NADDeprecating uncaught_exception()Unknown
2035CD3Multi-section example is confusingUnknown
2036NADRefactoring parameters-and-qualifiersUnknown
2037draftingAlias templates and template declaration matchingNot resolved
2038CD4Document C++14 incompatibility of new braced deduction ruleUnknown
2039CD4Constant conversions to boolUnknown
2040CD4trailing-return-type no longer ambiguousUnknown
2041CD4Namespace for explicit class template specializationUnknown
2042draftingExceptions and deallocation functionsNot resolved
2043draftingGeneralized template arguments and array-to-pointer decayNot resolved
2044CD4decltype(auto) and voidUnknown
2045drafting“Identical” template parameter listsNot resolved
2046C++17Incomplete thread specificationsUnknown
2047CD4Coordinating “throws anything” specificationsUnknown
2048openC-style casts that cast away constness vs static_castNot resolved
2049draftingList initializer in non-type template default argumentNot resolved
2050NADConsolidate specification of linkageUnknown
2051draftingSimplifying alias rulesNot resolved
2052CD4Template argument deduction vs overloaded operatorsUnknown
2053draftingauto in non-generic lambdasNot resolved
2054openMissing description of class SFINAENot resolved
2055draftingExplicitly-specified non-deduced parameter packsNot resolved
2056draftingMember function calls in partially-initialized class objectsNot resolved
2057draftingTemplate template arguments with default argumentsNot resolved
2058draftingMore errors from internal-linkage namespacesNot resolved
2059DRLinkage and deduced return typesUnknown
2060NADDeduced return type for explicit specializationUnknown
2061CD4Inline namespace after simplificationsUnknown
2062draftingClass template redeclaration requirementsNot resolved
2063CD4Type/nontype hiding in class scopeUnknown
2064CD4Conflicting specifications for dependent decltype-specifiersUnknown
2065draftingCurrent instantiation of a partial specializationNot resolved
2066CD4Does type-dependent imply value-dependent?Unknown
2067openGenerated variadic templates requiring empty packNot resolved
2068CD4When can/must a defaulted virtual destructor be defined?Unknown
2069CD4Do destructors have names?Unknown
2070draftingusing-declaration with dependent nested-name-specifierNot resolved
2071CD4typedef with no declaratorUnknown
2072draftingDefault argument instantiation for member functions of templatesNot resolved
2073draftingAllocating memory for exception objectsNot resolved
2074draftingType-dependence of local class of function templateNot resolved
2075CD4Passing short initializer lists to array reference parametersUnknown
2076CD4List-initialization of arguments for constructor parametersUnknown
2077draftingOverload resolution and invalid rvalue-reference initializationNot resolved
2078NADName lookup of mem-initilizer-idUnknown
2079CD4[[ appearing in a balanced-token-seqUnknown
2080draftingExample with empty anonymous union memberNot resolved
2081DRDeduced return type in redeclaration or specialization of function templateUnknown
2082CD4Referring to parameters in unevaluated operands of default argumentsUnknown
2083draftingIncorrect cases of odr-useNot resolved
2084CD4NSDMIs and deleted union default constructorsUnknown
2085CD4Invalid example of adding special member function via default argumentUnknown
2086draftingReference odr-use vs implicit captureNot resolved
2087openLeft shift of negative value by zero bitsNot resolved
2088DRLate tiebreakers in partial orderingUnknown
2089draftingRestricting selection of builtin overloaded operatorsNot resolved
2090draftingDependency via non-dependent base classNot resolved
2091CD4Deducing reference non-type template argumentsUnknown
2092DRDeduction failure and overload resolutionUnknown
2093CD4Qualification conversion for pointer-to-member handler matchingUnknown
2094C++17Trivial copy/move constructor for class with volatile memberClang 5
2095CD4Capturing rvalue references to functions by copyUnknown
2096CD4Constraints on literal unionsUnknown
2097extensionLambdas and noreturn attributeNot resolved
2098CD4Is uncaught_exceptions() per-thread?Unknown
2099CD4Inferring the bound of an array static data memberUnknown
2100C++17Value-dependent address of static data member of class templateUnknown
2101CD4Incorrect description of type- and value-dependenceUnknown
2102draftingConstructor checking in new-expressionNot resolved
2103draftingLvalue-to-rvalue conversion is irrelevant in odr-use of a referenceNot resolved
2104CD4Internal-linkage constexpr references and ODR requirementsUnknown
2105openWhen do the arguments for a parameter pack end?Not resolved
2106CD4Unclear restrictions on use of function-type template argumentsUnknown
2107CD4Lifetime of temporaries for default arguments in array copyingUnknown
2108draftingConversions to non-class prvalues in reference initializationNot resolved
2109CD4Value dependence underspecifiedUnknown
2110draftingOverload resolution for base class conversion and reference/non-referenceNot resolved
2111extensionArray temporaries in reference bindingNot resolved
2112draftingnew auto{x}Not resolved
2113CD4Incompete specification of types for declaratorsUnknown
2114CD3Missing description of incompatibility from aggregate NSDMIsUnknown
2115draftingOrder of implicit destruction vs release of automatic storageNot resolved
2116draftingDirect or copy initialization for omitted aggregate initializersNot resolved
2117draftingExplicit specializations and constexpr function templatesNot resolved
2118openStateful metaprogramming via friend injectionNot resolved
2119NADDisambiguation of multi-level covariant return typeUnknown
2120CD4Array as first non-static data member in standard-layout classClang 7
2121draftingMore flexible lambda syntaxNot resolved
2122CD4Glvalues of void typeUnknown
2123openOmitted constant initialization of local static variablesNot resolved
2124CD4Signature of constructor templateUnknown
2125extensionCopy elision and comma operatorNot resolved
2126draftingLifetime-extended temporaries in constant expressionsNot resolved
2127draftingPartial specialization and nullptrNot resolved
2128draftingImprecise rule for reference member initializerNot resolved
2129CD4Non-object prvalues and constant expressionsUnknown
2130CD4Over-aligned types in new-expressionsUnknown
2131draftingAmbiguity with opaque-enum-declarationNot resolved
2132extensionDeprecated default generated copy constructorsNot resolved
2133tentatively readyConverting std::nullptr_t to boolUnknown
2134NADObjectless references to non-static member functionsUnknown
2135NADmem-initializers for virtual bases of abstract classesUnknown
2136NADArgument-dependent lookup and initializer listsUnknown
2137CD4List-initialization from object of same typeUnknown
2138NADExplicit member specialization vs implicit instantiationUnknown
2139NADFloating-point requirements for integer representationUnknown
2140CD4Lvalue-to-rvalue conversion of std::nullptr_tUnknown
2141CD4Ambiguity in new-expression with elaborated-type-specifierUnknown
2142NADMissing definition of associated classes and namespacesUnknown
2143C++17Value-dependency via injected-class-nameUnknown
2144draftingFunction/variable declaration ambiguityNot resolved
2145CD4Parenthesized declarator in function definitionUnknown
2146CD4Scalar object vs memory location in definition of “unsequenced”Unknown
2147CD4Initializer-list arguments and pack deductionUnknown
2148draftingThread storage duration and order of initializationNot resolved
2149draftingBrace elision and array length deductionNot resolved
2150CD3Initializer list array lifetimeUnknown
2151draftingException object is not createdNot resolved
2152NADCan an alternative token be used as a ud-suffix?Unknown
2153CD4pure-specifier in friend declarationUnknown
2154CD4Ambiguity of pure-specifierUnknown
2155C++17Defining classes and enumerations via using-declarationsUnknown
2156CD4Definition of enumeration declared by using-declarationUnknown
2157CD4Further disambiguation of enumeration elaborated-type-specifierUnknown
2158draftingPolymorphic behavior during destructionNot resolved
2159NADLambda capture and local thread_local variablesUnknown
2160openIssues with partial orderingNot resolved
2161NADExplicit instantiation declaration and “preceding initialization”Unknown
2162CD3Capturing this by referenceUnknown
2163CD4Labels in constexpr functionsUnknown
2164DRName hiding and using-directivesUnknown
2165draftingNamespaces, declarative regions, and translation unitsNot resolved
2166draftingUnclear meaning of “undefined constexpr function”Not resolved
2167CD4Non-member references with lifetimes within the current evaluationUnknown
2168openNarrowing conversions and +/- infinityNot resolved
2169extensionNarrowing conversions and overload resolutionNot resolved
2170draftingUnclear definition of odr-use for arraysNot resolved
2171CD4Triviality of copy constructor with less-qualified parameterUnknown
2172draftingMultiple exceptions with one exception objectNot resolved
2173openPartial specialization with non-deduced contextsNot resolved
2174C++17Unclear rules for friend definitions in templatesUnknown
2175CD4Ambiguity with attribute in conversion operator declarationUnknown
2176CD4Destroying the returned object when a destructor throwsUnknown
2177DRPlacement operator delete and parameter copiesUnknown
2178NADSubstitution of dependent template arguments in default template argumentsUnknown
2179draftingRequired diagnostic for partial specialization after first useNot resolved
2180CD4Virtual bases in destructors and defaulted assignment operatorsYes
2181draftingNormative requirements in an informative AnnexNot resolved
2182draftingPointer arithmetic in array-like containersNot resolved
2183NADProblems in description of potential exceptionsUnknown
2184CD4Missing C compatibility entry for decrement of boolUnknown
2185openCv-qualified numeric typesNot resolved
2186draftingUnclear point that “preceding initialization” must precedeNot resolved
2187draftingProtected members and access via qualified-idNot resolved
2188openempty-declaration ambiguityNot resolved
2189openSurrogate call templateNot resolved
2190openInsufficient specification of __has_includeNot resolved
2191C++17Incorrect result for noexcept(typeid(v))Unknown
2192openConstant expressions and order-of-eval undefined behaviorNot resolved
2193NADnumeric_limits<int>::radix and digitsUnknown
2194reviewImpossible case in list initializationNot resolved
2195openUnsolicited reading of trailing volatile membersNot resolved
2196C++17Zero-initialization with virtual base classesUnknown
2197reviewOverload resolution and deleted special member functionsNot resolved
2198C++17Linkage of enumeratorsUnknown
2199draftingTypedefs and tagsNot resolved
2200NADConversions in template argument deductionUnknown
2201C++17Cv-qualification of array typesUnknown
2202draftingWhen does default argument instantiation occur?Not resolved
2203draftingDefaulted copy/move constructors and UDCsNot resolved
2204NADNaming delegated constructorsUnknown
2205C++17Restrictions on use of alignasUnknown
2206C++17Composite type of object and function pointersUnknown
2207draftingAlignment of allocation function return valueNot resolved
2208NADstatic_assert-declaration does not declare a memberUnknown
2209NADDestruction of constructed array elementsUnknown
2210NADPrincipal/target constructor confusionUnknown
2211C++17Hiding by lambda captures and parametersSVN
2212openTypedef changing linkage after useNot resolved
2213draftingForward declaration of partial specializationsNot resolved
2214C++17Missing requirement on representation of integer valuesUnknown
2215reviewRedundant description of language linkage in function callNot resolved
2216NADException specifications in unevaluated contextsUnknown
2217NADconstexpr constructors for non-literal typesUnknown
2218C++17Ambiguity and namespace aliasesUnknown
2219draftingDynamically-unreachable handlersNot resolved
2220C++17Hiding index variable in range-based forUnknown
2221reviewCopying volatile objectsNot resolved
2222draftingAdditional contexts where instantiation is not requiredNot resolved
2223draftingMultiple alignas specifiersNot resolved
2224C++17Member subobjects and base-class castsUnknown
2225NADreinterpret_cast to same floating-point typeUnknown
2226DRXvalues vs lvalues in conditional expressionsUnknown
2227DRDestructor access and default member initializersUnknown
2228draftingAmbiguity resolution for cast to function typeNot resolved
2229DRVolatile unnamed bit-fieldsClang 7
2230NADLinkage of extern "C" function in unnamed namespaceUnknown
2231NADClass member access to static data member templateUnknown
2232openthread_local anonymous unionsNot resolved
2233DRWPFunction parameter packs following default argumentsUnknown
2234DRMissing rules for simple-template-id as class-nameUnknown
2235DRPartial ordering and non-dependent typesUnknown
2236draftingWhen is an alias template specialization dependent?Not resolved
2237acceptedCan a template-id name a constructor?Unknown
2238NADContradictory alignment requirements for allocationUnknown
2239NADSized deallocation with a trivial destructorUnknown
2240draftingthis is not odr-used in a constant expressionNot resolved
2241DROverload resolution is not invoked with a single functionUnknown
2242draftingODR violation with constant initialization possibly omittedNot resolved
2243draftingIncorrect use of implicit conversion sequenceNot resolved
2244openBase class access in aggregate initializationNot resolved
2245draftingPoint of instantiation of incomplete class templateNot resolved
2246draftingAccess of indirect virtual base class constructorsNot resolved
2247C++17Lambda capture and variable argument listUnknown
2248C++17Problems with sized deleteUnknown
2249DRWPidentifiers and id-expressionsUnknown
2250openImplicit instantiation, destruction, and TUsNot resolved
2251C++17Unreachable enumeration list-initializationUnknown
2252reviewEnumeration list-initialization from the same typeNot resolved
2253DRWPUnnamed bit-fields and zero-initializationUnknown
2254DRWPStandard-layout classes and bit-fieldsUnknown
2255DRInstantiated static data member templatesUnknown
2256draftingLifetime of trivially-destructible objectsNot resolved
2257draftingLifetime extension of references vs exceptionsNot resolved
2258openStorage deallocation during period of destructionNot resolved
2259C++17Unclear context describing ambiguityUnknown
2260DRExplicit specializations of deleted member functionsUnknown
2261extensionExplicit instantiation of in-class friend definitionNot resolved
2262C++17Attributes for asm-definitionUnknown
2263draftingDefault argument instantiation for friendsNot resolved
2264draftingMemberwise copying with indeterminate valueNot resolved
2265draftingDelayed pack expansion and member redeclarationsNot resolved
2266draftingHas dependent type vs is type-dependentNot resolved
2267readyCopy-initialization of temporary in reference direct-initializationUnknown
2268C++17Unions with mutable members in constant expressions revisitedUnknown
2269dupAdditional recursive references in aggregate DMIsUnknown
2270extensionNon-inline functions and explicit instantiation declarationsNot resolved
2271C++17Aliasing thisUnknown
2272C++17Implicit initialization of aggregate members of reference typeUnknown
2273DRWPInheriting constructors vs implicit default constructorUnknown
2274NADGeneric lambda capture vs constexpr ifUnknown
2275draftingType-dependence of function templateNot resolved
2276C++17Dependent noexcept and function type-dependenceUnknown
2277DRWPAmbiguity inheriting constructors with default argumentsUnknown
2278draftingCopy elision in constant expressions reconsideredNot resolved
2279NADMultiple attribute-specifiers in one attribute-listUnknown
2280reviewMatching a usual deallocation function with placement newNot resolved
2281draftingConsistency of aligned operator delete replacementNot resolved
2282draftingConsistency with mismatched aligned/non-over-aligned allocation/deallocation functionsNot resolved
2283draftingMissing complete type requirementsNot resolved
2284openSequencing of braced-init-list argumentsNot resolved
2285DRWPIssues with structured bindingsUnknown
2286NADAssignment evaluation orderUnknown
2287DRWPPointer-interconvertibility in non-standard-layout unionsUnknown
2288NADContradictory optionality in simple-declarationUnknown
2289draftingUniqueness of decomposition declaration namesNot resolved
2290DRWPUnclear specification for overload resolution and deleted special member functionsUnknown
2291dupImplicit conversion sequences in non-call contextsUnknown
2292draftingsimple-template-id is ambiguous between class-name and type-nameNot resolved
2293DRWPRequirements for simple-template-id used as a class-nameUnknown
2294DRWPDependent auto static data membersUnknown
2295extensionAggregates with deleted defaulted constructorsNot resolved
2296extensionAre default argument instantiation failures in the “immediate context”?Not resolved
2297openUnclear specification of atomic operationsNot resolved
2298concurrencyActions and expression evaluationNot resolved
2299DRconstexpr vararg functionsUnknown
2300draftingLambdas in multiple definitionsNot resolved
2301openValue-initialization and constexpr constructor evaluationNot resolved
2302NADAddress comparison between different member subobjectsUnknown
2303draftingPartial ordering and recursive variadic inheritanceNot resolved
2304NADIncomplete type vs overload resolutionUnknown
2305DRExplicit instantiation of constexpr or inline variable templateUnknown
2306NADNested friend templates of class templatesUnknown
2307DRUnclear definition of “equivalent to a nontype template parameter”Unknown
2308NADStructured bindings and lambda captureUnknown
2309draftingRestrictions on nested statements within constexpr functionsNot resolved
2310draftingType completeness and derived-to-base pointer conversionsNot resolved
2311openMissed case for guaranteed copy elisionNot resolved
2312draftingStructured bindings and mutableNot resolved
2313DRRedeclaration of structured binding reference variablesUnknown
2314dupStructured bindings and lambda captureUnknown
2315DRWhat is the “corresponding special member” of a variant member?Unknown
2316draftingSimplifying class conversions in conditional expressionsNot resolved
2317draftingSelf-referential default member initializersNot resolved
2318draftingNondeduced contexts in deduction from a braced-init-listNot resolved
2319draftingNested brace initialization from same typeNot resolved
2320extensionconstexpr if and boolean conversionsNot resolved
2321DRWPConditional operator and cv-qualified class prvaluesUnknown
2322DRWPSubstitution failure and lexical orderUnknown
2323acceptedExpunge PODUnknown
2324draftingSize of base class subobjectNot resolved
2325draftingstd::launder and reuse of character buffersNot resolved
2326dupType deduction with initializer list containing ambiguous functionsUnknown
2327draftingCopy elision for direct-initialization with a conversion functionNot resolved
2328draftingUnclear presentation style of template argument deduction rulesNot resolved
2329draftingVirtual base classes and generated assignment operatorsNot resolved
2330draftingMissing references to variable templatesNot resolved
2331draftingRedundancy in description of class scopeNot resolved
2332draftingtemplate-name as simple-type-name vs injected-class-nameNot resolved
2333draftingEscape sequences in UTF-8 character literalsNot resolved
2334openCreation of objects by typeidNot resolved
2335draftingDeduced return types vs member typesNot resolved
2336draftingDestructor characteristics vs potentially-constructed subobjectsNot resolved
2337openIncorrect implication of logic ladder for conversion sequence tiebreakersNot resolved
2338DRUndefined behavior converting to short enums with fixed underlying typesUnknown
2339DRWPUnderspecified template arguments in structured bindingsUnknown
2340openReference collapsing and structured bindingsNot resolved
2341extensionStructured bindings with static storage durationNot resolved
2342DRReference reinterpret_cast and pointer-interconvertibilityUnknown
2343extensionvoid* non-type template parametersNot resolved
2344draftingRedeclaration of names in init-statementsNot resolved
2345reviewJumping across initializers in init-statements and conditionsNot resolved
2346DRLocal variables in default argumentsUnknown
2347draftingPassing short scoped enumerations to ellipsisNot resolved
2348NADNon-templated constexpr ifUnknown
2349NADClass/enumeration names vs conditionsUnknown
2350NADForwarding references and deduction guidesUnknown
2351DRWPvoid{}Unknown
2352draftingSimilar types and reference bindingNot resolved
2353draftingPotential results of a member access expression for a static data memberNot resolved
2354draftingExtended alignment and object representationNot resolved
2355extensionDeducing noexcept-specifiersNot resolved
2356DRWPBase class copy and move constructors should not be inheritedUnknown
2357NADLookup in member function declarationsUnknown
2358draftingExplicit capture of valueNot resolved
2359WPUnintended copy initialization with designated initializersUnknown
2360drafting[[maybe_unused]] and structured bindingsNot resolved
2361openUnclear description of longjmp undefined behaviorNot resolved
2362drafting__func__ should be constexprNot resolved
2363NADOpaque enumeration friend declarationsUnknown
2364draftingConstant expressions, aggregate initialization, and modificationsNot resolved
2365draftingConfusing specification for dynamic_castNot resolved
2366draftingCan default initialization be constant initialization?Not resolved
2367openLambdas in default arguments vs the ODRNot resolved
2368draftingDifferences in relational and three-way constant comparisonsNot resolved
2369draftingOrdering between constraints and substitutionNot resolved
2370draftingfriend declarations of namespace-scope functionsNot resolved
2371openUse of the English term “attributes” is confusingNot resolved
2372draftingIncorrect matching rules for block-scope extern declarationsNot resolved
2373tentatively readyIncorrect handling of static member function templates in partial orderingUnknown
2374draftingOverly permissive specification of enum direct-list-initializationNot resolved
2375openMultiple redeclarations of constexpr static data membersNot resolved
2376openClass template argument deduction with array declaratorNot resolved
2377openExplicit copy constructor vs function viabilityNot resolved
2378openInconsistent grammar for reference init-capture of packNot resolved
2379openMissing prohibition against constexpr in friend declarationNot resolved
2380opencapture-default makes too many references odr-usableNot resolved
2381openComposite pointer type of pointers to plain and noexcept member functionsNot resolved
2382openArray allocation overhead for non-allocating placement newNot resolved
2383openVariadic member functions of variadic class templatesNot resolved
2384openConversion function templates and qualification conversionsNot resolved
2385openLookup for conversion-function-idsNot resolved
2386opentuple_size requirements for structured bindingNot resolved
2387openLinkage of const-qualified variable templateNot resolved
2388openApplicability of contract-attribute-specifiersNot resolved
2389openAgreement of deduced and explicitly-specified variable typesNot resolved
2390openIs the argument of __has_cpp_attribute macro-expanded?Not resolved
2391openAdditional template parameters following pack expansionNot resolved
2392opennew-expression size check and constant evaluationNot resolved
- -
- - +and POD class + N/A + + + 539 + CD3 + Constraints on type-specifier-seq + Yes + + + 540 + CD1 + Propagation of cv-qualifiers in reference-to-reference collapse + Yes + + + 541 + CD2 + Dependent function types + Yes + + + 542 + CD2 + Value initialization of arrays of POD-structs + Yes + + + 543 + CD1 + Value initialization and default constructors + Yes + + + 544 + NAD + Base class lookup in explicit specialization + Yes + + + 545 + open + User-defined conversions and built-in operator overload resolution + Not resolved + + + 546 + C++11 + Explicit instantiation of class template members + Yes + + + 547 + C++11 + Partial specialization on member function types + Yes + + + 548 + dup + qualified-ids in declarations + Duplicate of 482 + + + 549 + drafting + Non-deducible parameters in partial specializations + Not resolved + + + 550 + dup + Pointer to array of unknown bound in parameter declarations + Unknown + + + 551 + CD1 + When is inline permitted in an explicit instantiation? + Yes (C++11 onwards) + + + 552 + NAD + Use of typename in the type in a non-type parameter-declaration + Yes + + + 553 + NAD + Problems with friend allocation and deallocation functions + Unknown + + + 554 + drafting + Definition of “declarative region” and “scope” + Not resolved + + + 555 + drafting + Pseudo-destructor name lookup + Not resolved + + + 556 + CD2 + Conflicting requirements for acceptable aliasing + N/A + + + 557 + CD1 + Does argument-dependent lookup cause template instantiation? + Yes + + + 558 + CD1 + Excluded characters in universal character names + Yes + + + 559 + CD1 + Editing error in issue 382 resolution + Yes + + + 560 + drafting + Use of the typename keyword in return types + Not resolved + + + 561 + CD2 + Internal linkage functions in dependent name lookup + Yes + + + 562 + open + qualified-ids in non-expression contexts + Not resolved + + + 563 + open + Linkage specification for objects + Not resolved + + + 564 + CD2 + Agreement of language linkage or linkage-specifications? + Yes + + + 565 + CD3 + Conflict rules for using-declarations naming function templates + Yes + + + 566 + NAD + Conversion of negative floating point values to integer type + Yes + + + 567 + NAD + Can size_t and ptrdiff_t be larger than long? + N/A + + + 568 + CD1 + Definition of POD is too strict + Yes (C++11 onwards) + + + 569 + CD2 + Spurious semicolons at namespace scope should be allowed + Yes (C++11 onwards) + + + 570 + CD2 + Are references subject to the ODR? + Duplicate of 633 + + + 571 + CD2 + References declared const + Unknown + + + 572 + C++11 + Standard conversions for non-built-in types + Yes + + + 573 + C++11 + Conversions between function pointers and void* + No + + + 574 + NAD + Definition of “copy assignment operator” + Yes + + + 575 + C++11 + Criteria for deduction failure + Yes + + + 576 + CD2 + Typedefs in function definitions + Yes + + + 577 + CD3 + void in an empty parameter list + Yes + + + 578 + open + Phase 1 replacement of characters with universal-character-names + Not resolved + + + 579 + open + What is a “nested” > or >>? + Not resolved + + + 580 + C++11 + Access in template-parameters of member and friend definitions + Partial + + + 581 + DR + Can a templated constructor be explicitly instantiated or specialized? + Unknown + + + 582 + CD1 + Template conversion functions + N/A + + + 583 + CD3 + Relational pointer comparisons against the null pointer constant + Clang 4 + + + 584 + NAD + Unions and aliasing + N/A + + + 585 + NAD + Friend template template parameters + Yes + + + 586 + NAD + Default template-arguments and template argument deduction + N/A + + + 587 + CD2 + Lvalue operands of a conditional expression differing only in cv-qualification + Yes + + + 588 + CD2 + Searching dependent bases of classes local to function templates + Yes + + + 589 + CD2 + Direct binding of class and array rvalues in reference initialization + Yes + + + 590 + C++11 + Nested classes and the “current instantiation” + Yes + + + 591 + CD4 + When a dependent base class is the current instantiation + No + + + 592 + CD1 + Exceptions during construction of local static objects + N/A + + + 593 + NAD + Falling off the end of a destructor's function-try-block handler + Unknown + + + 594 + CD1 + Coordinating issues 119 and 404 with delegating constructors + N/A + + + 595 + dup + Exception specifications in templates instantiated from class bodies + Duplicate of 1330 + + + 596 + NAD + Replacing an exception object + Unknown + + + 597 + CD3 + Conversions applied to out-of-lifetime non-POD lvalues + N/A + + + 598 + CD2 + Associated namespaces of overloaded functions and function templates + Yes + + + 599 + CD2 + Deleting a null function pointer + Partial + + + 600 + open + Does access control apply to members or to names? + Not resolved + + + 601 + CD2 + Type of literals in preprocessing expressions + Yes + + + 602 + C++11 + When is the injected-class-name of a class template a template? + Yes + + + 603 + CD1 + Type equivalence and unsigned overflow + Yes + + + 604 + CD2 + Argument list for overload resolution in copy-initialization + N/A + + + 605 + C++11 + Linkage of explicit specializations + Unknown + + + 606 + CD1 + Template argument deduction for rvalue references + Yes + + + 607 + open + Lookup of mem-initializer-ids + Not resolved + + + 608 + CD2 + Determining the final overrider of a virtual function + Yes + + + 609 + CD4 + What is a “top-level” cv-qualifier? + Unknown + + + 610 + NAD + Computing the negative of 0U + Yes + + + 611 + CD2 + Zero-initializing references + Yes + + + 612 + CD2 + Requirements on a conforming implementation + N/A + + + 613 + CD1 + Unevaluated uses of non-static class members + Yes (C++11 onwards) + + + 614 + CD1 + Results of integer / and % + Yes + + + 615 + C++11 + Incorrect description of variables that can be initialized + Yes + + + 616 + CD3 + Definition of “indeterminate value” + Clang 4 + + + 617 + drafting + Lvalue-to-rvalue conversions of uninitialized char objects + Not resolved + + + 618 + CD2 + Casts in preprocessor conditional expressions + Yes + + + 619 + C++11 + Completeness of array types + Yes + + + 620 + CD1 + Declaration order in layout-compatible POD structs + Duplicate of 568 + + + 621 + C++11 + Template argument deduction from function return types + Unknown + + + 622 + NAD + Relational comparisons of arbitrary pointers + Unknown + + + 623 + CD3 + Use of pointers to deallocated storage + N/A + + + 624 + CD1 + Overflow in calculating size of allocation + Unknown + + + 625 + CD2 + Use of auto as a template-argument + Yes + + + 626 + CD2 + Preprocessor string literals + Yes + + + 627 + NAD + Values behaving as types + Yes + + + 628 + CD2 + The values of an enumeration with no enumerator + N/A + + + 629 + CD1 + auto parsing ambiguity + Yes + + + 630 + CD2 + Equality of narrow and wide character values in the basic character set + Yes + + + 631 + CD3 + Jumping into a “then” clause + N/A + + + 632 + CD1 + Brace-enclosed initializer for scalar member of aggregate + Yes + + + 633 + CD2 + Specifications for variables that should also apply to references + N/A + + + 634 + CD1 + Conditionally-supported behavior for non-POD objects passed to ellipsis redux + Yes + + + 635 + NAD + Names of constructors and destructors of templates + Yes + + + 636 + CD4 + Dynamic type of objects and aliasing + Unknown + + + 637 + CD1 + Sequencing rules and example disagree + Yes + + + 638 + CD2 + Explicit specialization and friendship + No + + + 639 + CD1 + What makes side effects “different” from one another? + Yes + + + 640 + open + Accessing destroyed local objects of static storage duration + Not resolved + + + 641 + CD2 + Overload resolution and conversion-to-same-type operators + Yes + + + 642 + CD2 + Definition and use of “block scope” and “local scope” + Yes + + + 643 + NAD + Use of decltype in a class member-specification + Yes + + + 644 + CD1 + Should a trivial class type be a literal type? + Partial + + + 645 + CD2 + Are bit-field and non-bit-field members layout compatible? + N/A + + + 646 + NAD + Can a class with a constexpr copy constructor be a literal type? + Superseded by 981 + + + 647 + CD1 + Non-constexpr instances of constexpr constructor templates + Yes + + + 648 + CD1 + Constant expressions in constexpr initializers + Yes + + + 649 + CD1 + Optionally ill-formed extended alignment requests + Yes + + + 650 + CD2 + Order of destruction for temporaries bound to the returned value of a function + Unknown + + + 651 + CD1 + Problems in decltype specification and examples + Yes + + + 652 + CD2 + Compile-time evaluation of floating-point expressions + Yes + + + 653 + CD2 + Copy assignment of unions + Unknown + + + 654 + CD1 + Conversions to and from nullptr_t + Yes + + + 655 + C++11 + Initialization not specified for forwarding constructors + Yes + + + 656 + CD2 + Direct binding to the result of a conversion operator + Yes + + + 657 + CD2 + Abstract class parameter in synthesized declaration + Partial + + + 658 + CD2 + Defining reinterpret_cast for pointer types + Unknown + + + 659 + CD1 + Alignment of function types + Yes + + + 660 + CD1 + Unnamed scoped enumerations + Yes + + + 661 + CD1 + Semantics of arithmetic comparisons + Unknown + + + 662 + NAD + Forming a pointer to a reference type + Yes + + + 663 + CD1 + Valid Cyrillic identifier characters + Yes (C++11 onwards) + + + 664 + CD2 + Direct binding of references to non-class rvalue references + Yes + + + 665 + CD2 + Problems in the specification of dynamic_cast + Yes + + + 666 + CD1 + Dependent qualified-ids without the typename keyword + Yes + + + 667 + CD2 + Trivial special member functions that cannot be implicitly defined + Yes + + + 668 + CD2 + Throwing an exception from the destructor of a local static object + Unknown + + + 669 + NAD + Confusing specification of the meaning of decltype + Yes + + + 670 + open + Copy initialization via derived-to-base conversion in the second step + Not resolved + + + 671 + CD1 + Explicit conversion from a scoped enumeration type to integral type + Yes + + + 672 + CD2 + Sequencing of initialization in new-expressions + Unknown + + + 673 + NAD + Injection of names from elaborated-type-specifiers in friend declarations + Yes + + + 674 + C++11 + “matching specialization” for a friend declaration + SVN + + + 675 + CD3 + Signedness of bit-field with typedef or template parameter type + Duplicate of 739 + + + 676 + C++11 + static_assert-declarations and general requirements for declarations + N/A + + + 677 + CD1 + Deleted operator delete and virtual destructors + No + + + 678 + C++11 + Language linkage of member function parameter types and the ODR + Unknown + + + 679 + CD1 + Equivalence of template-ids and operator function templates + Yes + + + 680 + CD2 + What is a move constructor? + N/A + + + 681 + CD1 + Restrictions on declarators with late-specified return types + Partial + + + 682 + drafting + Missing description of lookup of template aliases + Not resolved + + + 683 + CD1 + Requirements for trivial subobject special functions + Yes + + + 684 + CD1 + Constant expressions involving the address of an automatic variable + Superseded by 1454 + + + 685 + CD2 + Integral promotion of enumeration ignores fixed underlying type + Yes + + + 686 + CD1 + Type declarations/definitions in type-specifier-seqs and type-ids + Yes + + + 687 + extension + template keyword with unqualified-ids + Not resolved + + + 688 + CD1 + Constexpr constructors and static initialization + Unknown + + + 689 + open + Maximum values of signed and unsigned integers + Not resolved + + + 690 + CD2 + The dynamic type of an rvalue reference + Unknown + + + 691 + C++11 + Template parameter packs in class template partial specializations + Unknown + + + 692 + C++11 + Partial ordering of variadic class template partial specializations + No + + + 693 + CD2 + New string types and deprecated conversion + Unknown + + + 694 + C++11 + Zero- and value-initialization of union objects + Unknown + + + 695 + CD2 + Compile-time calculation errors in constexpr functions + Unknown + + + 696 + C++11 + Use of block-scope constants in local classes + Unknown + + + 697 + open + Deduction rules apply to more than functions + Not resolved + + + 698 + open + The definition of “sequenced before” is too narrow + Not resolved + + + 699 + CD2 + Must constexpr member functions be defined in the class member-specification? + Unknown + + + 700 + C++11 + Constexpr member functions of class templates + Unknown + + + 701 + CD2 + When is the array-to-pointer conversion applied? + Unknown + + + 702 + CD2 + Preferring conversion to std::initializer_list + Unknown + + + 703 + CD2 + Narrowing for literals that cannot be exactly represented + Unknown + + + 704 + CD2 + To which postfix-expressions does overload resolution apply? + Unknown + + + 705 + CD2 + Suppressing argument-dependent lookup via parentheses + Yes + + + 706 + NAD + Use of auto with rvalue references + Unknown + + + 707 + CD2 + Undefined behavior in integral-to-floating conversions + Unknown + + + 708 + open + Partial specialization of member templates of class templates + Not resolved + + + 709 + C++11 + Enumeration names as nested-name-specifiers in deduction failure + Unknown + + + 710 + CD2 + Data races during construction + Unknown + + + 711 + CD2 + auto with braced-init-list + Unknown + + + 712 + CD3 + Are integer constant operands of a conditional-expression “used?” + Unknown + + + 713 + CD2 + Unclear note about cv-qualified function types + Unknown + + + 714 + CD2 + Static const data members and braced-init-lists + Unknown + + + 715 + CD2 + Class member access constant expressions + Unknown + + + 716 + CD2 + Specifications that should apply only to non-static union data members + Unknown + + + 717 + CD2 + Unintentional restrictions on the use of thread_local + Unknown + + + 718 + open + Non-class, non-function friend declarations + Not resolved + + + 719 + CD2 + Specifications for operator-function-id that should also apply to literal-operator-id + Unknown + + + 720 + CD2 + Need examples of lambda-expressions + Unknown + + + 721 + CD2 + Where must a variable be initialized to be used in a constant expression? + Unknown + + + 722 + CD2 + Can nullptr be passed to an ellipsis? + Unknown + + + 726 + CD2 + Atomic and non-atomic objects in the memory model + Unknown + + + 727 + C++17 + In-class explicit specializations + Partial + + + 728 + extension + Restrictions on local classes + Not resolved + + + 729 + CD3 + Qualification conversions and handlers of reference-to-pointer type + Unknown + + + 730 + CD2 + Explicit specializations of members of non-template classes + Unknown + + + 731 + CD2 + Omitted reference qualification of member function type + Unknown + + + 732 + CD2 + Late-specified return types in function definitions + Unknown + + + 733 + NAD + Reference qualification of copy assignment operators + Unknown + + + 734 + CD2 + Are unique addresses required for namespace-scope variables? + Unknown + + + 735 + CD2 + Missing case in specification of safely-derived pointers + Unknown + + + 736 + NAD + Is the & ref-qualifier needed? + Unknown + + + 737 + CD2 + Uninitialized trailing characters in string initialization + Unknown + + + 738 + C++11 + constexpr not permitted by the syntax of constructor declarations + Unknown + + + 739 + CD3 + Signedness of plain bit-fields + Unknown + + + 740 + CD2 + Incorrect note on data races + Unknown + + + 741 + C++11 + “plain” long long bit-fields + Unknown + + + 742 + open + Postfix increment/decrement with long bit-field operands + Not resolved + + + 743 + CD2 + Use of decltype in a nested-name-specifier + Unknown + + + 744 + CD2 + Matching template arguments with template template parameters with parameter packs + Unknown + + + 745 + open + Effect of ill-formedness resulting from #error + Not resolved + + + 746 + CD2 + Use of auto in new-expressions + Unknown + + + 747 + dup + Access of protected base classes + Unknown + + + 749 + CD2 + References to function types with a cv-qualifier or ref-qualifier + Unknown + + + 750 + CD2 + Implementation constraints on reference-only closure objects + Unknown + + + 751 + CD2 + Deriving from closure classes + Unknown + + + 752 + CD2 + Name lookup in nested lambda-expressions + Unknown + + + 753 + CD2 + Array names in lambda capture sets + Unknown + + + 754 + CD2 + Lambda expressions in default arguments of block-scope function declarations + Unknown + + + 755 + CD3 + Generalized lambda-captures + Unknown + + + 756 + CD2 + Dropping cv-qualification on members of closure objects + Unknown + + + 757 + CD2 + Types without linkage in declarations + Unknown + + + 758 + C++11 + Missing cases of declarations that are not definitions + Unknown + + + 759 + CD2 + Destruction of closure objects + Unknown + + + 760 + CD2 + this inside a nested class of a non-static member function + Unknown + + + 761 + CD2 + Inferred return type of closure object call operator + Unknown + + + 762 + CD2 + Name lookup in the compound-statement of a lambda expression + Unknown + + + 763 + CD2 + Is a closure object's operator() inline? + Unknown + + + 764 + CD2 + Capturing unused variables in a lambda expression + Unknown + + + 765 + CD2 + Local types in inline functions with external linkage + Unknown + + + 766 + CD2 + Where may lambda expressions appear? + Unknown + + + 767 + CD2 + void and other unnamed lambda-parameters + Unknown + + + 768 + CD2 + Ellipsis in a lambda parameter list + Unknown + + + 769 + CD2 + Initialization of closure objects + Unknown + + + 770 + CD2 + Ambiguity in late-specified return type + Unknown + + + 771 + CD2 + Move-construction of reference members of closure objects + Unknown + + + 772 + CD2 + capture-default in lambdas in local default arguments + Unknown + + + 773 + C++11 + Parentheses in address non-type template arguments + Unknown + + + 774 + CD2 + Can a closure class be a POD? + Unknown + + + 775 + CD2 + Capturing references to functions + Unknown + + + 776 + CD2 + Delegating constructors, destructors, and std::exit + Unknown + + + 777 + CD2 + Default arguments and parameter packs + Clang 3.7 + + + 778 + C++11 + Template parameter packs in non-type template parameters + Unknown + + + 779 + CD2 + Rvalue reference members of closure objects? + Unknown + + + 782 + CD2 + Lambda expressions and argument-dependent lookup + Unknown + + + 783 + open + Definition of “argument” + Not resolved + + + 784 + C++11 + List of incompatibilities with the previous Standard + Unknown + + + 785 + CD2 + “Execution sequence” is inappropriate phraseology + Unknown + + + 786 + CD2 + Definition of “thread” + Unknown + + + 787 + CD2 + Unnecessary lexical undefined behavior + Unknown + + + 788 + CD2 + Relationship between locale and values of the execution character set + Unknown + + + 789 + CD2 + Deprecating trigraphs + Unknown + + + 790 + CD2 + Concatenation of raw and non-raw string literals + Unknown + + + 792 + CD2 + Effects of std::quick_exit + Unknown + + + 793 + CD2 + Use of class members during destruction + Unknown + + + 794 + extension + Base-derived conversion in member type of pointer-to-member conversion + Not resolved + + + 795 + NAD + Dependency of lambdas on <functional> + Unknown + + + 796 + CD2 + Lifetime of a closure object with members captured by reference + Unknown + + + 797 + CD2 + Converting a no-capture lambda to a function type + Unknown + + + 798 + C++11 + Overloaded subscript operator described in clause 5 + Unknown + + + 799 + CD2 + Can reinterpret_cast be used to cast an operand to its own type? + Unknown + + + 800 + NAD + Safely-derived pointers and object pointers converted from function pointers + Unknown + + + 801 + CD2 + Casting away constness in a cast to rvalue reference type + Unknown + + + 803 + CD2 + sizeof an enumeration type with a fixed underlying type + Unknown + + + 804 + CD2 + Deducing the type in new auto(x) + Unknown + + + 805 + CD2 + Which exception to throw for overflow in array size calculation + Unknown + + + 806 + CD2 + Enumeration types in integral constant expressions + Unknown + + + 807 + NAD + typeid expressions in constant expressions + Unknown + + + 808 + CD2 + Non-type decl-specifiers versus max-munch + Unknown + + + 809 + CD2 + Deprecation of the register keyword + Unknown + + + 810 + CD2 + Block-scope thread_local variables should be implicitly static + Unknown + + + 811 + CD2 + Unclear implications of const-qualification + Unknown + + + 812 + CD2 + Duplicate names in inline namespaces + Unknown + + + 813 + open + typename in a using-declaration with a non-dependent name + Not resolved + + + 814 + CD2 + Attribute to indicate that a function throws nothing + Unknown + + + 815 + CD2 + Parameter pack expansion inside attributes + Unknown + + + 816 + CD2 + Diagnosing violations of [[final]] + Unknown + + + 817 + CD2 + Meaning of [[final]] applied to a class definition + Unknown + + + 818 + CD2 + Function parameter packs in non-final positions + Unknown + + + 819 + NAD + Access control and deleted implicitly-declared special member functions + Unknown + + + 820 + CD2 + Deprecation of export + Unknown + + + 822 + NAD + Additional contexts for template aliases + Unknown + + + 823 + CD2 + Literal types with constexpr conversions as non-type template arguments + Unknown + + + 828 + CD2 + Destruction of exception objects + Unknown + + + 829 + NAD + At what point is std::unexpected called? + Unknown + + + 830 + CD2 + Deprecating exception specifications + Unknown + + + 831 + CD2 + Limit on recursively nested template instantiations + Unknown + + + 832 + CD2 + Value of preprocessing numbers + Unknown + + + 833 + CD2 + Explicit conversion of a scoped enumeration value to a floating type + Unknown + + + 834 + CD2 + What is an “ordinary string literal”? + Unknown + + + 835 + CD2 + Scoped enumerations and the “usual arithmetic conversions” + Unknown + + + 836 + NAD + [[noreturn]] applied to function types + Unknown + + + 837 + C++11 + Constexpr functions and return braced-init-list + Unknown + + + 838 + C++11 + Use of this in a brace-or-equal-initializer + Unknown + + + 839 + dup + sizeof with opaque enumerations + Unknown + + + 840 + CD2 + Rvalue references as nontype template parameters + Unknown + + + 842 + CD2 + Casting to rvalue reference type + Unknown + + + 845 + CD2 + What is the “first declaration” of an explicit specialization? + Unknown + + + 846 + CD2 + Rvalue references to functions + Unknown + + + 847 + CD2 + Error in rvalue reference deduction example + Unknown + + + 850 + CD2 + Restrictions on use of non-static data members + Unknown + + + 852 + open + using-declarations and dependent base classes + Not resolved + + + 853 + CD2 + Support for relaxed pointer safety + Unknown + + + 854 + CD2 + Left shift and unsigned extended types + Unknown + + + 855 + CD2 + Incorrect comments in braced-init-list assignment example + Unknown + + + 858 + CD2 + Example binding an rvalue reference to an lvalue + Unknown + + + 860 + C++11 + Explicit qualification of constexpr member functions + Unknown + + + 861 + CD2 + Unintended ambiguity in inline namespace lookup + Unknown + + + 862 + CD2 + Undefined behavior with enumerator value overflow + Unknown + + + 863 + CD2 + Rvalue reference cast to incomplete type + Unknown + + + 864 + C++11 + braced-init-list in the range-based for statement + Unknown + + + 865 + CD2 + Initializing a std::initializer_list + Unknown + + + 869 + CD2 + Uninitialized thread_local objects + Unknown + + + 872 + CD2 + Lexical issues with raw strings + Unknown + + + 873 + C++11 + Deducing rvalue references in declarative contexts + Unknown + + + 874 + CD2 + Class-scope definitions of enumeration types + Unknown + + + 876 + CD2 + Type references in rvalue reference deduction specification + Unknown + + + 877 + CD2 + Viable functions and binding references to rvalues + Unknown + + + 879 + CD2 + Missing built-in comparison operators for pointer types + Unknown + + + 880 + CD2 + Built-in conditional operator for scoped enumerations + Unknown + + + 882 + CD2 + Defining main as deleted + Unknown + + + 883 + CD2 + std::memcpy vs std::memmove + Unknown + + + 884 + CD2 + Defining an explicitly-specialized static data member + Unknown + + + 885 + NAD + Partial ordering of function templates with unordered parameter pairs + Unknown + + + 886 + CD2 + Member initializers and aggregates + Unknown + + + 887 + CD2 + Move construction of thrown object + Unknown + + + 888 + CD2 + Union member initializers + Unknown + + + 891 + CD2 + const_cast to rvalue reference from objectless rvalue + Unknown + + + 892 + C++11 + Missing requirements for constexpr constructors + Unknown + + + 893 + NAD + Brace syntax for enumerator-definitions + Unknown + + + 896 + CD2 + Rvalue references and rvalue-reference conversion functions + Unknown + + + 897 + open + _Pragma and extended string-literals + Not resolved + + + 898 + C++11 + Declarations in constexpr functions + Unknown + + + 899 + CD2 + Explicit conversion functions in direct class initialization + Unknown + + + 900 + extension + Lifetime of temporaries in range-based for + Not resolved + + + 901 + drafting + Deleted operator delete + Not resolved + + + 902 + NAD + In-class initialization of non-constant static data members + Unknown + + + 903 + CD3 + Value-dependent integral null pointer constants + Unknown + + + 904 + CD2 + Parameter packs in lambda-captures + Unknown + + + 905 + CD2 + Explicit defaulted copy constructors and trivial copyability + Unknown + + + 906 + CD2 + Which special member functions can be defaulted? + Unknown + + + 908 + CD2 + Deleted global allocation and deallocation functions + Unknown + + + 909 + NAD + Old-style casts with conversion functions + Unknown + + + 910 + CD2 + Move constructors and implicitly-declared copy constructors + Unknown + + + 912 + CD3 + Character literals and universal-character-names + Unknown + + + 913 + CD2 + Deduction rules for array- and function-type conversion functions + Unknown + + + 914 + extension + Value-initialization of array types + Not resolved + + + 915 + CD2 + Deleted specializations of member function templates + Unknown + + + 916 + open + Does a reference type have a destructor? + Not resolved + + + 919 + CD2 + Contradictions regarding inline namespaces + Unknown + + + 920 + CD2 + Interaction of inline namespaces and using-declarations + Unknown + + + 921 + CD2 + Unclear specification of inline namespaces + Unknown + + + 922 + CD2 + Implicit default constructor definitions and const variant members + Unknown + + + 923 + CD2 + Inline explicit specializations + Unknown + + + 924 + C++11 + alias-declaration as a class member + Unknown + + + 925 + open + Type of character literals in preprocessor expressions + Not resolved + + + 926 + CD2 + Inline unnamed namespaces + Unknown + + + 927 + CD2 + Implicitly-deleted default constructors and member initializers + Unknown + + + 928 + CD2 + Defaulting a function that would be implicitly defined as deleted + Unknown + + + 929 + CD2 + What is a template alias? + Unknown + + + 930 + CD2 + alignof with incomplete array type + Unknown + + + 931 + CD2 + Confusing reference to the length of a user-defined string literal + Unknown + + + 932 + CD2 + UCNs in closing delimiters of raw string literals + Unknown + + + 933 + CD2 + 32-bit UCNs with 16-bit wchar_t + Unknown + + + 934 + CD2 + List-initialization of references + Unknown + + + 935 + CD2 + Missing overloads for character types for user-defined literals + Unknown + + + 936 + CD2 + Array initialization with new string literals + Unknown + + + 937 + NAD + Restrictions on values of template arguments in user-defined literals + Unknown + + + 938 + C++11 + Initializer lists and array new + Unknown + + + 939 + CD2 + Explicitly checking virtual function overriding + Unknown + + + 940 + CD2 + Global anonymous unions + Unknown + + + 941 + C++11 + Explicit specialization of deleted function template + Unknown + + + 942 + CD2 + Is this an entity? + Unknown + + + 943 + DRWP + Is T() a temporary? + Unknown + + + 944 + extension + reinterpret_cast for all types with the same size and alignment + Not resolved + + + 945 + C++11 + Use of this in a late-specified return type + Unknown + + + 946 + CD2 + Order of destruction of local static objects and calls to std::atexit + Unknown + + + 947 + NAD + Deducing type template arguments from default function arguments + Unknown + + + 948 + C++11 + constexpr in conditions + Clang 3.7 + + + 949 + open + Requirements for freestanding implementations + Not resolved + + + 950 + CD2 + Use of decltype as a class-name + Unknown + + + 951 + CD2 + Problems with attribute-specifiers + Unknown + + + 952 + drafting + Insufficient description of “naming class” + Not resolved + + + 953 + CD2 + Rvalue references and function viability + Unknown + + + 954 + open + Overload resolution of conversion operator templates with built-in types + Not resolved + + + 955 + CD2 + Can a closure type's operator() be virtual? + Unknown + + + 956 + CD2 + Function prototype scope with late-specified return types + Unknown + + + 957 + CD2 + Alternative tokens and attribute-tokens + Unknown + + + 958 + NAD + Lambdas and decltype + Unknown + + + 959 + CD2 + Alignment attribute for class and enumeration types + Unknown + + + 960 + CD2 + Covariant functions and lvalue/rvalue references + Unknown + + + 961 + CD2 + Overload resolution and conversion of std::nullptr_t to bool + Unknown + + + 962 + CD2 + Attributes appertaining to class and enum types + Unknown + + + 963 + CD2 + Comparing nullptr with 0 + Unknown + + + 964 + C++11 + Incorrect description of when the lvalue-to-rvalue conversion applies + Unknown + + + 965 + CD2 + Limiting the applicability of the carries_dependency attribute + Unknown + + + 966 + CD2 + Nested types without linkage + Unknown + + + 967 + NAD + Exception specification of replacement allocation function + Unknown + + + 968 + CD2 + Syntactic ambiguity of the attribute notation + Unknown + + + 969 + CD2 + Explicit instantiation declarations of class template specializations + Unknown + + + 970 + CD2 + Consistent use of “appertain” and “apply” + Unknown + + + 971 + C++11 + Incorrect treatment of exception-declarations + Unknown + + + 972 + C++11 + Allowing multiple attribute-specifiers + Unknown + + + 973 + CD2 + Function types in exception-specifications + Unknown + + + 974 + CD3 + Default arguments for lambdas + Unknown + + + 975 + CD3 + Restrictions on return type deduction for lambdas + Unknown + + + 976 + CD2 + Deduction for const T& conversion operators + Unknown + + + 977 + CD3 + When is an enumeration type complete? + Unknown + + + 978 + CD2 + Incorrect specification for copy initialization + Unknown + + + 979 + CD2 + Position of attribute-specifier in declarator syntax + Unknown + + + 980 + CD2 + Explicit instantiation of a member of a class template + Unknown + + + 981 + C++11 + Constexpr constructor templates and literal types + Unknown + + + 982 + NAD + Initialization with an empty initializer list + Unknown + + + 983 + CD2 + Ambiguous pointer-to-member constant + Unknown + + + 984 + CD2 + “Deduced type” is unclear in auto type deduction + Unknown + + + 985 + C++11 + Alternative tokens and user-defined literals + Unknown + + + 986 + CD2 + Transitivity of using-directives versus qualified lookup + Unknown + + + 987 + CD4 + Which declarations introduce namespace members? + Unknown + + + 988 + CD2 + Reference-to-reference collapsing with decltype + Unknown + + + 989 + CD2 + Misplaced list-initialization example + Unknown + + + 990 + CD2 + Value initialization with multiple initializer-list constructors + Clang 3.5 + + + 991 + CD2 + Reference parameters of constexpr functions and constructors + Unknown + + + 992 + NAD + Inheriting explicitness + Unknown + + + 993 + C++11 + Freedom to perform instantiation at the end of the translation unit + Unknown + + + 994 + C++11 + braced-init-list as a default argument + Unknown + + + 995 + CD2 + Incorrect example for using-declaration and explicit instantiation + Unknown + + + 996 + C++11 + Ambiguous partial specializations of member class templates + Unknown + + + 997 + C++11 + Argument-dependent lookup and dependent function template parameter types + Unknown + + + 998 + dup + Function parameter transformations and template functions + Unknown + + + 999 + CD2 + “Implicit” or “implied” object argument/parameter? + Unknown + + + 1000 + CD2 + Mistaking member typedefs for constructors + Unknown + + + 1001 + drafting + Parameter type adjustment in dependent parameter types + Not resolved + + + 1002 + NAD + Pack expansion for function arguments + Unknown + + + 1003 + CD3 + Acceptable definitions of main + Unknown + + + 1004 + C++11 + Injected-class-names as arguments for template template parameters + Clang 5 + + + 1005 + NAD + Qualified name resolution in member functions of class templates + Unknown + + + 1006 + C++11 + std::nullptr_t as a non-type template parameter + Unknown + + + 1007 + NAD + Protected access and pointers to members + Unknown + + + 1008 + extension + Querying the alignment of an object + Not resolved + + + 1009 + C++11 + Missing cases in the declarator-id of a function template declaration + Unknown + + + 1010 + CD2 + Address of object with dynamic storage duration in constant expression + Unknown + + + 1011 + C++11 + Standard conversions that cannot be inverted + Unknown + + + 1012 + C++11 + Undeprecating static + Unknown + + + 1013 + CD3 + Uninitialized std::nullptr_t objects + Unknown + + + 1014 + NAD + Overload resolution between const T& and T&& + Unknown + + + 1015 + C++11 + Template arguments and argument-dependent lookup + Unknown + + + 1016 + C++11 + Overloadable declarations, function templates, and references + Unknown + + + 1017 + C++11 + Member access transformation in unevaluated operands + Unknown + + + 1018 + C++11 + Ambiguity between simple-declaration and attribute-declaration + Unknown + + + 1019 + dup + Dependent simple-template-ids in base-specifiers and mem-initializers + Unknown + + + 1020 + C++11 + Implicitly-defined copy constructors and explicit base class constructors + Unknown + + + 1021 + CD4 + Definitions of namespace members + Unknown + + + 1022 + C++11 + Can an enumeration variable have values outside the values of the enumeration? + Unknown + + + 1023 + dup + thread_local objects as non-type template arguments + Unknown + + + 1024 + CD3 + Limits on multicharacter literals + Unknown + + + 1025 + C++11 + Use of a reference as a non-type template argument + Unknown + + + 1026 + NAD + Cv-qualified non-class rvalues + Unknown + + + 1027 + drafting + Type consistency and reallocation of scalar types + Not resolved + + + 1028 + open + Dependent names in non-defining declarations + Not resolved + + + 1029 + C++11 + Type of a destructor call + Unknown + + + 1030 + C++11 + Evaluation order in initializer-lists used in aggregate initialization + Unknown + + + 1031 + C++11 + Optional elements in attributes + Unknown + + + 1032 + C++11 + Empty pack expansions + Unknown + + + 1033 + C++11 + Restrictions on alignment attributes + Unknown + + + 1034 + C++11 + Attributes for return statements in lambdas + Unknown + + + 1035 + C++11 + Omitted and required decl-specifiers + Unknown + + + 1036 + C++11 + Alignment attribute in an exception-declaration + Unknown + + + 1037 + C++11 + Requirements for operands of delete-expressions and deallocation functions + Unknown + + + 1038 + open + Overload resolution of &x.static_func + Not resolved + + + 1039 + dup + Coordinating C and C++ alignment specifications + Unknown + + + 1040 + NAD + Memory model issues + Unknown + + + 1041 + dup + alias-declarations as class members + Unknown + + + 1042 + C++11 + Attributes in alias-declarations + Unknown + + + 1043 + C++11 + Qualified name lookup in the current instantiation + Unknown + + + 1044 + C++11 + Point of declaration for an alias-declaration + Unknown + + + 1045 + NAD + Requiring explicit instantiation declarations + Unknown + + + 1046 + open + What is a “use” of a class specialization? + Not resolved + + + 1047 + C++11 + When is typeid value-dependent? + Unknown + + + 1048 + CD3 + auto deduction and lambda return type deduction. + Clang 3.6 + + + 1049 + open + Copy elision through reference parameters of inline functions + Not resolved + + + 1050 + NAD + Effects of thread support on object lifetime + Unknown + + + 1051 + C++11 + Reference members and generated copy constructors + Unknown + + + 1052 + dup + const non-static data member and PODness + Unknown + + + 1053 + NAD + Terminate vs undefined behavior for noexcept violation + Unknown + + + 1054 + C++11 + Lvalue-to-rvalue conversions in expression statements + No + + + 1055 + C++11 + Permissible uses of void + Unknown + + + 1056 + C++11 + Template aliases, member definitions, and the current instantiation + Unknown + + + 1057 + C++11 + decltype and the current instantiation + Unknown + + + 1058 + NAD + Reference binding of incompatible array types + Unknown + + + 1059 + CD3 + Cv-qualified array types (with rvalues) + Unknown + + + 1060 + C++11 + Scoped enumerators in integral constant expressions + Unknown + + + 1061 + C++11 + Negative array bounds in a new-expression + Unknown + + + 1062 + C++11 + Syntax of attribute-specifiers in lambdas + Unknown + + + 1063 + C++11 + [[hiding]] with non-attribute declarations + Unknown + + + 1064 + C++11 + Defaulted move constructor for a union + Unknown + + + 1065 + C++11 + [[hiding]] with [[override]] + Unknown + + + 1066 + C++11 + When is a copy/move assignment operator implicitly defined? + Unknown + + + 1067 + NAD + [[hiding]], using-declarations, and multiple inheritance + Unknown + + + 1068 + C++11 + Template aliases with default arguments and template parameter packs + Unknown + + + 1069 + C++11 + Incorrect function type with trailing-return-type + Unknown + + + 1070 + C++11 + Missing initializer clauses in aggregate initialization + Clang 3.5 + + + 1071 + C++11 + Literal class types and trivial default constructors + Unknown + + + 1072 + C++11 + Scoped enumerator with the same name as its containing class + Unknown + + + 1073 + C++11 + Merging dynamic-exception-specifications and noexcept-specifications + Unknown + + + 1074 + C++11 + Value-dependent noexcept-expressions + Unknown + + + 1075 + C++11 + Grammar does not allow template alias in type-name + Unknown + + + 1076 + DRWP + Value categories and lvalue temporaries + Unknown + + + 1077 + extension + Explicit specializations in non-containing namespaces + Not resolved + + + 1078 + NAD + Narrowing and the usual arithmetic conversions + Unknown + + + 1079 + C++11 + Overload resolution involving aggregate initialization + Unknown + + + 1080 + C++11 + Confusing relationship between templates and copy constructors + Unknown + + + 1081 + C++11 + Defaulted destructor and unusable operator delete + Unknown + + + 1082 + C++11 + Implicit copy function if subobject has none? + Unknown + + + 1083 + C++11 + Passing an object to ellipsis with non-trivial move constructor + Unknown + + + 1084 + NAD + Conditions for a deleted move function + Unknown + + + 1085 + NAD + Move assignment operators and virtual bases + Unknown + + + 1086 + C++11 + const_cast to rvalue reference to function type + Unknown + + + 1087 + C++11 + Additional applications of issue 899 + Unknown + + + 1088 + C++11 + Dependent non-type template arguments + Unknown + + + 1089 + drafting + Template parameters in member selections + Not resolved + + + 1090 + C++11 + Alignment of subobjects + Unknown + + + 1091 + C++11 + Inconsistent use of the term “object expression” + Unknown + + + 1092 + drafting + Cycles in overload resolution during instantiation + Not resolved + + + 1093 + CD3 + Value-initializing non-objects + Unknown + + + 1094 + C++11 + Converting floating-point values to scoped enumeration types + Unknown + + + 1095 + C++11 + List-initialization of references + Unknown + + + 1096 + C++11 + Missing requirement for template definitions + Unknown + + + 1097 + NAD + Aggregate initialization of function parameters + Unknown + + + 1098 + C++11 + Pointer conversions in constant expressions + Unknown + + + 1099 + C++11 + Infinite recursion in constexpr functions + Unknown + + + 1100 + C++11 + constexpr conversion functions and non-type template arguments + Unknown + + + 1101 + C++11 + Non-integral initialized static data members + Unknown + + + 1102 + C++11 + Better example of undefined behavior + Unknown + + + 1103 + C++11 + Reversion of phase 1 and 2 transformations in raw string literals + Unknown + + + 1104 + C++11 + Global-scope template arguments vs the <: digraph + Unknown + + + 1105 + C++11 + Issues relating to TR 10176:2003 + Unknown + + + 1106 + C++11 + Need more detail in nullptr keyword description + Unknown + + + 1107 + C++11 + Overload resolution for user-defined integer literals + Unknown + + + 1108 + NAD + User-defined literals have not been implemented + Unknown + + + 1109 + C++11 + When is “use” a reference to the ODR meaning? + Unknown + + + 1110 + NAD + Incomplete return type should be allowed in decltype operand + Unknown + + + 1111 + C++11 + Remove dual-scope lookup of member template names + Unknown + + + 1112 + C++11 + constexpr variables should have internal linkage like const + Unknown + + + 1113 + C++11 + Linkage of namespace member of unnamed namespace + Partial + + + 1114 + C++11 + Incorrect use of placement new in example + Unknown + + + 1115 + C++11 + C-compatible alignment specification + Unknown + + + 1116 + CD4 + Aliasing of union members + Unknown + + + 1117 + C++11 + Incorrect note about xvalue member access expressions + Unknown + + + 1118 + NAD + Implicit lambda capture via explicit copy constructor + Unknown + + + 1119 + C++11 + Missing case in description of member access ambiguity + Unknown + + + 1120 + C++11 + reinterpret_cast and void* + Unknown + + + 1121 + C++11 + Unnecessary ambiguity error in formation of pointer to member + Unknown + + + 1122 + C++11 + Circular definition of std::size_t + Unknown + + + 1123 + C++11 + Destructors should be noexcept by default + Unknown + + + 1124 + NAD + Error in description of value category of pointer-to-member expression + Unknown + + + 1125 + C++11 + Unclear definition of “potential constant expression” + Unknown + + + 1126 + C++11 + constexpr functions in const initializers + Unknown + + + 1127 + C++11 + Overload resolution in constexpr functions + Unknown + + + 1128 + C++11 + attribute-specifiers in decl-specifier-seqs + Unknown + + + 1129 + C++11 + Default nothrow for constexpr functions + Unknown + + + 1130 + C++11 + Function parameter type adjustments and decltype + Unknown + + + 1131 + C++11 + Template aliases in elaborated-type-specifiers + Unknown + + + 1132 + NAD + Keyword vs attribute for noreturn + Unknown + + + 1133 + C++11 + Keywords vs attributes for control of hiding and overriding + Unknown + + + 1134 + C++11 + When is an explicitly-defaulted function defined? + Unknown + + + 1135 + C++11 + Explicitly-defaulted non-public special member functions + Unknown + + + 1136 + C++11 + Explicitly-defaulted explicit constructors + Unknown + + + 1137 + C++11 + Explicitly-defaulted virtual special member functions + Unknown + + + 1138 + C++11 + Rvalue-ness check for rvalue reference binding is wrong + Unknown + + + 1139 + C++11 + Rvalue reference binding to scalar xvalues + Unknown + + + 1140 + C++11 + Incorrect redefinition of POD class + Unknown + + + 1141 + NAD + Non-static data member initializers have not been implemented + Unknown + + + 1142 + C++11 + friend declaration of member function of containing class + Unknown + + + 1143 + NAD + Move semantics for *this have not been implemented + Unknown + + + 1144 + C++11 + Remove access declarations + Unknown + + + 1145 + C++11 + Defaulting and triviality + Unknown + + + 1146 + C++11 + exception-specifications of defaulted functions + Unknown + + + 1147 + C++11 + Destructors should be default nothrow + Unknown + + + 1148 + C++11 + Copy elision and move construction of function parameters + Unknown + + + 1149 + C++11 + Trivial non-public copy operators in subobjects + Unknown + + + 1150 + NAD + Inheriting constructors have not been implemented + Unknown + + + 1151 + C++11 + Overload resolution with initializer-list and non-list constructors + Unknown + + + 1152 + C++11 + Rules for determining existence of implicit conversion sequence + Unknown + + + 1153 + C++11 + Type matching in address of overloaded function + Unknown + + + 1154 + C++11 + Address of thread_local variable as non-type template argument + Unknown + + + 1155 + C++11 + Internal-linkage non-type template arguments + Unknown + + + 1156 + C++11 + Partial ordering in a non-call context + Unknown + + + 1157 + open + Partial ordering of function templates is still underspecified + Not resolved + + + 1158 + C++11 + Recursive instantiation via alias template + Unknown + + + 1159 + C++11 + Class and enumeration definitions in template aliases + Unknown + + + 1160 + C++11 + Definitions of template members and the current instantiation + Unknown + + + 1161 + C++11 + Dependent nested-name-specifier in a pointer-to-member declarator + Unknown + + + 1162 + NAD + Dependent elaborated-type-specifiers in non-deduced contexts + Unknown + + + 1163 + NAD + extern template prevents inlining functions not marked inline + Unknown + + + 1164 + C++11 + Partial ordering of f(T&) and f(T&&) + Unknown + + + 1165 + C++11 + Exceptions when destroying array elements + Unknown + + + 1166 + C++11 + exception-declarations that do not declare objects + Unknown + + + 1167 + C++11 + function-try-blocks for destructors + Unknown + + + 1168 + C++11 + Additional reasons to call std::terminate + Unknown + + + 1169 + C++11 + Missing feature macro for strict pointer safety + Unknown + + + 1170 + C++11 + Access checking during template argument deduction + Unknown + + + 1171 + C++11 + Partial stack unwinding with noexcept violation + Unknown + + + 1172 + drafting + “instantiation-dependent” constructs + Not resolved + + + 1173 + C++11 + Unclear specification of effects of signal handling + Unknown + + + 1174 + C++11 + When is a pure virtual function “used?” + Unknown + + + 1175 + C++11 + Disambiguating user-defined literals + Unknown + + + 1176 + C++11 + Definition of release sequence + Unknown + + + 1177 + C++11 + Intra-thread dependency-ordered-before + Unknown + + + 1178 + C++11 + Deduction failure matching placement new + Unknown + + + 1179 + NAD + Cv-qualification of non-type template parameters + Unknown + + + 1180 + C++11 + Over-aligned class types + Unknown + + + 1181 + C++11 + What is a “built-in type?” + Unknown + + + 1182 + C++11 + Incorrect description of pack expansion syntax + Unknown + + + 1183 + C++11 + Expansion of parameter packs in declarators + Unknown + + + 1184 + C++11 + Argument conversions to nondeduced parameter types + Unknown + + + 1185 + C++11 + Misleading description of language linkage and member function types + Unknown + + + 1186 + C++11 + Non-dependent constexpr violations in function templates + Unknown + + + 1187 + C++11 + Problems in initialization example + Unknown + + + 1188 + C++11 + Type punning in constant expressions + Unknown + + + 1189 + C++11 + Address of distinct base class subobjects + Unknown + + + 1190 + C++11 + Operations on non-safely-derived pointers + Unknown + + + 1191 + C++11 + Deleted subobject destructors and implicitly-defined constructors + Unknown + + + 1192 + C++11 + Inadvertent change to ODR and templates + Unknown + + + 1193 + C++11 + Use of address-constant pointers in constant expressions + Unknown + + + 1194 + C++11 + Constexpr references + Unknown + + + 1195 + C++11 + References to non-literal types in constexpr functions + Unknown + + + 1196 + C++11 + Definition required for explicit instantiation after explicit specialization? + Unknown + + + 1197 + C++11 + Constexpr arrays + Unknown + + + 1198 + C++11 + Literal types and copy constructors + Unknown + + + 1199 + C++11 + Deleted constexpr functions + Unknown + + + 1200 + open + Lookup rules for template parameters + Not resolved + + + 1201 + C++11 + Are deleted and defaulted functions definitions? + Unknown + + + 1202 + C++11 + Calling virtual functions during destruction + Unknown + + + 1203 + dup + Misleading note regarding initialized static data members + Unknown + + + 1204 + C++11 + Specifiers in a for-range-declaration + Unknown + + + 1205 + dup + Lvalue reference binding and function viability + Unknown + + + 1206 + C++11 + Defining opaque enumeration members of class templates + Unknown + + + 1207 + C++11 + Type of class member in trailing-return-type + Unknown + + + 1208 + C++11 + Explicit noexcept in defaulted definition + Unknown + + + 1209 + open + Is a potentially-evaluated expression in a template definition a “use?” + Not resolved + + + 1210 + C++11 + Injection of elaborated-type-specifier in enumeration scope + Unknown + + + 1211 + drafting + Misaligned lvalues + Not resolved + + + 1212 + C++11 + Non-function-call xvalues and decltype + Unknown + + + 1213 + CD3 + Array subscripting and xvalues + Clang 7 + + + 1214 + C++11 + Kinds of initializers + Unknown + + + 1215 + C++11 + Definition of POD struct + Unknown + + + 1216 + C++11 + Exceptions “allowed” by a noexcept-specification + Unknown + + + 1217 + NAD + Are deleted functions implicitly noexcept? + Unknown + + + 1218 + C++11 + What is the “currently-handled exception” in a multi-threaded program? + Unknown + + + 1219 + C++11 + Non-static data member initializers in constant expressions + Unknown + + + 1220 + C++11 + Looking up conversion-type-ids + Unknown + + + 1221 + open + Partial ordering and reference collapsing + Not resolved + + + 1222 + NAD + Unnecessary restriction on auto array types + Unknown + + + 1223 + drafting + Syntactic disambiguation and trailing-return-types + Not resolved + + + 1224 + C++11 + constexpr defaulted copy constructors + Unknown + + + 1225 + C++11 + constexpr constructors and virtual bases + Unknown + + + 1226 + CD3 + Converting a braced-init-list default argument + Unknown + + + 1227 + CD3 + Mixing immediate and non-immediate contexts in deduction failure + Unknown + + + 1228 + NAD + Copy-list-initialization and explicit constructors + Unknown + + + 1229 + C++11 + Overload resolution with empty braced-init-list argument + Unknown + + + 1230 + open + Confusing description of ambiguity of destructor name + Not resolved + + + 1231 + C++11 + Variadic templates requiring an empty pack expansion + Unknown + + + 1232 + C++11 + Creation of array temporaries using a braced-init-list + Unknown + + + 1233 + C++11 + Pack expansions and dependent calls + Unknown + + + 1234 + C++11 + abstract-declarator does not permit ... after ptr-operator + Unknown + + + 1235 + C++11 + “Unused” ellipsis and default arguments in partial ordering + Unknown + + + 1236 + C++11 + Inconsistently-interrelated examples + Unknown + + + 1237 + C++11 + Deprecated implicit copy assignment in example + Unknown + + + 1238 + C++11 + Overloading ambiguity binding reference to function + Unknown + + + 1239 + C++11 + Hexadecimal floating-point literals vs user-defined literals + Unknown + + + 1240 + C++11 + constexpr defaulted constructors + Unknown + + + 1241 + C++11 + Which members does a destructor destroy? + Unknown + + + 1242 + C++11 + Initializing variant class members + Unknown + + + 1243 + C++11 + Misleading footnote regarding multiple-declarator declarations + Unknown + + + 1244 + C++11 + Equivalence of alias templates and class templates + Unknown + + + 1245 + C++11 + Matching declarations involving decltype + Unknown + + + 1246 + C++11 + Non-deduced non-final parameter packs + Unknown + + + 1247 + CD4 + Restriction on alias name appearing in type-id + Unknown + + + 1248 + open + Updating Annex C to C99 + Not resolved + + + 1249 + drafting + Cv-qualification of nested lambda capture + Not resolved + + + 1250 + CD3 + Cv-qualification of incomplete virtual function return types + Clang 3.9 + + + 1251 + CD3 + C compatibility: casting to unqualified void* + Unknown + + + 1252 + drafting + Overloading member function templates based on dependent return type + Not resolved + + + 1253 + drafting + Generic non-template members + Not resolved + + + 1254 + NAD + odr-use vs template arguments and constexpr functions + Unknown + + + 1255 + drafting + Definition problems with constexpr functions + Not resolved + + + 1256 + open + Unevaluated operands are not necessarily constant expressions + Not resolved + + + 1257 + open + Instantiation via non-dependent references in uninstantiated templates + Not resolved + + + 1258 + drafting + “Instantiation context” differs from dependent lookup rules + Not resolved + + + 1259 + NAD + Deleting a POD via a pointer to base + Unknown + + + 1260 + CD3 + Incorrect use of term “overloaded” in description of odr-use + Unknown + + + 1261 + CD3 + Explicit handling of cv-qualification with non-class prvalues + Unknown + + + 1262 + CD3 + Default template arguments and deduction failure + Unknown + + + 1263 + NAD + Mismatch between rvalue reference binding and overload resolution + Unknown + + + 1264 + CD3 + Use of this in constexpr constructor + Unknown + + + 1265 + CD3 + Mixed use of the auto specifier + Clang 5 + + + 1266 + open + user-defined-integer-literal overflow + Not resolved + + + 1267 + CD3 + Rvalue reference types in exception-specifications + Unknown + + + 1268 + CD3 + reinterpret_cast of an xvalue operand + Unknown + + + 1269 + CD3 + dynamic_cast of an xvalue operand + Unknown + + + 1270 + CD3 + Brace elision in array temporary initialization + Unknown + + + 1271 + DRWP + Imprecise wording regarding dependent types + Unknown + + + 1272 + NAD + Implicit definition of static data member of const literal type + Unknown + + + 1273 + NAD + Accessibility and function signatures + Unknown + + + 1274 + CD4 + Common nonterminal for expression and braced-init-list + Unknown + + + 1275 + CD3 + Incorrect comment in example of template parameter pack restriction + Unknown + + + 1276 + NAD + Reference to stdint.h + Unknown + + + 1277 + NAD + Lax definition of intmax_t and uintmax_t + Unknown + + + 1278 + drafting + Incorrect treatment of contrived object + Not resolved + + + 1279 + drafting + Additional differences between C++ 2003 and C++ 2011 + Not resolved + + + 1280 + NAD + Object reallocation and reference members + Unknown + + + 1281 + NAD + Virtual and dependent base classes + Unknown + + + 1282 + CD3 + Underspecified destructor exception-specification + Unknown + + + 1283 + drafting + Static data members of classes with typedef name for linkage purposes + Not resolved + + + 1284 + CD4 + Should the lifetime of an array be independent of that of its elements? + Unknown + + + 1285 + open + Trivial destructors and object lifetime + Not resolved + + + 1286 + drafting + Equivalence of alias templates + Not resolved + + + 1287 + C++14 + Direct initialization vs “implicit” conversion in reference binding + Unknown + + + 1288 + CD3 + Reference list initialization + Unknown + + + 1289 + NAD + Can an alias template name the current instantiation? + Unknown + + + 1290 + CD3 + Lifetime of the underlying array of an initializer_list member + Unknown + + + 1291 + drafting + Looking up a conversion-type-id + Not resolved + + + 1292 + CD4 + Dependent calls with braced-init-lists containing a pack expansion + Unknown + + + 1293 + CD3 + String literals in constant expressions + Unknown + + + 1294 + drafting + Side effects in dynamic/static initialization + Not resolved + + + 1295 + CD3 + Binding a reference to an rvalue bit-field + Clang 4 + + + 1296 + CD3 + Ill-formed template declarations (not just definitions) + Unknown + + + 1297 + CD3 + Misplaced function attribute-specifier + Unknown + + + 1298 + CD3 + Incorrect example in overload resolution + Unknown + + + 1299 + DRWP + “Temporary objects” vs “temporary expressions” + Unknown + + + 1300 + dup + T() for array types + Unknown + + + 1301 + CD3 + Value initialization of union + Unknown + + + 1302 + CD3 + noexcept applied to expression of type void + Unknown + + + 1303 + NAD + C language linkage for template with internal linkage + Unknown + + + 1304 + drafting + Omitted array bound with string initialization + Not resolved + + + 1305 + CD3 + alignof applied to array of unknown size + Unknown + + + 1306 + CD3 + Modifying an object within a const member function + Unknown + + + 1307 + C++14 + Overload resolution based on size of array initializer-list + Unknown + + + 1308 + CD3 + Completeness of class type within an exception-specification + Unknown + + + 1309 + CD4 + Incorrect note regarding lookup of a member of the current instantiation + Unknown + + + 1310 + CD3 + What is an “acceptable lookup result?” + Clang 5 + + + 1311 + CD3 + Volatile lvalues in constant expressions + Unknown + + + 1312 + CD3 + Simulated reinterpret_cast in constant expressions + Unknown + + + 1313 + CD3 + Undefined pointer arithmetic in constant expressions + Unknown + + + 1314 + NAD + Pointer arithmetic within standard-layout objects + Unknown + + + 1315 + CD4 + Restrictions on non-type template arguments in partial specializations + Partial + + + 1316 + NAD + constexpr function requirements and class scope + Unknown + + + 1317 + NAD + Unnamed scoped enumerations + Unknown + + + 1318 + CD3 + Syntactic ambiguities with final + Unknown + + + 1319 + NAD + Error in pack expansion example + Unknown + + + 1320 + CD3 + Converting scoped enumerations to bool + Unknown + + + 1321 + CD3 + Equivalency of dependent calls + Unknown + + + 1322 + drafting + Function parameter type decay in templates + Not resolved + + + 1323 + NAD + Nonexistent nonterminal in alignment-specifier grammar + Unknown + + + 1324 + CD3 + Value initialization and defaulted constructors + Unknown + + + 1325 + NAD + Omitted declarator in friend declarations + Unknown + + + 1326 + extension + Deducing an array bound from an initializer-list + Not resolved + + + 1327 + CD3 + virt-specifier in a defaulted definition + Unknown + + + 1328 + CD3 + Conflict in reference binding vs overload resolution + Unknown + + + 1329 + CD3 + Recursive deduction substitutions + Unknown + + + 1330 + CD3 + Delayed instantiation of noexcept specifiers + Clang 4 (C++11 onwards) + + + 1331 + extension + const mismatch with defaulted copy constructor + Not resolved + + + 1332 + drafting + Handling of invalid universal-character-names + Not resolved + + + 1333 + CD3 + Omission of const in a defaulted copy constructor + Unknown + + + 1334 + NAD + Layout compatibility and cv-qualification + Unknown + + + 1335 + drafting + Stringizing, extended characters, and universal-character-names + Not resolved + + + 1336 + CD3 + Definition of “converting constructor” + Unknown + + + 1337 + dup + Partial ordering and non-deduced parameters + Unknown + + + 1338 + CD4 + Aliasing and allocation functions + Unknown + + + 1339 + NAD + Parenthesized braced-init-list and arrays + Unknown + + + 1340 + CD3 + Complete type in member pointer expressions + Unknown + + + 1341 + NAD + Bit-field initializers + Unknown + + + 1342 + drafting + Order of initialization with multiple declarators + Not resolved + + + 1343 + C++17 + Sequencing of non-class initialization + Unknown + + + 1344 + C++14 + Adding new special member functions to a class via default arguments + Unknown + + + 1345 + CD3 + Initialization of anonymous union class members + Unknown + + + 1346 + CD3 + expression-list initializers and the auto specifier + Clang 3.5 + + + 1347 + CD3 + Consistency of auto in multiple-declarator declarations + Yes + + + 1348 + drafting + Use of auto in a trailing-return-type + Not resolved + + + 1349 + dup + Consistency of alias template redeclarations + Unknown + + + 1350 + CD3 + Incorrect exception specification for inherited constructors + Unknown + + + 1351 + CD4 + Problems with implicitly-declared exception-specifications + Unknown + + + 1352 + CD3 + Inconsistent class scope and completeness rules + Unknown + + + 1353 + drafting + Array and variant members and deleted special member functions + Not resolved + + + 1354 + CD3 + Destructor exceptions for temporaries in noexcept expressions + Unknown + + + 1355 + CD3 + Aggregates and “user-provided” constructors + Unknown + + + 1356 + CD4 + Exception specifications of copy assignment operators with virtual bases + Unknown + + + 1357 + CD3 + brace-or-equal-initializers for function and typedef members + Unknown + + + 1358 + CD3 + Unintentionally ill-formed constexpr function template instances + Unknown + + + 1359 + CD3 + constexpr union constructors + Clang 3.5 + + + 1360 + drafting + constexpr defaulted default constructors + Not resolved + + + 1361 + CD3 + Requirement on brace-or-equal-initializers of literal types + Unknown + + + 1362 + CD3 + Complete type required for implicit conversion to T& + Unknown + + + 1363 + CD3 + Triviality vs multiple default constructors + Unknown + + + 1364 + CD3 + constexpr function parameters + Unknown + + + 1365 + CD3 + Calling undefined constexpr functions + Unknown + + + 1366 + CD3 + Deleted constexpr constructors and virtual base classes + Unknown + + + 1367 + CD3 + Use of this in a constant expression + Unknown + + + 1368 + CD3 + Value initialization and defaulted constructors (part 2) + Unknown + + + 1369 + CD3 + Function invocation substitution of this + Unknown + + + 1370 + CD3 + identifier-list cannot contain ellipsis + Unknown + + + 1371 + NAD + Deduction from T&& in return types + Unknown + + + 1372 + CD3 + Cross-references incorrect in conversion function template argument deduction + Unknown + + + 1373 + dup + Overload resolution changes matching reference-binding changes + Unknown + + + 1374 + CD3 + Qualification conversion vs difference in reference binding + Unknown + + + 1375 + CD3 + Reference to anonymous union? + Unknown + + + 1376 + C++14 + static_cast of temporary to rvalue reference + Unknown + + + 1377 + dup + Access declarations not mentioned in Annex C + Unknown + + + 1378 + open + When is an instantiation required? + Not resolved + + + 1379 + NAD + Is std::initializer_list an aggregate? + Unknown + + + 1380 + CD3 + Type definitions in template-parameter parameter-declarations + Unknown + + + 1381 + CD3 + Implicitly-declared special member functions and default nothrow + Unknown + + + 1382 + CD3 + Dead code for constructor names + Unknown + + + 1383 + CD3 + Clarifying discarded-value expressions + Unknown + + + 1384 + NAD + reinterpret_cast in constant expressions + Unknown + + + 1385 + CD3 + Syntactic forms of conversion functions for surrogate call functions + Unknown + + + 1386 + NAD + Explicitly-specified partial argument list with multiple parameter packs + Unknown + + + 1387 + CD3 + Missing non-deduced context for decltype + Unknown + + + 1388 + CD3 + Missing non-deduced context following a function parameter pack + Clang 4 + + + 1389 + NAD + Recursive reference in trailing-return-type + Unknown + + + 1390 + drafting + Dependency of alias template specializations + Not resolved + + + 1391 + CD4 + Conversions to parameter types with non-deduced template arguments + Partial + + + 1392 + CD3 + Explicit conversion functions for references and non-references + Unknown + + + 1393 + extension + Pack expansions in using-declarations + Not resolved + + + 1394 + CD3 + Incomplete types as parameters of deleted functions + Unknown + + + 1395 + C++17 + Partial ordering of variadic templates reconsidered + Unknown + + + 1396 + drafting + Deferred instantiation and checking of non-static data member initializers + Not resolved + + + 1397 + CD4 + Class completeness in non-static data member initializers + Unknown + + + 1398 + CD3 + Non-type template parameters of type std::nullptr_t + Unknown + + + 1399 + CD3 + Deduction with multiple function parameter packs + Duplicate of 1388 + + + 1400 + NAD + Function pointer equality + Unknown + + + 1401 + CD3 + Similar types and reference compatibility + Unknown + + + 1402 + CD3 + Move functions too often deleted + Unknown + + + 1403 + open + Universal-character-names in comments + Not resolved + + + 1404 + drafting + Object reallocation in unions + Not resolved + + + 1405 + CD3 + constexpr and mutable members of literal types + Unknown + + + 1406 + CD3 + ref-qualifiers and added parameters of non-static member function templates + Unknown + + + 1407 + NAD + Integral to bool conversion in converted constant expressions + Unknown + + + 1408 + CD3 + What is “the same aggregate initialization?” + Unknown + + + 1409 + CD3 + What is the second standard conversion sequence of a list-initialization sequence? + Unknown + + + 1410 + CD3 + Reference overload tiebreakers should apply to rvalue references + Unknown + + + 1411 + CD3 + More on global scope :: in nested-name-specifier + Unknown + + + 1412 + CD3 + Problems in specifying pointer conversions + Unknown + + + 1413 + CD3 + Missing cases of value-dependency + Unknown + + + 1414 + drafting + Binding an rvalue reference to a reference-unrelated lvalue + Not resolved + + + 1415 + CD3 + Missing prohibition of block-scope definition of extern object + Unknown + + + 1416 + CD3 + Function cv-qualifiers and typeid + Unknown + + + 1417 + C++14 + Pointers/references to functions with cv-qualifiers or ref-qualifier + Unknown + + + 1418 + CD3 + Type of initializer_list backing array + Unknown + + + 1419 + NAD + Evaluation order in aggregate initialization + Unknown + + + 1420 + NAD + Abstract final classes + Unknown + + + 1421 + NAD + Full expressions and aggregate initialization + Unknown + + + 1422 + dup + Type of character literals containing universal-character-names + Unknown + + + 1423 + CD3 + Convertibility of nullptr to bool + Unknown + + + 1424 + C++14 + When must sub-object destructors be accessible? + Unknown + + + 1425 + CD3 + Base-class subobjects of standard-layout structs + N/A (ABI constraint) + + + 1426 + extension + Allowing additional parameter types in defaulted functions + Not resolved + + + 1427 + NAD + Default constructor and deleted or inaccessible destructors + Unknown + + + 1428 + CD3 + Dynamic const objects + Unknown + + + 1429 + NAD + Scope of a member template's template parameter + Unknown + + + 1430 + drafting + Pack expansion into fixed alias template parameter list + Not resolved + + + 1431 + CD3 + Exceptions from other than throw-expressions + Unknown + + + 1432 + drafting + Newly-ambiguous variadic template expansions + Not resolved + + + 1433 + extension + trailing-return-type and point of declaration + Not resolved + + + 1434 + NAD + Parenthesized braced-init-list + Unknown + + + 1435 + CD3 + template-id as the declarator for a class template constructor + Unknown + + + 1436 + drafting + Interaction of constant expression changes with preprocessor expressions + Not resolved + + + 1437 + CD3 + alignas in alias-declaration + Unknown + + + 1438 + CD3 + Non-dereference use of invalid pointers + Unknown + + + 1439 + CD3 + Lookup and friend template declarations + Unknown + + + 1440 + CD3 + Acceptable decltype-specifiers used as nested-name-specifiers + Unknown + + + 1441 + C++14 + Unclear wording for signal handler restrictions + Unknown + + + 1442 + CD3 + Argument-dependent lookup in the range-based for + Unknown + + + 1443 + NAD + Default arguments and non-static data members + Unknown + + + 1444 + drafting + Type adjustments of non-type template parameters + Not resolved + + + 1445 + dup + Argument-dependent lookup of begin and end + Unknown + + + 1446 + CD4 + Member function with no ref-qualifier and non-member function with rvalue reference + Unknown + + + 1447 + CD3 + static_cast of bit-field lvalue to rvalue reference + Unknown + + + 1448 + NAD + Integral values of type bool + Unknown + + + 1449 + CD3 + Narrowing conversion of negative value to unsigned type + Unknown + + + 1450 + CD3 + INT_MIN % -1 + Unknown + + + 1451 + extension + Objects with no linkage in non-type template arguments + Not resolved + + + 1452 + drafting + Value-initialized objects may be constants + Not resolved + + + 1453 + CD3 + Volatile members in literal classes? + Unknown + + + 1454 + CD3 + Passing constants through constexpr functions via references + Unknown + + + 1455 + CD3 + Lvalue converted constant expressions + Unknown + + + 1456 + CD3 + Address constant expression designating the one-past-the-end address + Unknown + + + 1457 + CD3 + Undefined behavior in left-shift + Unknown + + + 1458 + CD3 + Address of incomplete type vs operator&() + Unknown + + + 1459 + open + Reference-binding tiebreakers in overload resolution + Not resolved + + + 1460 + C++14 + What is an empty union? + Clang 3.5 + + + 1461 + NAD + Narrowing conversions to bit-fields + Unknown + + + 1462 + CD3 + Deduction failure vs “ill-formed, no diagnostic required” + Unknown + + + 1463 + extension + extern "C" alias templates + Not resolved + + + 1464 + CD3 + Negative array bound in a new-expression + Unknown + + + 1465 + CD4 + noexcept and std::bad_array_new_length + Unknown + + + 1466 + C++14 + Visible sequences of side effects are redundant + Unknown + + + 1467 + CD4 + List-initialization of aggregate from same-type object + Clang 3.7 (C++11 onwards) + + + 1468 + drafting + typeid, overload resolution, and implicit lambda capture + Not resolved + + + 1469 + extension + Omitted bound in array new-expression + Not resolved + + + 1470 + NAD + Thread migration + Unknown + + + 1471 + CD3 + Nested type of non-dependent base + Unknown + + + 1472 + CD3 + odr-use of reference variables + Unknown + + + 1473 + CD3 + Syntax of literal-operator-id + Unknown + + + 1474 + NAD + User-defined literals and <inttypes.h> format macros + Unknown + + + 1475 + CD3 + Errors in [[carries_dependency]] example + Unknown + + + 1476 + CD3 + Definition of user-defined type + Unknown + + + 1477 + CD3 + Definition of a friend outside its namespace + Unknown + + + 1478 + drafting + template keyword for dependent template template arguments + Not resolved + + + 1479 + CD3 + Literal operators and default arguments + Unknown + + + 1480 + CD3 + Constant initialization via non-constant temporary + Unknown + + + 1481 + CD3 + Increment/decrement operators with reference parameters + Unknown + + + 1482 + CD3 + Point of declaration of enumeration + Unknown + + + 1483 + NAD + Non-dependent static_assert-declarations + Unknown + + + 1484 + CD4 + Unused local classes of function templates + Unknown + + + 1485 + drafting + Out-of-class definition of member unscoped opaque enumeration + Not resolved + + + 1486 + drafting + Base-derived conversion in member pointer deduction + Not resolved + + + 1487 + CD3 + When are inheriting constructors declared? + Unknown + + + 1488 + drafting + abstract-pack-declarators in type-ids + Not resolved + + + 1489 + CD3 + Is value-initialization of an array constant initialization? + Unknown + + + 1490 + CD4 + List-initialization from a string literal + Clang 3.7 (C++11 onwards) + + + 1491 + CD3 + Move construction and rvalue reference members + Unknown + + + 1492 + CD4 + Exception specifications on template destructors + Unknown + + + 1493 + C++14 + Criteria for move-construction + Unknown + + + 1494 + CD3 + Temporary initialization for reference binding in list-initialization + Unknown + + + 1495 + CD3 + Partial specialization of variadic class template + Clang 4 + + + 1496 + CD4 + Triviality with deleted and missing default constructors + Unknown + + + 1497 + NAD + Aggregate initialization with parenthesized string literal + Unknown + + + 1498 + dup + Lifetime of temporaries in range-based for + Unknown + + + 1499 + drafting + Missing case for deleted move assignment operator + Not resolved + + + 1500 + open + Name lookup of dependent conversion function + Not resolved + + + 1501 + NAD + Nested braces in list-initialization + Unknown + + + 1502 + CD3 + Value initialization of unions with member initializers + Unknown + + + 1503 + CD3 + Exceptions during copy to exception object + Unknown + + + 1504 + CD3 + Pointer arithmetic after derived-base conversion + Unknown + + + 1505 + dup + Direct binding of reference to temporary in list-initialization + Unknown + + + 1506 + CD3 + Value category of initializer_list object + Unknown + + + 1507 + CD3 + Value initialization with trivial inaccessible default constructor + Unknown + + + 1508 + C++14 + Template initializer-list constructors + Unknown + + + 1509 + C++14 + Definition of “non-template function” + Unknown + + + 1510 + CD3 + cv-qualified references via decltype + Unknown + + + 1511 + CD3 + const volatile variables and the one-definition rule + Unknown + + + 1512 + CD3 + Pointer comparison vs qualification conversions + Clang 4 + + + 1513 + drafting + initializer_list deduction failure + Not resolved + + + 1514 + C++14 + Ambiguity between enumeration definition and zero-length bit-field + Unknown + + + 1515 + CD3 + Modulo 2n arithmetic for implicitly-unsigned types + Unknown + + + 1516 + CD3 + Definition of “virtual function call” + Unknown + + + 1517 + drafting + Unclear/missing description of behavior during construction/destruction + Not resolved + + + 1518 + CD4 + Explicit default constructors and copy-list-initialization + Clang 4 + + + 1519 + NAD + Conflicting default and variadic constructors + Unknown + + + 1520 + NAD + Alias template specialization vs pack expansion + Unknown + + + 1521 + drafting + T{expr} with reference types + Not resolved + + + 1522 + CD3 + Access checking for initializer_list array initialization + Unknown + + + 1523 + DRWP + Point of declaration in range-based for + Unknown + + + 1524 + drafting + Incompletely-defined class template base + Not resolved + + + 1525 + NAD + Array bound inference in temporary array + Unknown + + + 1526 + dup + Dependent-class lookup in the current instantiation + Unknown + + + 1527 + CD3 + Assignment from braced-init-list + Unknown + + + 1528 + CD3 + Repeated cv-qualifiers in declarators + Unknown + + + 1529 + drafting + Nomenclature for variable vs reference non-static data member + Not resolved + + + 1530 + drafting + Member access in out-of-lifetime objects + Not resolved + + + 1531 + CD3 + Definition of “access” (verb) + Unknown + + + 1532 + CD3 + Explicit instantiation and member templates + Unknown + + + 1533 + CD3 + Function pack expansion for member initialization + Unknown + + + 1534 + dup + cv-qualification of prvalue of type “array of class” + Unknown + + + 1535 + CD3 + typeid in core constant expressions + Unknown + + + 1536 + drafting + Overload resolution with temporary from initializer list + Not resolved + + + 1537 + CD3 + Optional compile-time evaluation of constant expressions + Unknown + + + 1538 + CD3 + C-style cast in braced-init-list assignment + Unknown + + + 1539 + CD3 + Definition of “character type” + Unknown + + + 1540 + NAD + Use of address constants in constant expressions + Unknown + + + 1541 + CD3 + cv void return types + Unknown + + + 1542 + drafting + Compound assignment of braced-init-list + Not resolved + + + 1543 + CD3 + Implicit conversion sequence for empty initializer list + Unknown + + + 1544 + CD3 + Linkage of member of unnamed namespace + Unknown + + + 1545 + drafting + friend function templates defined in class templates + Not resolved + + + 1546 + NAD + Errors in function template default arguments + Unknown + + + 1547 + NAD + typename keyword in alias-declarations + Unknown + + + 1548 + drafting + Copy/move construction and conversion functions + Not resolved + + + 1549 + open + Overloaded comma operator with void operand + Not resolved + + + 1550 + CD3 + Parenthesized throw-expression operand of conditional-expression + Yes + + + 1551 + C++14 + Wording problems in using-declaration specification + Unknown + + + 1552 + CD4 + exception-specifications and defaulted special member functions + Unknown + + + 1553 + CD3 + sizeof and xvalue bit-fields + Unknown + + + 1554 + drafting + Access and alias templates + Not resolved + + + 1555 + extension + Language linkage and function type compatibility + Not resolved + + + 1556 + CD3 + Constructors and explicit conversion functions in direct initialization + Unknown + + + 1557 + CD3 + Language linkage of converted lambda function pointer + Unknown + + + 1558 + CD4 + Unused arguments in alias template specializations + Unknown + + + 1559 + CD3 + String too long in initializer list of new-expression + Unknown + + + 1560 + CD3 + Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand + Clang 3.5 + + + 1561 + extension + Aggregates with empty base classes + Not resolved + + + 1562 + C++14 + Non-static data member initializers and union ctor-initializer + Unknown + + + 1563 + CD3 + List-initialization and overloaded function disambiguation + Yes + + + 1564 + NAD + Template argument deduction from an initializer list + Unknown + + + 1565 + NAD + Copy elision and lifetime of initializer_list underlying array + Unknown + + + 1566 + NAD + Should new std::initializer_list<T> be ill-formed? + Unknown + + + 1567 + C++14 + Inheriting constructors and copy/move constructors + Unknown + + + 1568 + dup + Temporary lifetime extension with intervening cast + Unknown + + + 1569 + C++14 + Deducing a function parameter pack before ellipsis + Unknown + + + 1570 + C++14 + Address of subobject as non-type template argument + Unknown + + + 1571 + CD4 + cv-qualification for indirect reference binding via conversion function + Unknown + + + 1572 + CD4 + Incorrect example for rvalue reference binding via conversion function + Unknown + + + 1573 + CD4 + Inherited constructor characteristics + Clang 3.9 + + + 1574 + NAD + Explicitly-defaulted constexpr functions in wrapper templates + Unknown + + + 1575 + C++14 + Incorrect definition of “strict pointer safety” + Unknown + + + 1576 + C++14 + Discarded-value volatile xvalues + Unknown + + + 1577 + NAD + Unnecessary restrictions on partial specializations + Unknown + + + 1578 + NAD + Value-initialization of aggregates + Unknown + + + 1579 + C++14 + Return by converting move constructor + Clang 3.9 + + + 1580 + drafting + Default arguments in explicit instantiations + Not resolved + + + 1581 + DRWP + When are constexpr member functions defined? + Unknown + + + 1582 + drafting + Template default arguments and deduction failure + Not resolved + + + 1583 + C++14 + Incorrect example of unspecified behavior + Unknown + + + 1584 + drafting + Deducing function types from cv-qualified types + Not resolved + + + 1585 + NAD + Value category of member access of rvalue reference member + Unknown + + + 1586 + NAD + Naming a destructor via decltype + Unknown + + + 1587 + C++14 + constexpr initialization and nested anonymous unions + Unknown + + + 1588 + CD3 + Deducing cv-qualified auto + Unknown + + + 1589 + CD4 + Ambiguous ranking of list-initialization sequences + Clang 3.7 (C++11 onwards) + + + 1590 + CD4 + Bypassing non-copy/move constructor copying + Unknown + + + 1591 + CD4 + Deducing array bound and element type from initializer list + Unknown + + + 1592 + C++14 + When do template parameters match? + Unknown + + + 1593 + C++14 + “Parameter type” of special member functions + Unknown + + + 1594 + drafting + Lazy declaration of special members vs overload errors + Not resolved + + + 1595 + C++14 + Constructors “involved in” subobject initialization + Unknown + + + 1596 + CD4 + Non-array objects as array[1] + Unknown + + + 1597 + CD3 + Misleading constexpr example + Unknown + + + 1598 + C++14 + Criterion for equality of pointers to members + Unknown + + + 1599 + CD4 + Lifetime of initializer_list underlying array + Unknown + + + 1600 + CD4 + Erroneous reference initialization in example + Unknown + + + 1601 + C++14 + Promotion of enumeration with fixed underlying type + Unknown + + + 1602 + open + Linkage of specialization vs linkage of template arguments + Not resolved + + + 1603 + CD4 + Errors resulting from giving unnamed namespaces internal linkage + Unknown + + + 1604 + C++14 + Double temporaries in reference initialization + Unknown + + + 1605 + CD3 + Misleading parenthetical comment for explicit destructor call + Unknown + + + 1606 + NAD + sizeof closure class + Unknown + + + 1607 + C++14 + Lambdas in template parameters + Unknown + + + 1608 + C++14 + Operator lookup in trailing return type + Unknown + + + 1609 + open + Default arguments and function parameter packs + Not resolved + + + 1610 + drafting + Cv-qualification in deduction of reference to array + Not resolved + + + 1611 + C++14 + Deleted default constructor for abstract class + Duplicate of 1658 + + + 1612 + C++14 + Implicit lambda capture and anonymous unions + Unknown + + + 1613 + C++14 + Constant expressions and lambda capture + Unknown + + + 1614 + CD4 + Address of pure virtual function vs odr-use + Unknown + + + 1615 + CD4 + Alignment of types, variables, and members + Unknown + + + 1616 + drafting + Disambiguation parsing and template parameters + Not resolved + + + 1617 + open + alignas and non-defining declarations + Not resolved + + + 1618 + C++14 + Gratuitously-unsigned underlying enum type + Unknown + + + 1619 + open + Definition of current instantiation + Not resolved + + + 1620 + open + User-defined literals and extended integer types + Not resolved + + + 1621 + drafting + Member initializers in anonymous unions + Not resolved + + + 1622 + C++17 + Empty aggregate initializer for union + Unknown + + + 1623 + drafting + Deleted default union constructor and member initializers + Not resolved + + + 1624 + NAD + Destruction of union members with member initializers + Unknown + + + 1625 + open + Adding spaces between tokens in stringizing + Not resolved + + + 1626 + drafting + constexpr member functions in brace-or-equal-initializers + Not resolved + + + 1627 + NAD + Agreement of dependent alignas specifiers + Unknown + + + 1628 + open + Deallocation function templates + Not resolved + + + 1629 + C++14 + Can a closure class be a literal type? + Unknown + + + 1630 + CD4 + Multiple default constructor templates + Unknown + + + 1631 + CD4 + Incorrect overload resolution for single-element initializer-list + Clang 3.7 + + + 1632 + DRWP + Lambda capture in member initializers + Unknown + + + 1633 + CD4 + Copy-initialization in member initialization + Unknown + + + 1634 + drafting + Temporary storage duration + Not resolved + + + 1635 + drafting + How similar are template default arguments to function default arguments? + Not resolved + + + 1636 + DRWP + Bits required for negative enumerator values + Unknown + + + 1637 + NAD + Recursion in constexpr template default constructor + Unknown + + + 1638 + CD4 + Declaring an explicit specialization of a scoped enumeration + Yes + + + 1639 + CD4 + exception-specifications and pointer/pointer-to-member expressions + Unknown + + + 1640 + drafting + Array of abstract instance of class template + Not resolved + + + 1641 + NAD + Assignment in member initializer + Unknown + + + 1642 + open + Missing requirements for prvalue operands + Not resolved + + + 1643 + extension + Default arguments for template parameter packs + Not resolved + + + 1644 + open + Equivalent exception-specifications in function template declarations + Not resolved + + + 1645 + CD4 + Identical inheriting constructors via default arguments + Clang 3.9 + + + 1646 + drafting + decltype-specifiers, abstract classes, and deduction failure + Not resolved + + + 1647 + drafting + Type agreement of non-type template arguments in partial specializations + Not resolved + + + 1648 + C++14 + thread_local vs block extern declarations + Unknown + + + 1649 + C++14 + Error in the syntax of mem-initializer-list + Unknown + + + 1650 + NAD + Class prvalues in reference initialization + Unknown + + + 1651 + NAD + Lifetime extension of temporary via reference to subobject + Unknown + + + 1652 + CD4 + Object addresses in constexpr expressions + Unknown + + + 1653 + CD4 + Removing deprecated increment of bool + Clang 4 (C++17 onwards) + + + 1654 + dup + Literal types and constexpr defaulted constructors + Unknown + + + 1655 + drafting + Line endings in raw string literals + Not resolved + + + 1656 + drafting + Encoding of numerically-escaped characters + Not resolved + + + 1657 + CD4 + Attributes for namespaces and enumerators + Unknown + + + 1658 + C++14 + Deleted default constructor for abstract class via destructor + Clang 5 + + + 1659 + open + Initialization order of thread_local template static data members + Not resolved + + + 1660 + C++14 + member-declaration requirements and unnamed bit-fields + Unknown + + + 1661 + NAD + Preservation of infinite loops + Unknown + + + 1662 + C++14 + Capturing function parameter packs + Unknown + + + 1663 + NAD + Capturing an empty pack expansion + Unknown + + + 1664 + C++14 + Argument-dependent lookup of lambdas used in default arguments + Unknown + + + 1665 + drafting + Declaration matching in explicit instantiations + Not resolved + + + 1666 + C++14 + Address constant expressions + Unknown + + + 1667 + NAD + Function exiting via exception called by destructor during unwinding + Unknown + + + 1668 + drafting + Parameter type determination still not clear enough + Not resolved + + + 1669 + C++14 + auto return type for main + Unknown + + + 1670 + drafting + auto as conversion-type-id + Not resolved + + + 1671 + NAD + Unclear rules for deduction with cv-qualification + Unknown + + + 1672 + CD4 + Layout compatibility with multiple empty bases + Clang 7 + + + 1673 + C++14 + Clarifying overload resolution for the second step of copy-initialization + Unknown + + + 1674 + C++14 + Return type deduction for address of function + Unknown + + + 1675 + NAD + Size limit for automatic array object + Unknown + + + 1676 + drafting + auto return type for allocation and deallocation functions + Not resolved + + + 1677 + C++17 + Constant initialization via aggregate initialization + Unknown + + + 1678 + NAD + Naming the type of an array of runtime bound + Unknown + + + 1679 + NAD + Range-based for and array of runtime bound + Unknown + + + 1680 + drafting + Including <initializer_list> for range-based for + Not resolved + + + 1681 + C++14 + init-captures and nested lambdas + Unknown + + + 1682 + open + Overly-restrictive rules on function templates as allocation functions + Not resolved + + + 1683 + CD4 + Incorrect example after constexpr changes + Unknown + + + 1684 + C++14 + Static constexpr member functions for non-literal classes + Clang 3.6 + + + 1685 + NAD + Value category of noexcept expression + Unknown + + + 1686 + CD4 + Which variables are “explicitly declared const?” + Unknown + + + 1687 + C++14 + Conversions of operands of built-in operators + Clang 7 + + + 1688 + NAD + Volatile constexpr variables + Unknown + + + 1689 + C++14 + Syntactic nonterminal for operand of alignas + Unknown + + + 1690 + C++14 + Associated namespace for local type + Clang 9 + + + 1691 + C++14 + Argument-dependent lookup and opaque enumerations + Clang 9 + + + 1692 + C++14 + Associated namespaces of doubly-nested classes + Clang 9 + + + 1693 + C++14 + Superfluous semicolons in class definitions + Unknown + + + 1694 + CD4 + Restriction on reference to temporary as a constant expression + Unknown + + + 1695 + NAD + Lifetime extension via init-capture + Unknown + + + 1696 + CD4 + Temporary lifetime and non-static data member initializers + Clang 7 + + + 1697 + CD4 + Lifetime extension and copy elision + Unknown + + + 1698 + open + Files ending in \ + Not resolved + + + 1699 + drafting + Does befriending a class befriend its friends? + Not resolved + + + 1700 + NAD + Does the special rvalue-reference deduction apply to alias templates? + Unknown + + + 1701 + drafting + Array vs sequence in object representation + Not resolved + + + 1702 + drafting + Rephrasing the definition of “anonymous union” + Not resolved + + + 1703 + NAD + Language linkage of names of functions with internal linkage + Unknown + + + 1704 + DRWP + Type checking in explicit instantiation of variable templates + Unknown + + + 1705 + CD4 + Unclear specification of “more specialized” + Unknown + + + 1706 + drafting + alignas pack expansion syntax + Not resolved + + + 1707 + C++14 + template in elaborated-type-specifier without nested-name-specifier + Unknown + + + 1708 + CD4 + overly-strict requirements for names with C language linkage + Unknown + + + 1709 + drafting + Stringizing raw string literals containing newline + Not resolved + + + 1710 + C++17 + Missing template keyword in class-or-decltype + Unknown + + + 1711 + drafting + Missing specification of variable template partial specializations + Not resolved + + + 1712 + CD4 + constexpr variable template declarations + Unknown + + + 1713 + drafting + Linkage of variable template specializations + Not resolved + + + 1714 + NAD + odr-use of this from a local class + Unknown + + + 1715 + CD4 + Access and inherited constructor templates + Clang 3.9 + + + 1716 + C++14 + When are default arguments evaluated? + Unknown + + + 1717 + C++14 + Missing specification of type of binary literal + Unknown + + + 1718 + drafting + Macro invocation spanning end-of-file + Not resolved + + + 1719 + CD4 + Layout compatibility and cv-qualification revisited + Unknown + + + 1720 + NAD + Macro invocation in #include directive + Unknown + + + 1721 + drafting + Diagnosing ODR violations for static data members + Not resolved + + + 1722 + CD4 + Should lambda to function pointer conversion function be noexcept? + Clang 9 + + + 1723 + drafting + Multicharacter user-defined character literals + Not resolved + + + 1724 + drafting + Unclear rules for deduction failure + Not resolved + + + 1725 + NAD + Trailing return type with nested function declarator + Unknown + + + 1726 + drafting + Declarator operators and conversion function + Not resolved + + + 1727 + NAD + Type of a specialization of a variable template + Unknown + + + 1728 + DRWP + Type of an explicit instantiation of a variable template + Unknown + + + 1729 + drafting + Matching declarations and definitions of variable templates + Not resolved + + + 1730 + drafting + Can a variable template have an unnamed type? + Not resolved + + + 1731 + NAD + is_trivially_X and definitions of special member functions + Unknown + + + 1732 + C++14 + Defining types in conditions and range-based for statements + Unknown + + + 1733 + drafting + Return type and value for operator= with ref-qualifier + Not resolved + + + 1734 + CD4 + Nontrivial deleted copy functions + Unknown + + + 1735 + drafting + Out-of-range literals in user-defined-literals + Not resolved + + + 1736 + CD4 + Inheriting constructor templates in a local class + Clang 3.9 + + + 1737 + C++14 + Type dependence of call to a member of the current instantiation + Unknown + + + 1738 + C++14 + Explicit instantiation/specialization of inheriting constructor templates + Unknown + + + 1739 + C++14 + Conversion of floating point to enumeration + Unknown + + + 1740 + C++14 + Disambiguation of noexcept + Unknown + + + 1741 + C++14 + odr-use of class object in lvalue-to-rvalue conversion + Unknown + + + 1742 + open + using-declarations and scoped enumerators + Not resolved + + + 1743 + NAD + init-captures in nested lambdas + Unknown + + + 1744 + CD4 + Unordered initialization for variable template specializations + Unknown + + + 1745 + NAD + thread_local constexpr variable + Unknown + + + 1746 + C++14 + Are volatile scalar types trivially copyable? + Unknown + + + 1747 + C++14 + Constant initialization of reference to function + Unknown + + + 1748 + CD4 + Placement new with a null pointer + Clang 3.7 + + + 1749 + NAD + Confusing definition for constant initializer + Unknown + + + 1750 + CD4 + “Argument” vs “parameter” + Unknown + + + 1751 + CD4 + Non-trivial operations vs non-trivial initialization + Unknown + + + 1752 + CD4 + Right-recursion in mem-initializer-list + Unknown + + + 1753 + CD4 + decltype-specifier in nested-name-specifier of destructor + Unknown + + + 1754 + NAD + Declaration of partial specialization of static data member template + Unknown + + + 1755 + drafting + Out-of-class partial specializations of member templates + Not resolved + + + 1756 + CD4 + Direct-list-initialization of a non-class object + Clang 3.7 + + + 1757 + CD4 + Const integral subobjects + Unknown + + + 1758 + CD4 + Explicit conversion in copy/move list initialization + Clang 3.7 + + + 1759 + C++14 + UTF-8 code units in plain char + Unknown + + + 1760 + C++14 + Access of member corresponding to init-capture + Unknown + + + 1761 + NAD + Runtime check on size of automatic array + Unknown + + + 1762 + C++14 + Reserved identifier used in literal-operator-id example + Unknown + + + 1763 + open + Length mismatch in template type deduction + Not resolved + + + 1764 + C++14 + Hiding of function from using-declaration by signature + Unknown + + + 1765 + C++14 + Overflow of enumeration used as enumerator value + Unknown + + + 1766 + CD4 + Values outside the range of the values of an enumeration + Unknown + + + 1767 + C++14 + Scoped enumeration in a switch statement + Unknown + + + 1768 + NAD + Zero-element array of runtime bound + Unknown + + + 1769 + C++14 + Catching a base class of the exception object + Unknown + + + 1770 + C++14 + Type matching of non-type template parameters and arguments + Unknown + + + 1771 + open + Restricted lookup in nested-name-specifier + Not resolved + + + 1772 + C++14 + __func__ in a lambda body + Unknown + + + 1773 + C++14 + Out-of-lifetime lvalue-to-rvalue conversion + Unknown + + + 1774 + CD4 + Discrepancy between subobject destruction and stack unwinding + Unknown + + + 1775 + C++14 + Undefined behavior of line splice in raw string literal + Unknown + + + 1776 + CD4 + Replacement of class objects containing reference members + Unknown + + + 1777 + CD4 + Empty pack expansion in dynamic-exception-specification + Unknown + + + 1778 + C++14 + exception-specification in explicitly-defaulted functions + Unknown + + + 1779 + CD4 + Type dependency of __func__ + Unknown + + + 1780 + CD4 + Explicit instantiation/specialization of generic lambda operator() + Unknown + + + 1781 + DRWP + Converting from nullptr_t to bool in overload resolution + Unknown + + + 1782 + CD4 + Form of initialization for nullptr_t to bool conversion + Unknown + + + 1783 + NAD + Why are virtual destructors non-trivial? + Unknown + + + 1784 + C++17 + Concurrent execution during static local initialization + Unknown + + + 1785 + NAD + Conflicting diagnostic requirements for template definitions + Unknown + + + 1786 + C++14 + Effect of merging allocations on memory leakage + Unknown + + + 1787 + C++14 + Uninitialized unsigned char values + Unknown + + + 1788 + CD4 + Sized deallocation of array of non-class type + Unknown + + + 1789 + drafting + Array reference vs array decay in overload resolution + Not resolved + + + 1790 + extension + Ellipsis following function parameter pack + Not resolved + + + 1791 + CD4 + Incorrect restrictions on cv-qualifier-seq and ref-qualifier + Unknown + + + 1792 + NAD + Incorrect example of explicit specialization of member enumeration + Unknown + + + 1793 + CD4 + thread_local in explicit specializations + Unknown + + + 1794 + C++17 + template keyword and alias templates + Unknown + + + 1795 + CD4 + Disambiguating original-namespace-definition and extension-namespace-definition + Unknown + + + 1796 + CD4 + Is all-bits-zero for null characters a meaningful requirement? + Unknown + + + 1797 + CD4 + Are all bit patterns of unsigned char distinct numbers? + Unknown + + + 1798 + NAD + exception-specifications of template arguments + Unknown + + + 1799 + CD4 + mutable and non-explicit const qualification + Unknown + + + 1800 + CD4 + Pointer to member of nested anonymous union + Unknown + + + 1801 + drafting + Kind of expression referring to member of anonymous union + Not resolved + + + 1802 + CD4 + char16_t string literals and surrogate pairs + Unknown + + + 1803 + drafting + opaque-enum-declaration as member-declaration + Not resolved + + + 1804 + CD4 + Partial specialization and friendship + Unknown + + + 1805 + CD4 + Conversions of array operands in conditional-expressions + Unknown + + + 1806 + CD4 + Virtual bases and move-assignment + Unknown + + + 1807 + CD4 + Order of destruction of array elements after an exception + Unknown + + + 1808 + drafting + Constructor templates vs default constructors + Not resolved + + + 1809 + CD4 + Narrowing and template argument deduction + Unknown + + + 1810 + CD4 + Invalid ud-suffixes + Unknown + + + 1811 + CD4 + Lookup of deallocation function in a virtual destructor definition + Unknown + + + 1812 + C++17 + Omission of template in a typename-specifier + Unknown + + + 1813 + CD4 + Direct vs indirect bases in standard-layout classes + Clang 7 + + + 1814 + CD4 + Default arguments in lambda-expressions + Unknown + + + 1815 + CD4 + Lifetime extension in aggregate initialization + No + + + 1816 + CD4 + Unclear specification of bit-field values + Unknown + + + 1817 + drafting + Linkage specifications and nested scopes + Not resolved + + + 1818 + open + Visibility and inherited language linkage + Not resolved + + + 1819 + CD4 + Acceptable scopes for definition of partial specialization + Unknown + + + 1820 + open + Qualified typedef names + Not resolved + + + 1821 + open + Qualified redeclarations in a class member-specification + Not resolved + + + 1822 + open + Lookup of parameter names in lambda-expressions + Not resolved + + + 1823 + CD4 + String literal uniqueness in inline functions + Unknown + + + 1824 + CD4 + Completeness of return type vs point of instantiation + Unknown + + + 1825 + C++17 + Partial ordering between variadic and non-variadic function templates + Unknown + + + 1826 + NAD + const floating-point in constant expressions + Unknown + + + 1827 + drafting + Reference binding with ambiguous conversions + Not resolved + + + 1828 + drafting + nested-name-specifier ambiguity + Not resolved + + + 1829 + open + Dependent unnamed types + Not resolved + + + 1830 + CD4 + Repeated specifiers + Unknown + + + 1831 + NAD + Explicitly vs implicitly deleted move constructors + Unknown + + + 1832 + CD4 + Casting to incomplete enumeration + Unknown + + + 1833 + NAD + friend declarations naming implicitly-declared member functions + Unknown + + + 1834 + CD4 + Constant initialization binding a reference to an xvalue + Unknown + + + 1835 + drafting + Dependent member lookup before < + Not resolved + + + 1836 + DRWP + Use of class type being defined in trailing-return-type + Unknown + + + 1837 + drafting + Use of this in friend and local class declarations + Not resolved + + + 1838 + CD4 + Definition via unqualified-id and using-declaration + Unknown + + + 1839 + drafting + Lookup of block-scope extern declarations + Not resolved + + + 1840 + drafting + Non-deleted explicit specialization of deleted function template + Not resolved + + + 1841 + drafting + < following template injected-class-name + Not resolved + + + 1842 + concurrency + Unevaluated operands and “carries a dependency” + Not resolved + + + 1843 + CD4 + Bit-field in conditional operator with throw operand + Unknown + + + 1844 + drafting + Defining “immediate context” + Not resolved + + + 1845 + drafting + Point of instantiation of a variable template specialization + Not resolved + + + 1846 + CD4 + Declaring explicitly-defaulted implicitly-deleted functions + Unknown + + + 1847 + CD4 + Clarifying compatibility during partial ordering + Unknown + + + 1848 + CD4 + Parenthesized constructor and destructor declarators + Unknown + + + 1849 + drafting + Variable templates and the ODR + Not resolved + + + 1850 + CD4 + Differences between definition context and point of instantiation + Unknown + + + 1851 + CD4 + decltype(auto) in new-expressions + Unknown + + + 1852 + CD4 + Wording issues regarding decltype(auto) + Unknown + + + 1853 + drafting + Defining “allocated storage” + Not resolved + + + 1854 + drafting + Disallowing use of implicitly-deleted functions + Not resolved + + + 1855 + dup + Out-of-lifetime access to nonstatic data members + Unknown + + + 1856 + open + Indirect nested classes of class templates + Not resolved + + + 1857 + drafting + Additional questions about bits + Not resolved + + + 1858 + CD4 + Comparing pointers to union members + Unknown + + + 1859 + NAD + UTF-16 in char16_t string literals + Unknown + + + 1860 + C++17 + What is a “direct member?” + Unknown + + + 1861 + CD4 + Values of a bit-field + Unknown + + + 1862 + DRWP + Determining “corresponding members” for friendship + Unknown + + + 1863 + CD4 + Requirements on thrown object type to support std::current_exception() + Unknown + + + 1864 + extension + List-initialization of array objects + Not resolved + + + 1865 + CD4 + Pointer arithmetic and multi-level qualification conversions + Unknown + + + 1866 + CD4 + Initializing variant members with non-trivial destructors + Unknown + + + 1867 + NAD + Function/expression ambiguity with qualified parameter name + Unknown + + + 1868 + drafting + Meaning of “placeholder type” + Not resolved + + + 1869 + NAD + thread_local vs linkage-specifications + Unknown + + + 1870 + CD4 + Contradictory wording about definitions vs explicit specialization/instantiation + Unknown + + + 1871 + extension + Non-identifier characters in ud-suffix + Not resolved + + + 1872 + CD4 + Instantiations of constexpr templates that cannot appear in constant expressions + Unknown + + + 1873 + CD4 + Protected member access from derived class friends + Unknown + + + 1874 + CD4 + Type vs non-type template parameters with class keyword + Unknown + + + 1875 + CD4 + Reordering declarations in class scope + Unknown + + + 1876 + extension + Preventing explicit specialization + Not resolved + + + 1877 + CD4 + Return type deduction from return with no operand + Unknown + + + 1878 + CD4 + operator auto template + Unknown + + + 1879 + NAD + Inadequate definition of alignment requirement + Unknown + + + 1880 + drafting + When are parameter objects destroyed? + Not resolved + + + 1881 + CD4 + Standard-layout classes and unnamed bit-fields + Clang 7 + + + 1882 + CD4 + Reserved names without library use + Unknown + + + 1883 + drafting + Protected access to constructors in mem-initializers + Not resolved + + + 1884 + drafting + Unclear requirements for same-named external-linkage entities + Not resolved + + + 1885 + CD4 + Return value of a function is underspecified + Unknown + + + 1886 + CD4 + Language linkage for main() + Unknown + + + 1887 + CD4 + Problems with :: as nested-name-specifier + Unknown + + + 1888 + CD4 + Implicitly-declared default constructors and explicit + Unknown + + + 1889 + drafting + Unclear effect of #pragma on conformance + Not resolved + + + 1890 + drafting + Member type depending on definition of member function + Not resolved + + + 1891 + CD4 + Move constructor/assignment for closure class + Clang 4 + + + 1892 + CD4 + Use of auto in function type + Unknown + + + 1893 + DRWP + Function-style cast with braced-init-lists and empty pack expansions + Unknown + + + 1894 + open + typedef-names and using-declarations + Not resolved + + + 1895 + CD4 + Deleted conversions in conditional operator operands + Unknown + + + 1896 + drafting + Repeated alias templates + Not resolved + + + 1897 + drafting + ODR vs alternative tokens + Not resolved + + + 1898 + drafting + Use of “equivalent” in overload resolution + Not resolved + + + 1899 + CD4 + Value-dependent constant expressions + Unknown + + + 1900 + drafting + Do friend declarations count as “previous declarations”? + Not resolved + + + 1901 + drafting + punctuator referenced but not defined + Not resolved + + + 1902 + CD4 + What makes a conversion “otherwise ill-formed”? + Clang 3.7 + + + 1903 + CD4 + What declarations are introduced by a non-member using-declaration? + Unknown + + + 1904 + NAD + Default template arguments for members of class templates + Unknown + + + 1905 + MAD + Dependent types and injected-class-names + Unknown + + + 1906 + NAD + Name lookup in member friend declaration + Unknown + + + 1907 + drafting + using-declarations and default arguments + Not resolved + + + 1908 + drafting + Dual destructor lookup and template-ids + Not resolved + + + 1909 + CD4 + Member class template with the same name as the class + Yes + + + 1910 + DRWP + “Shall” requirement applied to runtime behavior + Unknown + + + 1911 + CD4 + constexpr constructor with non-literal base class + Unknown + + + 1912 + extension + exception-specification of defaulted function + Not resolved + + + 1913 + DRWP + decltype((x)) in lambda-expressions + Unknown + + + 1914 + extension + Duplicate standard attributes + Not resolved + + + 1915 + extension + Potentially-invoked destructors in non-throwing constructors + Not resolved + + + 1916 + CD4 + “Same cv-unqualified type” + Unknown + + + 1917 + drafting + decltype-qualified enumeration names + Not resolved + + + 1918 + open + friend templates with dependent scopes + Not resolved + + + 1919 + open + Overload resolution for ! with explicit conversion operator + Not resolved + + + 1920 + CD4 + Qualification mismatch in pseudo-destructor-name + Unknown + + + 1921 + NAD + constexpr constructors and point of initialization of const variables + Unknown + + + 1922 + CD4 + Injected class template names and default arguments + Unknown + + + 1923 + extension + Lvalues of type void + Not resolved + + + 1924 + review + Definition of “literal” and kinds of literals + Not resolved + + + 1925 + CD4 + Bit-field prvalues + Unknown + + + 1926 + CD4 + Potential results of subscript operator + Unknown + + + 1927 + dup + Lifetime of temporaries in init-captures + Unknown + + + 1928 + NAD + Triviality of deleted special member functions + Unknown + + + 1929 + CD4 + template keyword following namespace nested-name-specifier + Unknown + + + 1930 + CD4 + init-declarator-list vs member-declarator-list + Unknown + + + 1931 + extension + Default-constructible and copy-assignable closure types + Not resolved + + + 1932 + CD4 + Bit-field results of conditional operators + Unknown + + + 1933 + NAD + Implementation limit for initializer-list elements + Unknown + + + 1934 + extension + Relaxing exception-specification compatibility requirements + Not resolved + + + 1935 + drafting + Reuse of placement arguments in deallocation + Not resolved + + + 1936 + drafting + Dependent qualified-ids + Not resolved + + + 1937 + DR + Incomplete specification of function pointer from lambda + Unknown + + + 1938 + DR + Should hosted/freestanding be implementation-defined? + Unknown + + + 1939 + drafting + Argument conversions to nondeduced parameter types revisited + Not resolved + + + 1940 + CD4 + static_assert in anonymous unions + Yes + + + 1941 + CD4 + SFINAE and inherited constructor default arguments + Clang 3.9 + + + 1942 + CD4 + Incorrect reference to trailing-return-type + Unknown + + + 1943 + open + Unspecified meaning of “bit” + Not resolved + + + 1944 + open + New C incompatibilities + Not resolved + + + 1945 + open + Friend declarations naming members of class templates in non-templates + Not resolved + + + 1946 + CD4 + exception-specifications vs pointer dereference + Unknown + + + 1947 + NAD + Digit separators following non-octal prefix + Yes + + + 1948 + NAD + exception-specification of replacement global new + Yes + + + 1949 + CD4 + “sequenced after” instead of “sequenced before” + Unknown + + + 1950 + NAD + Restructuring description of ranks of conversion sequences + Unknown + + + 1951 + CD4 + Cv-qualification and literal types + Unknown + + + 1952 + CD4 + Constant expressions and library undefined behavior + Unknown + + + 1953 + open + Data races and common initial sequence + Not resolved + + + 1954 + open + typeid null dereference check in subexpressions + Not resolved + + + 1955 + CD4 + #elif with invalid controlling expression + Unknown + + + 1956 + CD4 + Reuse of storage of automatic variables + Unknown + + + 1957 + extension + decltype(auto) with direct-list-initialization + Not resolved + + + 1958 + CD4 + decltype(auto) with parenthesized initializer + Unknown + + + 1959 + CD4 + Inadvertently inherited copy constructor + Clang 3.9 + + + 1960 + NAD + Visibility of entity named in class-scope using-declaration + Unknown + + + 1961 + C++17 + Potentially-concurrent actions within a signal handler + Unknown + + + 1962 + extension + Type of __func__ + Not resolved + + + 1963 + CD4 + Implementation-defined identifier characters + Unknown + + + 1964 + NAD + opaque-enum-declaration in alias-declaration? + Unknown + + + 1965 + drafting + Explicit casts to reference types + Not resolved + + + 1966 + CD4 + Colon following enumeration elaborated-type-specifier + Unknown + + + 1967 + CD4 + Temporary lifetime and move-elision + Unknown + + + 1968 + NAD + Address of typeid in constant expressions + Yes + + + 1969 + open + Missing exclusion of ~S as an ordinary function name + Not resolved + + + 1970 + NAD + Ambiguity resolution for (T())*x + Unknown + + + 1971 + CD4 + Unclear disambiguation of destructor and operator~ + Unknown + + + 1972 + open + Identifier character restrictions in non-identifiers + Not resolved + + + 1973 + drafting + Which parameter-declaration-clause in a lambda-expression? + Not resolved + + + 1974 + open + Redundant specification of non-type typename-specifier + Not resolved + + + 1975 + CD4 + Permissible declarations for exception-specifications + Unknown + + + 1976 + NAD + Ambiguity of namespace-aliases + Unknown + + + 1977 + drafting + Contradictory results of failed destructor lookup + Not resolved + + + 1978 + CD4 + Redundant description of explicit constructor use + Unknown + + + 1979 + drafting + Alias template specialization in template member definition + Not resolved + + + 1980 + drafting + Equivalent but not functionally-equivalent redeclarations + Not resolved + + + 1981 + CD4 + Implicit contextual conversions and explicit + Unknown + + + 1982 + NAD + Deduction extending parameter pack + Unknown + + + 1983 + DRWP + Inappropriate use of virt-specifier + Unknown + + + 1984 + NAD + Lossless narrowing conversions + Unknown + + + 1985 + NAD + Unknown bound array member with brace-or-equal-initializer + Unknown + + + 1986 + drafting + odr-use and delayed initialization + Not resolved + + + 1987 + NAD + constexpr static data members across translation units + Unknown + + + 1988 + CD4 + Ambiguity between dependent and non-dependent bases in implicit member access + Unknown + + + 1989 + drafting + Insufficient restrictions on parameters of postfix operators + Not resolved + + + 1990 + CD4 + Ambiguity due to optional decl-specifier-seq + Unknown + + + 1991 + CD4 + Inheriting constructors vs default arguments + Clang 3.9 + + + 1992 + CD4 + new (std::nothrow) int[N] can throw + Unknown + + + 1993 + drafting + Use of template<> defining member of explicit specialization + Not resolved + + + 1994 + dup + Confusing wording regarding multiple template<> prefixes + Duplicate of 529 + + + 1995 + CD4 + exception-specifications and non-type template parameters + Unknown + + + 1996 + drafting + Reference list-initialization ignores conversion functions + Not resolved + + + 1997 + drafting + Placement new and previous initialization + Not resolved + + + 1998 + NAD + Additional sources of xvalue expressions + Unknown + + + 1999 + CD4 + Representation of source characters as universal-character-names + Unknown + + + 2000 + CD4 + header-name outside #include directive + Unknown + + + 2001 + CD4 + non-directive is underspecified + Unknown + + + 2002 + open + White space within preprocessing directives + Not resolved + + + 2003 + drafting + Zero-argument macros incorrectly specified + Not resolved + + + 2004 + CD4 + Unions with mutable members in constant expressions + Unknown + + + 2005 + NAD + Incorrect constexpr reference initialization requirements + Unknown + + + 2006 + CD4 + Cv-qualified void types + Unknown + + + 2007 + drafting + Argument-dependent lookup for operator= + Not resolved + + + 2008 + CD4 + Default template-arguments underspecified + Unknown + + + 2009 + open + Unclear specification of class scope + Not resolved + + + 2010 + CD4 + exception-specifications and conversion operators + Unknown + + + 2011 + C++17 + Unclear effect of reference capture of reference + Unknown + + + 2012 + CD4 + Lifetime of references + Unknown + + + 2013 + drafting + Pointer subtraction in large array + Not resolved + + + 2014 + NAD + Unneeded deallocation signatures + Unknown + + + 2015 + CD4 + odr-use of deleted virtual functions + Unknown + + + 2016 + CD4 + Confusing wording in description of conversion function + Unknown + + + 2017 + CD4 + Flowing off end is not equivalent to no-expression return + Unknown + + + 2018 + drafting + Qualification conversion vs reference binding + Not resolved + + + 2019 + CD4 + Member references omitted from description of storage duration + Unknown + + + 2020 + DR + Inadequate description of odr-use of implicitly-invoked functions + Unknown + + + 2021 + dup + Function template redeclaration via alias template + Unknown + + + 2022 + CD4 + Copy elision in constant expressions + Unknown + + + 2023 + drafting + Composite reference result type of conditional operator + Not resolved + + + 2024 + CD4 + Dependent types and unexpanded parameter packs + Unknown + + + 2025 + dup + Declaration matching via alias templates + Unknown + + + 2026 + CD4 + Zero-initialization and constexpr + Unknown + + + 2027 + CD4 + Unclear requirements for multiple alignas specifiers + Unknown + + + 2028 + drafting + Converting constructors in rvalue reference initialization + Not resolved + + + 2029 + dup + Abstract class return type in decltype operand + Unknown + + + 2030 + NAD + Access of injected-class-name with template arguments + Unknown + + + 2031 + CD4 + Missing incompatibility for && + Unknown + + + 2032 + CD4 + Default template-arguments of variable templates + Unknown + + + 2033 + CD4 + Redundant restriction on partial specialization argument + Unknown + + + 2034 + NAD + Deprecating uncaught_exception() + Unknown + + + 2035 + CD3 + Multi-section example is confusing + Unknown + + + 2036 + NAD + Refactoring parameters-and-qualifiers + Unknown + + + 2037 + drafting + Alias templates and template declaration matching + Not resolved + + + 2038 + CD4 + Document C++14 incompatibility of new braced deduction rule + Unknown + + + 2039 + CD4 + Constant conversions to bool + Unknown + + + 2040 + CD4 + trailing-return-type no longer ambiguous + Unknown + + + 2041 + CD4 + Namespace for explicit class template specialization + Unknown + + + 2042 + drafting + Exceptions and deallocation functions + Not resolved + + + 2043 + drafting + Generalized template arguments and array-to-pointer decay + Not resolved + + + 2044 + CD4 + decltype(auto) and void + Unknown + + + 2045 + drafting + “Identical” template parameter lists + Not resolved + + + 2046 + C++17 + Incomplete thread specifications + Unknown + + + 2047 + CD4 + Coordinating “throws anything” specifications + Unknown + + + 2048 + open + C-style casts that cast away constness vs static_cast + Not resolved + + + 2049 + drafting + List initializer in non-type template default argument + Not resolved + + + 2050 + NAD + Consolidate specification of linkage + Unknown + + + 2051 + DR + Simplifying alias rules + Unknown + + + 2052 + CD4 + Template argument deduction vs overloaded operators + Unknown + + + 2053 + drafting + auto in non-generic lambdas + Not resolved + + + 2054 + open + Missing description of class SFINAE + Not resolved + + + 2055 + drafting + Explicitly-specified non-deduced parameter packs + Not resolved + + + 2056 + drafting + Member function calls in partially-initialized class objects + Not resolved + + + 2057 + drafting + Template template arguments with default arguments + Not resolved + + + 2058 + drafting + More errors from internal-linkage namespaces + Not resolved + + + 2059 + DRWP + Linkage and deduced return types + Unknown + + + 2060 + NAD + Deduced return type for explicit specialization + Unknown + + + 2061 + CD4 + Inline namespace after simplifications + Unknown + + + 2062 + drafting + Class template redeclaration requirements + Not resolved + + + 2063 + CD4 + Type/nontype hiding in class scope + Unknown + + + 2064 + CD4 + Conflicting specifications for dependent decltype-specifiers + Unknown + + + 2065 + drafting + Current instantiation of a partial specialization + Not resolved + + + 2066 + CD4 + Does type-dependent imply value-dependent? + Unknown + + + 2067 + open + Generated variadic templates requiring empty pack + Not resolved + + + 2068 + CD4 + When can/must a defaulted virtual destructor be defined? + Unknown + + + 2069 + CD4 + Do destructors have names? + Unknown + + + 2070 + drafting + using-declaration with dependent nested-name-specifier + Not resolved + + + 2071 + CD4 + typedef with no declarator + Unknown + + + 2072 + drafting + Default argument instantiation for member functions of templates + Not resolved + + + 2073 + drafting + Allocating memory for exception objects + Not resolved + + + 2074 + drafting + Type-dependence of local class of function template + Not resolved + + + 2075 + CD4 + Passing short initializer lists to array reference parameters + Unknown + + + 2076 + CD4 + List-initialization of arguments for constructor parameters + Unknown + + + 2077 + drafting + Overload resolution and invalid rvalue-reference initialization + Not resolved + + + 2078 + NAD + Name lookup of mem-initilizer-id + Unknown + + + 2079 + CD4 + [[ appearing in a balanced-token-seq + Unknown + + + 2080 + drafting + Example with empty anonymous union member + Not resolved + + + 2081 + DRWP + Deduced return type in redeclaration or specialization of function template + Unknown + + + 2082 + CD4 + Referring to parameters in unevaluated operands of default arguments + Unknown + + + 2083 + DR + Incorrect cases of odr-use + Unknown + + + 2084 + CD4 + NSDMIs and deleted union default constructors + Unknown + + + 2085 + CD4 + Invalid example of adding special member function via default argument + Unknown + + + 2086 + drafting + Reference odr-use vs implicit capture + Not resolved + + + 2087 + NAD + Left shift of negative value by zero bits + Unknown + + + 2088 + DRWP + Late tiebreakers in partial ordering + Unknown + + + 2089 + drafting + Restricting selection of builtin overloaded operators + Not resolved + + + 2090 + drafting + Dependency via non-dependent base class + Not resolved + + + 2091 + CD4 + Deducing reference non-type template arguments + Unknown + + + 2092 + DRWP + Deduction failure and overload resolution + Unknown + + + 2093 + CD4 + Qualification conversion for pointer-to-member handler matching + Unknown + + + 2094 + C++17 + Trivial copy/move constructor for class with volatile member + Clang 5 + + + 2095 + CD4 + Capturing rvalue references to functions by copy + Unknown + + + 2096 + CD4 + Constraints on literal unions + Unknown + + + 2097 + extension + Lambdas and noreturn attribute + Not resolved + + + 2098 + CD4 + Is uncaught_exceptions() per-thread? + Unknown + + + 2099 + CD4 + Inferring the bound of an array static data member + Unknown + + + 2100 + C++17 + Value-dependent address of static data member of class template + Unknown + + + 2101 + CD4 + Incorrect description of type- and value-dependence + Unknown + + + 2102 + drafting + Constructor checking in new-expression + Not resolved + + + 2103 + DR + Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference + Unknown + + + 2104 + CD4 + Internal-linkage constexpr references and ODR requirements + Unknown + + + 2105 + open + When do the arguments for a parameter pack end? + Not resolved + + + 2106 + CD4 + Unclear restrictions on use of function-type template arguments + Unknown + + + 2107 + CD4 + Lifetime of temporaries for default arguments in array copying + Unknown + + + 2108 + drafting + Conversions to non-class prvalues in reference initialization + Not resolved + + + 2109 + CD4 + Value dependence underspecified + Unknown + + + 2110 + drafting + Overload resolution for base class conversion and reference/non-reference + Not resolved + + + 2111 + extension + Array temporaries in reference binding + Not resolved + + + 2112 + drafting + new auto{x} + Not resolved + + + 2113 + CD4 + Incompete specification of types for declarators + Unknown + + + 2114 + CD3 + Missing description of incompatibility from aggregate NSDMIs + Unknown + + + 2115 + drafting + Order of implicit destruction vs release of automatic storage + Not resolved + + + 2116 + drafting + Direct or copy initialization for omitted aggregate initializers + Not resolved + + + 2117 + drafting + Explicit specializations and constexpr function templates + Not resolved + + + 2118 + open + Stateful metaprogramming via friend injection + Not resolved + + + 2119 + NAD + Disambiguation of multi-level covariant return type + Unknown + + + 2120 + CD4 + Array as first non-static data member in standard-layout class + Clang 7 + + + 2121 + drafting + More flexible lambda syntax + Not resolved + + + 2122 + CD4 + Glvalues of void type + Unknown + + + 2123 + open + Omitted constant initialization of local static variables + Not resolved + + + 2124 + CD4 + Signature of constructor template + Unknown + + + 2125 + extension + Copy elision and comma operator + Not resolved + + + 2126 + drafting + Lifetime-extended temporaries in constant expressions + Not resolved + + + 2127 + drafting + Partial specialization and nullptr + Not resolved + + + 2128 + drafting + Imprecise rule for reference member initializer + Not resolved + + + 2129 + CD4 + Non-object prvalues and constant expressions + Unknown + + + 2130 + CD4 + Over-aligned types in new-expressions + Unknown + + + 2131 + drafting + Ambiguity with opaque-enum-declaration + Not resolved + + + 2132 + extension + Deprecated default generated copy constructors + Not resolved + + + 2133 + DRWP + Converting std::nullptr_t to bool + Unknown + + + 2134 + NAD + Objectless references to non-static member functions + Unknown + + + 2135 + NAD + mem-initializers for virtual bases of abstract classes + Unknown + + + 2136 + NAD + Argument-dependent lookup and initializer lists + Unknown + + + 2137 + CD4 + List-initialization from object of same type + Unknown + + + 2138 + NAD + Explicit member specialization vs implicit instantiation + Unknown + + + 2139 + NAD + Floating-point requirements for integer representation + Unknown + + + 2140 + CD4 + Lvalue-to-rvalue conversion of std::nullptr_t + Unknown + + + 2141 + CD4 + Ambiguity in new-expression with elaborated-type-specifier + Unknown + + + 2142 + NAD + Missing definition of associated classes and namespaces + Unknown + + + 2143 + C++17 + Value-dependency via injected-class-name + Unknown + + + 2144 + drafting + Function/variable declaration ambiguity + Not resolved + + + 2145 + CD4 + Parenthesized declarator in function definition + Unknown + + + 2146 + CD4 + Scalar object vs memory location in definition of “unsequenced” + Unknown + + + 2147 + CD4 + Initializer-list arguments and pack deduction + Unknown + + + 2148 + drafting + Thread storage duration and order of initialization + Not resolved + + + 2149 + drafting + Brace elision and array length deduction + Not resolved + + + 2150 + CD3 + Initializer list array lifetime + Unknown + + + 2151 + CD4 + Exception object is not created + Unknown + + + 2152 + NAD + Can an alternative token be used as a ud-suffix? + Unknown + + + 2153 + CD4 + pure-specifier in friend declaration + Unknown + + + 2154 + CD4 + Ambiguity of pure-specifier + Unknown + + + 2155 + C++17 + Defining classes and enumerations via using-declarations + Unknown + + + 2156 + CD4 + Definition of enumeration declared by using-declaration + Unknown + + + 2157 + CD4 + Further disambiguation of enumeration elaborated-type-specifier + Unknown + + + 2158 + drafting + Polymorphic behavior during destruction + Not resolved + + + 2159 + NAD + Lambda capture and local thread_local variables + Unknown + + + 2160 + open + Issues with partial ordering + Not resolved + + + 2161 + NAD + Explicit instantiation declaration and “preceding initialization” + Unknown + + + 2162 + CD3 + Capturing this by reference + Unknown + + + 2163 + CD4 + Labels in constexpr functions + Unknown + + + 2164 + DRWP + Name hiding and using-directives + Unknown + + + 2165 + drafting + Namespaces, declarative regions, and translation units + Not resolved + + + 2166 + drafting + Unclear meaning of “undefined constexpr function” + Not resolved + + + 2167 + CD4 + Non-member references with lifetimes within the current evaluation + Unknown + + + 2168 + open + Narrowing conversions and +/- infinity + Not resolved + + + 2169 + extension + Narrowing conversions and overload resolution + Not resolved + + + 2170 + DR + Unclear definition of odr-use for arrays + Unknown + + + 2171 + CD4 + Triviality of copy constructor with less-qualified parameter + Unknown + + + 2172 + drafting + Multiple exceptions with one exception object + Not resolved + + + 2173 + open + Partial specialization with non-deduced contexts + Not resolved + + + 2174 + C++17 + Unclear rules for friend definitions in templates + Unknown + + + 2175 + CD4 + Ambiguity with attribute in conversion operator declaration + Unknown + + + 2176 + CD4 + Destroying the returned object when a destructor throws + Unknown + + + 2177 + DRWP + Placement operator delete and parameter copies + Unknown + + + 2178 + NAD + Substitution of dependent template arguments in default template arguments + Unknown + + + 2179 + drafting + Required diagnostic for partial specialization after first use + Not resolved + + + 2180 + CD4 + Virtual bases in destructors and defaulted assignment operators + Yes + + + 2181 + drafting + Normative requirements in an informative Annex + Not resolved + + + 2182 + drafting + Pointer arithmetic in array-like containers + Not resolved + + + 2183 + NAD + Problems in description of potential exceptions + Unknown + + + 2184 + CD4 + Missing C compatibility entry for decrement of bool + Unknown + + + 2185 + open + Cv-qualified numeric types + Not resolved + + + 2186 + drafting + Unclear point that “preceding initialization” must precede + Not resolved + + + 2187 + drafting + 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 + C++17 + Incorrect result for noexcept(typeid(v)) + Unknown + + + 2192 + open + Constant expressions and order-of-eval undefined behavior + Not resolved + + + 2193 + NAD + numeric_limits<int>::radix and digits + Unknown + + + 2194 + review + Impossible case in list initialization + Not resolved + + + 2195 + open + Unsolicited reading of trailing volatile members + Not resolved + + + 2196 + C++17 + Zero-initialization with virtual base classes + Unknown + + + 2197 + review + Overload resolution and deleted special member functions + Not resolved + + + 2198 + C++17 + Linkage of enumerators + Unknown + + + 2199 + drafting + Typedefs and tags + Not resolved + + + 2200 + NAD + Conversions in template argument deduction + Unknown + + + 2201 + C++17 + Cv-qualification of array types + Unknown + + + 2202 + drafting + When does default argument instantiation occur? + Not resolved + + + 2203 + drafting + Defaulted copy/move constructors and UDCs + Not resolved + + + 2204 + NAD + Naming delegated constructors + Unknown + + + 2205 + C++17 + Restrictions on use of alignas + Unknown + + + 2206 + C++17 + Composite type of object and function pointers + Unknown + + + 2207 + drafting + 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 + C++17 + Hiding by lambda captures and parameters + SVN + + + 2212 + open + Typedef changing linkage after use + Not resolved + + + 2213 + drafting + Forward declaration of partial specializations + Not resolved + + + 2214 + C++17 + Missing requirement on representation of integer values + Unknown + + + 2215 + review + Redundant description of language linkage in function call + Not resolved + + + 2216 + NAD + Exception specifications in unevaluated contexts + Unknown + + + 2217 + NAD + constexpr constructors for non-literal types + Unknown + + + 2218 + C++17 + Ambiguity and namespace aliases + Unknown + + + 2219 + drafting + Dynamically-unreachable handlers + Not resolved + + + 2220 + C++17 + Hiding index variable in range-based for + Unknown + + + 2221 + review + Copying volatile objects + Not resolved + + + 2222 + drafting + Additional contexts where instantiation is not required + Not resolved + + + 2223 + drafting + Multiple alignas specifiers + Not resolved + + + 2224 + C++17 + Member subobjects and base-class casts + Unknown + + + 2225 + NAD + reinterpret_cast to same floating-point type + Unknown + + + 2226 + DRWP + Xvalues vs lvalues in conditional expressions + Unknown + + + 2227 + DRWP + Destructor access and default member initializers + Unknown + + + 2228 + review + Ambiguity resolution for cast to function type + Not resolved + + + 2229 + DRWP + Volatile unnamed bit-fields + Clang 7 + + + 2230 + NAD + Linkage of extern "C" function in unnamed namespace + Unknown + + + 2231 + NAD + Class member access to static data member template + Unknown + + + 2232 + open + thread_local anonymous unions + Not resolved + + + 2233 + DRWP + Function parameter packs following default arguments + Unknown + + + 2234 + DRWP + Missing rules for simple-template-id as class-name + Unknown + + + 2235 + DRWP + Partial ordering and non-dependent types + Unknown + + + 2236 + drafting + When is an alias template specialization dependent? + Not resolved + + + 2237 + WP + Can a template-id name a constructor? + Unknown + + + 2238 + NAD + Contradictory alignment requirements for allocation + Unknown + + + 2239 + NAD + Sized deallocation with a trivial destructor + Unknown + + + 2240 + NAD + this is not odr-used in a constant expression + Unknown + + + 2241 + DRWP + Overload resolution is not invoked with a single function + Unknown + + + 2242 + drafting + ODR violation with constant initialization possibly omitted + Not resolved + + + 2243 + drafting + Incorrect use of implicit conversion sequence + Not resolved + + + 2244 + open + Base class access in aggregate initialization + Not resolved + + + 2245 + drafting + Point of instantiation of incomplete class template + Not resolved + + + 2246 + drafting + Access of indirect virtual base class constructors + Not resolved + + + 2247 + C++17 + Lambda capture and variable argument list + Unknown + + + 2248 + C++17 + Problems with sized delete + Unknown + + + 2249 + DRWP + identifiers and id-expressions + Unknown + + + 2250 + open + Implicit instantiation, destruction, and TUs + Not resolved + + + 2251 + C++17 + Unreachable enumeration list-initialization + Unknown + + + 2252 + review + Enumeration list-initialization from the same type + Not resolved + + + 2253 + DRWP + Unnamed bit-fields and zero-initialization + Unknown + + + 2254 + DRWP + Standard-layout classes and bit-fields + Unknown + + + 2255 + DRWP + Instantiated static data member templates + Unknown + + + 2256 + DR + Lifetime of trivially-destructible objects + Unknown + + + 2257 + DR + Lifetime extension of references vs exceptions + Unknown + + + 2258 + open + Storage deallocation during period of destruction + Not resolved + + + 2259 + C++17 + Unclear context describing ambiguity + Unknown + + + 2260 + DRWP + Explicit specializations of deleted member functions + Unknown + + + 2261 + extension + Explicit instantiation of in-class friend definition + Not resolved + + + 2262 + C++17 + Attributes for asm-definition + Unknown + + + 2263 + drafting + Default argument instantiation for friends + Not resolved + + + 2264 + drafting + Memberwise copying with indeterminate value + Not resolved + + + 2265 + drafting + Delayed pack expansion and member redeclarations + Not resolved + + + 2266 + DR + Has dependent type vs is type-dependent + Unknown + + + 2267 + DR + Copy-initialization of temporary in reference direct-initialization + Unknown + + + 2268 + C++17 + Unions with mutable members in constant expressions revisited + Unknown + + + 2269 + dup + Additional recursive references in aggregate DMIs + Unknown + + + 2270 + extension + Non-inline functions and explicit instantiation declarations + Not resolved + + + 2271 + C++17 + Aliasing this + Unknown + + + 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 + + + 2276 + C++17 + Dependent noexcept and function type-dependence + Unknown + + + 2277 + DRWP + Ambiguity inheriting constructors with default arguments + Unknown + + + 2278 + DR + Copy elision in constant expressions reconsidered + Unknown + + + 2279 + NAD + Multiple attribute-specifiers in one attribute-list + Unknown + + + 2280 + review + Matching a usual deallocation function with placement new + Not resolved + + + 2281 + drafting + Consistency of aligned operator delete replacement + Not resolved + + + 2282 + drafting + Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions + Not resolved + + + 2283 + drafting + Missing complete type requirements + Not resolved + + + 2284 + open + Sequencing of braced-init-list arguments + Not resolved + + + 2285 + DRWP + 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 + DR + Uniqueness of structured binding names + Unknown + + + 2290 + DRWP + Unclear specification for overload resolution and deleted special member functions + Unknown + + + 2291 + dup + Implicit conversion sequences in non-call contexts + Unknown + + + 2292 + DRWP + simple-template-id is ambiguous between class-name and type-name + Unknown + + + 2293 + DRWP + Requirements for simple-template-id used as a class-name + Unknown + + + 2294 + DRWP + Dependent auto static data members + Unknown + + + 2295 + extension + Aggregates with deleted defaulted constructors + Not resolved + + + 2296 + extension + Are default argument instantiation failures in the “immediate context”? + Not resolved + + + 2297 + open + Unclear specification of atomic operations + Not resolved + + + 2298 + concurrency + Actions and expression evaluation + Not resolved + + + 2299 + DRWP + constexpr vararg functions + Unknown + + + 2300 + drafting + Lambdas in multiple definitions + Not resolved + + + 2301 + open + Value-initialization and constexpr constructor evaluation + Not resolved + + + 2302 + NAD + Address comparison between different member subobjects + Unknown + + + 2303 + DR + Partial ordering and recursive variadic inheritance + Unknown + + + 2304 + NAD + Incomplete type vs overload resolution + Unknown + + + 2305 + DRWP + Explicit instantiation of constexpr or inline variable template + Unknown + + + 2306 + NAD + Nested friend templates of class templates + Unknown + + + 2307 + DRWP + Unclear definition of “equivalent to a nontype template parameter” + Unknown + + + 2308 + NAD + Structured bindings and lambda capture + Unknown + + + 2309 + DR + Restrictions on nested statements within constexpr functions + Unknown + + + 2310 + DR + Type completeness and derived-to-base pointer conversions + Unknown + + + 2311 + open + Missed case for guaranteed copy elision + Not resolved + + + 2312 + drafting + Structured bindings and mutable + Not resolved + + + 2313 + DRWP + Redeclaration of structured binding reference variables + Unknown + + + 2314 + dup + Structured bindings and lambda capture + Unknown + + + 2315 + DRWP + What is the “corresponding special member” of a variant member? + Unknown + + + 2316 + drafting + Simplifying class conversions in conditional expressions + Not resolved + + + 2317 + DR + Self-referential default member initializers + Unknown + + + 2318 + DR + Nondeduced contexts in deduction from a braced-init-list + Unknown + + + 2319 + drafting + Nested brace initialization from same type + Not resolved + + + 2320 + extension + constexpr if and boolean conversions + Not resolved + + + 2321 + DRWP + Conditional operator and cv-qualified class prvalues + Unknown + + + 2322 + DRWP + Substitution failure and lexical order + Unknown + + + 2323 + WP + Expunge POD + Unknown + + + 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 + drafting + Unclear presentation style of template argument deduction rules + Not resolved + + + 2329 + drafting + Virtual base classes and generated assignment operators + Not resolved + + + 2330 + DR + Missing references to variable templates + Unknown + + + 2331 + DR + Redundancy in description of class scope + Unknown + + + 2332 + DR + template-name as simple-type-name vs injected-class-name + Unknown + + + 2333 + drafting + Escape sequences in UTF-8 character literals + Not resolved + + + 2334 + open + Creation of objects by typeid + Not resolved + + + 2335 + drafting + Deduced return types vs member types + Not resolved + + + 2336 + DR + Destructor characteristics vs potentially-constructed subobjects + Unknown + + + 2337 + open + Incorrect implication of logic ladder for conversion sequence tiebreakers + Not resolved + + + 2338 + DRWP + Undefined behavior converting to short enums with fixed underlying types + Unknown + + + 2339 + DRWP + Underspecified template arguments in structured bindings + Unknown + + + 2340 + open + Reference collapsing and structured bindings + Not resolved + + + 2341 + extension + Structured bindings with static storage duration + Not resolved + + + 2342 + DRWP + Reference reinterpret_cast and pointer-interconvertibility + Unknown + + + 2343 + extension + void* non-type template parameters + Not resolved + + + 2344 + NAD + Redeclaration of names in init-statements + Unknown + + + 2345 + review + Jumping across initializers in init-statements and conditions + Not resolved + + + 2346 + DRWP + Local variables in default arguments + Unknown + + + 2347 + drafting + Passing short scoped enumerations to ellipsis + Not resolved + + + 2348 + NAD + Non-templated constexpr if + Unknown + + + 2349 + NAD + Class/enumeration names vs conditions + Unknown + + + 2350 + NAD + Forwarding references and deduction guides + Unknown + + + 2351 + DRWP + void{} + Unknown + + + 2352 + DR + Similar types and reference binding + Unknown + + + 2353 + DR + Potential results of a member access expression for a static data member + Unknown + + + 2354 + DR + Extended alignment and object representation + Unknown + + + 2355 + extension + Deducing noexcept-specifiers + Not resolved + + + 2356 + DRWP + Base class copy and move constructors should not be inherited + Unknown + + + 2357 + NAD + Lookup in member function declarations + Unknown + + + 2358 + DR + Explicit capture of value + Unknown + + + 2359 + WP + Unintended copy initialization with designated initializers + Unknown + + + 2360 + DR + [[maybe_unused]] and structured bindings + Unknown + + + 2361 + open + Unclear description of longjmp undefined behavior + Not resolved + + + 2362 + extension + __func__ should be constexpr + Not resolved + + + 2363 + NAD + Opaque enumeration friend declarations + Unknown + + + 2364 + drafting + Constant expressions, aggregate initialization, and modifications + Not resolved + + + 2365 + DR + Confusing specification for dynamic_cast + Unknown + + + 2366 + drafting + Can default initialization be constant initialization? + Not resolved + + + 2367 + open + Lambdas in default arguments vs the ODR + Not resolved + + + 2368 + DR + Differences in relational and three-way constant comparisons + Unknown + + + 2369 + drafting + Ordering between constraints and substitution + Not resolved + + + 2370 + drafting + friend declarations of namespace-scope functions + Not resolved + + + 2371 + open + Use of the English term “attributes” is confusing + Not resolved + + + 2372 + DR + Incorrect matching rules for block-scope extern declarations + Unknown + + + 2373 + DRWP + Incorrect handling of static member function templates in partial ordering + Unknown + + + 2374 + drafting + Overly permissive specification of enum direct-list-initialization + Not resolved + + + 2375 + NAD + Multiple redeclarations of constexpr static data members + Unknown + + + 2376 + drafting + Class template argument deduction with array declarator + Not resolved + + + 2377 + NAD + Explicit copy constructor vs function viability + Unknown + + + 2378 + drafting + Inconsistent grammar for reference init-capture of pack + Not resolved + + + 2379 + DR + Missing prohibition against constexpr in friend declaration + Unknown + + + 2380 + DR + capture-default makes too many references odr-usable + Unknown + + + 2381 + DR + Composite pointer type of pointers to plain and noexcept member functions + Unknown + + + 2382 + review + Array allocation overhead for non-allocating placement new + Not resolved + + + 2383 + NAD + Variadic member functions of variadic class templates + Unknown + + + 2384 + DR + Conversion function templates and qualification conversions + Unknown + + + 2385 + DR + Lookup for conversion-function-ids + Unknown + + + 2386 + DR + tuple_size requirements for structured binding + Unknown + + + 2387 + DR + Linkage of const-qualified variable template + Clang 9 + + + 2388 + drafting + Applicability of contract-attribute-specifiers + Not resolved + + + 2389 + open + Agreement of deduced and explicitly-specified variable types + Not resolved + + + 2390 + drafting + Is the argument of __has_cpp_attribute macro-expanded? + Not resolved + + + 2391 + DUP + Additional template parameters following pack expansion + Unknown + + + 2392 + open + new-expression size check and constant evaluation + Not resolved + + + 2393 + NAD + Pseudo-destructors and object lifetime + Unknown + + + 2394 + DR + Const-default-constructible for members + Unknown + + + 2395 + open + Parameters following a pack expansion + Not resolved + + + 2396 + open + Lookup of names in complex conversion-type-ids + Not resolved + + + 2397 + drafting + auto specifier for pointers and references to arrays + Not resolved + + + 2398 + open + Template template parameter matching and deduction + Not resolved + + + 2399 + drafting + Unclear referent of “expression” in assignment-expression + Not resolved + + + 2400 + drafting + Constexpr virtual functions and temporary objects + Not resolved + + + 2401 + open + Array decay vs prohibition of subobject non-type arguments + Not resolved + + + 2402 + drafting + When is the restriction to a single c-char in a Unicode literal enforced? + Not resolved + + + + + + -- 2.7.4