On 1/30/25 3:19 AM, Iain Sandoe wrote:
Fixes a regression in handling Objective-C++ strings.
Tested on x86_64-darwin21, OK for trunk?
OK.
thanks
Iain
--- 8< ---
Objective-C++ uses CONST_DECLs to hold constant string objects
these should also be treated as mergable lvalues.
PR c++/118673
gcc/cp/ChangeLog:
* tree.cc (lvalue_kind): Mark CONST_DECLs as mergable
when they are also TREE_STATIC.
Signed-off-by: Iain Sandoe <i...@sandoe.co.uk>
---
gcc/cp/tree.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index fb6b2b18e94..79bc74fa2b7 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -213,7 +213,7 @@ lvalue_kind (const_tree ref)
&& DECL_IN_AGGR_P (ref))
return clk_none;
- if (DECL_MERGEABLE (ref))
+ if (TREE_CODE (ref) == CONST_DECL || DECL_MERGEABLE (ref))
return clk_ordinary | clk_mergeable;
/* FALLTHRU */