From: Simon Marchi <simon.marchi@efficios.com>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@efficios.com>
Subject: [PATCH 3/7] gdb: convert d_left and d_right macros into functions
Date: Thu, 1 Oct 2026 16:30:01 -0400 [thread overview]
Message-ID: <20261001203105.1379971-4-simon.marchi@efficios.com> (raw)
In-Reply-To: <20261001203105.1379971-1-simon.marchi@efficios.com>
Replace the d_left and d_right macros with static inline functions.
They need to return a reference, because some callers assign to the
result:
d_right ($1.last) = $2;
and some take the address:
$$.last = &d_right ($$.comp);
Change-Id: I7d8bd71ffde82a0fdfd2e2dcb87461043f82ef4f
---
gdb/cp-name-parser.h | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/gdb/cp-name-parser.h b/gdb/cp-name-parser.h
index 083631f20a67..f9d3a6968f9d 100644
--- a/gdb/cp-name-parser.h
+++ b/gdb/cp-name-parser.h
@@ -26,8 +26,21 @@
union cp_name_parser_YYSTYPE;
struct demangle_parse_info;
-#define d_left(dc) (dc)->u.s_binary.left
-#define d_right(dc) (dc)->u.s_binary.right
+/* Return a reference to the left child of binary component DC. */
+
+static inline struct demangle_component *&
+d_left (struct demangle_component *dc)
+{
+ return dc->u.s_binary.left;
+}
+
+/* Return a reference to the right child of binary component DC. */
+
+static inline struct demangle_component *&
+d_right (struct demangle_component *dc)
+{
+ return dc->u.s_binary.right;
+}
namespace cp_name_parser {
--
2.55.0
next prev parent reply other threads:[~2026-10-01 20:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 20:29 [PATCH 0/7] Leftovers from parsers cleanup Simon Marchi
2026-10-01 20:29 ` [PATCH 1/7] gdb: convert QUAL_* macros into an enum_flags Simon Marchi
2026-10-01 20:30 ` [PATCH 2/7] gdb: convert INT_* " Simon Marchi
2026-10-01 20:30 ` Simon Marchi [this message]
2026-10-01 20:30 ` [PATCH 4/7] gdb: replace cp-name-parser.c macros with lambdas Simon Marchi
2026-10-01 20:30 ` [PATCH 5/7] gdb: use std::string for f-exp-parser.c's tempbuf Simon Marchi
2026-10-01 20:30 ` [PATCH 6/7] gdb: remove qsort kludge from ada-exp-parser.y Simon Marchi
2026-10-01 20:30 ` [PATCH 7/7] gdb: make COMPLETE_CHAR a constexpr Simon Marchi
2026-10-14 12:54 ` [PATCH 0/7] Leftovers from parsers cleanup Tom Tromey
2026-10-14 13:13 ` Simon Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261001203105.1379971-4-simon.marchi@efficios.com \
--to=simon.marchi@efficios.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox