blob: 7504b5fdd388b63a5645ee1694a2f564d9fae667 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/**
* @file compiler/flex_array.h
*/
#ifndef PRISM_COMPILER_FLEX_ARRAY_H
#define PRISM_COMPILER_FLEX_ARRAY_H
/**
* A macro for helper define a flexible array member. C99 supports `data[]`, GCC
* supports `data[0]` as an extension, and older compilers require `data[1]`.
*/
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
#define PM_FLEX_ARRAY_LENGTH /* data[] */
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define PM_FLEX_ARRAY_LENGTH 0 /* data[0] */
#else
#define PM_FLEX_ARRAY_LENGTH 1 /* data[1] */
#endif
#endif
|