summaryrefslogtreecommitdiff
path: root/longlong.h
diff options
context:
space:
mode:
authorTorbjorn Granlund <torbjorng@google.com>2014-11-17 21:57:04 +0100
committerTorbjorn Granlund <torbjorng@google.com>2014-11-17 21:57:04 +0100
commitdb01ff9f8869434f74784b342bf81fb60587eb1f (patch)
treefcbc6104c0a2cfedffb3349be15852a42c6226d0 /longlong.h
parent8da9ec1d99219c3d72430748da3570465713b9e5 (diff)
downloadgmp-db01ff9f8869434f74784b342bf81fb60587eb1f.tar.gz
Allow C++ references to mpn_ glue functions.
Diffstat (limited to 'longlong.h')
-rw-r--r--longlong.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/longlong.h b/longlong.h
index d7667cec1..c04fc75c7 100644
--- a/longlong.h
+++ b/longlong.h
@@ -1884,13 +1884,19 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
#endif
+#if defined (__cplusplus)
+#define __longlong_h_C "C"
+#else
+#define __longlong_h_C
+#endif
+
/* Use mpn_umul_ppmm or mpn_udiv_qrnnd functions, if they exist. The "_r"
forms have "reversed" arguments, meaning the pointer is last, which
sometimes allows better parameter passing, in particular on 64-bit
hppa. */
#define mpn_umul_ppmm __MPN(umul_ppmm)
-extern UWtype mpn_umul_ppmm (UWtype *, UWtype, UWtype);
+extern __longlong_h_C UWtype mpn_umul_ppmm (UWtype *, UWtype, UWtype);
#if ! defined (umul_ppmm) && HAVE_NATIVE_mpn_umul_ppmm \
&& ! defined (LONGLONG_STANDALONE)
@@ -1903,7 +1909,7 @@ extern UWtype mpn_umul_ppmm (UWtype *, UWtype, UWtype);
#endif
#define mpn_umul_ppmm_r __MPN(umul_ppmm_r)
-extern UWtype mpn_umul_ppmm_r (UWtype, UWtype, UWtype *);
+extern __longlong_h_C UWtype mpn_umul_ppmm_r (UWtype, UWtype, UWtype *);
#if ! defined (umul_ppmm) && HAVE_NATIVE_mpn_umul_ppmm_r \
&& ! defined (LONGLONG_STANDALONE)
@@ -1916,7 +1922,7 @@ extern UWtype mpn_umul_ppmm_r (UWtype, UWtype, UWtype *);
#endif
#define mpn_udiv_qrnnd __MPN(udiv_qrnnd)
-extern UWtype mpn_udiv_qrnnd (UWtype *, UWtype, UWtype, UWtype);
+extern __longlong_h_C UWtype mpn_udiv_qrnnd (UWtype *, UWtype, UWtype, UWtype);
#if ! defined (udiv_qrnnd) && HAVE_NATIVE_mpn_udiv_qrnnd \
&& ! defined (LONGLONG_STANDALONE)
@@ -1930,7 +1936,7 @@ extern UWtype mpn_udiv_qrnnd (UWtype *, UWtype, UWtype, UWtype);
#endif
#define mpn_udiv_qrnnd_r __MPN(udiv_qrnnd_r)
-extern UWtype mpn_udiv_qrnnd_r (UWtype, UWtype, UWtype, UWtype *);
+extern __longlong_h_C UWtype mpn_udiv_qrnnd_r (UWtype, UWtype, UWtype, UWtype *);
#if ! defined (udiv_qrnnd) && HAVE_NATIVE_mpn_udiv_qrnnd_r \
&& ! defined (LONGLONG_STANDALONE)