diff options
author | DJ Delorie <dj@redhat.com> | 2014-10-28 23:25:21 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2014-10-28 23:25:21 +0000 |
commit | 6eca6c43be8b3fa84a47153424b14886d530f110 (patch) | |
tree | ecf48ad296b66e76275c2c5d41dd6e990b41c737 /include/longlong.h | |
parent | 9b41c90eadab9018b2c70374be3b9755416f67f8 (diff) | |
download | cygnal-6eca6c43be8b3fa84a47153424b14886d530f110.tar.gz cygnal-6eca6c43be8b3fa84a47153424b14886d530f110.tar.bz2 cygnal-6eca6c43be8b3fa84a47153424b14886d530f110.zip |
merge from gcc
Diffstat (limited to 'include/longlong.h')
-rw-r--r-- | include/longlong.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/longlong.h b/include/longlong.h index 42c68ddd6..8cd2c7989 100644 --- a/include/longlong.h +++ b/include/longlong.h @@ -139,6 +139,9 @@ extern const UQItype __clz_tab[256] attribute_hidden; #endif /* __aarch64__ */ #if defined (__alpha) && W_TYPE_SIZE == 64 +/* There is a bug in g++ before version 5 that + errors on __builtin_alpha_umulh. */ +#if !defined(__cplusplus) || __GNUC__ >= 5 #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ @@ -146,6 +149,7 @@ extern const UQItype __clz_tab[256] attribute_hidden; (pl) = __m0 * __m1; \ } while (0) #define UMUL_TIME 46 +#endif /* !c++ */ #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UDItype __r; \ |