Fix Solaris i386 compile of CHAM and LEA for SunStudio 12.3 and below

pull/668/merge
Jeffrey Walton 2018-07-16 12:21:44 -04:00
parent 14dd03544e
commit b91491da4f
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
4 changed files with 21 additions and 3 deletions

6
cham.h
View File

@ -19,6 +19,12 @@
# define CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS 1 # define CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS 1
#endif #endif
// Yet another SunStudio/SunCC workaround. Failed self tests
// in SSE code paths on i386 for SunStudio 12.3 and below.
#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5120)
# undef CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
#endif
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
/// \brief CHAM block cipher information /// \brief CHAM block cipher information

View File

@ -2357,9 +2357,9 @@ public:
void DoQuickSanityCheck() const {ThrowIfInvalid(NullRNG(), 0);} void DoQuickSanityCheck() const {ThrowIfInvalid(NullRNG(), 0);}
#if defined(__SUNPRO_CC) #if defined(__SUNPRO_CC)
// Sun Studio 11/CC 5.8 workaround: it generates incorrect code // Sun Studio 11/CC 5.8 workaround: it generates incorrect code
// when casting to an empty virtual base class. JW, 2018: It is // when casting to an empty virtual base class. JW, 2018: It is
// still a problem in Sun Studio 12.6/CC 5.15 on i386. Just enable // still a problem in Sun Studio 12.6/CC 5.15 on i386. Just enable
// it everywhere in case it affects SPARC (which we don't test). // it everywhere in case it affects SPARC (which we don't test).
char m_sunCCworkaround; char m_sunCCworkaround;
#endif #endif

6
lea.h
View File

@ -19,6 +19,12 @@
# define CRYPTOPP_LEA_ADVANCED_PROCESS_BLOCKS 1 # define CRYPTOPP_LEA_ADVANCED_PROCESS_BLOCKS 1
#endif #endif
// Yet another SunStudio/SunCC workaround. Failed self tests
// in SSE code paths on i386 for SunStudio 12.3 and below.
#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5120)
# undef CRYPTOPP_LEA_ADVANCED_PROCESS_BLOCKS
#endif
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
/// \brief LEA block cipher information /// \brief LEA block cipher information

View File

@ -21,6 +21,12 @@
# define CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS 1 # define CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS 1
#endif #endif
// Yet another SunStudio/SunCC workaround. Failed self tests
// in SSE code paths on i386 for SunStudio 12.3 and below.
#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5120)
# undef CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS
#endif
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
/// \brief SIMECK block cipher information /// \brief SIMECK block cipher information