From fb9434129af1da94d412fa6469fdce2516f77596 Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Thu, 1 Mar 2018 10:58:49 +0000 Subject: [PATCH] [PATCH V3 1/8] Move tdesc header funcs to c file Move the destructor and equals operator for gdbserver tdesc from the .h to the .c file. Both functions are too long to be inlined and make the header look messy. Patch does not change any functionality. 2018-03-01 Alan Hayward gdbserver/ * tdesc.c (target_desc::~target_desc): Move to here. (target_desc::operator==): Likewise. * tdesc.h (target_desc::~target_desc): Move from here. (target_desc::operator==): Likewise. --- gdb/gdbserver/tdesc.c | 48 +++++++++++++++++++++++++++++++++++++++++++ gdb/gdbserver/tdesc.h | 44 ++------------------------------------- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c index 00a5e8dc4d6..e50a848e2f9 100644 --- a/gdb/gdbserver/tdesc.c +++ b/gdb/gdbserver/tdesc.c @@ -19,6 +19,54 @@ #include "tdesc.h" #include "regdef.h" +#ifndef IN_PROCESS_AGENT + +target_desc::~target_desc () +{ + int i; + + for (reg *reg : reg_defs) + xfree (reg); + + xfree ((char *) arch); + xfree ((char *) osabi); + + char *f; + + for (i = 0; VEC_iterate (char_ptr, features, i, f); i++) + xfree (f); + VEC_free (char_ptr, features); +} + +bool target_desc::operator== (const target_desc &other) const +{ + if (reg_defs.size () != other.reg_defs.size ()) + return false; + + for (int i = 0; i < reg_defs.size (); ++i) + { + struct reg *reg = reg_defs[i]; + struct reg *reg2 = other.reg_defs[i]; + + if (reg != reg2 && *reg != *reg2) + return false; + } + + /* Compare expedite_regs. */ + int i = 0; + for (; expedite_regs[i] != NULL; i++) + { + if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) + return false; + } + if (other.expedite_regs[i] != NULL) + return false; + + return true; +} + +#endif + void init_target_desc (struct target_desc *tdesc) { diff --git a/gdb/gdbserver/tdesc.h b/gdb/gdbserver/tdesc.h index d21574ca73e..4513ea74232 100644 --- a/gdb/gdbserver/tdesc.h +++ b/gdb/gdbserver/tdesc.h @@ -67,49 +67,9 @@ public: : registers_size (0) {} - ~target_desc () - { - int i; - - for (reg *reg : reg_defs) - xfree (reg); - - xfree ((char *) arch); - xfree ((char *) osabi); - - char *f; + ~target_desc (); - for (i = 0; VEC_iterate (char_ptr, features, i, f); i++) - xfree (f); - VEC_free (char_ptr, features); - } - - bool operator== (const target_desc &other) const - { - if (reg_defs.size () != other.reg_defs.size ()) - return false; - - for (int i = 0; i < reg_defs.size (); ++i) - { - struct reg *reg = reg_defs[i]; - struct reg *reg2 = other.reg_defs[i]; - - if (reg != reg2 && *reg != *reg2) - return false; - } - - /* Compare expedite_regs. */ - int i = 0; - for (; expedite_regs[i] != NULL; i++) - { - if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) - return false; - } - if (other.expedite_regs[i] != NULL) - return false; - - return true; - } + bool operator== (const target_desc &other) const; bool operator!= (const target_desc &other) const { -- 2.47.2