smartmontools
SVN Rev 5640
Utility to control and monitor storage systems with "S.M.A.R.T."
static_assert.h
Go to the documentation of this file.
1
/*
2
* static_assert.h
3
*
4
* Home page of code is: https://www.smartmontools.org
5
*
6
* Copyright (C) 2019 Christian Franke
7
*
8
* SPDX-License-Identifier: GPL-2.0-or-later
9
*/
10
11
#ifndef STATIC_ASSERT_H
12
#define STATIC_ASSERT_H
13
14
#define STATIC_ASSERT_H_CVSID "$Id: static_assert.h 4934 2019-07-01 20:54:14Z chrfranke $"
15
16
#if __cplusplus >= 201103 || _MSVC_LANG >= 201103
17
#define STATIC_ASSERT(x) static_assert((x), #x)
18
#elif __STDC_VERSION__ >= 201112
19
#define STATIC_ASSERT(x) _Static_assert((x), #x)
20
#elif __GNUC__ >= 4
21
#define STATIC_ASSERT(x) typedef char static_assertion[(x) ? 1 : -1] \
22
__attribute__((unused))
23
#else
24
#define STATIC_ASSERT(x) typedef char static_assertion[(x) ? 1 : -1]
25
#endif
26
27
#endif
// STATIC_ASSERT_H
Generated on Wed Nov 20 2024 22:05:02 for smartmontools by
1.9.6