X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fax-general.c;h=d377d0b6eb254f2488c21d031517a89f75c1b27c;hb=12a8555a5402b46da5ad39e29156c0d6b3a81a78;hp=7f27a458a98089713b48605e289e49b75b0140c1;hpb=1eb7c2d886c0faac42d2b68862b0e6b0d3182d98;p=external%2Fbinutils.git diff --git a/gdb/ax-general.c b/gdb/ax-general.c index 7f27a45..d377d0b 100644 --- a/gdb/ax-general.c +++ b/gdb/ax-general.c @@ -1,5 +1,5 @@ /* Functions for manipulating expressions designed to be executed on the agent - Copyright (C) 1998-2016 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -23,6 +23,7 @@ #include "defs.h" #include "ax.h" +#include "gdbarch.h" #include "value.h" #include "user-regs.h" @@ -37,52 +38,30 @@ static void generic_ext (struct agent_expr *x, enum agent_op op, int n); /* Functions for building expressions. */ -/* Allocate a new, empty agent expression. */ -struct agent_expr * -new_agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope) +agent_expr::agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope) { - struct agent_expr *x = XNEW (struct agent_expr); - - x->len = 0; - x->size = 1; /* Change this to a larger value once + this->len = 0; + this->size = 1; /* Change this to a larger value once reallocation code is tested. */ - x->buf = (unsigned char *) xmalloc (x->size); + this->buf = (unsigned char *) xmalloc (this->size); - x->gdbarch = gdbarch; - x->scope = scope; + this->gdbarch = gdbarch; + this->scope = scope; /* Bit vector for registers used. */ - x->reg_mask_len = 1; - x->reg_mask = XCNEWVEC (unsigned char, x->reg_mask_len); - - x->tracing = 0; - x->trace_string = 0; + this->reg_mask_len = 1; + this->reg_mask = XCNEWVEC (unsigned char, this->reg_mask_len); - return x; + this->tracing = 0; + this->trace_string = 0; } -/* Free a agent expression. */ -void -free_agent_expr (struct agent_expr *x) +agent_expr::~agent_expr () { - xfree (x->buf); - xfree (x->reg_mask); - xfree (x); + xfree (this->buf); + xfree (this->reg_mask); } -static void -do_free_agent_expr_cleanup (void *x) -{ - free_agent_expr ((struct agent_expr *) x); -} - -struct cleanup * -make_cleanup_free_agent_expr (struct agent_expr *x) -{ - return make_cleanup (do_free_agent_expr_cleanup, x); -} - - /* Make sure that X has room for at least N more bytes. This doesn't affect the length, just the allocated size. */ static void @@ -375,7 +354,7 @@ struct aop_map aop_map[] = {0, 0, 0, 0, 0} #define DEFOP(NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED, VALUE) \ , { # NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED } -#include "ax.def" +#include "gdbsupport/ax.def" #undef DEFOP };