aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-14 09:17:41 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-07-14 09:18:16 -0700
commitdc2edb520a534fd0c2af169d46b4d892208e8f42 (patch)
treefaf0dd6184b712a03e7781c4f05119573f2397fd /include
parentd0270d8cb92123b55d2bf735e59ee9450a9893f9 (diff)
downloadgdb-dc2edb520a534fd0c2af169d46b4d892208e8f42.zip
gdb-dc2edb520a534fd0c2af169d46b4d892208e8f42.tar.gz
gdb-dc2edb520a534fd0c2af169d46b4d892208e8f42.tar.bz2
Sync longlong.h with GCC
Sync with GCC 2014-10-28 Richard Henderson <rth@redhat.com> * longlong.h [__alpha] (umul_ppmm): Disable for c++.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog7
-rw-r--r--include/longlong.h4
2 files changed, 11 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 8cacfa8..9fc5469 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,6 +1,13 @@
2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
Sync with GCC
+ 2014-10-28 Richard Henderson <rth@redhat.com>
+
+ * longlong.h [__alpha] (umul_ppmm): Disable for c++.
+
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ Sync with GCC
2014-12-09 Trevor Saunders <tsaunders@mozilla.com>
* hashtab.h, splay-tree.h: Remove GTY markers.
diff --git a/include/longlong.h b/include/longlong.h
index 4f2c4f5..a0b2ce1 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; \