summaryrefslogtreecommitdiff
path: root/vmac.cpp
diff options
context:
space:
mode:
authorweidai <weidai11@users.noreply.github.com>2009-03-03 06:51:34 +0000
committerweidai <weidai11@users.noreply.github.com>2009-03-03 06:51:34 +0000
commitb249126f6942d2a93a4c1e9ea7672bcff2534a89 (patch)
tree547913f14b635d357c444d98865abe6d58cd309f /vmac.cpp
parent8565900724e0cf4cf60ceeea62d97ff66763d477 (diff)
downloadcryptopp-git-b249126f6942d2a93a4c1e9ea7672bcff2534a89.tar.gz
work around GCC Bug 31690
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 cf95f41b..f71bafb5 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)
{