public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r11-11386] Darwin: Fix a typo in Objective-C meta-data.
@ 2024-04-28 14:37 Iain D Sandoe
  0 siblings, 0 replies; only message in thread
From: Iain D Sandoe @ 2024-04-28 14:37 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:310b047f4b723e0dd21a212c8ba051c380030cf4

commit r11-11386-g310b047f4b723e0dd21a212c8ba051c380030cf4
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Mon Jan 8 16:17:04 2024 +0000

    Darwin: Fix a typo in Objective-C meta-data.
    
    We have a typo in the metadata for assigning NSStrings to a specific
    section for the V1 (32b) ABI.  When that is fixed we should never see
    the case where the section needs to be deduced from the properties of
    the DECLs.
    
    gcc/ChangeLog:
    
            * config/darwin.c (darwin_objc1_section): Use the correct
            meta-data version for constant strings.
            (machopic_select_section): Assert if we fail to handle CFString
            sections as Obejctive-C meta-data or drectly.
    
    Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
    (cherry picked from commit 8d26636f0da31e6c17b57ced52bfc61a45f23cee)

Diff:
---
 gcc/config/darwin.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 4f1221d636c..ec779332544 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1596,7 +1596,7 @@ darwin_objc1_section (tree decl ATTRIBUTE_UNUSED, tree meta, section * base)
   else if (!strncmp (p, "V1_CEXT", 7))
     return darwin_sections[objc1_class_ext_section];
 
-  else if (!strncmp (p, "V2_CSTR", 7))
+  else if (!strncmp (p, "V1_CSTR", 7))
     return darwin_sections[objc_constant_string_object_section];
 
   return base;
@@ -1740,7 +1740,7 @@ machopic_select_section (tree decl,
 	return base_section; /* GNU runtime is happy with it all in one pot.  */
     }
 
-  /* b) Constant string objects.  */
+  /* b) Constructors for constant NSstring [but not CFString] objects.  */
   if (TREE_CODE (decl) == CONSTRUCTOR
       && TREE_TYPE (decl)
       && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE
@@ -1762,6 +1762,12 @@ machopic_select_section (tree decl,
 	  else
 	    return darwin_sections[objc_string_object_section];
 	}
+      else if (!strcmp (IDENTIFIER_POINTER (name), "__builtin_CFString"))
+	{
+	  /* We should have handled __anon_cfstrings above.  */
+	  gcc_checking_assert (0);
+	  return darwin_sections[cfstring_constant_object_section];
+	}
       else
 	return base_section;
     }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-28 14:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-28 14:37 [gcc r11-11386] Darwin: Fix a typo in Objective-C meta-data Iain D Sandoe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).