1 // { dg-do compile } 2 // { dg-require-effective-target c++11 } 3 4 constexpr unsigned int capacity = 1000; 5 6 struct vec 7 { 8 int values[capacity]; 9 unsigned int _size = 0; sizevec10 unsigned int size() const noexcept { return _size; } pushvec11 void push(int x) 12 { 13 values[size()] = x; 14 ++_size; 15 } 16 }; 17 main()18int main() 19 { 20 vec v; 21 for(unsigned int i{0}; i != capacity; ++i) 22 { 23 v.push(i); 24 } 25 asm volatile("" : : "g"(&v) : "memory"); 26 } 27 28 // { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { target vect_int } } } 29