boostorg/asio — pull request #4 by rsdale (2014-05-13 20:21:44+00:00)
Title: Asio cray support

This update allows asio to work with the Cray C++ compiler. Cray C++ defines __GNUC__ and for the most part implements the gnu extensions to C++. What Cray C++ does NOT do is support inline assembly code. This update addresses this shortcoming of Cray C++ in asio.

cray_fenced_block.hpp is based on gcc_x86_fenced_block.hpp, but uses the __builtin_ia32_sfence and __builtin_ia32_lfence intrinsics, to avoid use of inline assembly in the implementation of the cray_fenced_block class.

fenced_block.hpp is modified to call cray_fenced_block.hpp when _CRAYC is asserted.