aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-01-08 00:29:27 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2011-01-07 23:29:27 +0000
commit804a780f854e646dcf2ec4687f597da7c738aecf (patch)
treeb709a90ad2e15f6ba376cca3533ac5ff20192a40 /gcc
parent17afc0fe9c02a8fa207c2d0d8519fb5f5c339929 (diff)
downloadgcc-804a780f854e646dcf2ec4687f597da7c738aecf.zip
gcc-804a780f854e646dcf2ec4687f597da7c738aecf.tar.gz
gcc-804a780f854e646dcf2ec4687f597da7c738aecf.tar.bz2
Get builtins tests ready for linker plugin.
* gcc.c-torture/execute/builtins/memcpy-chk.c (s2,s3,l1): Mark volatile. * gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memcpy, my_bcopy, my_memset, my_bzero): Mark used. * gcc.c-torture/execute/builtins/memset-chk.c (l1, l3): Mark volatile. * gcc.c-torture/execute/builtins/memmove-chk.c (s1,s2,s3,l1): Mark volatile. * gcc.c-torture/execute/builtins/mempcpy-chk.c (s2,s3,l1): Mark volatile From-SVN: r168588
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c4
6 files changed, 34 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e91432e..def9433 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,15 @@
2011-01-07 Jan Hubicka <jh@suse.cz>
+ Get builtins tests ready for linker plugin.
+ * gcc.c-torture/execute/builtins/memcpy-chk.c (s2,s3,l1): Mark volatile.
+ * gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memcpy, my_bcopy, my_memset,
+ my_bzero): Mark used.
+ * gcc.c-torture/execute/builtins/memset-chk.c (l1, l3): Mark volatile.
+ * gcc.c-torture/execute/builtins/memmove-chk.c (s1,s2,s3,l1): Mark volatile.
+ * gcc.c-torture/execute/builtins/mempcpy-chk.c (s2,s3,l1): Mark volatile
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
PR tree-optimization/46367
* g++.dg/torture/pr46367.C: New file.
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c b/gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c
index 28f7ae7..5b245e5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c
@@ -12,9 +12,9 @@ extern int memcmp (const void *, const void *, size_t);
const char s1[] = "123";
char p[32] = "";
-char *s2 = "defg";
-char *s3 = "FGH";
-size_t l1 = 1;
+volatile char *s2 = "defg"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile char *s3 = "FGH"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile size_t l1 = 1; /* prevent constant propagation to happen when whole program assumptions are made. */
void
__attribute__((noinline))
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c b/gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c
index 1227227..73b3588 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c
@@ -11,11 +11,11 @@ extern int memcmp (const void *, const void *, size_t);
#include "chk.h"
-const char s1[] = "123";
+const char s1[] = "123";
char p[32] = "";
-char *s2 = "defg";
-char *s3 = "FGH";
-size_t l1 = 1;
+volatile char *s2 = "defg"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile char *s3 = "FGH"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile size_t l1 = 1; /* prevent constant propagation to happen when whole program assumptions are made. */
void
__attribute__((noinline))
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
index eeffe5c..0000529 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
@@ -4,6 +4,9 @@ typedef __SIZE_TYPE__ size_t;
#define TEST_ABORT if (inside_main) abort()
+/* LTO code is at the present to able to track that asm alias my_bcopy on builtin
+ actually refers to this function. See PR47181. */
+__attribute__ ((used))
void *
my_memcpy (void *d, const void *s, size_t n)
{
@@ -14,6 +17,9 @@ my_memcpy (void *d, const void *s, size_t n)
return (char *) d;
}
+/* LTO code is at the present to able to track that asm alias my_bcopy on builtin
+ actually refers to this function. See PR47181. */
+__attribute__ ((used))
void
my_bcopy (const void *s, void *d, size_t n)
{
@@ -31,6 +37,9 @@ my_bcopy (const void *s, void *d, size_t n)
}
}
+/* LTO code is at the present to able to track that asm alias my_bcopy on builtin
+ actually refers to this function. See PR47181. */
+__attribute__ ((used))
void *
my_memset (void *d, int c, size_t n)
{
@@ -40,6 +49,9 @@ my_memset (void *d, int c, size_t n)
return (char *) d;
}
+/* LTO code is at the present to able to track that asm alias my_bcopy on builtin
+ actually refers to this function. See PR47181. */
+__attribute__ ((used))
void
my_bzero (void *d, size_t n)
{
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c b/gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c
index a59d59b..7a1737c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c
@@ -13,9 +13,9 @@ extern int memcmp (const void *, const void *, size_t);
const char s1[] = "123";
char p[32] = "";
-char *s2 = "defg";
-char *s3 = "FGH";
-size_t l1 = 1;
+volatile char *s2 = "defg"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile char *s3 = "FGH"; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile size_t l1 = 1; /* prevent constant propagation to happen when whole program assumptions are made. */
void
__attribute__((noinline))
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c b/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c
index a8f09a7..902a885 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c
@@ -13,8 +13,8 @@ extern int memcmp (const void *, const void *, size_t);
char buffer[32];
int argc = 1;
-size_t l1 = 1;
-char *s3 = "FGH";
+volatile size_t l1 = 1; /* prevent constant propagation to happen when whole program assumptions are made. */
+volatile char *s3 = "FGH"; /* prevent constant propagation to happen when whole program assumptions are made. */
char *s4;
void