https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108234

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0127r2.html

Looks like clang does not implement this paper correctly for reference types
...

Modified testcase from that paper using reference types, C++17 should reject
this while c++14 will accept it:
template <const int &N> struct A;
template <typename T, T N> int foo(A<N> *) = delete;
void foo(void *);
constexpr int t = 1;
void bar(A<t> *p) {
  foo(p); // ill-formed; previously well-formed
}

Reply via email to