| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 /* | 30 /* |
| 31 No namespaces because this file has to be includable from C and Objective-C. | 31 No namespaces because this file has to be includable from C and Objective-C. |
| 32 | 32 |
| 33 Note, this file uses many GCC extensions, but it should be compatible with | 33 Note, this file uses many GCC extensions, but it should be compatible with |
| 34 C, Objective C, C++, and Objective C++. | 34 C, Objective C, C++, and Objective C++. |
| 35 | 35 |
| 36 For non-debug builds, everything is disabled by default, except for the | 36 For non-debug builds, everything is disabled by default, except for the |
| 37 RELEASE_ASSERT family of macros. | 37 RELEASE_ASSERT family of macros. |
| 38 | 38 |
| 39 Defining any of the symbols explicitly prevents this from having any effect. | 39 Defining any of the symbols explicitly prevents this from having any effect. |
| 40 | |
| 41 */ | 40 */ |
| 42 | 41 |
| 42 #include <cstddef> |
| 43 |
| 43 #include "sky/engine/wtf/Compiler.h" | 44 #include "sky/engine/wtf/Compiler.h" |
| 45 #include "sky/engine/wtf/OperatingSystem.h" |
| 44 #include "sky/engine/wtf/WTFExport.h" | 46 #include "sky/engine/wtf/WTFExport.h" |
| 45 | 47 |
| 46 // Users must test "#if ENABLE(ASSERT)", which helps ensure that code | 48 /* Users must test "#if ENABLE(ASSERT)", which helps ensure that code |
| 47 // testing this macro has included this header. | 49 testing this macro has included this header. */ |
| 48 #ifndef ENABLE_ASSERT | 50 #ifndef ENABLE_ASSERT |
| 49 #ifdef NDEBUG | 51 #ifdef NDEBUG |
| 50 /* Disable ASSERT* macros in release mode by default. */ | 52 /* Disable ASSERT* macros in release mode by default. */ |
| 51 #define ENABLE_ASSERT 0 | 53 #define ENABLE_ASSERT 0 |
| 52 #else | 54 #else |
| 53 #define ENABLE_ASSERT 1 | 55 #define ENABLE_ASSERT 1 |
| 54 #endif /* NDEBUG */ | 56 #endif /* NDEBUG */ |
| 55 #endif | 57 #endif |
| 56 | 58 |
| 57 #ifndef BACKTRACE_DISABLED | 59 #ifndef BACKTRACE_DISABLED |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 } \ | 389 } \ |
| 388 inline const thisType& to##thisType(const argumentType& argumentName) \ | 390 inline const thisType& to##thisType(const argumentType& argumentName) \ |
| 389 { \ | 391 { \ |
| 390 ASSERT_WITH_SECURITY_IMPLICATION(referencePredicate); \ | 392 ASSERT_WITH_SECURITY_IMPLICATION(referencePredicate); \ |
| 391 return static_cast<const thisType&>(argumentName); \ | 393 return static_cast<const thisType&>(argumentName); \ |
| 392 } \ | 394 } \ |
| 393 void to##thisType(const thisType*); \ | 395 void to##thisType(const thisType*); \ |
| 394 void to##thisType(const thisType&) | 396 void to##thisType(const thisType&) |
| 395 | 397 |
| 396 #endif // SKY_ENGINE_WTF_ASSERTIONS_H_ | 398 #endif // SKY_ENGINE_WTF_ASSERTIONS_H_ |
| OLD | NEW |