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()10 template<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()21 int 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