aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.dg/pr106139a.d
blob: f635eabc745c7f735a05b71a68c365795c0fd15b (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
34
35
36
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106139
// { dg-do compile }

alias A = int[4];

static if (__traits(compiles, __vector(A))):

A vector2array(__vector(A) v)
{
    return cast(A)v;
}

void vector2array(ref A a, __vector(A) v)
{
    a = cast(A)v;
}

__vector(A) array2vector(A a)
{
    return cast(__vector(A)) a;
}

void array2vector(ref __vector(A) v, A a)
{
    v = cast(__vector(A))a;
}

A vector2array_array(__vector(A) v)
{
    return v.array;
}

void vector2array_array(ref A a, __vector(A) v)
{
    a = v.array;
}