Convert objc-lang.c to type-safe registry API
This changes objc-lang.c to use the type-safe registry API. gdb/ChangeLog 2019-05-08 Tom Tromey <tom@tromey.com> * objc-lang.c (objc_objfile_data): Change type. (find_methods): Update. (_initialize_objc_lang): Remove.
This commit is contained in:
parent
d772d2abcc
commit
4c58e3376d
2 changed files with 9 additions and 13 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2019-05-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* objc-lang.c (objc_objfile_data): Change type.
|
||||||
|
(find_methods): Update.
|
||||||
|
(_initialize_objc_lang): Remove.
|
||||||
|
|
||||||
2019-05-08 Tom Tromey <tom@tromey.com>
|
2019-05-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* stabsread.c (rs6000_builtin_type_data): Change type.
|
* stabsread.c (rs6000_builtin_type_data): Change type.
|
||||||
|
|
|
@ -75,7 +75,7 @@ struct objc_method {
|
||||||
CORE_ADDR imp;
|
CORE_ADDR imp;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct objfile_data *objc_objfile_data;
|
static const struct objfile_key<unsigned int> objc_objfile_data;
|
||||||
|
|
||||||
/* Lookup a structure type named "struct NAME", visible in lexical
|
/* Lookup a structure type named "struct NAME", visible in lexical
|
||||||
block BLOCK. If NOERR is nonzero, return zero if NAME is not
|
block BLOCK. If NOERR is nonzero, return zero if NAME is not
|
||||||
|
@ -1004,7 +1004,7 @@ find_methods (char type, const char *theclass, const char *category,
|
||||||
|
|
||||||
unsigned int objfile_csym = 0;
|
unsigned int objfile_csym = 0;
|
||||||
|
|
||||||
objc_csym = (unsigned int *) objfile_data (objfile, objc_objfile_data);
|
objc_csym = objc_objfile_data.get (objfile);
|
||||||
if (objc_csym != NULL && *objc_csym == 0)
|
if (objc_csym != NULL && *objc_csym == 0)
|
||||||
/* There are no ObjC symbols in this objfile. Skip it entirely. */
|
/* There are no ObjC symbols in this objfile. Skip it entirely. */
|
||||||
continue;
|
continue;
|
||||||
|
@ -1056,11 +1056,7 @@ find_methods (char type, const char *theclass, const char *category,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (objc_csym == NULL)
|
if (objc_csym == NULL)
|
||||||
{
|
objc_csym = objc_objfile_data.emplace (objfile, objfile_csym);
|
||||||
objc_csym = XOBNEW (&objfile->objfile_obstack, unsigned int);
|
|
||||||
*objc_csym = objfile_csym;
|
|
||||||
set_objfile_data (objfile, objc_objfile_data, objc_csym);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
/* Count of ObjC methods in this objfile should be constant. */
|
/* Count of ObjC methods in this objfile should be constant. */
|
||||||
gdb_assert (*objc_csym == objfile_csym);
|
gdb_assert (*objc_csym == objfile_csym);
|
||||||
|
@ -1576,9 +1572,3 @@ resolve_msgsend_super_stret (CORE_ADDR pc, CORE_ADDR *new_pc)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_initialize_objc_lang (void)
|
|
||||||
{
|
|
||||||
objc_objfile_data = register_objfile_data ();
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue