From 42fecb6183f4cce4e85473b8c43d90ec0ea562e7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 8 Mar 2021 07:27:57 -0700 Subject: Introduce ada_string_operation This adds class ada_string_operation, which implements string constants for Ada. gdb/ChangeLog 2021-03-08 Tom Tromey * ada-lang.c (ada_string_operation::evaluate): New method. * ada-exp.h (class ada_string_operation): New. --- gdb/ada-lang.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gdb/ada-lang.c') diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 4db5823..0666302 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -10414,6 +10414,19 @@ ada_wrapped_operation::evaluate (struct type *expect_type, return result; } +value * +ada_string_operation::evaluate (struct type *expect_type, + struct expression *exp, + enum noside noside) +{ + value *result = string_operation::evaluate (expect_type, exp, noside); + /* The result type will have code OP_STRING, bashed there from + OP_ARRAY. Bash it back. */ + if (value_type (result)->code () == TYPE_CODE_STRING) + value_type (result)->set_code (TYPE_CODE_ARRAY); + return result; +} + } /* Implement the evaluate_exp routine in the exp_descriptor structure -- cgit v1.1