[openssl] master update

shane.lontis at oracle.com shane.lontis at oracle.com
Wed Sep 18 05:27:19 UTC 2019


The branch master has been updated
       via  ecae0575103918868b29cc11aa35e3b91fe7dcc8 (commit)
      from  793374c82abd3215ec33d989810214a871849eda (commit)


- Log -----------------------------------------------------------------
commit ecae0575103918868b29cc11aa35e3b91fe7dcc8
Author: Shane Lontis <shane.lontis at oracle.com>
Date:   Wed Sep 18 15:26:19 2019 +1000

    Fix Compiler error/warning for windows icl build
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/9907)

-----------------------------------------------------------------------

Summary of changes:
 include/internal/refcount.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/include/internal/refcount.h b/include/internal/refcount.h
index eddf12415f..1619b28932 100644
--- a/include/internal/refcount.h
+++ b/include/internal/refcount.h
@@ -73,6 +73,21 @@ static __inline__ int CRYPTO_DOWN_REF(int *val, int *ret, void *lock)
         __atomic_thread_fence(__ATOMIC_ACQUIRE);
     return 1;
 }
+#  elif defined(__ICL) && defined(_WIN32)
+#   define HAVE_ATOMICS 1
+typedef volatile int CRYPTO_REF_COUNT;
+
+static __inline int CRYPTO_UP_REF(volatile int *val, int *ret, void *lock)
+{
+    *ret = _InterlockedExchangeAdd((void *)val, 1) + 1;
+    return 1;
+}
+
+static __inline int CRYPTO_DOWN_REF(volatile int *val, int *ret, void *lock)
+{
+    *ret = _InterlockedExchangeAdd((void *)val, -1) - 1;
+    return 1;
+}
 
 #  elif defined(_MSC_VER) && _MSC_VER>=1200
 


More information about the openssl-commits mailing list