Implement some agent expressions for Ada
authorTom Tromey <tromey@adacore.com>
Wed, 21 Dec 2022 18:52:37 +0000 (11:52 -0700)
committerTom Tromey <tromey@adacore.com>
Mon, 27 Feb 2023 15:09:02 +0000 (08:09 -0700)
commit013a623f4cb70060556cf302f4ae54d5f96e66e1
tree1ece7263df373e35700ee0aa30c1f91d34b4c622
parentd11280feed53fa1faa2c543fb04344ae312143b2
Implement some agent expressions for Ada

Ada historically has not implemented agent expressions, and some Ada
constructs probably cannot reasonably be converted to agent
expressions.  However, a subset of simple operations can be, and this
patch represents a first step in that direction.

On one internal AdaCore test case, this improves the performance of a
conditional breakpoint from 5 minutes to 5 seconds.

The main tricky part in this patch is ensuring the converted
expressions detect the cases that will not work.  This is done by
examining the code in the corresponding evaluation methods.
gdb/ada-exp.h
gdb/ada-lang.c
gdb/testsuite/gdb.ada/ax-ada.exp [new file with mode: 0644]
gdb/testsuite/gdb.ada/ax-ada/prog.adb [new file with mode: 0644]