annotate gcc/testsuite/gcc.dg/pr53060.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 extern void abort (void);
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 int f(void) { return 2; }
kono
parents:
diff changeset
6 unsigned int g(void) { return 5; }
kono
parents:
diff changeset
7 unsigned int h = 1;
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 typedef unsigned int vec __attribute__((vector_size(16)));
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 vec i = { 1, 2, 3, 4};
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 vec fv1(void) { return i + (h ? f() : g()); }
kono
parents:
diff changeset
14 vec fv2(void) { return (h ? f() : g()) + i; }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 int main()
kono
parents:
diff changeset
17 {
kono
parents:
diff changeset
18 vec i, j;
kono
parents:
diff changeset
19 j = fv1();
kono
parents:
diff changeset
20 if (j[0] != 3) abort();
kono
parents:
diff changeset
21 i = fv2();
kono
parents:
diff changeset
22 if (i[0] != 3) abort();
kono
parents:
diff changeset
23 return 0;
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 /* Ignore a warning that is irrelevant to the purpose of this test. */
kono
parents:
diff changeset
27 /* { dg-prune-output ".*GCC vector returned by reference.*" } */
kono
parents:
diff changeset
28 /* { dg-prune-output "changes the ABI" } */