diff --git a/config.h b/config.h index 6112826e..4428c655 100644 --- a/config.h +++ b/config.h @@ -128,8 +128,15 @@ typedef unsigned int word32; // allow any way to access the 64-bit by 64-bit multiply instruction without using // assembly, so in order to use word64 as word, the assembly instruction must be defined // in Dword::Multiply(). - typedef word32 hword; - typedef word64 word; + #if defined(__SUNPRO_CC) // no Dword::Multiply() for these compilers yet + #define CRYPTOPP_NATIVE_DWORD_AVAILABLE + typedef word16 hword; + typedef word32 word; + typedef word64 dword; + #else + typedef word32 hword; + typedef word64 word; + #endif #else #define CRYPTOPP_NATIVE_DWORD_AVAILABLE #ifdef WORD64_AVAILABLE diff --git a/integer.cpp b/integer.cpp index f287d4a9..0c5018ee 100644 --- a/integer.cpp +++ b/integer.cpp @@ -3238,7 +3238,7 @@ public: return b; } - void GenerateBlock(byte *output, unsigned int size) + void GenerateBlock(byte *output, size_t size) { UnalignedPutWord(BIG_ENDIAN_ORDER, m_counterAndSeed, m_counter); ++m_counter;