summaryrefslogtreecommitdiffstats
path: root/tests/cpu-program/pointer-deref.slang
blob: f5bad5b09dbf0bf0b63742b3a392a35fad309e03 (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
//TEST:EXECUTABLE:
struct SubRecord
{
    int field2;
    float field3;
}

struct Record
{
    int field;
    SubRecord sub;
}

export __extern_cpp int main()
{
    Record rec;
    Record *pRec = &rec;
    pRec.field = 1;
    pRec.sub.field2 = 2;
    pRec.sub.field3 = 3.0f;
    if (rec.field == 1 && rec.sub.field2 == 2 && pRec.sub.field3 == 3.0f)
    {
        printf("success\n");
    }
    else
    {
        printf("fail\n");
    }
    return 0;
}