summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 22:25:29 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 22:25:29 +0000
commit7deddfded2d013c07a639873a4c90bfed40fd03e (patch)
tree3df2a52207fec5bec55c28303aa57a8bd9b4e620 /gcc/testsuite/gcc.c-torture/compile
parentc79b54af83c8031caac515081fb7c56a127b90e3 (diff)
downloadgcc-7deddfded2d013c07a639873a4c90bfed40fd03e.tar.gz
2010-11-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 166377 2010-11-05 Basile Starynkevitch <basile@starynkevitch.net> MELT branch merged with trunk rev 166377 * gcc/Makefile.in (MELT_RAW_CFLAGS): removed LIBELFINC git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@166380 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20001226-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20010327-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20020604-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20080625-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr41181.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr43191.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr46034.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr46107.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr46248.c32
10 files changed, 69 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c
index 7cf963f0ac7..8c93baccda9 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c
@@ -3,6 +3,7 @@
/* { dg-do assemble } */
/* { dg-xfail-if "function larger than 64K" { m6811-*-* } { "*" } { "" } } */
/* { dg-skip-if "too much code for avr" { "avr-*-*" } { "*" } { "" } } */
+/* { dg-skip-if "too much code for pdp11" { "pdp11-*-*" } { "*" } { "" } } */
/* { dg-xfail-if "jump beyond 128K not supported" { xtensa*-*-* } { "-O0" } { "" } } */
/* { dg-xfail-if "PR36698" { spu-*-* } { "-O0" } { "" } } */
/* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
index f20e3a3e2dc..ce68f78df1d 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
@@ -1,5 +1,6 @@
/* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */
/* { dg-skip-if "HI mode pointer for avr" { "avr-*-*" } { "*" } { "" } } */
+/* { dg-skip-if "HI mode pointer for pdp11" { "pdp11-*-*" } { "*" } { "" } } */
/* { dg-skip-if "non-SI pointers for w64" { "x86_64-*-mingw*" } { "*" } { "" } } */
/* This testcase tests whether GCC can produce static initialized data
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c
index 17b9b2165ba..8b958040e3c 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c
@@ -1,6 +1,6 @@
/* { dg-do assemble } */
/* { dg-xfail-if "The array is too big" { "m6811-*-* m6812-*-*" } { "*" } { "" } } */
-/* { dg-skip-if "The array is too big" { "avr-*-*" } { "*" } { "" } } */
+/* { dg-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } { "*" } { "" } } */
/* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */
/* { dg-skip-if "" { m32c-*-* } { } { } } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/20080625-1.c b/gcc/testsuite/gcc.c-torture/compile/20080625-1.c
index e656cd4f58e..16def2c8a37 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20080625-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20080625-1.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "too much data" { "avr-*-*" "m32c-*-*" } { "*" } { "" } } */
+/* { dg-skip-if "too much data" { "avr-*-*" "m32c-*-*" "pdp11-*-*" } { "*" } { "" } } */
struct peakbufStruct {
unsigned int lnum [5000];
int lscan [5000][4000];
diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c b/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c
index 75b824d1987..41fa2f14022 100644
--- a/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c
+++ b/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "Array too big" { avr-*-* picochip-*-* m32c-*-* } { "*" } { "" } } */
+/* { dg-skip-if "Array too big" { avr-*-* picochip-*-* m32c-*-* pdp11-*-* } { "*" } { "" } } */
#define STR2 "012345678901234567890123456789012345678901234567890123456789\
0123456789012345678901234567890123456789"
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41181.c b/gcc/testsuite/gcc.c-torture/compile/pr41181.c
index 9e42f420939..5fafb020ea5 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr41181.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr41181.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "The array is too big" { "avr-*-*" } { "*" } { "" } } */
+/* { dg-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } { "*" } { "" } } */
char paths[1024];
static void x264_slicetype_path(char (*best_paths)[250], int n, int length)
{
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43191.c b/gcc/testsuite/gcc.c-torture/compile/pr43191.c
index 9c8d1444cf9..f4ec0b4770d 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr43191.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr43191.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "Ints are 16 bits" { "pdp11-*-*" } { "*" } { "" } } */
struct S0
{
};
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46034.c b/gcc/testsuite/gcc.c-torture/compile/pr46034.c
new file mode 100644
index 00000000000..02eda0572e4
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr46034.c
@@ -0,0 +1,14 @@
+/* PR rtl-optimization/46034 */
+
+void bar (int);
+
+void
+foo (int x, int y)
+{
+ int i;
+ for (i = 0; i < x; i++)
+ {
+ y = __builtin_abs (y);
+ bar (y / 2);
+ }
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46107.c b/gcc/testsuite/gcc.c-torture/compile/pr46107.c
new file mode 100644
index 00000000000..41582b8a161
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr46107.c
@@ -0,0 +1,16 @@
+/* PR tree-optimization/46107 */
+
+int foo (void) __attribute__ ((noreturn));
+
+void
+bar (int x, int *y, int z)
+{
+ static void *j[] = { &&l1, &&l2 };
+l1:
+ if (*y)
+ goto *j[z];
+ foo ();
+l2:
+ *y ^= (x & 1) ? -1 : 0;
+ goto *j[x];
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46248.c b/gcc/testsuite/gcc.c-torture/compile/pr46248.c
new file mode 100644
index 00000000000..6d3be2a6545
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr46248.c
@@ -0,0 +1,32 @@
+/* PR rtl-optimization/46248 */
+
+struct S
+{
+ int s;
+};
+
+void
+foo (unsigned char *x, int y, struct S *z)
+{
+ const int l1 = y;
+ const int l2 = y + l1;
+ const int l3 = y + l2;
+ const int l4 = y + l3;
+ const int l5 = y + l4;
+ const int l6 = y + l5;
+ const int l7 = y + l6;
+ int i;
+ for (i = 0; i < 8; i++)
+ {
+ int a = x[l3] - x[l4];
+ int b = x[l4] - x[l5];
+ int c = x[l5] - x[l6];
+ int d = (b >= 0 ? b : -b) - (((a >= 0 ? a : -a) + (c >= 0 ? c : -c)) >> 1);
+ if (d < z->s * 2)
+ {
+ int v = d * (-b > 0 ? 1 : -1);
+ x[l2] += v >> 3;
+ x[l7] -= v >> 3;
+ }
+ }
+}