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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-bisection,            |
                   |needs-reduction             |
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

#include <array>

template <typename T, typename Ix, Ix Size>
class Pen : std::array<T, Size> {
  typedef std::array<T, Size> arr;
public:
  // Removing either "constexpr" or ": arr()" from the following
  // line seems to work around the problem.
  constexpr Pen() : arr() { }
};

class Farm {
public:
  enum Sheep { BAA, ZZZ };

  template<typename T>
  using SheepPen = Pen<T, Sheep, ZZZ>;
};

class Fence {
public:
  constexpr Fence() { length = 12; }
  int length = 0;
};

void
cull() {
  static Farm::SheepPen<Fence> s;
}

Will you look at it Richi?

Reply via email to