diff options
author | Yvan Roux <yvan.roux@linaro.org> | 2014-10-15 11:47:17 +0000 |
---|---|---|
committer | Yvan Roux <yvan.roux@linaro.org> | 2014-10-15 11:47:17 +0000 |
commit | ce5d70382839034a30e88904d826803f79a519f2 (patch) | |
tree | 59993d91938397721015a9ea0cd3493d0fc94156 /gcc/testsuite/gcc.dg/vect/pr63379.c | |
parent | e68953536c55973335f595adc0cbdbf6a121a644 (diff) |
Merge branches/gcc-4_9-branch rev 216130
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@216256 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/pr63379.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr63379.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/pr63379.c b/gcc/testsuite/gcc.dg/vect/pr63379.c new file mode 100644 index 00000000000..f6e8fc6a4ce --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr63379.c @@ -0,0 +1,43 @@ +/* PR tree-optimization/63379 */ +/* { dg-do run } */ + +#include "tree-vect.h" + +extern void abort (void); + +typedef struct { + int x; + int y; +} Point; + +Point pt_array[25]; + +void __attribute__((noinline,noclone)) +generate_array(void) +{ + unsigned int i; + for (i = 0; i<25; i++) + { + pt_array[i].x = i; + pt_array[i].y = 1000+i; + } +} + +int main() +{ + check_vect (); + generate_array (); + Point min_pt = pt_array[0]; + Point *ptr, *ptr_end; + for (ptr = pt_array+1, ptr_end = pt_array+25; ptr != ptr_end; ++ptr) + { + min_pt.x = (min_pt.x < ptr->x) ? min_pt.x : ptr->x; + min_pt.y = (min_pt.y < ptr->y) ? min_pt.y : ptr->y; + } + + if (min_pt.x != 0 || min_pt.y != 1000) + abort (); + return 0; +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ |