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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-08-09
                 CC|                            |trippels at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |5.4.0, 6.1.0, 7.0

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
template <typename> struct g { static const int h = 0; };
template <typename i> void declval() { static_assert(!g<i>::h,""); }
template <typename> struct a {
  template <typename d, typename c>
  friend auto f(d &&, c &&) noexcept(declval<c>) -> decltype(declval<c>);
};
template <typename d, typename c> auto f(d &&, c &&) -> decltype(declval<c>);
struct e {};
static_assert((e{}, declval<a<int>>),"");

Clang accepts the code. Might be related to PR71784.

Reply via email to