Fixes a regression in handling Objective-C++ strings. Tested on x86_64-darwin21, OK for trunk? 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 */ -- 2.39.2 (Apple Git-143)