solaris.h 1.0 KB

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