1 /* src/include/port/solaris.h */
2 
3 /*
4  * Sort this out for all operating systems some time.  The __xxx
5  * symbols are defined on both GCC and Solaris CC, although GCC
6  * doesn't document them.  The __xxx__ symbols are only on GCC.
7  */
8 #if defined(__i386) && !defined(__i386__)
9 #define __i386__
10 #endif
11 
12 #if defined(__amd64) && !defined(__amd64__)
13 #define __amd64__
14 #endif
15 
16 #if defined(__x86_64) && !defined(__x86_64__)
17 #define __x86_64__
18 #endif
19 
20 #if defined(__sparc) && !defined(__sparc__)
21 #define __sparc__
22 #endif
23 
24 #if defined(__i386__)
25 #include <sys/isa_defs.h>
26 #endif
27 
28 /*
29  * Many versions of Solaris have broken strtod() --- see bug #4751182.
30  * This has been fixed in current versions of Solaris:
31  *
32  * http://sunsolve.sun.com/search/document.do?assetkey=1-21-108993-62-1&searchclause=108993-62
33  * http://sunsolve.sun.com/search/document.do?assetkey=1-21-112874-34-1&searchclause=112874-34
34  *
35  * However, many people might not have patched versions, so
36  * still use our own fix for the buggy version.
37  */
38 #define HAVE_BUGGY_SOLARIS_STRTOD
39