--- cxx/ismpf.cc.orig 2007-09-01 03:09:03.000000000 -0700
+++ cxx/ismpf.cc 2008-04-18 10:10:34.840332673 -0700
@@ -21,13 +21,11 @@
#include <iostream>
#include <string>
#include <clocale> // for localeconv
+using namespace std;
#include "gmp.h"
#include "gmp-impl.h"
-using namespace std;
-
-
// For g++ libstdc++ parsing see num_get<chartype,initer>::_M_extract_float
// in include/bits/locale_facets.tcc.
//
@@ -50,7 +48,13 @@
// C++ decimal point
#if HAVE_STD__LOCALE
const locale& loc = i.getloc();
- char point_char = use_facet< numpunct<char> >(loc).decimal_point();
+ char point_char =
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+ use_facet< numpunct<char> >(loc)
+#else
+ use_facet(loc,(numpunct<char>*)0)
+#endif
+ .decimal_point();
#else
const char *point = lconv_point;
char point_char = *point;
@@ -62,7 +66,12 @@
{
// C++ isspace
#if HAVE_STD__LOCALE
- const ctype<char>& ct = use_facet< ctype<char> >(loc);
+ const ctype<char>& ct =
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+ use_facet< ctype<char> >(loc);
+#else
+ use_facet(loc,(ctype<char>*)0);
+#endif
#define cxx_isspace(c) (ct.is(ctype_base::space,(c)))
#else
#define cxx_isspace(c) isspace(c)