1 // Test for range-based for loop 2 // Test the loop with an initializer_list 3 4 // { dg-do run { target c++11 } } 5 6 #include <initializer_list> 7 8 extern "C" void abort(); 9 foo()10template<typename T> T foo() 11 { 12 T sum = 0; 13 for (T x : {T(1),T(2),T(3),T(4)}) 14 sum += x; 15 if (sum != T(10)) 16 abort(); 17 18 return sum; 19 } 20 main()21int main() 22 { 23 int sum = 0; 24 for (int x : {1,2,3,4}) 25 sum += x; 26 if (sum != 10) 27 abort(); 28 29 foo<int>(); 30 } 31