diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-01-07 22:49:27 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-01-07 22:49:27 +0100 |
commit | b69d564b66feab18b4276bcd57849c98bc1fbaff (patch) | |
tree | 58fe4cd7348418bdcd7f9e9ba43ca1f869a45189 /gcc/config/darwin.c | |
parent | 6dd116bef6b4bf39ac8cce9e2e6e33c54d4a8a38 (diff) | |
download | gcc-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.c | 4 |
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]; |