| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| typedef signed char int8_T; |
| typedef int int32_T; |
| |
| typedef struct { |
| int8_T a; |
| } struct0_T; |
| |
| typedef struct { |
| struct0_T f10[4]; |
| } struct_T; |
| |
| typedef struct { |
| struct_T f9[4]; |
| } b_struct_T; |
| |
| typedef struct { |
| b_struct_T f8[4]; |
| } c_struct_T; |
| |
| typedef struct { |
| c_struct_T f7[4]; |
| } d_struct_T; |
| |
| typedef struct { |
| d_struct_T f6[4]; |
| } e_struct_T; |
| |
| typedef struct { |
| e_struct_T f5[4]; |
| } f_struct_T; |
| |
| typedef struct { |
| f_struct_T f4[4]; |
| } g_struct_T; |
| |
| typedef struct { |
| g_struct_T f3[4]; |
| } h_struct_T; |
| |
| typedef struct { |
| h_struct_T f2[4]; |
| } i_struct_T; |
| |
| typedef struct { |
| i_struct_T f1[4]; |
| } j_struct_T; |
| |
| typedef struct { |
| struct { |
| j_struct_T ds21[4]; |
| i_struct_T ds20[4]; |
| i_struct_T r9; |
| } f0; |
| } deep_struct_arraysStackData; |
| |
| /* Function Definitions */ |
| void deep_struct_arrays(deep_struct_arraysStackData *SD, |
| int8_T in1, int8_T inCount, int8_T *out1, int8_T *out2, struct0_T out3[4]) |
| { |
| struct0_T r; |
| struct_T r1; |
| b_struct_T r2; |
| c_struct_T r3; |
| d_struct_T r4; |
| e_struct_T r5; |
| f_struct_T r6; |
| g_struct_T r7; |
| h_struct_T r8; |
| int32_T count; |
| int32_T i; |
| |
| /* Check properties of input in1 */ |
| /* Check properties of input inCount */ |
| /* Copyright 2006 The MathWorks, Inc. */ |
| r.a = in1; |
| r1.f10[0] = r; |
| r1.f10[1] = r; |
| r1.f10[2] = r; |
| r1.f10[3] = r; |
| r2.f9[0] = r1; |
| r2.f9[1] = r1; |
| r2.f9[2] = r1; |
| r2.f9[3] = r1; |
| r3.f8[0] = r2; |
| r3.f8[1] = r2; |
| r3.f8[2] = r2; |
| r3.f8[3] = r2; |
| r4.f7[0] = r3; |
| r4.f7[1] = r3; |
| r4.f7[2] = r3; |
| r4.f7[3] = r3; |
| r5.f6[0] = r4; |
| r5.f6[1] = r4; |
| r5.f6[2] = r4; |
| r5.f6[3] = r4; |
| r6.f5[0] = r5; |
| r6.f5[1] = r5; |
| r6.f5[2] = r5; |
| r6.f5[3] = r5; |
| r7.f4[0] = r6; |
| r7.f4[1] = r6; |
| r7.f4[2] = r6; |
| r7.f4[3] = r6; |
| r8.f3[0] = r7; |
| r8.f3[1] = r7; |
| r8.f3[2] = r7; |
| r8.f3[3] = r7; |
| SD->f0.r9.f2[0] = r8; |
| SD->f0.r9.f2[1] = r8; |
| SD->f0.r9.f2[2] = r8; |
| SD->f0.r9.f2[3] = r8; |
| SD->f0.ds20[0] = SD->f0.r9; |
| SD->f0.ds20[3] = SD->f0.r9; |
| count = 0; |
| while (count < inCount) { |
| i = in1 + SD->f0.ds20[0].f2[0].f3[0].f4[0].f5[0].f6[0].f7[0].f8[0].f9[0] |
| .f10[0].a; |
| if (i > 127) { |
| i = 127; |
| } else { |
| if (i < -128) { |
| i = -128; |
| } |
| } |
| |
| SD->f0.ds20[0].f2[0].f3[0].f4[0].f5[0].f6[0].f7[0].f8[0].f9[0].f10[0].a = |
| (int8_T)i; |
| i = SD->f0.ds20[3].f2[3].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3].f10[3].a |
| + 3; |
| if (i > 127) { |
| i = 127; |
| } |
| |
| SD->f0.ds20[3].f2[3].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3].f10[3].a = |
| (int8_T)i; |
| count++; |
| } |
| |
| if (inCount > 10) { |
| SD->f0.ds21[0].f1[1].f2[2].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3].f10[3]. |
| a = 14; |
| } else { |
| SD->f0.ds21[0].f1[1].f2[2].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3].f10[3]. |
| a = 16; |
| } |
| |
| *out1 = SD->f0.ds20[0].f2[0].f3[0].f4[0].f5[0].f6[0].f7[0].f8[0].f9[0].f10[0]. |
| a; |
| *out2 = SD->f0.ds20[3].f2[3].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3].f10[3]. |
| a; |
| out3[0] = r; |
| out3[1] = r; |
| out3[2] = r; |
| out3[3] = SD->f0.ds21[0].f1[1].f2[2].f3[3].f4[3].f5[3].f6[3].f7[3].f8[3].f9[3] |
| .f10[3]; |
| } |