author | Stefan Teleman <stefan.teleman@oracle.com> |
Mon, 09 May 2011 11:36:28 -0700 | |
changeset 219 | 22d9e175d379 |
permissions | -rw-r--r-- |
219
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
--- cxx/ismpf.cc.orig 2007-09-01 03:09:03.000000000 -0700 |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
+++ cxx/ismpf.cc 2008-04-18 10:10:34.840332673 -0700 |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
@@ -21,13 +21,11 @@ |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
#include <iostream> |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
#include <string> |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
#include <clocale> // for localeconv |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
+using namespace std; |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
|
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
#include "gmp.h" |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
#include "gmp-impl.h" |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
|
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
-using namespace std; |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
- |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
- |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
// For g++ libstdc++ parsing see num_get<chartype,initer>::_M_extract_float |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
// in include/bits/locale_facets.tcc. |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
// |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
@@ -50,7 +48,13 @@ |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
// C++ decimal point |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
#if HAVE_STD__LOCALE |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
const locale& loc = i.getloc(); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
- char point_char = use_facet< numpunct<char> >(loc).decimal_point(); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
+ char point_char = |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
+ use_facet< numpunct<char> >(loc) |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+#else |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ use_facet(loc,(numpunct<char>*)0) |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+#endif |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
+ .decimal_point(); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
#else |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
const char *point = lconv_point; |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
char point_char = *point; |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
@@ -62,7 +66,12 @@ |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
{ |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
// C++ isspace |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
#if HAVE_STD__LOCALE |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
- const ctype<char>& ct = use_facet< ctype<char> >(loc); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
+ const ctype<char>& ct = |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+ use_facet< ctype<char> >(loc); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
+#else |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
+ use_facet(loc,(ctype<char>*)0); |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
+#endif |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
#define cxx_isspace(c) (ct.is(ctype_base::space,(c))) |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
#else |
22d9e175d379
7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
#define cxx_isspace(c) isspace(c) |