mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-08 05:27:35 +02:00
Don't use flexible array member syntax when compiling with C++.
Fixes issue #378.
This commit is contained in:
parent
50b17ac397
commit
0281c590f0
1 changed files with 11 additions and 8 deletions
|
@ -7,6 +7,9 @@
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
#define SEXP_FLEXIBLE_ARRAY [1]
|
||||||
|
#else
|
||||||
|
#define SEXP_FLEXIBLE_ARRAY []
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define SEXP_MODULE_PATH_VAR "CHIBI_MODULE_PATH"
|
#define SEXP_MODULE_PATH_VAR "CHIBI_MODULE_PATH"
|
||||||
|
@ -384,16 +387,16 @@ struct sexp_struct {
|
||||||
} pair;
|
} pair;
|
||||||
struct {
|
struct {
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
sexp data[];
|
sexp data SEXP_FLEXIBLE_ARRAY;
|
||||||
} vector;
|
} vector;
|
||||||
struct {
|
struct {
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
char data[];
|
char data SEXP_FLEXIBLE_ARRAY;
|
||||||
} bytes;
|
} bytes;
|
||||||
struct {
|
struct {
|
||||||
#if SEXP_USE_PACKED_STRINGS
|
#if SEXP_USE_PACKED_STRINGS
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
char data[];
|
char data SEXP_FLEXIBLE_ARRAY;
|
||||||
#else
|
#else
|
||||||
sexp_uint_t offset, length;
|
sexp_uint_t offset, length;
|
||||||
sexp bytes;
|
sexp bytes;
|
||||||
|
@ -401,7 +404,7 @@ struct sexp_struct {
|
||||||
} string;
|
} string;
|
||||||
struct {
|
struct {
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
char data[];
|
char data SEXP_FLEXIBLE_ARRAY;
|
||||||
} symbol;
|
} symbol;
|
||||||
struct {
|
struct {
|
||||||
FILE *stream;
|
FILE *stream;
|
||||||
|
@ -424,7 +427,7 @@ struct sexp_struct {
|
||||||
struct {
|
struct {
|
||||||
signed char sign;
|
signed char sign;
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
sexp_uint_t data[];
|
sexp_uint_t data SEXP_FLEXIBLE_ARRAY;
|
||||||
} bignum;
|
} bignum;
|
||||||
struct {
|
struct {
|
||||||
sexp numerator, denominator;
|
sexp numerator, denominator;
|
||||||
|
@ -436,7 +439,7 @@ struct sexp_struct {
|
||||||
sexp_uint_t length;
|
sexp_uint_t length;
|
||||||
void *value;
|
void *value;
|
||||||
sexp parent;
|
sexp parent;
|
||||||
char body[];
|
char body SEXP_FLEXIBLE_ARRAY;
|
||||||
} cpointer;
|
} cpointer;
|
||||||
/* runtime types */
|
/* runtime types */
|
||||||
struct {
|
struct {
|
||||||
|
@ -448,7 +451,7 @@ struct sexp_struct {
|
||||||
struct {
|
struct {
|
||||||
sexp_uint_t length, max_depth;
|
sexp_uint_t length, max_depth;
|
||||||
sexp name, literals, source;
|
sexp name, literals, source;
|
||||||
unsigned char data[];
|
unsigned char data SEXP_FLEXIBLE_ARRAY;
|
||||||
} bytecode;
|
} bytecode;
|
||||||
struct {
|
struct {
|
||||||
char flags;
|
char flags;
|
||||||
|
@ -492,7 +495,7 @@ struct sexp_struct {
|
||||||
/* compiler state */
|
/* compiler state */
|
||||||
struct {
|
struct {
|
||||||
sexp_uint_t length, top;
|
sexp_uint_t length, top;
|
||||||
sexp data[];
|
sexp data SEXP_FLEXIBLE_ARRAY;
|
||||||
} stack;
|
} stack;
|
||||||
struct {
|
struct {
|
||||||
sexp_heap heap;
|
sexp_heap heap;
|
||||||
|
|
Loading…
Add table
Reference in a new issue