http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49122
Summary: [C++0x] initializer_list is broken Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: sscr...@gmail.com The initializer_list object returned to function is broken. See the next code: #include<initializer_list> #include<iostream> std::initializer_list<int> f(int a, int b) { return {a, b}; } int main() { std::initializer_list<int> list = f(0, 1); for(int i: list) std::cout << i << std::endl; } Output result (example) is 2293416 2293636 It's a strange result. Output should be 0 1 I tried use compiler version 4.6.0 Release and 4.7.0 20110521 (experimental)