aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/darwin.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-01-07 22:49:27 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-01-07 22:49:27 +0100
commitb69d564b66feab18b4276bcd57849c98bc1fbaff (patch)
tree58fe4cd7348418bdcd7f9e9ba43ca1f869a45189 /gcc/config/darwin.c
parent6dd116bef6b4bf39ac8cce9e2e6e33c54d4a8a38 (diff)
downloadgcc-b69d564b66feab18b4276bcd57849c98bc1fbaff.zip
gcc-b69d564b66feab18b4276bcd57849c98bc1fbaff.tar.gz
gcc-b69d564b66feab18b4276bcd57849c98bc1fbaff.tar.bz2
re PR target/34622 (gcc.c-torture/execute/20000801-4.c fails at -O1 and above)
PR target/34622 * config/darwin.c (darwin_mergeable_string_section): Don't use .cstring if int_size_in_bytes != TREE_STRING_LENGTH. From-SVN: r131386
Diffstat (limited to 'gcc/config/darwin.c')
-rw-r--r--gcc/config/darwin.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 66d1ab0..307698d 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1,6 +1,6 @@
/* Functions for generic Darwin as target machine for GNU C compiler.
Copyright (C) 1989, 1990, 1991, 1992, 1993, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007
+ 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
@@ -1136,6 +1136,8 @@ darwin_mergeable_string_section (tree exp,
&& TREE_CODE (exp) == STRING_CST
&& TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE
&& align <= 256
+ && (int_size_in_bytes (TREE_TYPE (exp))
+ == TREE_STRING_LENGTH (exp))
&& ((size_t) TREE_STRING_LENGTH (exp)
== strlen (TREE_STRING_POINTER (exp)) + 1))
return darwin_sections[cstring_section];