From 604b17d50dd0d0d8ecfcee70d1eea2ab70378176 Mon Sep 17 00:00:00 2001 From: Yvan Roux Date: Wed, 15 Mar 2017 09:59:42 +0100 Subject: Merge branches/gcc-6-branch rev 246148. Change-Id: I706269373548f876b7f0d205507817f52ee8a2df --- gcc/testsuite/gcc.dg/comp-goto-4.c | 21 ++++++++++++++++++ gcc/testsuite/gcc.dg/fixed-point/pr79971.c | 14 ++++++++++++ gcc/testsuite/gcc.dg/graphite/pr71824-2.c | 34 ++++++++++++++++++++++++++++++ gcc/testsuite/gcc.dg/graphite/pr71824-3.c | 19 +++++++++++++++++ gcc/testsuite/gcc.dg/graphite/pr71824.c | 17 +++++++++++++++ gcc/testsuite/gcc.dg/graphite/pr79977.c | 27 ++++++++++++++++++++++++ gcc/testsuite/gcc.dg/torture/pr79536.c | 10 +++++++++ gcc/testsuite/gcc.dg/torture/pr79666.c | 30 ++++++++++++++++++++++++++ gcc/testsuite/gcc.dg/vector-1.c | 8 +++++++ 9 files changed, 180 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/comp-goto-4.c create mode 100644 gcc/testsuite/gcc.dg/fixed-point/pr79971.c create mode 100644 gcc/testsuite/gcc.dg/graphite/pr71824-2.c create mode 100644 gcc/testsuite/gcc.dg/graphite/pr71824-3.c create mode 100644 gcc/testsuite/gcc.dg/graphite/pr71824.c create mode 100644 gcc/testsuite/gcc.dg/graphite/pr79977.c create mode 100644 gcc/testsuite/gcc.dg/torture/pr79536.c create mode 100644 gcc/testsuite/gcc.dg/torture/pr79666.c create mode 100644 gcc/testsuite/gcc.dg/vector-1.c (limited to 'gcc/testsuite/gcc.dg') diff --git a/gcc/testsuite/gcc.dg/comp-goto-4.c b/gcc/testsuite/gcc.dg/comp-goto-4.c new file mode 100644 index 00000000000..51a6a867706 --- /dev/null +++ b/gcc/testsuite/gcc.dg/comp-goto-4.c @@ -0,0 +1,21 @@ +/* PR middle-end/79537 */ +/* { dg-do compile } */ +/* { dg-options "" } */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + +void +f (void) +{ +L: + *&&L; +} + +void +f2 (void) +{ + void *p; +L: + p = &&L; + *p; /* { dg-warning "dereferencing 'void \\*' pointer" } */ +} diff --git a/gcc/testsuite/gcc.dg/fixed-point/pr79971.c b/gcc/testsuite/gcc.dg/fixed-point/pr79971.c new file mode 100644 index 00000000000..cccea1f5dc8 --- /dev/null +++ b/gcc/testsuite/gcc.dg/fixed-point/pr79971.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O3" } */ + +void +a () +{ + unsigned _Accum b; + for (b = 0.1; b; b += 0.1uk) + { + _Sat unsigned _Accum b; + for (b = 0; b <= 0.8; b = 0.1) + ; + } +} diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-2.c b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c new file mode 100644 index 00000000000..18176568d4a --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c @@ -0,0 +1,34 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -floop-nest-optimize" } */ + +typedef struct { float x1; } bx; +typedef struct { + int w; + short o; +} T2P; +T2P a; +int b; +void fn2(); +void fn3(bx*,short); +void fn1() { + unsigned i = 0; + int c; + bx *d; + bx **h; + if (b == 0) { + fn2(); + return; + } + for (; c; c++) + for (; i < 100; i++) { + d = h[i]; + d->x1 = a.w; + } + for (; i < 100; i++) { + d = h[i]; + d->x1 = a.w; + } + if (a.o) + for (; b;) + fn3(d, a.o); +} diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-3.c b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c new file mode 100644 index 00000000000..37e5c3ba34d --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-loop-distribution -floop-nest-optimize" } */ + +struct +{ + int bz; +} od, ka[2]; + +int fw; + +void +pc (void) +{ + for (od.bz = 0; od.bz < 2; ++od.bz) + { + ++fw; + ka[0] = ka[1]; + } +} diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824.c b/gcc/testsuite/gcc.dg/graphite/pr71824.c new file mode 100644 index 00000000000..2a90e30e50f --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr71824.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -floop-nest-optimize" } */ + +int a, b, d; +int **c; +int fn1() { + while (a) + if (d) { + int e = -d; + for (; b < e; b++) + c[b] = &a; + } else { + for (; b; b++) + c[b] = &b; + d = 0; + } +} diff --git a/gcc/testsuite/gcc.dg/graphite/pr79977.c b/gcc/testsuite/gcc.dg/graphite/pr79977.c new file mode 100644 index 00000000000..09606b0739b --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr79977.c @@ -0,0 +1,27 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -floop-nest-optimize" } */ + +int uo[3]; +int di; + +void +i7 (int mp) +{ + int l4; + +wh: + while (l4 > 1) + { + for (di = 0; di < 2; ++di) + uo[di] = 0; + + for (di = 0; di < 3; ++di) + { + uo[di] = 0; + if (mp != 0) + goto wh; + } + + --l4; + } +} diff --git a/gcc/testsuite/gcc.dg/torture/pr79536.c b/gcc/testsuite/gcc.dg/torture/pr79536.c new file mode 100644 index 00000000000..6f05ca7d134 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr79536.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ + +typedef int A; +int +fn1 (A x, A y) +{ + if ((x + (x - y) * 1i) != -(-x + (y - x) * 1i)) + return 1; + return 0; +} diff --git a/gcc/testsuite/gcc.dg/torture/pr79666.c b/gcc/testsuite/gcc.dg/torture/pr79666.c new file mode 100644 index 00000000000..3d83229521c --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr79666.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ + +struct +{ + unsigned a:6; +} b; + +int c, e, g = 7; +signed char d, f = 6, h = -10; + +void fn1 () +{ + for (; c < 9; c++) + { + if (f) + g = ~(~0 / (g ^ e)); + b.a = ~0; + d = ~((h ^ b.a) & 132 & (~(f && g) | (d && 1))); + e = ~0; + if (d < 127 || f < 1) + continue; + g = 0; + } +} + +int main () +{ + fn1 (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/vector-1.c b/gcc/testsuite/gcc.dg/vector-1.c new file mode 100644 index 00000000000..a5eaa2a8c2d --- /dev/null +++ b/gcc/testsuite/gcc.dg/vector-1.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-options "-std=gnu90" } */ + +typedef int V __attribute__ ((vector_size(4))); +void fn1 () +{ + (V){(1,0)}[0] = 0; +} -- cgit v1.2.3