summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/graphite/pr38125.c
blob: 3075c19115fba3da7623ace9716ce0dac67132fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* { dg-options "-O3 -fgraphite-identity" } */

typedef struct sv TEST_SV;
typedef struct av TEST_AV;
typedef struct magic TEST_MAGIC;
typedef struct xpvav TEST_XPVAV;
struct sv 
{
    void* sv_any;
};
struct av 
{
    TEST_XPVAV* sv_any;
};
struct xpvav 
{
    char* xav_array;
    long int xav_fill;
    long int xav_max;
};
struct magic {
    TEST_SV* mg_obj;
};
extern TEST_SV PL_sv_undef;
void
Perl_av_fill( register TEST_AV *av, int fill)
{
    TEST_MAGIC *mg;
    int key = ((TEST_XPVAV*) (av)->sv_any)->xav_fill;
    TEST_SV** ary = ((TEST_SV**)((TEST_XPVAV*) (av)->sv_any)->xav_array);
    while (key < fill)
          ary[++key] = &PL_sv_undef;
}