Version: 3.9

Changes:
    * Add __sgx to __config for SGX specific configuration.
    * Define _LIBCPP_HAS_NO_THREADS, _LIBCPP_HAS_NO_STDIN, _LIBCPP_HAS_NO_STDOUT, _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE.
    * Use SGX C++ runtime library (cpprt from libcxxrt project ) instead.
    * Disable unsupported data types and interfaces.
    * Disable features that depend on I/O operations.
    * Use SGX mutex, condition variable and spinlock instead of libc++ implementation.
    * Use sgx_read_rand for generating random numbers.
    * Disable randon until we determine whether it's used safely.
    * Do not include Windows/Linux system headers directly.
    * Fix MSVC and GCC warnings with unused parameters.

TODO:
    * Merge SGX mutex and condition variable into libc++'s mutex and and condition variable.
    * Merge atomic support for ICC.
    * Update cpprt (libcxxrt project) or replace with libcxxabi (component of LLVM project).
