From a5a50eaafeea0d3ca47bc8fb6baf983743470c60 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sat, 15 Jan 2011 17:50:55 +0100 Subject: Implement C99 Variable Length Arrays Implement C99 Variable Length Arrays in tinycc: - Support VLA with multiple level (nested vla) - Update documentation with regards to VT_VLA - Add a testsuite in tcctest.c --- tcc.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tcc.h') diff --git a/tcc.h b/tcc.h index a3a9c78..22d79f0 100644 --- a/tcc.h +++ b/tcc.h @@ -224,6 +224,7 @@ typedef struct Sym { union { long c; /* associated number */ int *d; /* define token stream */ + SValue *s; /* associated stack value */ }; CType type; /* associated type */ union { @@ -616,6 +617,7 @@ struct TCCState { #define VT_BTYPE 0x000f /* mask for basic type */ #define VT_UNSIGNED 0x0010 /* unsigned type */ #define VT_ARRAY 0x0020 /* array type (also has VT_PTR) */ +#define VT_VLA 0x10000 /* VLA type (also has VT_PTR and VT_ARRAY) */ #define VT_BITFIELD 0x0040 /* bitfield modifier */ #define VT_CONSTANT 0x0800 /* const modifier */ #define VT_VOLATILE 0x1000 /* volatile modifier */ -- cgit v1.3.1