aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJozef Lawrynowicz <jozef.l@mittosystems.com>2018-11-26 21:14:47 +0000
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>2018-11-26 21:14:47 +0000
commitf4a14e09eef775f7fd1ff4dc7027c9237d386afe (patch)
treec3e498efc6a6bfedf7928fb0e7a0423886c4c1d1 /gcc
parentffcf3b79c2a22fef39c81f57f5e9100a900b2818 (diff)
downloadgcc-f4a14e09eef775f7fd1ff4dc7027c9237d386afe.zip
gcc-f4a14e09eef775f7fd1ff4dc7027c9237d386afe.tar.gz
gcc-f4a14e09eef775f7fd1ff4dc7027c9237d386afe.tar.bz2
sourcebuild.texi: Document check_effective_target_size20plus.
2018-11-26 Jozef Lawrynowicz <jozef.l@mittosystems.com> gcc/ChangeLog: * doc/sourcebuild.texi: Document check_effective_target_size20plus. Clarify documentation for check_effective_target_size32plus. gcc/testsuite/ChangeLog: * gcc.c-torture/compile/20151204.c: Add dg-require-effective-target size20plus. * gcc.dg/pr34225.c: Likewise. * gcc.dg/pr40971.c: Likewise. * gcc.dg/pr69071.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-10.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-2.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-3.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-5.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-6.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-7.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-8.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-9.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-11.c: Add dg-require-effective-target size32plus. * gcc.dg/Walloc-size-larger-than-4.c: Likewise. * gcc.dg/Walloc-size-larger-than-5.c: Likewise. * gcc.dg/Walloc-size-larger-than-6.c: Likewise. * gcc.dg/Walloc-size-larger-than-7.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-1.c: Likewise. * gcc.dg/tree-ssa/loop-interchange-1b.c: Likewise. * lib/target-supports.exp (check_effective_target_size20plus): New. (check_effective_target_size32plus): Update comment. From-SVN: r266483
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi7
-rw-r--r--gcc/testsuite/ChangeLog26
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20151204.c2
-rw-r--r--gcc/testsuite/gcc.dg/Walloc-size-larger-than-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/Walloc-size-larger-than-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/Walloc-size-larger-than-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/Walloc-size-larger-than-7.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr34225.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr40971.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr69071.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c3
-rw-r--r--gcc/testsuite/lib/target-supports.exp18
23 files changed, 82 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a6406ec..c2f1c4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-26 Jozef Lawrynowicz <jozef.l@mittosystems.com>
+
+ * doc/sourcebuild.texi: Document check_effective_target_size20plus.
+ Clarify documentation for check_effective_target_size32plus.
+
2018-11-26 Aaron Sawdey <acsawdey@linux.ibm.com>
* config/rs6000/rs6000-string.c (expand_cmp_vec_sequence): Rename
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 77349415..b8ab0ee 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1369,8 +1369,13 @@ Target supports @code{long double} that is longer than @code{double}.
@item ptr32plus
Target has pointers that are 32 bits or longer.
+@item size20plus
+Target has a 20-bit or larger address space, so at least supports
+16-bit array and structure sizes.
+
@item size32plus
-Target supports array and structure sizes that are 32 bits or longer.
+Target has a 32-bit or larger address space, so at least supports
+24-bit array and structure sizes.
@item 4byte_wchar_t
Target has @code{wchar_t} that is at least 4 bytes.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 749c573..ef9ad1d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,29 @@
+2018-11-26 Jozef Lawrynowicz <jozef.l@mittosystems.com>
+
+ * gcc.c-torture/compile/20151204.c: Add dg-require-effective-target
+ size20plus.
+ * gcc.dg/pr34225.c: Likewise.
+ * gcc.dg/pr40971.c: Likewise.
+ * gcc.dg/pr69071.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-10.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-2.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-3.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-5.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-6.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-7.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-8.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-9.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-11.c: Add dg-require-effective-target
+ size32plus.
+ * gcc.dg/Walloc-size-larger-than-4.c: Likewise.
+ * gcc.dg/Walloc-size-larger-than-5.c: Likewise.
+ * gcc.dg/Walloc-size-larger-than-6.c: Likewise.
+ * gcc.dg/Walloc-size-larger-than-7.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-1.c: Likewise.
+ * gcc.dg/tree-ssa/loop-interchange-1b.c: Likewise.
+ * lib/target-supports.exp (check_effective_target_size20plus): New.
+ (check_effective_target_size32plus): Update comment.
+
2018-11-26 Uros Bizjak <ubizjak@gmail.com>
PR target/88178
diff --git a/gcc/testsuite/gcc.c-torture/compile/20151204.c b/gcc/testsuite/gcc.c-torture/compile/20151204.c
index 6a46abf..e41f6c1 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20151204.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20151204.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "Array too big" { "avr-*-*" "pdp11-*-*" } } */
+/* { dg-require-effective-target size20plus } */
typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-4.c b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-4.c
index 4b3a64b..54e43cd 100644
--- a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-4.c
+++ b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-4.c
@@ -1,6 +1,6 @@
/* PR middle-end/82063 - issues with arguments enabled by -Wall
{ dg-do compile }
- { dg-skip-if "small address space" { "pdp11-*-*" } }
+ { dg-require-effective-target size32plus }
{ dg-options "-O -Walloc-size-larger-than=1MiB -ftrack-macro-expansion=0" } */
void sink (void*);
diff --git a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-5.c b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-5.c
index 4217ad6..774c4cf 100644
--- a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-5.c
+++ b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-5.c
@@ -1,6 +1,6 @@
/* PR middle-end/82063 - issues with arguments enabled by -Wall
{ dg-do compile }
- { dg-skip-if "small address space" { "pdp11-*-*" } }
+ { dg-require-effective-target size32plus }
{ dg-options "-O -Walloc-size-larger-than=1MB -ftrack-macro-expansion=0" } */
void sink (void*);
diff --git a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-6.c b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-6.c
index a46fce7..2dfc663 100644
--- a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-6.c
+++ b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-6.c
@@ -1,6 +1,6 @@
/* PR middle-end/82063 - issues with arguments enabled by -Wall
{ dg-do compile }
- { dg-skip-if "small address space" { "pdp11-*-*" } }
+ { dg-require-effective-target size32plus }
{ dg-options "-O -Walloc-size-larger-than=1GiB -ftrack-macro-expansion=0" } */
void sink (void*);
diff --git a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-7.c b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-7.c
index 4d9aafd..2cc517f 100644
--- a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-7.c
+++ b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-7.c
@@ -1,6 +1,6 @@
/* PR middle-end/82063 - issues with arguments enabled by -Wall
{ dg-do compile }
- { dg-skip-if "small address space" { "pdp11-*-*" } }
+ { dg-require-effective-target size32plus }
{ dg-options "-O -Walloc-size-larger-than=1GB -ftrack-macro-expansion=0" } */
void sink (void*);
diff --git a/gcc/testsuite/gcc.dg/pr34225.c b/gcc/testsuite/gcc.dg/pr34225.c
index 659e176..e337340 100644
--- a/gcc/testsuite/gcc.dg/pr34225.c
+++ b/gcc/testsuite/gcc.dg/pr34225.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fno-strict-aliasing -fstack-protector" } */
/* { dg-require-effective-target fstack_protector } */
+/* { dg-require-effective-target size20plus } */
typedef __SIZE_TYPE__ size_t;
extern int sscanf (const char *, const char *, ...);
diff --git a/gcc/testsuite/gcc.dg/pr40971.c b/gcc/testsuite/gcc.dg/pr40971.c
index 31dfd5e..4317638 100644
--- a/gcc/testsuite/gcc.dg/pr40971.c
+++ b/gcc/testsuite/gcc.dg/pr40971.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-options "-O -fstack-protector -fno-strict-aliasing" } */
/* { dg-require-effective-target fstack_protector } */
+/* { dg-require-effective-target size20plus } */
extern void bar (char *);
diff --git a/gcc/testsuite/gcc.dg/pr69071.c b/gcc/testsuite/gcc.dg/pr69071.c
index 0396bbc..3ae3811 100644
--- a/gcc/testsuite/gcc.dg/pr69071.c
+++ b/gcc/testsuite/gcc.dg/pr69071.c
@@ -1,7 +1,7 @@
/* PR target/69071 */
/* { dg-do compile } */
/* { dg-options "-O2 -g" } */
-/* { dg-skip-if "Array too big" { "avr-*-*" } } */
+/* { dg-require-effective-target size20plus } */
void *bar (void *);
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c
index 4a81e12..c7ebaef 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fassociative-math -fno-signed-zeros -fno-trapping-math -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size32plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
/* Copied from graphite/interchange-4.c */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c
index 5735756..8f5a9a0 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c
index 2a1b340..413b81e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c
index 7de2b40..a3063bb 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size32plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
/* Copied from graphite/interchange-4.c */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c
index 247adc9..fbd46a2 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
/* Copied from graphite/interchange-5.c */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c
index b239230..8028e36 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big stack" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big stack" { visium-*-* } } */
/* Copied from graphite/interchange-6.c */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c
index 8f13cd4..81050a8 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M], c[M][M], d[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c
index a38fd9d..8a2692e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M], c[M][M], d[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c
index e6ad26f..d55c1e2 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M], c[M][M], d[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c
index 5ed300a..391b8a4 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M], c[M][M], d[M][M];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c
index a984e47..b5fda2d 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
+/* { dg-require-effective-target size20plus } */
+/* { dg-skip-if "too big data segment" { visium-*-* } } */
#define M 256
int a[M][M], b[M][M], c[M], d[M];
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 37791cf..fe71691 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2608,9 +2608,21 @@ proc check_effective_target_ptr32plus { } {
}]
}
-# Return 1 if we support 32-bit or larger array and structure sizes
-# using default options, 0 otherwise. Avoid false positive on
-# targets with 20 or 24 bit address spaces.
+# Return 1 if we support 16-bit or larger array and structure sizes
+# using default options, 0 otherwise.
+# This implies at least a 20-bit address space, as no targets have an address
+# space between 16 and 20 bits.
+
+proc check_effective_target_size20plus { } {
+ return [check_no_compiler_messages size20plus object {
+ char dummy[65537L];
+ }]
+}
+
+# Return 1 if we support 24-bit or larger array and structure sizes
+# using default options, 0 otherwise.
+# This implies at least a 32-bit address space, as no targets have an address
+# space between 24 and 32 bits.
proc check_effective_target_size32plus { } {
return [check_no_compiler_messages size32plus object {