diff options
author | Tom Tromey <tromey@adacore.com> | 2022-03-09 14:34:22 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-03-16 09:28:13 -0600 |
commit | b1b9c4115ed04876813a40c0051636c0ad916993 (patch) | |
tree | 8f03d73466e7988072b42d9342e08001753675ef /gdb/ada-exp.h | |
parent | a73c128df6e149c36940240f2b2198f9732ab6c7 (diff) | |
download | gdb-b1b9c4115ed04876813a40c0051636c0ad916993.zip gdb-b1b9c4115ed04876813a40c0051636c0ad916993.tar.gz gdb-b1b9c4115ed04876813a40c0051636c0ad916993.tar.bz2 |
Reimplement array concatenation for Ada and D
This started as a patch to implement string concatenation for Ada.
However, while working on this, I looked at how this code could
possibly be called. It turns out there are only two users of
concat_operation: Ada and D. So, in addition to implementing this for
Ada, this patch rewrites value_concat, removing the odd "concatenate
or repeat" semantics, which were completely unused. As Ada and D both
seem to represent strings using TYPE_CODE_ARRAY, this removes the
TYPE_CODE_STRING code from there as well.
Diffstat (limited to 'gdb/ada-exp.h')
-rw-r--r-- | gdb/ada-exp.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/ada-exp.h b/gdb/ada-exp.h index 765f0dc..44ca254 100644 --- a/gdb/ada-exp.h +++ b/gdb/ada-exp.h @@ -769,6 +769,21 @@ public: bool parse_completion, innermost_block_tracker *tracker, struct type *context_type) override; + + value *evaluate (struct type *expect_type, + struct expression *exp, + enum noside noside) override; +}; + +class ada_concat_operation : public concat_operation +{ +public: + + using concat_operation::concat_operation; + + value *evaluate (struct type *expect_type, + struct expression *exp, + enum noside noside) override; }; } /* namespace expr */ |