summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cham.h6
-rw-r--r--cryptlib.h6
-rw-r--r--lea.h6
-rw-r--r--simeck.h6
4 files changed, 21 insertions, 3 deletions
diff --git a/cham.h b/cham.h
index 1b2a9b3d..987e99d7 100644
--- a/cham.h
+++ b/cham.h
@@ -19,6 +19,12 @@
# define CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS 1
#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)
/// \brief CHAM block cipher information
diff --git a/cryptlib.h b/cryptlib.h
index 4752f80f..722b8181 100644
--- a/cryptlib.h
+++ b/cryptlib.h
@@ -2357,9 +2357,9 @@ public:
void DoQuickSanityCheck() const {ThrowIfInvalid(NullRNG(), 0);}
#if defined(__SUNPRO_CC)
- // Sun Studio 11/CC 5.8 workaround: it generates incorrect code
- // 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
+ // Sun Studio 11/CC 5.8 workaround: it generates incorrect code
+ // 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
// it everywhere in case it affects SPARC (which we don't test).
char m_sunCCworkaround;
#endif
diff --git a/lea.h b/lea.h
index 1c4019c9..a2fb8bb2 100644
--- a/lea.h
+++ b/lea.h
@@ -19,6 +19,12 @@
# define CRYPTOPP_LEA_ADVANCED_PROCESS_BLOCKS 1
#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)
/// \brief LEA block cipher information
diff --git a/simeck.h b/simeck.h
index 74914945..caebf859 100644
--- a/simeck.h
+++ b/simeck.h
@@ -21,6 +21,12 @@
# define CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS 1
#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)
/// \brief SIMECK block cipher information