diff options
| author | Thomas Preud'homme <thomas.preudhomme@celest.fr> | 2011-02-04 15:19:54 +0100 |
|---|---|---|
| committer | Thomas Preud'homme <thomas.preudhomme@celest.fr> | 2011-02-04 15:24:48 +0100 |
| commit | e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431 (patch) | |
| tree | ff852b2c8ccc461dcdcbcbe7b870134fa31c511c /tests | |
| parent | af26ac56bfc584b70e20158e67f7035024076ec8 (diff) | |
| download | tinycc-e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431.tar.gz tinycc-e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431.tar.bz2 | |
Disable C99 VLA when alloca is unavailable.
* Disable C99 VLA detection when alloca is unavailable and protect the
new reference to TOK_alloca in decl_initializer in order to compile
and run for architecture without working alloca.
Not all code of C99 VLA is commented as it would required many ifdef
stanza. Just the detection is commented so that VT_VLA is never set
any type and the C99 VLA code is compiled but never called. However
vpush_global_sym(&func_old_type, TOK_alloca) in decl_initializer needs
to be protected by an ifdef stanza as well because it uses TOK_alloca.
* include alloca and C99 VLA tests according to availability of
TOK_alloca instead of relying on the current architecture
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tcctest.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/tcctest.c b/tests/tcctest.c index 499a071..a8ec2fa 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -2010,7 +2010,7 @@ void old_style_function(void) void alloca_test() { -#if defined __i386__ || defined __x86_64__ +#ifdef TOK_alloca char *p = alloca(16); strcpy(p,"123456789012345"); printf("alloca: p is %s\n", p); @@ -2022,7 +2022,7 @@ void alloca_test() void c99_vla_test(int size1, int size2) { -#if defined __i386__ || defined __x86_64__ +#ifdef TOK_alloca int tab1[size1 * size2][2], tab2[10][2]; void *tab1_ptr, *tab2_ptr; |
