diff options
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch')
| -rw-r--r-- | recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch new file mode 100644 index 0000000000..31122e34be --- /dev/null +++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | 2010-09-08 Tom de Vries <tom@codesourcery.com> | ||
| 2 | |||
| 3 | gcc/ | ||
| 4 | * gcc/emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P | ||
| 5 | for static const strings. | ||
| 6 | * gcc/testsuite/gcc.dg/memcpy-3.c: New test. | ||
| 7 | |||
| 8 | 2010-09-13 Andrew Stubbs <ams@codesourcery.com> | ||
| 9 | |||
| 10 | gcc/ | ||
| 11 | |||
| 12 | === modified file 'gcc/emit-rtl.c' | ||
| 13 | --- old/gcc/emit-rtl.c 2009-11-27 12:00:28 +0000 | ||
| 14 | +++ new/gcc/emit-rtl.c 2010-09-15 16:40:06 +0000 | ||
| 15 | @@ -1648,6 +1648,11 @@ | ||
| 16 | MEM_READONLY_P (ref) = 1; | ||
| 17 | } | ||
| 18 | |||
| 19 | + /* Mark static const strings readonly as well. */ | ||
| 20 | + if (base && TREE_CODE (base) == STRING_CST && TREE_READONLY (base) | ||
| 21 | + && TREE_STATIC (base)) | ||
| 22 | + MEM_READONLY_P (ref) = 1; | ||
| 23 | + | ||
| 24 | /* If this expression uses it's parent's alias set, mark it such | ||
| 25 | that we won't change it. */ | ||
| 26 | if (component_uses_parent_alias_set (t)) | ||
| 27 | |||
| 28 | === added file 'gcc/testsuite/gcc.dg/memcpy-3.c' | ||
| 29 | --- old/gcc/testsuite/gcc.dg/memcpy-3.c 1970-01-01 00:00:00 +0000 | ||
| 30 | +++ new/gcc/testsuite/gcc.dg/memcpy-3.c 2010-09-15 16:40:06 +0000 | ||
| 31 | @@ -0,0 +1,11 @@ | ||
| 32 | +/* { dg-do compile } */ | ||
| 33 | +/* { dg-options "-O2 -fdump-rtl-expand" } */ | ||
| 34 | + | ||
| 35 | +void | ||
| 36 | +f1 (char *p) | ||
| 37 | +{ | ||
| 38 | + __builtin_memcpy (p, "123", 3); | ||
| 39 | +} | ||
| 40 | + | ||
| 41 | +/* { dg-final { scan-rtl-dump-times "mem/s/u:" 3 "expand" { target mips*-*-* } } } */ | ||
| 42 | +/* { dg-final { cleanup-rtl-dump "expand" } } */ | ||
| 43 | |||
