X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftarget-descriptions.h;h=96d283fb37977088ee33699f3c45a4ef158026e7;hb=4ad2c6a03ecb7faaf2658d3f8fb94f06441f2ba8;hp=87403acc0d4d3dc7da4f2ca12c4778d5b9a5d353;hpb=12863263d6f610ec161aead53df89586787b2ce4;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target-descriptions.h b/gdb/target-descriptions.h index 87403acc0d..96d283fb37 100644 --- a/gdb/target-descriptions.h +++ b/gdb/target-descriptions.h @@ -1,6 +1,6 @@ /* Target description support for GDB. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. Contributed by CodeSourcery. @@ -21,7 +21,8 @@ #ifndef TARGET_DESCRIPTIONS_H #define TARGET_DESCRIPTIONS_H 1 -#include "common/tdesc.h" +#include "gdbsupport/tdesc.h" +#include "gdbarch.h" struct tdesc_arch_data; struct target_ops; @@ -199,9 +200,20 @@ struct type *tdesc_find_type (struct gdbarch *gdbarch, const char *id); int tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno, struct reggroup *reggroup); + +/* A deleter adapter for a target desc. */ + +struct target_desc_deleter +{ + void operator() (struct target_desc *desc) const; +}; + +/* A unique pointer specialization that holds a target_desc. */ + +typedef std::unique_ptr target_desc_up; + /* Methods for constructing a target description. */ -struct cleanup *make_cleanup_free_target_description (struct target_desc *); void set_tdesc_architecture (struct target_desc *, const struct bfd_arch_info *); void set_tdesc_osabi (struct target_desc *, enum gdb_osabi osabi); @@ -215,7 +227,7 @@ namespace selftests { /* Record that XML_FILE should generate a target description that equals TDESC, to be verified by the "maintenance check xml-descriptions" - command. */ + command. This function takes ownership of TDESC. */ void record_xml_tdesc (const char *xml_file, const struct target_desc *tdesc);