Tests for DR351-370, plus update DR status page to match the latest core issue list.
llvm-svn: 201106
This commit is contained in:
		
							parent
							
								
									4bb0980d96
								
							
						
					
					
						commit
						cc4a72ecd2
					
				| 
						 | 
				
			
			@ -527,3 +527,267 @@ namespace dr349 { // dr349: no
 | 
			
		|||
  B b;
 | 
			
		||||
  const int *const *const *p2 = b;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// dr351: na
 | 
			
		||||
 | 
			
		||||
namespace dr352 { // dr352: yes
 | 
			
		||||
  namespace example1 {
 | 
			
		||||
    namespace A {
 | 
			
		||||
      enum E {};
 | 
			
		||||
      template<typename R, typename A> void foo(E, R (*)(A)); // expected-note 2{{couldn't infer template argument 'R'}}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template<typename T> void arg(T);
 | 
			
		||||
    template<typename T> int arg(T) = delete; // expected-note {{here}} expected-error 0-1{{extension}}
 | 
			
		||||
 | 
			
		||||
    void f(A::E e) {
 | 
			
		||||
      foo(e, &arg); // expected-error {{no matching function}}
 | 
			
		||||
 | 
			
		||||
      using A::foo;
 | 
			
		||||
      foo<int, int>(e, &arg); // expected-error {{deleted}}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int arg(int);
 | 
			
		||||
 | 
			
		||||
    void g(A::E e) {
 | 
			
		||||
      foo(e, &arg); // expected-error {{no matching function}}
 | 
			
		||||
 | 
			
		||||
      using A::foo;
 | 
			
		||||
      foo<int, int>(e, &arg); // ok, uses non-template
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  namespace contexts {
 | 
			
		||||
    template<int I> void f1(int (&)[I]);
 | 
			
		||||
    template<int I> void f2(int (&)[I+1]); // expected-note {{couldn't infer}}
 | 
			
		||||
    template<int I> void f3(int (&)[I+1], int (&)[I]);
 | 
			
		||||
    void f() {
 | 
			
		||||
      int a[4];
 | 
			
		||||
      int b[3];
 | 
			
		||||
      f1(a);
 | 
			
		||||
      f2(a); // expected-error {{no matching function}}
 | 
			
		||||
      f3(a, b);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template<int I> struct S {};
 | 
			
		||||
    template<int I> void g1(S<I>);
 | 
			
		||||
    template<int I> void g2(S<I+1>); // expected-note {{couldn't infer}}
 | 
			
		||||
    template<int I> void g3(S<I+1>, S<I>);
 | 
			
		||||
    void g() {
 | 
			
		||||
      S<4> a;
 | 
			
		||||
      S<3> b;
 | 
			
		||||
      g1(a);
 | 
			
		||||
      g2(a); // expected-error {{no matching function}}
 | 
			
		||||
      g3(a, b);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template<typename T> void h1(T = 0); // expected-note {{couldn't infer}}
 | 
			
		||||
    template<typename T> void h2(T, T = 0);
 | 
			
		||||
    void h() {
 | 
			
		||||
      h1(); // expected-error {{no matching function}}
 | 
			
		||||
      h1(0);
 | 
			
		||||
      h1<int>();
 | 
			
		||||
      h2(0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template<typename T> int tmpl(T);
 | 
			
		||||
    template<typename R, typename A> void i1(R (*)(A)); // expected-note 3{{couldn't infer}}
 | 
			
		||||
    template<typename R, typename A> void i2(R, A, R (*)(A)); // expected-note {{not viable}}
 | 
			
		||||
    void i() {
 | 
			
		||||
      extern int single(int);
 | 
			
		||||
      i1(single);
 | 
			
		||||
      i2(0, 0, single);
 | 
			
		||||
 | 
			
		||||
      extern int ambig(float), ambig(int);
 | 
			
		||||
      i1(ambig); // expected-error {{no matching function}}
 | 
			
		||||
      i2(0, 0, ambig);
 | 
			
		||||
 | 
			
		||||
      extern void no_match(float), no_match(int);
 | 
			
		||||
      i1(no_match); // expected-error {{no matching function}}
 | 
			
		||||
      i2(0, 0, no_match); // expected-error {{no matching function}}
 | 
			
		||||
 | 
			
		||||
      i1(tmpl); // expected-error {{no matching function}}
 | 
			
		||||
      i2(0, 0, tmpl);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  template<typename T> struct is_int;
 | 
			
		||||
  template<> struct is_int<int> {};
 | 
			
		||||
 | 
			
		||||
  namespace example2 {
 | 
			
		||||
    template<typename T> int f(T (*p)(T)) { is_int<T>(); }
 | 
			
		||||
    int g(int);
 | 
			
		||||
    int g(char);
 | 
			
		||||
    int i = f(g);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  namespace example3 {
 | 
			
		||||
    template<typename T> int f(T, T (*p)(T)) { is_int<T>(); }
 | 
			
		||||
    int g(int);
 | 
			
		||||
    char g(char);
 | 
			
		||||
    int i = f(1, g);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  namespace example4 {
 | 
			
		||||
    template <class T> int f(T, T (*p)(T)) { is_int<T>(); }
 | 
			
		||||
    char g(char);
 | 
			
		||||
    template <class T> T g(T);
 | 
			
		||||
    int i = f(1, g);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  namespace example5 {
 | 
			
		||||
    template<int I> class A {};
 | 
			
		||||
    template<int I> void g(A<I+1>); // expected-note {{couldn't infer}}
 | 
			
		||||
    template<int I> void f(A<I>, A<I+1>);
 | 
			
		||||
    void h(A<1> a1, A<2> a2) {
 | 
			
		||||
      g(a1); // expected-error {{no matching function}}
 | 
			
		||||
      g<0>(a1);
 | 
			
		||||
      f(a1, a2);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// dr353 needs an IRGen test.
 | 
			
		||||
 | 
			
		||||
namespace dr354 { // dr354: yes c++11
 | 
			
		||||
  // FIXME: Should we allow this in C++98 too?
 | 
			
		||||
  struct S {};
 | 
			
		||||
 | 
			
		||||
  template<int*> struct ptr {}; // expected-note +{{here}}
 | 
			
		||||
  ptr<0> p0;
 | 
			
		||||
  ptr<(int*)0> p1;
 | 
			
		||||
  ptr<(float*)0> p2;
 | 
			
		||||
  ptr<(int S::*)0> p3;
 | 
			
		||||
#if __cplusplus < 201103L
 | 
			
		||||
  // expected-error@-5 {{does not refer to any decl}}
 | 
			
		||||
  // expected-error@-5 {{does not refer to any decl}}
 | 
			
		||||
  // expected-error@-5 {{does not refer to any decl}}
 | 
			
		||||
  // expected-error@-5 {{does not refer to any decl}}
 | 
			
		||||
#else
 | 
			
		||||
  // expected-error@-10 {{must be cast}}
 | 
			
		||||
  // ok
 | 
			
		||||
  // expected-error@-10 {{does not match}}
 | 
			
		||||
  // expected-error@-10 {{does not match}}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  template<int*> int both();
 | 
			
		||||
  template<int> int both();
 | 
			
		||||
  int b0 = both<0>();
 | 
			
		||||
  int b1 = both<(int*)0>();
 | 
			
		||||
#if __cplusplus < 201103L
 | 
			
		||||
  // expected-error@-2 {{no matching function}}
 | 
			
		||||
  // expected-note@-6 {{candidate}}
 | 
			
		||||
  // expected-note@-6 {{candidate}}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  template<int S::*> struct ptr_mem {}; // expected-note +{{here}}
 | 
			
		||||
  ptr_mem<0> m0;
 | 
			
		||||
  ptr_mem<(int S::*)0> m1;
 | 
			
		||||
  ptr_mem<(float S::*)0> m2;
 | 
			
		||||
  ptr_mem<(int *)0> m3;
 | 
			
		||||
#if __cplusplus < 201103L
 | 
			
		||||
  // expected-error@-5 {{cannot be converted}}
 | 
			
		||||
  // expected-error@-5 {{is not a pointer to member constant}}
 | 
			
		||||
  // expected-error@-5 {{cannot be converted}}
 | 
			
		||||
  // expected-error@-5 {{cannot be converted}}
 | 
			
		||||
#else
 | 
			
		||||
  // expected-error@-10 {{must be cast}}
 | 
			
		||||
  // ok
 | 
			
		||||
  // expected-error@-10 {{does not match}}
 | 
			
		||||
  // expected-error@-10 {{does not match}}
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct dr355_S; // dr355: yes
 | 
			
		||||
struct ::dr355_S {}; // expected-warning {{extra qualification}}
 | 
			
		||||
namespace dr355 { struct ::dr355_S s; }
 | 
			
		||||
 | 
			
		||||
// dr356: na
 | 
			
		||||
 | 
			
		||||
namespace dr357 { // dr357: yes
 | 
			
		||||
  template<typename T> struct A {
 | 
			
		||||
    void f() const; // expected-note {{const qualified}}
 | 
			
		||||
  };
 | 
			
		||||
  template<typename T> void A<T>::f() {} // expected-error {{does not match}}
 | 
			
		||||
 | 
			
		||||
  struct B {
 | 
			
		||||
    template<typename T> void f();
 | 
			
		||||
  };
 | 
			
		||||
  template<typename T> void B::f() const {} // expected-error {{does not match}}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
namespace dr358 { // dr358: yes
 | 
			
		||||
  extern "C" void dr358_f();
 | 
			
		||||
  namespace N {
 | 
			
		||||
    int var;
 | 
			
		||||
    extern "C" void dr358_f() { var = 10; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
namespace dr359 { // dr359: yes
 | 
			
		||||
  // Note, the example in the DR is wrong; it doesn't contain an anonymous
 | 
			
		||||
  // union.
 | 
			
		||||
  struct E {
 | 
			
		||||
    union {
 | 
			
		||||
      struct {
 | 
			
		||||
        int x;
 | 
			
		||||
      } s;
 | 
			
		||||
    } v;
 | 
			
		||||
 | 
			
		||||
    union {
 | 
			
		||||
      struct { // expected-error {{extension}}
 | 
			
		||||
        int x;
 | 
			
		||||
      } s;
 | 
			
		||||
 | 
			
		||||
      struct S { // expected-error {{types cannot be declared in an anonymous union}}
 | 
			
		||||
        int x;
 | 
			
		||||
      } t;
 | 
			
		||||
 | 
			
		||||
      union { // expected-error {{extension}}
 | 
			
		||||
        int u;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// dr362: na
 | 
			
		||||
// dr363: na
 | 
			
		||||
 | 
			
		||||
namespace dr364 { // dr364: yes
 | 
			
		||||
  struct S {
 | 
			
		||||
    static void f(int);
 | 
			
		||||
    void f(char);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  void g() {
 | 
			
		||||
    S::f('a'); // expected-error {{call to non-static}}
 | 
			
		||||
    S::f(0);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if "foo" // expected-error {{invalid token}} dr366: yes
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
namespace dr367 { // dr367: yes
 | 
			
		||||
  // FIXME: These diagnostics are terrible. Don't diagnose an ill-formed global
 | 
			
		||||
  // array as being a VLA!
 | 
			
		||||
  int a[true ? throw 0 : 4]; // expected-error 2{{variable length array}}
 | 
			
		||||
  int b[true ? 4 : throw 0];
 | 
			
		||||
  int c[true ? *new int : 4]; // expected-error 2{{variable length array}}
 | 
			
		||||
  int d[true ? 4 : *new int];
 | 
			
		||||
#if __cplusplus < 201103L
 | 
			
		||||
  // expected-error@-4 {{variable length array}} expected-error@-4 {{constant expression}}
 | 
			
		||||
  // expected-error@-3 {{variable length array}} expected-error@-3 {{constant expression}}
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
namespace dr368 { // dr368: yes
 | 
			
		||||
  template<typename T, T> struct S {}; // expected-note {{here}}
 | 
			
		||||
  template<typename T> int f(S<T, T()> *); // expected-error {{function type}}
 | 
			
		||||
  //template<typename T> int g(S<T, (T())> *); // FIXME: crashes clang
 | 
			
		||||
  template<typename T> int g(S<T, true ? T() : T()> *); // expected-note {{cannot have type 'dr368::X'}}
 | 
			
		||||
  struct X {};
 | 
			
		||||
  int n = g<X>(0); // expected-error {{no matching}}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// dr370: na
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -524,7 +524,7 @@
 | 
			
		|||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#81">81</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Null pointers and C compatability</td>
 | 
			
		||||
    <td>Null pointers and C compatibility</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -2147,13 +2147,13 @@ of class templates</td>
 | 
			
		|||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#351">351</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Sequence point error: unspecified or undefined?</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#352">352</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Nondeduced contexts</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#353">353</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2165,37 +2165,37 @@ of class templates</td>
 | 
			
		|||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#354">354</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Null as nontype template argument</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes (C++11 onwards)</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#355">355</a></td>
 | 
			
		||||
    <td>FDIS</td>
 | 
			
		||||
    <td>Global-scope <TT>::</TT> in <I>nested-name-specifier</I></td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#356">356</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Wording of behavior of generated copy constructor for scalar members</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#357">357</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Definition of signature should include name</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#358">358</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Namespaces and extern "C"</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#359">359</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Type definition in anonymous union</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#360">360</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2213,19 +2213,19 @@ of class templates</td>
 | 
			
		|||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#362">362</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Order of initialization in instantiation units</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#363">363</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Initialization of class from self</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#364">364</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Calling overloaded function with static in set, with no object</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#365">365</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2237,19 +2237,19 @@ of class templates</td>
 | 
			
		|||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#366">366</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>String literal allowed in integral constant expression?</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#367">367</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td><TT>throw</TT> operator allowed in constant expression?</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#368">368</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Uses of non-type parameters that should cause deduction to fail</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="full" align="center">Yes</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#369">369</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2261,7 +2261,7 @@ of class templates</td>
 | 
			
		|||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#370">370</a></td>
 | 
			
		||||
    <td>CD1</td>
 | 
			
		||||
    <td>Can <TT>#include <...></TT> form be used other than for standard C++ headers?</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td class="na" align="center">N/A</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#371">371</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -8160,7 +8160,7 @@ and <I>POD class</I></td>
 | 
			
		|||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1391">1391</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>Conversions to parameter types with non deduced template arguments</td>
 | 
			
		||||
    <td>Conversions to parameter types with non-deduced template arguments</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -8626,8 +8626,8 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1469">1469</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1469">1469</a></td>
 | 
			
		||||
    <td>extension</td>
 | 
			
		||||
    <td>Omitted bound in array <I>new-expression</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -8691,11 +8691,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Literal operators and default arguments</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1480">1480</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1480">1480</a></td>
 | 
			
		||||
    <td>WP</td>
 | 
			
		||||
    <td>Constant initialization via non-constant temporary</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1481">1481</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9304,8 +9304,8 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1582">1582</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1582">1582</a></td>
 | 
			
		||||
    <td>extension</td>
 | 
			
		||||
    <td>Template default arguments and deduction failure</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -9328,8 +9328,8 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1586">1586</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1586">1586</a></td>
 | 
			
		||||
    <td>extension</td>
 | 
			
		||||
    <td>Naming a destructor via <TT>decltype</TT></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -9399,11 +9399,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Misleading <TT>constexpr</TT> example</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1598">1598</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Criterion for equality of pointers to members</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1599">1599</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9585,11 +9585,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Deallocation function templates</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1629">1629</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Can a closure class be a literal type?</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1630">1630</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9711,11 +9711,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Error in the syntax of <I>mem-initializer-list</I></td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1650">1650</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1650">1650</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>Class prvalues in reference initialization</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1651">1651</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9759,11 +9759,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Attributes for namespaces and enumerators</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1658">1658</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Deleted default constructor for abstract class via destructor</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1659">1659</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9771,11 +9771,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Initialization order of thread_local template static data members</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1660">1660</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td><I>member-declaration</I> requirements and unnamed bit-fields</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1661">1661</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9807,11 +9807,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Declaration matching in explicit instantiations</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1666">1666</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Address constant expressions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1667">1667</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9825,11 +9825,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Parameter type determination still not clear enough</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1669">1669</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td><TT>auto</TT> return type for <TT>main</TT></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1670">1670</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9855,11 +9855,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Clarifying overload resolution for the second step of copy-initialization</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1674">1674</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Return type deduction for address of function</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1675">1675</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9915,11 +9915,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Incorrect example after <TT>constexpr</TT> changes</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1684">1684</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Static <TT>constexpr</TT> member functions for non-literal classes</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1685">1685</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9933,11 +9933,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Which variables are “explicitly declared <TT>const</TT>?”</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1687">1687</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Conversions of operands of built-in operators</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1688">1688</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9945,11 +9945,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Volatile <TT>constexpr</TT> variables</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1689">1689</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Syntactic nonterminal for operand of <TT>alignas</TT></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1690">1690</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -9969,11 +9969,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Associated namespaces of doubly-nested classes</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1693">1693</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Superfluous semicolons in class definitions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1694">1694</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10053,11 +10053,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td><TT>alignas</TT> pack expansion syntax</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1707">1707</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td><TT>template</TT> in <I>elaborated-type-specifier</I> without <I>nested-name-specifier</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1708">1708</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10095,11 +10095,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Linkage of variable template specializations</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1714">1714</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1714">1714</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td>odr-use of <TT>this</TT> from a local class</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1715">1715</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10107,11 +10107,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Access and inherited constructor templates</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1716">1716</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>When are default arguments evaluated?</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1717">1717</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10203,11 +10203,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td><TT>is_trivially_</TT><I>X</I> and definitions of special member functions</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1732">1732</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Defining types in <I>condition</I>s and range-based <TT>for</TT> statements</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1733">1733</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10233,23 +10233,23 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Inheriting constructor templates in a local class</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1737">1737</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Type dependence of call to a member of the current instantiation</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1738">1738</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Explicit instantiation/specialization of inheriting constructor templates</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1739">1739</a></td>
 | 
			
		||||
    <td>drafting</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Conversion of floating point to enumeration</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1740">1740</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10281,23 +10281,23 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Unordered initialization for variable template specializations</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1745">1745</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1745">1745</a></td>
 | 
			
		||||
    <td>NAD</td>
 | 
			
		||||
    <td><TT>thread_local constexpr</TT> variable</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1746">1746</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Are volatile scalar types trivially copyable?</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1747">1747</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Constant initialization of reference to function</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1748">1748</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10425,11 +10425,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Zero-element array of runtime bound</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1769">1769</a></td>
 | 
			
		||||
    <td>review</td>
 | 
			
		||||
    <td>tentatively ready</td>
 | 
			
		||||
    <td>Catching a base class of the exception object</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1770">1770</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10479,11 +10479,11 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Empty pack expansion in <I>dynamic-exception-specification</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1778">1778</a></td>
 | 
			
		||||
    <td>ready</td>
 | 
			
		||||
    <td>review</td>
 | 
			
		||||
    <td><I>exception-specification</I> in explicitly-defaulted functions</td>
 | 
			
		||||
    <td class="none" align="center">Unknown</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1779">1779</a></td>
 | 
			
		||||
| 
						 | 
				
			
			@ -10587,6 +10587,252 @@ and <I>POD class</I></td>
 | 
			
		|||
    <td>Disambiguating <I>original-namespace-definition</I> and <I>extension-namespace-definition</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1796">1796</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Is all-bits-zero for null characters a meaningful requirement?</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1797">1797</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Are all bit patterns of <TT>unsigned char</TT> distinct numbers?</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1798">1798</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><I>exception-specification</I>s of template arguments</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1799">1799</a></td>
 | 
			
		||||
    <td>review</td>
 | 
			
		||||
    <td><TT>mutable</TT> and non-explicit const qualification</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1800">1800</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Pointer to member of nested anonymous union</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1801">1801</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Kind of expression referring to member of anonymous union</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1802">1802</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><TT>char16_t</TT> string literals and surrogate pairs</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1803">1803</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><I>opaque-enum-declaration</I> as <I>member-declaration</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1804">1804</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Partial specialization and friendship</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1805">1805</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Conversions of array operands in <I>conditional-expression</I>s</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1806">1806</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Virtual bases and move-assignment</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1807">1807</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Order of destruction of array elements after an exception</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1808">1808</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Constructor templates vs default constructors</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1809">1809</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Narrowing and template argument deduction</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1810">1810</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Invalid <I>ud-suffix</I>es</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1811">1811</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Lookup of deallocation function in a virtual destructor definition</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1812">1812</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Omission of <TT>template</TT> in a <I>typename-specifier</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1813">1813</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Direct vs indirect bases in standard-layout classes</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1814">1814</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Default arguments in <I>lambda-expression</I>s</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1815">1815</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Lifetime extension in aggregate initialization</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1816">1816</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Unclear specification of bit-field values</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1817">1817</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Linkage specifications and nested scopes</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1818">1818</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Visibility and inherited language linkage</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1819">1819</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Acceptable scopes for definition of partial specialization</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1820">1820</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Qualified typedef names</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1821">1821</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Qualified redeclarations in a class <I>member-specification</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1822">1822</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Lookup of parameter names in <I>lambda-expression</I>s</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1823">1823</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>String literal uniqueness in inline functions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1824">1824</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Completeness of return type vs point of instantiation</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1825">1825</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Partial ordering between variadic and non-variadic function templates</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1826">1826</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><TT>const</TT> floating-point in constant expressions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1827">1827</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Reference binding with ambiguous conversions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1828">1828</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><I>nested-name-specifier</I> ambiguity</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1829">1829</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Dependent unnamed types</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1830">1830</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Repeated specifiers</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1831">1831</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Explicitly vs implicitly deleted move constructors</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1832">1832</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Casting to incomplete enumeration</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1833">1833</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td><TT>friend</TT> declarations naming implicitly-declared member functions</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1834">1834</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Constant initialization binding a reference to an xvalue</td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1835">1835</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Dependent member lookup before <TT><</TT></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr class="open">
 | 
			
		||||
    <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1836">1836</a></td>
 | 
			
		||||
    <td>open</td>
 | 
			
		||||
    <td>Use of class type being defined in <I>trailing-return-type</I></td>
 | 
			
		||||
    <td align="center">Not resolved</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
</table>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue