OSDN Git Service

06cdc1ab34171e85d6f54404e83ac6d79b4d9af1
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / conversion / simd1.C
1 /* { dg-do compile } */
2
3 /* Test overload resolution of vector types.
4    From Janis Johnson and Paolo Bonzini, based on PR/16882 */
5
6 #define vector __attribute__((vector_size(16)))
7
8 vector signed int vld (int a1, const vector signed int *a2) { return *a2; } /* { dg-message "vld" } */
9 /* { dg-warning "vector returned by ref" "" { target { powerpc*-*-linux* && ilp32 } }  8 } */
10 vector signed short vld (int a1, const vector signed short *a2) { return *a2; } /* { dg-message "vld" } */
11
12 extern int i;
13 extern vector signed short vss;
14 extern vector signed char *vscp;
15 extern vector signed short *vssp;
16 extern const vector signed short *cvssp;
17
18 void foo ()
19 {
20   vss = vld(i, vscp);        /* { dg-error "no matching function for call" } */
21   vss = vld(i, vssp);
22   vss = vld(i, cvssp);
23 }