aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi3
-rw-r--r--gcc/testsuite/ChangeLog16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2f.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2f.x6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2g.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2g.x6
-rw-r--r--gcc/testsuite/gcc.dg/20030711-1.c5
-rw-r--r--gcc/testsuite/gcc.dg/20050826-1.c5
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr49038.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36533.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
12 files changed, 54 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c64a061..8ffc8f1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords, Environment
+ attributes): Document mmap.
+
2011-07-25 Anatoly Sokolov <aesok@post.ru>
* config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 3d41c0d..ea6fedb 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1679,6 +1679,9 @@ Target might have errors of a few ULP in string to floating-point
conversion functions and overflow is not always detected correctly by
those functions.
+@item mmap
+Target supports @code{mmap}.
+
@item newlib
Target supports Newlib.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 596ef6a..b903569 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_effective_target_mmap): New proc.
+
+ * gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
+ * gcc.c-torture/execute/loop-2g.c: Likewise.
+ * gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
+ Require mmap support.
+ * gcc.c-torture/execute/loop-2g.x: Likewise.
+ * gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
+ (MAP_ANON): Provide default.
+ * gcc.dg/20050826-1.c: Likewise.
+ * gcc.target/i386/pr36533.c: Likewise.
+ * gcc.dg/vect/pr49038.c: Remove dg-do run.
+ Use dg-require-effective-target mmap.
+
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49838
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.c b/gcc/testsuite/gcc.c-torture/execute/loop-2f.c
index 9f544b9..4803d64 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2f.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2f.c
@@ -1,6 +1,5 @@
#include <limits.h>
-#ifdef __unix__ /* ??? Is that good enough? */
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
@@ -18,7 +17,6 @@
#ifndef MAP_FIXED
#define MAP_FIXED 0
#endif
-#endif
#define MAP_START (void *)0x7fff8000
#define MAP_LEN 0x10000
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
index 334ef9c..ad024dd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
@@ -1,3 +1,9 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_mmap] } {
+ return 1
+}
+
if [istarget "m68k-*-linux*"] {
# the executable is at the same position the test tries to remap
return 1
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.c b/gcc/testsuite/gcc.c-torture/execute/loop-2g.c
index 8792dbf..91af413 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2g.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2g.c
@@ -1,6 +1,5 @@
#include <limits.h>
-#ifdef __unix__ /* ??? Is that good enough? */
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
@@ -18,7 +17,6 @@
#ifndef MAP_FIXED
#define MAP_FIXED 0
#endif
-#endif
#define MAP_START (void *)0x7fff8000
#define MAP_LEN 0x10000
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
index 334ef9c..ad024dd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
@@ -1,3 +1,9 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_mmap] } {
+ return 1
+}
+
if [istarget "m68k-*-linux*"] {
# the executable is at the same position the test tries to remap
return 1
diff --git a/gcc/testsuite/gcc.dg/20030711-1.c b/gcc/testsuite/gcc.dg/20030711-1.c
index e76f54f..7649059 100644
--- a/gcc/testsuite/gcc.dg/20030711-1.c
+++ b/gcc/testsuite/gcc.dg/20030711-1.c
@@ -1,6 +1,6 @@
/* Test whether strncmp has not been "optimized" into memcmp
nor any code with memcmp semantics. */
-/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* *-*-darwin* } } */
+/* { dg-do run { target mmap } } */
/* { dg-options "-O2" } */
#include <stddef.h>
#include <stdio.h>
@@ -8,6 +8,9 @@
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif
+#ifndef MAP_ANON
+#define MAP_ANON 0
+#endif
#include <stdlib.h>
void __attribute__((noinline)) test (const char *p)
diff --git a/gcc/testsuite/gcc.dg/20050826-1.c b/gcc/testsuite/gcc.dg/20050826-1.c
index 9101fb0..e622505 100644
--- a/gcc/testsuite/gcc.dg/20050826-1.c
+++ b/gcc/testsuite/gcc.dg/20050826-1.c
@@ -1,6 +1,6 @@
/* Test whether strncmp has not been "optimized" into memcmp
nor any code with memcmp semantics. */
-/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* *-*-darwin* } } */
+/* { dg-do run { target mmap } } */
/* { dg-options "-O2" } */
#include <stddef.h>
#include <stdio.h>
@@ -9,6 +9,9 @@
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif
+#ifndef MAP_ANON
+#define MAP_ANON 0
+#endif
#include <stdlib.h>
struct Flags {
diff --git a/gcc/testsuite/gcc.dg/vect/pr49038.c b/gcc/testsuite/gcc.dg/vect/pr49038.c
index 681e5d5..c760ef5 100644
--- a/gcc/testsuite/gcc.dg/vect/pr49038.c
+++ b/gcc/testsuite/gcc.dg/vect/pr49038.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* *-*-darwin* } } */
+/* { dg-require-effective-target mmap } */
#include <sys/mman.h>
#include <stdio.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr36533.c b/gcc/testsuite/gcc.target/i386/pr36533.c
index a271fea..8d71ece 100644
--- a/gcc/testsuite/gcc.target/i386/pr36533.c
+++ b/gcc/testsuite/gcc.target/i386/pr36533.c
@@ -1,5 +1,5 @@
/* PR target/36533 */
-/* { dg-do run { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */
+/* { dg-do run { target { mmap && ilp32 } } } */
/* { dg-options "-Os" } */
#include <string.h>
#include <sys/mman.h>
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 30cca99..f7027bd 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -697,6 +697,14 @@ proc check_effective_target_fopenmp {} {
} "-fopenmp"]
}
+# Return 1 if the target supports mmap, 0 otherwise.
+
+proc check_effective_target_mmap {} {
+ return [check_no_compiler_messages mmap assembly {
+ #include <sys/mman.h>
+ }]
+}
+
# Return 1 if compilation with -pthread is error-free for trivial
# code, 0 otherwise.