1 /* { dg-add-options stack_size } */ 2 3 #if defined(STACK_SIZE) && (STACK_SIZE < 65536) 4 # define BYTEMEM_SIZE 10000L 5 #endif 6 7 #ifndef BYTEMEM_SIZE 8 # define BYTEMEM_SIZE 45000L 9 #endif 10 11 int bytestart[5000 + 1]; 12 unsigned char modtext[400 + 1]; 13 unsigned char bytemem[2][BYTEMEM_SIZE + 1]; 14 15 long modlookup(int l)16modlookup (int l) 17 { 18 signed char c; 19 long j; 20 long k; 21 signed char w; 22 long p; 23 while (p != 0) 24 { 25 while ((k < bytestart[p + 2]) && (j <= l) && (modtext[j] == bytemem[w][k])) 26 { 27 k = k + 1; 28 j = j + 1; 29 } 30 if (k == bytestart[p + 2]) 31 if (j > l) 32 c = 1; 33 else c = 4; 34 else if (j > l) 35 c = 3; 36 else if (modtext[j] < bytemem[w][k]) 37 c = 0; 38 else c = 2; 39 } 40 } 41