1 // PR target/77822 2 // { dg-do compile } 3 4 using UINT8 = char; 5 using UINT32 = int; 6 using UINT64 = long; 7 class A 8 { 9 void m_fn1 (); 10 struct B 11 { 12 UINT32 m_multiplier; 13 }; 14 UINT8 m_datawidth; 15 UINT8 m_subunits; 16 B m_subunit_infos[]; 17 }; 18 int a; 19 UINT64 b; 20 void m_fn1()21A::m_fn1 () 22 { 23 int c = 32, d = m_datawidth / c; 24 for (int e = 0; e < d; e++) 25 { 26 UINT32 f = e * 32; 27 if (b >> f & 1) 28 m_subunit_infos[m_subunits].m_multiplier = a; 29 } 30 } 31