1 /* 2 20080424-1.c from the execute part of the gcc torture tests. 3 */ 4 5 #include <testfwk.h> 6 7 #ifdef __SDCC 8 #pragma std_c99 9 #endif 10 11 /* PR tree-optimization/36008 */ 12 13 #if !defined(__SDCC_mcs51) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory 14 int g[48][3][3]; 15 16 void bar(int x[3][3],int y[3][3])17bar (int x[3][3], int y[3][3]) 18 { 19 static int i; 20 if (x != g[i + 8] || y != g[i++]) 21 ASSERT (0); 22 } 23 24 static inline void foo(int x[][3][3])25foo (int x[][3][3]) 26 { 27 int i; 28 for (i = 0; i < 8; i++) 29 { 30 int k = i + 8; 31 bar (x[k], x[k - 8]); 32 } 33 } 34 #endif 35 36 void testTortureExecute(void)37testTortureExecute (void) 38 { 39 #if !defined(__SDCC_mcs51) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory 40 foo (g); 41 return; 42 #endif 43 } 44 45