diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/loop-2f.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/loop-2f.x | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/loop-2g.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/loop-2g.x | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20030711-1.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20050826-1.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr49038.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr36533.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 8 |
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. |