1 /* 2 p18298.c from the execute part of the gcc torture tests. 3 */ 4 5 #include <testfwk.h> 6 7 /* { dg-options "-fgnu89-inline" } */ 8 9 #include <stdbool.h> 10 #include <stdlib.h> 11 12 #if !(defined(__SDCC_mcs51) && (defined(__SDCC_MODEL_SMALL) || defined(__SDCC_MODEL_MEDIUM))) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) && !defined(__SDCC_pic14) // Lack of memory 13 int strcmp (const char*, const char*); 14 char s[2048] = "a"; foo(const char * str)15inline bool foo(const char *str) { 16 return !strcmp(s,str); 17 } 18 #endif 19 void testTortureExecute(void)20testTortureExecute (void) { 21 #if !(defined(__SDCC_mcs51) && (defined(__SDCC_MODEL_SMALL) || defined(__SDCC_MODEL_MEDIUM))) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) && !defined(__SDCC_pic14) // Lack of memory 22 int i = 0; 23 while(!(foo(""))) { 24 i ++; 25 s[0] = '\0'; 26 if (i>2) 27 ASSERT (0); 28 } 29 #endif 30 return; 31 } 32 33