------- Comment #9 from jakub at gcc dot gnu dot org 2008-01-07 14:59 -------
Guess you want something like:
2008-01-07 Jakub Jelinek <[EMAIL PROTECTED]>
PR target/34622
* config/darwin.c (darwin_mergeable_string_section): Don't use
.cstring if int_size_in_bytes != TREE_STRING_LENGTH.
--- gcc/config/darwin.c.jj 2007-10-11 10:54:22.000000000 +0200
+++ gcc/config/darwin.c 2008-01-07 15:57:52.000000000 +0100
@@ -1136,6 +1136,8 @@ darwin_mergeable_string_section (tree ex
&& 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];
But, it is not a regression in that case, even 4.1 had that bug.
Can't test on darwin though...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34622