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


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


SectionIssueStatusTitle
1.9129open Stability of uninitialized auto variables
2.2173ready Constraints on execution character set
2.12189open Definition of operator and punctuator
3.250NAD Converting pointer to incomplete type to same type
3.282dup Definition of "using" a constant expression
3.3.642NAD Redefining names from base classes
3.4.141DR Clarification of lookup of names after declarator-id
3.4.1139open Error in friend lookup example
3.4.1191open Name lookup does not handle complex nesting
3.4.1192open Name lookup in parameters
3.4.212dup Default arguments on different declarations for the same function and the Koenig lookup
3.4.233DR Argument dependent lookup and overloaded functions
3.4.290DR Should the enclosing class be an "associated class" too?
3.4.291NAD A union's associated types should include the union itself
3.4.2143drafting Friends and Koenig lookup
3.4.2164ready Overlap between Koenig and normal lookup
3.4.2218open Specification of Koenig lookup
3.4.2225open Koenig lookup and fundamental types
3.4.485ready Redeclaration of member class
3.4.5141open Non-member function templates in member access expressions
3.4.5156open Name lookup for conversion functions
3.5132ready Local types and linkage
3.5216drafting Linkage of nameless class-scope enumeration types
3.6.328open 'exit', 'signal' and static object destruction
3.7.3.2220NAD All deallocation functions should be required not to throw
3.889ready Object lifetime does not account for reference rebinding
3.893DR Missing word in 3.8 basic.life paragraph 2
3.8119open Object lifetime and aggregate initialization
3.943DR Copying base classes (PODs) using memcpy
3.9.1146open Floating-point zero
3.10158open Aliasing and qualification conversions
4.10149ready Accessibility and ambiguity
4.11170open Pointer-to-member conversions
571NAD Incorrect cross reference
5222open Sequence points and lvalue-returning operators
5.1122open template-ids as unqualified-ids
5.1123DR Bad cross-reference
5.1125drafting Ambiguity in friend declaration syntax
5.1147ready Naming the constructor
5.2.2113review Visibility of called function
5.2.2118drafting Calls via pointers to virtual member functions
5.2.552ready Non-static members, member selection and access checking
5.2.953ready Lvalue-to-rvalue conversion before certain static_casts
5.2.954NAD Static_cast from private base to derived class
5.2.9128ready Casting between enum types
5.2.9137ready static_cast of cv void*
5.2.10195open Converting between function and object pointers
5.3.1203open Type of address-of-member expression
5.3.431NAD Looking up new/delete
5.3.474DR Enumeration value in direct-new-declarator
5.3.4127ready Ambiguity in description of matching deallocation function
5.3.4130NAD Sequence points and new-expressions
5.3.5196open Arguments to deallocation functions
5.755NAD Adding/subtracting pointer and enumeration value
5.7179ready Function pointers and subtraction
5.1073ready Pointer equality
5.18188ready Comma operator and rvalue conversion
5.1994ready Inconsistencies in the descriptions of constant expressions
5.1997NAD Use of bool constants in integral constant expressions
6.4227open How many scopes in an if statement?
7157open Omitted typedef declarator
7.1.169ready Storage class specifiers on template declarations
7.1.1154NAD Anonymous unions in unnamed namespaces
7.1.356DR Redeclaring typedefs within classes
7.1.5.176DR Are const volatile variables considered "constant expressions"?
7.1.5.368review Grammar does not allow "friend class A<int>;"
7.1.5.3144open Position of friend specifier
7.2172open Unsigned int as underlying type of enum
7.3171ready Global namespace scope
7.3.1.295NAD Elaborated type specifiers referencing names declared in friend decls
7.3.1.2138open Friend declaration name lookup
7.3.1.2165NAD Definitions of friends and block-scope externs
7.3.1.2166ready Friend declarations of template-ids
7.3.311extension How do the keywords typename/template interact with using-declarations?
7.3.336open using-declarations in multiple-declaration contexts
7.3.3101DR Redeclaration of extern "C" names via using-declarations
7.3.3109extension Allowing ::template in using-declarations
7.3.3169NAD template-ids in using-declarations
7.3.4103DR Is it extended-namespace-definition or extension-namespace-definition ?
7.54drafting Does extern "C" affect the linkage of function names with internal linkage?
7.513extension extern "C" for Parameters of Function Templates
7.514NAD extern "C" functions and declarations in different namespaces
7.529drafting Linkage of locally declared functions
7.5107open Linkage of operator functions
7.5168NAD C linkage for static member functions
8.2160open Missing std:: qualification
8.340DR Syntax of declarator-id
8.3159review Namespace qualification in declarators
8.3.4112open Array types and cv-qualifiers
8.3.518NAD f(TYPE) where TYPE is void should be allowed
8.3.5135ready Class type in in-class member function definitions
8.3.5140review Agreement of parameter declarations
8.3.61ready What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
8.3.615extension Default arguments for parameters of function templates
8.3.665DR Typo in default argument example
8.3.666NAD Visibility of default args vs overloads added after using-declaration
8.3.6136open Default arguments and friend declarations
8.3.6217ready Default arguments for non-template member functions of class templates
8.55drafting CV-qualifiers and type conversions
8.535DR Definition of default-initialization
8.578ready Section 8.5 paragraph 9 should state it only applies to non-static objects
8.5151review Terminology of zero-initialization
8.5155open Brace initializer for scalar
8.5177open Lvalues vs rvalues in copy-initialization
8.5178review More on value-initialization
8.5.1163DR Description of subaggregate initializer
9148ready POD classes and pointers to members
9175open Class name injection and base name access
9176ready Name injection and templates
9.275DR In-class initialized members must be const
9.280ready Class members with same name as class
9.2190ready Layout-compatible POD-struct types
9.467DR Evaluation of left side of object-expression
9.4.248DR Definitions of unused static members
9.557open Empty unions
9.658open Signedness of bit fields of enum type
9.8198drafting Definition of "use" in local and nested classes
10.239drafting Conflicting ambiguity rules
118open Access to template arguments used in a function return type and in the nested name specifier
11.27NAD Can a class with a private virtual base class be derived from?
11.29review Clarification of access to base class members
11.216review Access to members of indirect private base classes
11.217NAD Footnote 99 should discuss the naming class when describing members that can be accessed from friends
11.2142ready Injection-related errors in access example
11.2207drafting using-declarations and protected access
11.477ready The definition of friend does not allow nested classes to be friends
11.4209readyMust friend declaration names be accessible?
11.519NAD Clarify protected member access
11.5161DR Access to protected nested type
11.810open Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
11.845review Access to nested classes
12.1194ready Identifying constructors
12.286open Lifetime of temporaries in query expressions
12.2117NAD Timing of destruction of temporaries
12.2124review Lifetime of temporaries in default initialization of class arrays
12.2199open Order of destruction of temporaries
12.2201review Order of destruction of temporaries in initializers
12.3.1152ready explicit copy constructors
12.4193ready Order of destruction of local automatics of destructor
12.86extension 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.820DR Some clarifications needed for 12.8 para 15
12.826NAD Copy constructors and default arguments
12.8111open Copy constructors and cv-qualifiers
12.8185ready "Named" temporaries and copy elision
13.3.1.1162open (&C::f)() with nonstatic members
13.3.1.2102NAD Operator lookup rules do not work well with parts of the library
13.3.1.459DR Clarification of overloading and UDC to reference type
13.3.351DR Overloading and user-defined conversions
13.3.3.184ready Overloading and conversion loophole used by auto_ptr
13.3.3.1.460open Reference binding and valid conversion sequences
13.3.3.283ready Overloading and deprecated conversion of string literal
13.3.3.2153ready Misleading wording (rank of conversion)
13.461NAD Address of static member function "&p->f"
13.4115open Address of template-id
13.4202ready Use of overloaded function name
13.5.3221ready Must compound assignment operators be member functions?
13.627NAD Overload ambiguities for builtin ?: prototypes
1432DR Clarification of explicit instantiation of non-exported templates
1472dup Linkage and storage class specifiers for templates
14105ready Meaning of "template function"
14110open Can template functions and classes be declared in the same scope?
14134ready Template classes and declarator-ids
14204open Exported class templates
14205open Templates and static data members
14.121ready Can a default argument for a template parameter appear in a friend declaration?
14.149DR Restriction on non-type, non-value template arguments
14.1184open Default arguments in template template-parameters
14.1187ready Scope of template parameter names
14.1215drafting Template parameters are not allowed in nested-name-specifiers
14.1226open Default template arguments for function templates
14.230DR Valid uses of "::template"
14.238review Explicit template arguments and operator functions
14.296open Syntactic disambiguation using the template keyword
14.2228open Use of template keyword with non-member templates
14.3.162drafting Unnamed members of classes used as type parameters
14.3.2100DR Clarify why string literals are not allowed as template arguments
14.3.3150NAD Template template parameters and default arguments
14.5.2114NAD Virtual overriding by template member function specializations
14.5.347NAD Template friend issues
14.5.5.1116DR Equivalent and functionally-equivalent function templates
14.5.5.223open Some questions regarding partial ordering of function templates
14.5.5.2200dup Partial ordering and explicit arguments
14.5.5.2214open Partial ordering of function templates is underspecified
14.6120DR Nonexistent non-terminal qualified-name
14.6121ready Dependent type names with non-dependent nested-name-specifiers
14.6180drafting typename and elaborated types
14.6183ready typename in explicit specializations
14.6.1186open Name hiding and template template-parameters
14.6.2213ready Lookup in dependent base classes
14.6.2.1108ready Are classes nested in templates dependent?
14.6.2.1224open Definition of dependent names
14.6.3206ready Semantic constraints on non-dependent names
14.6.42open How can dependent names be used in member declarations that appear outside of the class template definition?
14.6.422DR Template parameter with a default argument that refers to itself
14.6.4.2197drafting Issues with two-stage lookup of dependent names
14.7.134NAD Argument dependent lookup and points of instantiation
14.7.163open Class instantiation from pointer conversion to void*, null and self
14.7.1212open Implicit instantiation is not described clearly enough
14.7.246NAD Explicit instantiation of member templates
14.7.33NAD The template compilation model rules render some explicit specialization declarations not visible during instantiation
14.7.324DR Errors in examples in 14.7.3
14.7.344review Member specializations
14.7.364ready Partial ordering to disambiguate explicit specialization
14.7.388NAD Specialization of member constant templates
14.7.3182open Access checking on explicit specializations
14.8.2.199NAD Partial ordering, references and cv-qualifiers
14.8.2.470review Is an array bound a nondeduced context?
14.8.2.4181ready Errors in template template-parameter example
1598ready Branching into try block
15211NAD Constructors should not be allowed to return normally after an exception
15.1104NAD Destroying the exception temp when no handler is found
15.1208review Rethrowing exceptions in nested handlers
15.3210ready What is the type matched by an exception handler?
15.425DR Exception specifications and pointers to members
15.487drafting Exception specifications on function parameters
15.492open Should exception specifications be part of the type system?
15.4126ready Exception specifications and const
15.4133dup Exception specifications and checking
15.5.1219open Cannot defend against destructors that throw exceptions
15.5.337NAD When is uncaught_exception() true?
18.4.1.379dup Alignment and placement new
C81NAD Null pointers and C compatability
D223open The meaning of deprecation
D.1145ready Deprecation of prefix ++
D.2167NAD Deprecating static functions
D.2174NAD Undeprecating global static
E131DR Typo in Lao characters
unknown106ready Creating references to references during template deduction/instantiation