blob: db2e4a8116977dd6972cb5c5a29f4171453aedb6 [file] [log] [blame]
andrew@webrtc.org31628aa2013-10-22 12:50:00 +00001/*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef RTC_BASE_COMPILE_ASSERT_C_H_
12#define RTC_BASE_COMPILE_ASSERT_C_H_
andrew@webrtc.org31628aa2013-10-22 12:50:00 +000013
Henrik Kjellanderec78f1c2017-06-29 07:52:50 +020014// Use this macro to verify at compile time that certain restrictions are met.
15// The argument is the boolean expression to evaluate.
16// Example:
17// RTC_COMPILE_ASSERT(sizeof(foo) < 128);
18// Note: In C++, use static_assert instead!
Yves Gerey665174f2018-06-19 15:03:05 +020019#define RTC_COMPILE_ASSERT(expression) \
20 switch (0) { \
21 case 0: \
22 case expression:; \
23 }
andrew@webrtc.org31628aa2013-10-22 12:50:00 +000024
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020025#endif // RTC_BASE_COMPILE_ASSERT_C_H_