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

Mike Hommey <mh+gcc at glandium dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mh+gcc at glandium dot org

--- Comment #3 from Mike Hommey <mh+gcc at glandium dot org> ---
This also happens on mips and mipsel. Here's a further reduced version,
courtesy of creduce:

typedef enum { a, c } d;
template <int e, typename f> struct g {
  typedef f __attribute__((vector_size(e * sizeof(int)))) h;
};
template <int e, typename f> using i = typename g<e, f>::h;
using j = i<4, float>;
using k = i<4, short>;
template <typename, typename l> void cast(l);
d m;
void n() {
  j o, b;
  while (true)
    switch (m) {
    case a: {
      j p = o;
      o = b;
      b = p;
    }
    case c:
      cast<k>(b);
    }
}

Reply via email to