eval.c:evaluate_subexp_standard: Use RAII to avoid leaks
authorPedro Alves <palves@redhat.com>
Wed, 20 Sep 2017 23:34:41 +0000 (00:34 +0100)
committerPedro Alves <palves@redhat.com>
Wed, 20 Sep 2017 23:34:41 +0000 (00:34 +0100)
commitc83833f49353e1fe7fa727291210be751161ade1
tree1f970e1e52f2ade2132135fa24846826d34e460e
parentca464aac1b0a444f7debb8fc1e5e8b3f30602a35
eval.c:evaluate_subexp_standard: Use RAII to avoid leaks

While working on the no-debug-info debugging improvements series, I
noticed these bare xfree calls, which lead to leaks if
evaluate_subexp_standard throws.

Fix that by reworking make_params as a RAII class.  Ends up
eliminating a couple heap allocations too.

gdb/ChangeLog:
2017-09-20  Pedro Alves  <palves@redhat.com>

* eval.c (make_params): Delete, refactored as ...
(class fake_method): ... this new type's ctor.
(fake_method::~fake_method): New.
(evaluate_subexp_standard): Use 'fake_method'.
gdb/ChangeLog
gdb/eval.c