OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 int isinf(double x); | 71 int isinf(double x); |
72 int isless(double x, double y); | 72 int isless(double x, double y); |
73 int isgreater(double x, double y); | 73 int isgreater(double x, double y); |
74 int fpclassify(double x); | 74 int fpclassify(double x); |
75 int signbit(double x); | 75 int signbit(double x); |
76 | 76 |
77 int strncasecmp(const char* s1, const char* s2, int n); | 77 int strncasecmp(const char* s1, const char* s2, int n); |
78 | 78 |
79 #endif // _MSC_VER | 79 #endif // _MSC_VER |
80 | 80 |
81 // MinGW specific stuff. | |
82 #ifdef __MINGW32__ | |
83 | |
84 // Needed for va_list. | |
85 #include <stdarg.h> | |
86 | |
87 #endif // __MINGW32__ | |
88 | |
89 // Random is missing on both Visual Studio and MinGW. | 81 // Random is missing on both Visual Studio and MinGW. |
90 int random(); | 82 int random(); |
91 | 83 |
92 #endif // WIN32 | 84 #endif // WIN32 |
93 | 85 |
94 // GCC specific stuff | 86 // GCC specific stuff |
95 #ifdef __GNUC__ | 87 #ifdef __GNUC__ |
| 88 |
| 89 // Needed for va_list on at least MinGW and Android. |
| 90 #include <stdarg.h> |
| 91 |
96 #define __GNUC_VERSION__ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) | 92 #define __GNUC_VERSION__ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) |
97 | 93 |
98 // Unfortunately, the INFINITY macro cannot be used with the '-pedantic' | 94 // Unfortunately, the INFINITY macro cannot be used with the '-pedantic' |
99 // warning flag and certain versions of GCC due to a bug: | 95 // warning flag and certain versions of GCC due to a bug: |
100 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11931 | 96 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11931 |
101 // For now, we use the more involved template-based version from <limits>, but | 97 // For now, we use the more involved template-based version from <limits>, but |
102 // only when compiling with GCC versions affected by the bug (2.96.x - 4.0.x) | 98 // only when compiling with GCC versions affected by the bug (2.96.x - 4.0.x) |
103 // __GNUC_PREREQ is not defined in GCC for Mac OS X, so we define our own macro | 99 // __GNUC_PREREQ is not defined in GCC for Mac OS X, so we define our own macro |
104 #if __GNUC_VERSION__ >= 29600 && __GNUC_VERSION__ < 40100 | 100 #if __GNUC_VERSION__ >= 29600 && __GNUC_VERSION__ < 40100 |
105 #include <limits> | 101 #include <limits> |
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 bool active_; | 532 bool active_; |
537 PlatformData* data_; // Platform specific data. | 533 PlatformData* data_; // Platform specific data. |
538 DISALLOW_IMPLICIT_CONSTRUCTORS(Sampler); | 534 DISALLOW_IMPLICIT_CONSTRUCTORS(Sampler); |
539 }; | 535 }; |
540 | 536 |
541 #endif // ENABLE_LOGGING_AND_PROFILING | 537 #endif // ENABLE_LOGGING_AND_PROFILING |
542 | 538 |
543 } } // namespace v8::internal | 539 } } // namespace v8::internal |
544 | 540 |
545 #endif // V8_PLATFORM_H_ | 541 #endif // V8_PLATFORM_H_ |
OLD | NEW |