Make the objfile constructor private
This changes the objfile constructor to be private, changing the callers to use a factory method. This isn't perhaps strictly needed for the goal of this series -- changing the container model of objfiles -- but is a nice symmetry. gdb/ChangeLog 2019-12-12 Tom Tromey <tom@tromey.com> * symfile.c (symbol_file_add_with_addrs): Use objfile::make. * objfiles.h (struct objfile): Make constructor private. <make>: New static method. * jit.c (jit_object_close_impl): Update. Change-Id: I42e07bc80a88cf3322ace94ffe869ae5788bcb29
This commit is contained in:
parent
ac0ab1842d
commit
bda13cdcf0
|
@ -1,3 +1,10 @@
|
|||
2019-12-12 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* symfile.c (symbol_file_add_with_addrs): Use objfile::make.
|
||||
* objfiles.h (struct objfile): Make constructor private.
|
||||
<make>: New static method.
|
||||
* jit.c (jit_object_close_impl): Update.
|
||||
|
||||
2019-12-12 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* jit.c (jit_reader_try_read_symtab): Replace xmalloc/xfree with
|
||||
|
|
|
@ -786,8 +786,8 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb,
|
|||
|
||||
priv_data = (jit_dbg_reader_data *) cb->priv_data;
|
||||
|
||||
objfile = new struct objfile (NULL, "<< JIT compiled code >>",
|
||||
OBJF_NOT_FILENAME);
|
||||
objfile = objfile::make (nullptr, "<< JIT compiled code >>",
|
||||
OBJF_NOT_FILENAME);
|
||||
objfile->per_bfd->gdbarch = target_gdbarch ();
|
||||
|
||||
j = NULL;
|
||||
|
|
|
@ -394,7 +394,19 @@ private:
|
|||
|
||||
struct objfile
|
||||
{
|
||||
private:
|
||||
|
||||
/* The only way to create an objfile is to call objfile::make. */
|
||||
objfile (bfd *, const char *, objfile_flags);
|
||||
|
||||
public:
|
||||
|
||||
/* Create an objfile. */
|
||||
static objfile *make (bfd *bfd_, const char *name_, objfile_flags flags_)
|
||||
{
|
||||
return new objfile (bfd_, name_, flags_);
|
||||
}
|
||||
|
||||
~objfile ();
|
||||
|
||||
DISABLE_COPY_AND_ASSIGN (objfile);
|
||||
|
|
|
@ -1093,7 +1093,7 @@ symbol_file_add_with_addrs (bfd *abfd, const char *name,
|
|||
|
||||
if (mainline)
|
||||
flags |= OBJF_MAINLINE;
|
||||
objfile = new struct objfile (abfd, name, flags);
|
||||
objfile = objfile::make (abfd, name, flags);
|
||||
|
||||
if (parent)
|
||||
add_separate_debug_objfile (objfile, parent);
|
||||
|
|
Loading…
Reference in New Issue