| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //
- // Copyright (c) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
- //
- /*++
- --*/
- #ifndef __PAL_ASSERT_H__
- #define __PAL_ASSERT_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __cplusplus
- //
- // C_ASSERT() can be used to perform many compile-time assertions:
- // type sizes, field offsets, etc.
- //
- #define C_ASSERT(e) static_assert(e, #e)
- //
- // CPP_ASSERT() can be used within a class definition, to perform a
- // compile-time assertion involving private names within the class.
- //
- #define CPP_ASSERT(n, e) static_assert(e, #e)
- #endif // __cplusplus
- #if defined(_DEBUG)
- #include "assert_only.h"
- #define _ASSERTE(e) Assert(e)
- #else // !DEBUG
- #define _ASSERTE(e) ((void)0)
- #endif
- #ifndef assert
- #define assert(e) _ASSERTE(e)
- #endif // assert
- #ifdef __cplusplus
- }
- #endif
- #endif // __PAL_ASSERT_H__
|