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