Make tdesc_reg string fields std::string

Make the name, group and type fields of tdesc_reg std::strings.  This
way, we don't have to manually free them in ~tdesc_reg.

Doing so results in a small change in the generated tdesc.  Instead of
passing an empty string for the group parameter of tdesc_create_reg, the
two modified tdesc now pass NULL.  The end result should be the same.

gdb/ChangeLog:

	* target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
	type of name_ parameter, adjust to std::string change.
	<name, group, type>: Change type to std::string.
	<~tdesc_reg>: Replace with default implementation.
	<operator==>: Adjust.
	(tdesc_find_register_early): Adjust.
	(tdesc_register_name): Adjust.
	(tdesc_register_type): Adjust.
	(tdesc_register_in_reggroup_p): Adjust.
	(class print_c_tdesc) <visit>: Adjust.
	(class print_c_feature) <visit>: Adjust.
This commit is contained in:
Simon Marchi 2017-12-05 16:30:25 -05:00
parent c9c895b966
commit a8142ee195
4 changed files with 51 additions and 41 deletions

View file

@ -45,10 +45,10 @@ initialize_tdesc_arc_v2 (void)
tdesc_create_reg (feature, "fp", 27, 1, NULL, 32, "data_ptr");
tdesc_create_reg (feature, "sp", 28, 1, NULL, 32, "data_ptr");
tdesc_create_reg (feature, "ilink", 29, 1, NULL, 32, "code_ptr");
tdesc_create_reg (feature, "r30", 30, 1, "", 32, "int");
tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
tdesc_create_reg (feature, "blink", 31, 1, NULL, 32, "code_ptr");
tdesc_create_reg (feature, "lp_count", 32, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "pcl", 33, 1, "", 32, "code_ptr");
tdesc_create_reg (feature, "pcl", 33, 1, NULL, 32, "code_ptr");
feature = tdesc_create_feature (result, "org.gnu.gdb.arc.aux-minimal");
struct tdesc_type *field_type;