C++ Standard Core Language Issue Index by Section, Revision 10


This document contains a summary listing of all the C++ Core Language issues arranged in the order of the sections of the Standard with which they deal most directly. It is part of a group of related documents that together describe the issues that have been raised regarding the C++ Standard. The other documents in the group are:

For more information, including a description of the meaning of the issue status codes and instructions on reporting new issues, please see the Active Issues List.




Index by Section


Section Issue Status Title
1.9 129 open Stability of uninitialized auto variables
2.2 173 review Constraints on execution character set
2.12 189 open Definition of operator and punctuator
3.2 50 NAD Converting pointer to incomplete type to same type
3.2 82 dup Definition of "using" a constant expression
3.3.6 42 NAD Redefining names from base classes
3.4.1 41 DR Clarification of lookup of names after declarator-id
3.4.1 139 open Error in friend lookup example
3.4.1 191 open Name lookup does not handle complex nesting
3.4.1 192 open Name lookup in parameters
3.4.2 12 dup Default arguments on different declarations for the same function and the Koenig lookup
3.4.2 33 DR Argument dependent lookup and overloaded functions
3.4.2 90 DR Should the enclosing class be an "associated class" too?
3.4.2 91 NAD A union's associated types should include the union itself
3.4.2 143 drafting Friends and Koenig lookup
3.4.2 164 review Overlap between Koenig and normal lookup
3.4.4 85 review Redeclaration of member class
3.4.5 141 open Non-member function templates in member access expressions
3.4.5 156 open Name lookup for conversion functions
3.5 132 review Local types and linkage
3.5 216 open Linkage of nameless class-scope enumeration types
3.6.3 28 drafting 'exit', 'signal' and static object destruction
3.8 89 drafting Object lifetime does not account for reference rebinding
3.8 93 DR Missing word in 3.8 basic.life paragraph 2
3.8 119 open Object lifetime and aggregate initialization
3.9 43 DR Copying base classes (PODs) using memcpy
3.9.1 146 open Floating-point zero
3.10 158 open Aliasing and qualification conversions
4.10 149 review Accessibility and ambiguity
4.11 170 open Pointer-to-member conversions
5 71 NAD Incorrect cross reference
5.1 122 open template-ids as unqualified-ids
5.1 123 DR Bad cross-reference
5.1 125 drafting Ambiguity in friend declaration syntax
5.1 147 review Naming the constructor
5.2.2 113 review Visibility of called function
5.2.2 118 drafting Calls via pointers to virtual member functions
5.2.5 52 drafting Non-static members, member selection and access checking
5.2.9 53 drafting Lvalue-to-rvalue conversion before certain static_casts
5.2.9 54 NAD Static_cast from private base to derived class
5.2.9 128 review Casting between enum types
5.2.9 137 review static_cast of cv void*
5.2.10 195 open Converting between function and object pointers
5.3.1 203 open Type of address-of-member expression
5.3.4 31 NAD Looking up new/delete
5.3.4 74 DR Enumeration value in direct-new-declarator
5.3.4 127 drafting Ambiguity in description of matching deallocation function
5.3.4 130 NAD Sequence points and new-expressions
5.3.5 196 open Arguments to deallocation functions
5.7 55 NAD Adding/subtracting pointer and enumeration value
5.7 179 open Function pointers and subtraction
5.10 73 drafting Pointer equality
5.18 188 open Comma operator and rvalue conversion
5.19 94 drafting Inconsistencies in the descriptions of constant expressions
5.19 97 NAD Use of bool constants in integral constant expressions
7 157 open Omitted typedef declarator
7.1.1 69 review Storage class specifiers on template declarations
7.1.1 154 NAD Anonymous unions in unnamed namespaces
7.1.3 56 DR Redeclaring typedefs within classes
7.1.5.1 76 DR Are const volatile variables considered "constant expressions"?
7.1.5.3 68 drafting Grammar does not allow "friend class A<int>;"
7.1.5.3 144 open Position of friend specifier
7.2 172 open Unsigned int as underlying type of enum
7.3 171 review Global namespace scope
7.3.1.2 95 NAD Elaborated type specifiers referencing names declared in friend decls
7.3.1.2 138 open Friend declaration name lookup
7.3.1.2 165 NAD Definitions of friends and block-scope externs
7.3.1.2 166 review Friend declarations of template-ids
7.3.3 11 extension How do the keywords typename/template interact with using-declarations?
7.3.3 36 review Using-declarations in multiple-declaration contexts
7.3.3 101 DR Redeclaration of extern "C" names via using-declarations
7.3.3 109 extension Allowing ::template in using-declarations
7.3.3 169 NAD template-ids in using-declarations
7.3.4 103 DR Is it extended-namespace-definition or extension-namespace-definition ?
7.5 4 drafting Does extern "C" affect the linkage of function names with internal linkage?
7.5 13 extension extern "C" for Parameters of Function Templates
7.5 14 NAD extern "C" functions and declarations in different namespaces
7.5 29 drafting Linkage of locally declared functions
7.5 107 open Linkage of operator functions
7.5 168 NAD C linkage for static member functions
8.2 160 open Missing std:: qualification
8.3 40 DR Syntax of declarator-id
8.3 159 review Namespace qualification in declarators
8.3.4 112 open Array types and cv-qualifiers
8.3.5 18 NAD f(TYPE) where TYPE is void should be allowed
8.3.5 135 review Class type in in-class member function definitions
8.3.5 140 drafting Agreement of parameter declarations
8.3.6 1 review What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
8.3.6 15 extension Default arguments for parameters of function templates
8.3.6 65 DR Typo in default argument example
8.3.6 66 NAD Visibility of default args vs overloads added after using-declaration
8.3.6 136 open Default arguments and friend declarations
8.5 5 drafting CV-qualifiers and type conversions
8.5 35 DR Definition of default-initialization
8.5 78 review Section 8.5 paragraph 9 should state it only applies to non-static objects
8.5 151 review Terminology of zero-initialization
8.5 155 open Brace initializer for scalar
8.5 177 open Lvalues vs rvalues in copy-initialization
8.5 178 review More on value-initialization
8.5.1 163 DR Description of subaggregate initializer
9 148 open POD classes and pointers to members
9 175 open Class name injection and base name access
9 176 open Name injection and templates
9.2 75 DR In-class initialized members must be const
9.2 80 review Class members with same name as class
9.2 190 open Layout-compatible POD-struct types
9.4 67 DR Evaluation of left side of object-expression
9.4.2 48 DR Definitions of unused static members
9.5 57 open Empty unions
9.6 58 open Signedness of bit fields of enum type
9.8 198 open Definition of "use" in local and nested classes
10.2 39 drafting Conflicting ambiguity rules
11 8 open Access to template arguments used in a function return type and in the nested name specifier
11.2 7 NAD Can a class with a private virtual base class be derived from?
11.2 9 review Clarification of access to base class members
11.2 16 review Access to members of indirect private base classes
11.2 17 NAD Footnote 99 should discuss the naming class when describing members that can be accessed from friends
11.2 142 drafting Injection-related errors in access example
11.2 207 open using-declarations and protected access
11.4 77 drafting The definition of friend does not allow nested classes to be friends
11.4 209 open Must friend declaration names be accessible?
11.5 19 NAD Clarify protected member access
11.5 161 DR Access to protected nested type
11.8 10 open Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
11.8 45 open Access to nested classes
12.1 194 open Identifying constructors
12.2 86 open Lifetime of temporaries in query expressions
12.2 117 drafting Timing of destruction of temporaries
12.2 124 drafting Lifetime of temporaries in default initialization of class arrays
12.2 199 open Order of destruction of temporaries
12.2 201 open Order of destruction of temporaries in initializers
12.3.1 152 review explicit copy constructors
12.4 193 open Order of destruction of local automatics of destructor
12.8 6 extension Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument?
12.8 20 DR Some clarifications needed for 12.8 para 15
12.8 26 NAD Copy constructors and default arguments
12.8 111 open Copy constructors and cv-qualifiers
12.8 185 open "Named" temporaries and copy elision
13.3.1.1 162 open (&C::f)() with nonstatic members
13.3.1.2 102 NAD Operator lookup rules do not work well with parts of the library
13.3.1.4 59 DR Clarification of overloading and UDC to reference type
13.3.3 51 DR Overloading and user-defined conversions
13.3.3.1 84 open Overloading and conversion loophole used by auto_ptr
13.3.3.1.4 60 open Reference binding and valid conversion sequences
13.3.3.2 83 review Overloading and deprecated conversion of string literal
13.3.3.2 153 review Misleading wording (rank of conversion)
13.4 61 NAD Address of static member function "&p->f"
13.4 115 open Address of template-id
13.4 202 open Use of overloaded function name
13.6 27 NAD Overload ambiguities for builtin ?: prototypes
14 32 DR Clarification of explicit instantiation of non-exported templates
14 72 dup Linkage and storage class specifiers for templates
14 105 review Meaning of "template function"
14 110 open Can template functions and classes be declared in the same scope?
14 134 drafting Template classes and declarator-ids
14 204 open Exported class templates
14 205 open Templates and static data members
14.1 21 review Can a default argument for a template parameter appear in a friend declaration?
14.1 49 DR Restriction on non-type, non-value template arguments
14.1 184 open Default arguments in template template-parameters
14.1 187 open Scope of template parameter names
14.1 215 open Template parameters are not allowed in nested-name-specifiers
14.2 30 DR Valid uses of "::template"
14.2 38 drafting Explicit template arguments and operator functions
14.2 96 open Syntactic disambiguation using the template keyword
14.3.1 62 drafting Unnamed members of classes used as type parameters
14.3.2 100 DR Clarify why string literals are not allowed as template arguments
14.3.3 150 NAD Template template parameters and default arguments
14.5.2 114 NAD Virtual overriding by template member function specializations
14.5.3 47 NAD Template friend issues
14.5.5.1 116 DR Equivalent and functionally-equivalent function templates
14.5.5.2 23 open Some questions regarding partial ordering of function templates
14.5.5.2 200 open Partial ordering and explicit arguments
14.5.5.2 214 open Partial ordering of function templates is underspecified
14.6 120 DR Nonexistent non-terminal qualified-name
14.6 121 drafting Dependent type names with non-dependent nested-name-specifiers
14.6 180 open typename and elaborated types
14.6 183 open typename in explicit specializations
14.6.1 186 open Name hiding and template template-parameters
14.6.2 213 open Lookup in dependent base classes
14.6.2.1 108 drafting Are classes nested in templates dependent?
14.6.3 206 open Semantic constraints on non-dependent names
14.6.4 2 drafting How can dependent names be used in member declarations that appear outside of the class template definition?
14.6.4 22 DR Template parameter with a default argument that refers to itself
14.6.4.2 197 open Issues with two-stage lookup of dependent names
14.7.1 34 NAD Argument dependent lookup and points of instantiation
14.7.1 63 review Class instantiation from pointer conversion to void*, null and self
14.7.1 212 open Implicit instantiation is not described clearly enough
14.7.2 46 NAD Explicit instantiation of member templates
14.7.3 3 NAD The template compilation model rules render some explicit specialization declarations not visible during instantiation
14.7.3 24 DR Errors in examples in 14.7.3
14.7.3 44 review Member specializations
14.7.3 64 review Partial ordering to disambiguate explicit specialization
14.7.3 88 NAD Specialization of member constant templates
14.7.3 182 open Access checking on explicit specializations
14.8.2.1 99 NAD Partial ordering, references and cv-qualifiers
14.8.2.4 70 review Is an array bound a nondeduced context?
14.8.2.4 181 open Errors in template template-parameter example
15 98 review Branching into try block
15 211 open Constructors should not be allowed to return normally after an exception
15.1 104 NAD Destroying the exception temp when no handler is found
15.1 208 open Rethrowing exceptions in nested handlers
15.3 210 open What is the type matched by an exception handler?
15.4 25 DR Exception specifications and pointers to members
15.4 87 drafting Exception specifications on function parameters
15.4 92 open Should exception specifications be part of the type system?
15.4 126 drafting Exception specifications and const
15.4 133 dup Exception specifications and checking
15.5.3 37 NAD When is uncaught_exception() true?
18.4.1.3 79 dup Alignment and placement new
C 81 NAD Null pointers and C compatability
D.1 145 drafting Deprecation of prefix ++
D.2 167 review Deprecating static functions
D.2 174 open Undeprecating global static
E 131 DR Typo in Lao characters
unknown 106 drafting Creating references to references during template deduction/instantiation