From 72287e31448907092f0715b3007f095c2da1770e Mon Sep 17 00:00:00 2001 From: No Author Date: Sat, 27 Nov 2004 16:51:39 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'gcc-3_4-branch'. From-SVN: r91379 --- gcc/testsuite/g++.dg/expr/return1.C | 9 ++++++ gcc/testsuite/g++.dg/template/crash28.C | 13 ++++++++ .../gcc.c-torture/compile/20041119-1.c | 30 +++++++++++++++++++ .../gcc.c-torture/execute/20041126-1.c | 26 ++++++++++++++++ gcc/testsuite/gcc.dg/loop-6.c | 25 ++++++++++++++++ 5 files changed, 103 insertions(+) create mode 100644 gcc/testsuite/g++.dg/expr/return1.C create mode 100644 gcc/testsuite/g++.dg/template/crash28.C create mode 100644 gcc/testsuite/gcc.c-torture/compile/20041119-1.c create mode 100644 gcc/testsuite/gcc.c-torture/execute/20041126-1.c create mode 100644 gcc/testsuite/gcc.dg/loop-6.c diff --git a/gcc/testsuite/g++.dg/expr/return1.C b/gcc/testsuite/g++.dg/expr/return1.C new file mode 100644 index 000000000000..7a64988e4b32 --- /dev/null +++ b/gcc/testsuite/g++.dg/expr/return1.C @@ -0,0 +1,9 @@ +// PR c++/18545 + +struct A; + +A foo() // { dg-error "" } +{ + A a; // { dg-error "" } + return a; +} diff --git a/gcc/testsuite/g++.dg/template/crash28.C b/gcc/testsuite/g++.dg/template/crash28.C new file mode 100644 index 000000000000..e8b2bbb29853 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash28.C @@ -0,0 +1,13 @@ +// PR c++/18445 + +struct a +{ + int what(); +}; +void g(void*); +template +void f() +{ + a ex; + g(ex.what); // { dg-error "" } +} diff --git a/gcc/testsuite/gcc.c-torture/compile/20041119-1.c b/gcc/testsuite/gcc.c-torture/compile/20041119-1.c new file mode 100644 index 000000000000..3e0e565f406a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20041119-1.c @@ -0,0 +1,30 @@ +/* PR rtl-optimization/17825 */ +#ifdef __i386__ +register unsigned int reg __asm ("esi"); +#elif defined __x86_64__ +register unsigned int reg __asm ("r14"); +#else +unsigned int reg; +#endif + +struct S +{ + unsigned int h[8]; +} *b; +unsigned int c; +void foo (int); + +void +bar (void) +{ + unsigned int j, k, l, m; + + j = (reg & 0xffff) | ((b->h[2] & 0xffff) << 16); + k = c & 0xffff; + if (k == 0) + foo (0); + l = (j / k) & 0xffff; + m = (j % k) & 0xffff; + reg = (reg & 0xffff0000) | l; + b->h[2] = (b->h[2] & 0xffff0000) | m; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20041126-1.c b/gcc/testsuite/gcc.c-torture/execute/20041126-1.c new file mode 100644 index 000000000000..58855ae8c195 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20041126-1.c @@ -0,0 +1,26 @@ +extern int abs (int); +extern void abort (void); + +void +check (int *p) +{ + int i; + for (i = 0; i < 5; ++i) + if (p[i]) + abort (); + for (; i < 10; ++i) + if (p[i] != i + 1) + abort (); +} + +int +main (void) +{ + int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + int i; + + for (i = -5; i < 0; i++) + a[abs (i - 10) - 11] = 0; + check (a); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/loop-6.c b/gcc/testsuite/gcc.dg/loop-6.c new file mode 100644 index 000000000000..653854eb8a09 --- /dev/null +++ b/gcc/testsuite/gcc.dg/loop-6.c @@ -0,0 +1,25 @@ +/* PR optimization/18577 */ +/* Origin: Falk Hueffner */ + +/* { dg-do run } */ +/* { dg-options "-O2 -funroll-all-loops" } */ + +static float tfcos12[3]; +__attribute__((noinline)) double f(double x) { return x; } +int g; + +int main(void) +{ + int i, j; + for (i = 0; i < 1; i++) + tfcos12[i] = 0.5; + + for (i = 0; i < 1; i++) + { + tfcos12[i] = 0.5 * f(i); + for (j = 0; j < 12; j++) + g++; + } + + return 0; +} -- 2.47.2