It compiles as C++ under MSVC 2010, Clang on OS X and Linux