Reproduce this with FSF gcc-4.6.3.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51432 records the issue.
c++0x is experimental in 4.6 and mildly less experimental in 4.7.
For this case, you can workaround it with no -std=c++0x or -flto.
I've set it to low priority as it uses experimental feature, has work around, exists upstream, and 4.7 clears the problem.
Reproduce this with FSF gcc-4.6.3.
http:// gcc.gnu. org/bugzilla/ show_bug. cgi?id= 51432 records the issue.
c++0x is experimental in 4.6 and mildly less experimental in 4.7.
For this case, you can workaround it with no -std=c++0x or -flto.
I've set it to low priority as it uses experimental feature, has work around, exists upstream, and 4.7 clears the problem.