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
This commit is contained in:
parent
17afc0fe9c
commit
804a780f85
6 changed files with 34 additions and 12 deletions
|
@ -1,3 +1,13 @@
|
|||
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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue