Fix build on z/OS using XLC (#1089)

Handle the Sun and the IBM compilers separately
This commit is contained in:
infinitydev
2021-07-09 15:48:34 +02:00
committed by Frank Denis
parent 95673e5b51
commit 7d300e4c19
2 changed files with 16 additions and 8 deletions
@@ -31,10 +31,12 @@ enum blake2b_constant {
BLAKE2B_PERSONALBYTES = 16
};
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#pragma pack(1)
#ifdef __IBMC__
# pragma pack(1)
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# pragma pack(1)
#else
#pragma pack(push, 1)
# pragma pack(push, 1)
#endif
typedef struct blake2b_param_ {
@@ -60,10 +62,12 @@ typedef struct blake2b_state {
uint8_t last_node;
} blake2b_state;
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#pragma pack()
#ifdef __IBMC__
# pragma pack(pop)
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# pragma pack()
#else
#pragma pack(pop)
# pragma pack(pop)
#endif
/* Streaming API */
@@ -14,7 +14,9 @@
extern "C" {
#endif
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#ifdef __IBMC__
# pragma pack(1)
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# pragma pack(1)
#else
# pragma pack(push, 1)
@@ -24,7 +26,9 @@ typedef struct CRYPTO_ALIGN(64) crypto_generichash_blake2b_state {
unsigned char opaque[384];
} crypto_generichash_blake2b_state;
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#ifdef __IBMC__
# pragma pack(pop)
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# pragma pack()
#else
# pragma pack(pop)