get rid of alloca() in compiler
diff --git a/tests/tests-c-compiler/check-src/check-25.-fwide-types.c b/tests/tests-c-compiler/check-src/check-25.-fwide-types.c
index 41a90bf..fda63c3 100644
--- a/tests/tests-c-compiler/check-src/check-25.-fwide-types.c
+++ b/tests/tests-c-compiler/check-src/check-25.-fwide-types.c
@@ -141,14 +141,11 @@
static void
try_corrupt(uint8_t *buf, size_t size, int allow_consume) {
- uint8_t *tmp;
- int i;
+ uint8_t tmp[size];
fprintf(stderr, "\nCorrupting...\n");
- tmp = alloca(size);
-
- for(i = 0; i < 1000; i++) {
+ for(int i = 0; i < 1000; i++) {
int loc;
memcpy(tmp, buf, size);
@@ -173,10 +170,9 @@
partial_read(uint8_t *buf, size_t size) {
T_t t, *tp;
asn_dec_rval_t rval;
- size_t i1, i2;
- uint8_t *tbuf1 = alloca(size);
- uint8_t *tbuf2 = alloca(size);
- uint8_t *tbuf3 = alloca(size);
+ uint8_t tbuf1[size];
+ uint8_t tbuf2[size];
+ uint8_t tbuf3[size];
fprintf(stderr, "\nPartial read sequence...\n");
@@ -186,8 +182,8 @@
* ^ buf ^ buf+size
* Try to read block by block.
*/
- for(i1 = 0; i1 < size; i1++) {
- for(i2 = i1; i2 < size; i2++) {
+ for(size_t i1 = 0; i1 < size; i1++) {
+ for(size_t i2 = i1; i2 < size; i2++) {
uint8_t *chunk1 = buf;
size_t size1 = i1;
uint8_t *chunk2 = buf + size1;