OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef PLATFORM_GLOBALS_H_ | 5 #ifndef PLATFORM_GLOBALS_H_ |
6 #define PLATFORM_GLOBALS_H_ | 6 #define PLATFORM_GLOBALS_H_ |
7 | 7 |
8 // __STDC_FORMAT_MACROS has to be defined before including <inttypes.h> to | 8 // __STDC_FORMAT_MACROS has to be defined before including <inttypes.h> to |
9 // enable platform independent printf format specifiers. | 9 // enable platform independent printf format specifiers. |
10 #ifndef __STDC_FORMAT_MACROS | 10 #ifndef __STDC_FORMAT_MACROS |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 | 239 |
240 // Suffixes for 64-bit integer literals. | 240 // Suffixes for 64-bit integer literals. |
241 #ifdef _MSC_VER | 241 #ifdef _MSC_VER |
242 #define DART_INT64_C(x) x##I64 | 242 #define DART_INT64_C(x) x##I64 |
243 #define DART_UINT64_C(x) x##UI64 | 243 #define DART_UINT64_C(x) x##UI64 |
244 #else | 244 #else |
245 #define DART_INT64_C(x) x##LL | 245 #define DART_INT64_C(x) x##LL |
246 #define DART_UINT64_C(x) x##ULL | 246 #define DART_UINT64_C(x) x##ULL |
247 #endif | 247 #endif |
248 | 248 |
| 249 // Replace calls to strtoll with _strtoi64 on Windows. |
| 250 #ifdef _MSC_VER |
| 251 #define strtoll _strtoi64 |
| 252 #endif |
249 | 253 |
250 // The following macro works on both 32 and 64-bit platforms. | 254 // The following macro works on both 32 and 64-bit platforms. |
251 // Usage: instead of writing 0x1234567890123456ULL | 255 // Usage: instead of writing 0x1234567890123456ULL |
252 // write DART_2PART_UINT64_C(0x12345678,90123456); | 256 // write DART_2PART_UINT64_C(0x12345678,90123456); |
253 #define DART_2PART_UINT64_C(a, b) \ | 257 #define DART_2PART_UINT64_C(a, b) \ |
254 (((static_cast<uint64_t>(a) << 32) + 0x##b##u)) | 258 (((static_cast<uint64_t>(a) << 32) + 0x##b##u)) |
255 | 259 |
256 // Integer constants. | 260 // Integer constants. |
257 const int32_t kMinInt32 = 0x80000000; | 261 const int32_t kMinInt32 = 0x80000000; |
258 const int32_t kMaxInt32 = 0x7FFFFFFF; | 262 const int32_t kMaxInt32 = 0x7FFFFFFF; |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 // N.B.: As the GCC manual states, "[s]ince non-static C++ methods | 502 // N.B.: As the GCC manual states, "[s]ince non-static C++ methods |
499 // have an implicit 'this' argument, the arguments of such methods | 503 // have an implicit 'this' argument, the arguments of such methods |
500 // should be counted from two, not one." | 504 // should be counted from two, not one." |
501 #define PRINTF_ATTRIBUTE(string_index, first_to_check) \ | 505 #define PRINTF_ATTRIBUTE(string_index, first_to_check) \ |
502 __attribute__((__format__(__printf__, string_index, first_to_check))) | 506 __attribute__((__format__(__printf__, string_index, first_to_check))) |
503 #else | 507 #else |
504 #define PRINTF_ATTRIBUTE(string_index, first_to_check) | 508 #define PRINTF_ATTRIBUTE(string_index, first_to_check) |
505 #endif | 509 #endif |
506 | 510 |
507 #endif // PLATFORM_GLOBALS_H_ | 511 #endif // PLATFORM_GLOBALS_H_ |
OLD | NEW |