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)

Reply via email to