OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2007-2008 the V8 project authors. All rights reserved. | 2 * Copyright 2007-2008 the V8 project authors. All rights reserved. |
3 * Redistribution and use in source and binary forms, with or without | 3 * Redistribution and use in source and binary forms, with or without |
4 * modification, are permitted provided that the following conditions are | 4 * modification, are permitted provided that the following conditions are |
5 * met: | 5 * met: |
6 * | 6 * |
7 * * Redistributions of source code must retain the above copyright | 7 * * Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * * Redistributions in binary form must reproduce the above | 9 * * Redistributions in binary form must reproduce the above |
10 * copyright notice, this list of conditions and the following | 10 * copyright notice, this list of conditions and the following |
(...skipping 20 matching lines...) Expand all Loading... |
31 * Dtoa needs to have a particular environment set up for it so | 31 * Dtoa needs to have a particular environment set up for it so |
32 * instead of using it directly you should use this file. | 32 * instead of using it directly you should use this file. |
33 * | 33 * |
34 * The way it works is that when you link with it, its definitions | 34 * The way it works is that when you link with it, its definitions |
35 * of dtoa, strtod etc. override the default ones. So if you fail | 35 * of dtoa, strtod etc. override the default ones. So if you fail |
36 * to link with this library everything will still work, it's just | 36 * to link with this library everything will still work, it's just |
37 * subtly wrong. | 37 * subtly wrong. |
38 */ | 38 */ |
39 | 39 |
40 #if !(defined(__APPLE__) && defined(__MACH__)) && \ | 40 #if !(defined(__APPLE__) && defined(__MACH__)) && \ |
41 !defined(WIN32) && !defined(__FreeBSD__) && !defined(__OpenBSD__) | 41 !defined(WIN32) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && \ |
| 42 !defined(__sun) |
42 #include <endian.h> | 43 #include <endian.h> |
43 #endif | 44 #endif |
44 #include <math.h> | 45 #include <math.h> |
45 #include <float.h> | 46 #include <float.h> |
46 | 47 |
47 /* The floating point word order on ARM is big endian when floating point | 48 /* The floating point word order on ARM is big endian when floating point |
48 * emulation is used, even if the byte order is little endian */ | 49 * emulation is used, even if the byte order is little endian */ |
49 #if !(defined(__APPLE__) && defined(__MACH__)) && !defined(WIN32) && \ | 50 #if !(defined(__APPLE__) && defined(__MACH__)) && !defined(WIN32) && \ |
50 !defined(__FreeBSD__) && !defined(__OpenBSD__) && \ | 51 !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__sun) && \ |
51 __FLOAT_WORD_ORDER == __BIG_ENDIAN | 52 __FLOAT_WORD_ORDER == __BIG_ENDIAN |
52 #define IEEE_MC68k | 53 #define IEEE_MC68k |
53 #else | 54 #else |
54 #define IEEE_8087 | 55 #define IEEE_8087 |
55 #endif | 56 #endif |
56 | 57 |
57 #define __MATH_H__ | 58 #define __MATH_H__ |
58 #if defined(__APPLE__) && defined(__MACH__) || defined(__FreeBSD__) || \ | 59 #if defined(__APPLE__) && defined(__MACH__) || defined(__FreeBSD__) || \ |
59 defined(__OpenBSD__) | 60 defined(__OpenBSD__) || defined(__sun) |
60 /* stdlib.h on FreeBSD and Apple's 10.5 and later SDKs will mangle the | 61 /* stdlib.h on FreeBSD and Apple's 10.5 and later SDKs will mangle the |
61 * name of strtod. If it's included after strtod is redefined as | 62 * name of strtod. If it's included after strtod is redefined as |
62 * gay_strtod, it will mangle the name of gay_strtod, which is | 63 * gay_strtod, it will mangle the name of gay_strtod, which is |
63 * unwanted. */ | 64 * unwanted. */ |
64 #include <stdlib.h> | 65 #include <stdlib.h> |
65 | 66 |
66 #endif | 67 #endif |
67 /* stdlib.h on Windows adds __declspec(dllimport) to all functions when using | 68 /* stdlib.h on Windows adds __declspec(dllimport) to all functions when using |
68 * the DLL version of the CRT (compiling with /MD or /MDd). If stdlib.h is | 69 * the DLL version of the CRT (compiling with /MD or /MDd). If stdlib.h is |
69 * included after strtod is redefined as gay_strtod, it will add | 70 * included after strtod is redefined as gay_strtod, it will add |
(...skipping 12 matching lines...) Expand all Loading... |
82 /* On 64-bit systems, we need to make sure that a Long is only 32 bits. */ | 83 /* On 64-bit systems, we need to make sure that a Long is only 32 bits. */ |
83 #ifdef V8_TARGET_ARCH_X64 | 84 #ifdef V8_TARGET_ARCH_X64 |
84 #define Long int | 85 #define Long int |
85 #endif /* V8_TARGET_ARCH_X64 */ | 86 #endif /* V8_TARGET_ARCH_X64 */ |
86 | 87 |
87 /* Make sure we use the David M. Gay version of strtod(). On Linux, we | 88 /* Make sure we use the David M. Gay version of strtod(). On Linux, we |
88 * cannot use the same name (maybe the function does not have weak | 89 * cannot use the same name (maybe the function does not have weak |
89 * linkage?). */ | 90 * linkage?). */ |
90 #define strtod gay_strtod | 91 #define strtod gay_strtod |
91 #include "third_party/dtoa/dtoa.c" | 92 #include "third_party/dtoa/dtoa.c" |
OLD | NEW |