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
26 Perl_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 }