2 /* { dg-do assemble } */
3 /* { dg-options "-O2 -std=gnu++11" } */
5 template <class> class a;
10 template <typename d> struct e { typedef typename d::f iter; };
13 void __attribute__((noreturn)) i();
15 template <class> class a {
18 b &operator[](unsigned m) {
33 } __attribute__((__packed__));
34 void o(a<b> &m, b &p2, b &p) {
39 for (c::g au(m);; at = true)
43 for (e<a<int>>::iter aw = au.n(), ax = au.m_fn3(); ax;
44 av ? (void)0 : (void)0)
48 for (b az = *aw; !ay; ay = true) {