
Lorenzo Caminiti wrote:
I wish I had find this link sooner not because it settle the discussion but because IMO it provides relevant input: http://wiki.apache.org/stdcxx/C++0xCompilerSupport
C++11 feature: Lambda expressions and closures N-papers: v0.9: N2550, v1.0: N2658, v1.1: N2927 HP aCC: No support EDG eccp: 4.1(v0.9) GCC: 4.5(v0.9) Intel C++: 11.0(v0.9), 12.0(v1.0) MSVC: 10.0(v1.0), 11.0(v1.1) IBM XLC++: No support Sun/ Oracle C++: No support C++ Builder 2009/10: No support Digital Mars C++: No support Clang: No support
I'm not sure this list of compilers is relevant. Let's shorten the list to GCC: 4.5(v0.9) Intel C++: 11.0(v0.9), 12.0(v1.0) MSVC: 10.0(v1.0), 11.0(v1.1) IBM XLC++: No support Clang: No support because these compilers at least seem to be "actively" maintained. (I based this conclusion on the fact that the cited page links to relevant information for these compilers.) These compilers are also included in the boost test matrix, which further strengthens my impression that these are "relevant" compilers. I remember that IBM XLC++ had non-standard conform name lookup in the past, I wonder whether this is still the case. Even so the resulting error were normally easy to fix, trying to fix these errors for a library like Boost.Proto seems like a daunting task. So XLC++ should only be considered relevant if the non-standard conform name lookup is fixed. And Clang is at least working on lambda support, so it won't be too long before it supports this. But of course, even after Clang supports it, some time will still pass before it is also available for apple developers. Regards, Thomas