| 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_ASSERT_H_ | 5 #ifndef PLATFORM_ASSERT_H_ |
| 6 #define PLATFORM_ASSERT_H_ | 6 #define PLATFORM_ASSERT_H_ |
| 7 | 7 |
| 8 // TODO(5411406): include sstream for now, once we have a Utils::toString() | 8 // TODO(5411406): include sstream for now, once we have a Utils::toString() |
| 9 // implemented for all the primitive types we can replace the usage of | 9 // implemented for all the primitive types we can replace the usage of |
| 10 // sstream by Utils::toString() | 10 // sstream by Utils::toString() |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 // or to make sure a struct is smaller than a certain size: | 290 // or to make sure a struct is smaller than a certain size: |
| 291 // | 291 // |
| 292 // COMPILE_ASSERT(sizeof(foo) < 128); | 292 // COMPILE_ASSERT(sizeof(foo) < 128); |
| 293 // | 293 // |
| 294 | 294 |
| 295 template <bool> | 295 template <bool> |
| 296 struct CompileAssert { | 296 struct CompileAssert { |
| 297 }; | 297 }; |
| 298 // Macro to concatenate two tokens. The helper is need to proper expansion | 298 // Macro to concatenate two tokens. The helper is need to proper expansion |
| 299 // in case an argument is a macro itself. | 299 // in case an argument is a macro itself. |
| 300 #if !defined(COMPILE_ASSERT) |
| 300 #define COMPILE_ASSERT_JOIN(a, b) COMPILE_ASSERT_JOIN_HELPER(a, b) | 301 #define COMPILE_ASSERT_JOIN(a, b) COMPILE_ASSERT_JOIN_HELPER(a, b) |
| 301 #define COMPILE_ASSERT_JOIN_HELPER(a, b) a##b | 302 #define COMPILE_ASSERT_JOIN_HELPER(a, b) a##b |
| 302 #define COMPILE_ASSERT(expr) \ | 303 #define COMPILE_ASSERT(expr) \ |
| 303 DART_UNUSED typedef CompileAssert<(static_cast<bool>(expr))> \ | 304 DART_UNUSED typedef CompileAssert<(static_cast<bool>(expr))> \ |
| 304 COMPILE_ASSERT_JOIN(CompileAssertTypeDef, __LINE__)[static_cast<bool>(expr) \ | 305 COMPILE_ASSERT_JOIN(CompileAssertTypeDef, __LINE__)[static_cast<bool>(expr) \ |
| 305 ? 1 : -1] | 306 ? 1 : -1] |
| 307 #endif // !defined(COMPILE_ASSERT) |
| 306 | 308 |
| 307 #if defined(TESTING) | 309 #if defined(TESTING) |
| 308 | 310 |
| 309 // EXPECT and FAIL are equivalent to ASSERT and FATAL except that they do not | 311 // EXPECT and FAIL are equivalent to ASSERT and FATAL except that they do not |
| 310 // cause early termination of the unit test. This allows testing to proceed | 312 // cause early termination of the unit test. This allows testing to proceed |
| 311 // further to be able to report other failures before reporting the overall | 313 // further to be able to report other failures before reporting the overall |
| 312 // unit tests as failing. | 314 // unit tests as failing. |
| 313 | 315 |
| 314 #define EXPECT(condition) \ | 316 #define EXPECT(condition) \ |
| 315 if (!(condition)) { \ | 317 if (!(condition)) { \ |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 | 356 |
| 355 #define FAIL1(format, p1) \ | 357 #define FAIL1(format, p1) \ |
| 356 dart::Expect(__FILE__, __LINE__).Fail(format, (p1)) | 358 dart::Expect(__FILE__, __LINE__).Fail(format, (p1)) |
| 357 | 359 |
| 358 #define FAIL2(format, p1, p2) \ | 360 #define FAIL2(format, p1, p2) \ |
| 359 dart::Expect(__FILE__, __LINE__).Fail(format, (p1), (p2)) | 361 dart::Expect(__FILE__, __LINE__).Fail(format, (p1), (p2)) |
| 360 | 362 |
| 361 #endif // defined(TESTING) | 363 #endif // defined(TESTING) |
| 362 | 364 |
| 363 #endif // PLATFORM_ASSERT_H_ | 365 #endif // PLATFORM_ASSERT_H_ |
| OLD | NEW |