2018-10-03 14:34:43 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license
|
|
|
|
* that can be found in the LICENSE file in the root of the source
|
|
|
|
* tree. An additional intellectual property rights grant can be found
|
|
|
|
* in the file PATENTS. All contributing project authors may
|
|
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
|
|
*/
|
|
|
|
|
2019-02-06 18:22:38 +00:00
|
|
|
#ifndef RTC_BASE_COMPILE_ASSERT_C_H_
|
|
|
|
#define RTC_BASE_COMPILE_ASSERT_C_H_
|
2018-10-03 14:34:43 +00:00
|
|
|
|
|
|
|
// Use this macro to verify at compile time that certain restrictions are met.
|
|
|
|
// The argument is the boolean expression to evaluate.
|
|
|
|
// Example:
|
2019-02-06 18:22:38 +00:00
|
|
|
// RTC_COMPILE_ASSERT(sizeof(foo) < 128);
|
2018-10-03 14:34:43 +00:00
|
|
|
// Note: In C++, use static_assert instead!
|
2019-02-06 18:22:38 +00:00
|
|
|
#define RTC_COMPILE_ASSERT(expression) \
|
|
|
|
switch (0) { \
|
|
|
|
case 0: \
|
|
|
|
case expression:; \
|
|
|
|
}
|
2018-10-03 14:34:43 +00:00
|
|
|
|
2019-02-06 18:22:38 +00:00
|
|
|
#endif // RTC_BASE_COMPILE_ASSERT_C_H_
|