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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |10.4.0, 11.4.0
   Target Milestone|---                         |12.4
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|2023-06-28 00:00:00         |2023-06-29
      Known to fail|                            |12.1.0, 12.3.0, 13.1.0,
                   |                            |14.0

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

Note in the reduced testcase, m needs to be a template, variant needs to be a
template but not depedent and hh<T>::value needs to be a value depedent.
Also note it works with -std=c++11 .

Slightly more reduced, changing `hh<T>::value` to just `T>0` as mentioned it
just needs to be value depedent:
```
template <int T> struct variant {
  variant() noexcept(T>0) {}
};
template <int> 
struct m {
  variant<1> def{};
};
struct v {
  v(m<1>);
};
v t = {{}};
```

Reply via email to