summaryrefslogtreecommitdiff
path: root/vmac.cpp
diff options
context:
space:
mode:
authorweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-03 06:51:34 +0000
committerweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-03 06:51:34 +0000
commit80416186794d128b7d0e88af1d469352404806d0 (patch)
tree547913f14b635d357c444d98865abe6d58cd309f /vmac.cpp
parentf1b1bf3d0dea2032f9ce5f9b3d29b7ed5d22a32a (diff)
downloadcryptopp-80416186794d128b7d0e88af1d469352404806d0.tar.gz
work around GCC Bug 31690
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@436 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'vmac.cpp')
-rwxr-xr-xvmac.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/vmac.cpp b/vmac.cpp
index cf95f41..f71bafb 100755
--- a/vmac.cpp
+++ b/vmac.cpp
@@ -25,8 +25,13 @@ static const word64 mpoly = W64LIT(0x1fffffff1fffffff); /* Poly key mask */
#undef const
#endif
#if VMAC_BOOL_WORD128
+#ifdef __powerpc__
+// workaround GCC Bug 31690: ICE with const __uint128_t and C++ front-end
+#define m126 ((word128(m62)<<64)|m64)
+#else
static const word128 m126 = (word128(m62)<<64)|m64; /* 126-bit mask */
#endif
+#endif
void VMAC_Base::UncheckedSetKey(const byte *userKey, unsigned int keylength, const NameValuePairs &params)
{