1 /* { dg-options "-O3 -fgraphite-identity" } */ 2 3 typedef struct sv TEST_SV; 4 typedef struct av TEST_AV; 5 typedef struct magic TEST_MAGIC; 6 typedef struct xpvav TEST_XPVAV; 7 struct sv 8 { 9 void* sv_any; 10 }; 11 struct av 12 { 13 TEST_XPVAV* sv_any; 14 }; 15 struct xpvav 16 { 17 char* xav_array; 18 long int xav_fill; 19 long int xav_max; 20 }; 21 struct magic { 22 TEST_SV* mg_obj; 23 }; 24 extern TEST_SV PL_sv_undef; 25 void Perl_av_fill(register TEST_AV * av,int fill)26Perl_av_fill( register TEST_AV *av, int fill) 27 { 28 TEST_MAGIC *mg; 29 int key = ((TEST_XPVAV*) (av)->sv_any)->xav_fill; 30 TEST_SV** ary = ((TEST_SV**)((TEST_XPVAV*) (av)->sv_any)->xav_array); 31 while (key < fill) 32 ary[++key] = &PL_sv_undef; 33 } 34