Compiles on GCC 4.8 and Clang 3.5.