From d6541620447f43985b34e9a39488bafb38158221 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Tue, 19 Sep 2017 10:10:03 +0100 Subject: [PATCH] Use DISABLE_COPY_AND_ASSIGN We have many classes that copy cotr and assignment operator are deleted, so this patch replaces these existing mechanical code with macro DISABLE_COPY_AND_ASSIGN. gdb: 2017-09-19 Yao Qi * annotate.h (struct annotate_arg_emitter): Use DISABLE_COPY_AND_ASSIGN. * common/refcounted-object.h (refcounted_object): Likewise. * completer.h (struct completion_result): Likewise. * dwarf2read.c (struct dwarf2_per_objfile): Likewise. * filename-seen-cache.h (filename_seen_cache): Likewise. * gdbcore.h (thread_section_name): Likewise. * gdb_regex.h (compiled_regex): Likewise. * gdbthread.h (scoped_restore_current_thread): Likewise. * inferior.h (scoped_restore_current_inferior): Likewise. * jit.c (jit_reader): Likewise. * linespec.h (struct linespec_result): Likewise. * mi/mi-parse.h (struct mi_parse): Likewise. * nat/fork-inferior.c (execv_argv): Likewise. * progspace.h (scoped_restore_current_program_space): Likewise. * python/python-internal.h (class gdbpy_enter): Likewise. * regcache.h (regcache): Likewise. * target-descriptions.c (struct tdesc_reg): Likewise. (struct tdesc_type): Likewise. (struct tdesc_feature): Likewise. * ui-out.h (ui_out_emit_type): Likewise. --- gdb/ChangeLog | 24 ++++++++++++++++++++++++ gdb/annotate.h | 3 +-- gdb/common/refcounted-object.h | 4 +--- gdb/completer.h | 8 ++------ gdb/dwarf2read.c | 4 +--- gdb/filename-seen-cache.h | 4 +--- gdb/gdb_regex.h | 4 +--- gdb/gdbcore.h | 4 +--- gdb/gdbthread.h | 6 +----- gdb/inferior.h | 6 +----- gdb/jit.c | 3 +-- gdb/linespec.h | 3 +-- gdb/mi/mi-parse.h | 3 +-- gdb/nat/fork-inferior.c | 4 +--- gdb/progspace.h | 6 +----- gdb/python/python-internal.h | 3 +-- gdb/regcache.h | 3 +-- gdb/target-descriptions.c | 13 ++++--------- gdb/ui-out.h | 4 +--- 19 files changed, 46 insertions(+), 63 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eb03722f136..ab982ab5874 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,27 @@ +2017-09-19 Yao Qi + + * annotate.h (struct annotate_arg_emitter): Use + DISABLE_COPY_AND_ASSIGN. + * common/refcounted-object.h (refcounted_object): Likewise. + * completer.h (struct completion_result): Likewise. + * dwarf2read.c (struct dwarf2_per_objfile): Likewise. + * filename-seen-cache.h (filename_seen_cache): Likewise. + * gdbcore.h (thread_section_name): Likewise. + * gdb_regex.h (compiled_regex): Likewise. + * gdbthread.h (scoped_restore_current_thread): Likewise. + * inferior.h (scoped_restore_current_inferior): Likewise. + * jit.c (jit_reader): Likewise. + * linespec.h (struct linespec_result): Likewise. + * mi/mi-parse.h (struct mi_parse): Likewise. + * nat/fork-inferior.c (execv_argv): Likewise. + * progspace.h (scoped_restore_current_program_space): Likewise. + * python/python-internal.h (class gdbpy_enter): Likewise. + * regcache.h (regcache): Likewise. + * target-descriptions.c (struct tdesc_reg): Likewise. + (struct tdesc_type): Likewise. + (struct tdesc_feature): Likewise. + * ui-out.h (ui_out_emit_type): Likewise. + 2017-09-18 Simon Marchi * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove diff --git a/gdb/annotate.h b/gdb/annotate.h index 7161689b390..8a9a64147df 100644 --- a/gdb/annotate.h +++ b/gdb/annotate.h @@ -81,8 +81,7 @@ struct annotate_arg_emitter annotate_arg_emitter () { annotate_arg_begin (); } ~annotate_arg_emitter () { annotate_arg_end (); } - annotate_arg_emitter (const annotate_arg_emitter &) = delete; - annotate_arg_emitter &operator= (const annotate_arg_emitter &) = delete; + DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter); }; extern void annotate_source (char *, int, int, int, diff --git a/gdb/common/refcounted-object.h b/gdb/common/refcounted-object.h index 9d0ac10e76b..97116803238 100644 --- a/gdb/common/refcounted-object.h +++ b/gdb/common/refcounted-object.h @@ -45,9 +45,7 @@ public: int refcount () const { return m_refcount; } private: - /* Disable copy. */ - refcounted_object (const refcounted_object &) = delete; - refcounted_object &operator=(const refcounted_object &) = delete; + DISABLE_COPY_AND_ASSIGN (refcounted_object); /* The reference count. */ int m_refcount = 0; diff --git a/gdb/completer.h b/gdb/completer.h index f68c6dcd712..82a994c8b35 100644 --- a/gdb/completer.h +++ b/gdb/completer.h @@ -85,9 +85,7 @@ struct completion_result /* Destroy a result. */ ~completion_result (); - /* Disable copying, since we don't need it. */ - completion_result (const completion_result &rhs) = delete; - void operator= (const completion_result &rhs) = delete; + DISABLE_COPY_AND_ASSIGN (completion_result); /* Move a result. */ completion_result (completion_result &&rhs); @@ -146,9 +144,7 @@ public: completion_tracker (); ~completion_tracker (); - /* Disable copy. */ - completion_tracker (const completion_tracker &rhs) = delete; - void operator= (const completion_tracker &rhs) = delete; + DISABLE_COPY_AND_ASSIGN (completion_tracker); /* Add the completion NAME to the list of generated completions if it is not there already. If too many completions were already diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index d97ef922662..b1914cf8765 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -232,9 +232,7 @@ struct dwarf2_per_objfile ~dwarf2_per_objfile (); - /* Disable copy. */ - dwarf2_per_objfile (const dwarf2_per_objfile &) = delete; - void operator= (const dwarf2_per_objfile &) = delete; + DISABLE_COPY_AND_ASSIGN (dwarf2_per_objfile); /* Free all cached compilation units. */ void free_cached_comp_units (); diff --git a/gdb/filename-seen-cache.h b/gdb/filename-seen-cache.h index dd9cf7a8d79..549effd3519 100644 --- a/gdb/filename-seen-cache.h +++ b/gdb/filename-seen-cache.h @@ -28,9 +28,7 @@ public: filename_seen_cache (); ~filename_seen_cache (); - /* Disable copy. */ - filename_seen_cache (const filename_seen_cache &) = delete; - void operator= (const filename_seen_cache &) = delete; + DISABLE_COPY_AND_ASSIGN (filename_seen_cache); /* Empty the cache, but do not delete it. */ void clear (); diff --git a/gdb/gdb_regex.h b/gdb/gdb_regex.h index f62f81d3664..1ef948ed63a 100644 --- a/gdb/gdb_regex.h +++ b/gdb/gdb_regex.h @@ -43,9 +43,7 @@ public: ~compiled_regex (); - /* Disable copy. */ - compiled_regex (const compiled_regex&) = delete; - void operator= (const compiled_regex&) = delete; + DISABLE_COPY_AND_ASSIGN (compiled_regex); /* Wrapper around ::regexec. */ int exec (const char *string, diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index a25a2312ac9..5d4e36e0c13 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -258,9 +258,7 @@ public: const char *c_str () const { return m_section_name; } - /* Disable copy. */ - thread_section_name (const thread_section_name &) = delete; - void operator= (const thread_section_name &) = delete; + DISABLE_COPY_AND_ASSIGN (thread_section_name); private: /* Either a pointer into M_STORAGE, or a pointer to the name passed diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h index 046bf95cf6f..fe7acc2c700 100644 --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -597,11 +597,7 @@ public: scoped_restore_current_thread (); ~scoped_restore_current_thread (); - /* Disable copy. */ - scoped_restore_current_thread - (const scoped_restore_current_thread &) = delete; - void operator= - (const scoped_restore_current_thread &) = delete; + DISABLE_COPY_AND_ASSIGN (scoped_restore_current_thread); private: thread_info *m_thread; diff --git a/gdb/inferior.h b/gdb/inferior.h index 6d020f73c41..7f2d53e5b3a 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -527,11 +527,7 @@ public: ~scoped_restore_current_inferior () { set_current_inferior (m_saved_inf); } - /* Disable copy. */ - scoped_restore_current_inferior - (const scoped_restore_current_inferior &) = delete; - void operator= - (const scoped_restore_current_inferior &) = delete; + DISABLE_COPY_AND_ASSIGN (scoped_restore_current_inferior); private: inferior *m_saved_inf; diff --git a/gdb/jit.c b/gdb/jit.c index 72eed50befd..fbfee991c94 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -163,8 +163,7 @@ struct jit_reader functions->destroy (functions); } - jit_reader (const jit_reader &) = delete; - jit_reader &operator= (const jit_reader &) = delete; + DISABLE_COPY_AND_ASSIGN (jit_reader); struct gdb_reader_funcs *functions; gdb_dlhandle_up handle; diff --git a/gdb/linespec.h b/gdb/linespec.h index ce74fe60be6..6c9b0b3ee8c 100644 --- a/gdb/linespec.h +++ b/gdb/linespec.h @@ -58,8 +58,7 @@ struct linespec_result linespec_result () = default; ~linespec_result (); - linespec_result (const linespec_result &) = delete; - linespec_result &operator= (const linespec_result &) = delete; + DISABLE_COPY_AND_ASSIGN (linespec_result); /* If true, the linespec should be displayed to the user. This is used by "unusual" linespecs where the ordinary `info break' diff --git a/gdb/mi/mi-parse.h b/gdb/mi/mi-parse.h index a4903df26a4..2ac7681f418 100644 --- a/gdb/mi/mi-parse.h +++ b/gdb/mi/mi-parse.h @@ -44,8 +44,7 @@ struct mi_parse mi_parse (); ~mi_parse (); - mi_parse (const mi_parse &) = delete; - mi_parse &operator= (const mi_parse &) = delete; + DISABLE_COPY_AND_ASSIGN (mi_parse); enum mi_command_type op; char *command; diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c index 0913409e6dd..b9eab7fcd87 100644 --- a/gdb/nat/fork-inferior.c +++ b/gdb/nat/fork-inferior.c @@ -56,9 +56,7 @@ public: } private: - /* Disable copying. */ - execv_argv (const execv_argv &) = delete; - void operator= (const execv_argv &) = delete; + DISABLE_COPY_AND_ASSIGN (execv_argv); /* Helper methods for constructing the argument vector. */ diff --git a/gdb/progspace.h b/gdb/progspace.h index ec1f4824613..f679fe3f711 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -273,11 +273,7 @@ public: ~scoped_restore_current_program_space () { set_current_program_space (m_saved_pspace); } - /* Disable copy. */ - scoped_restore_current_program_space - (const scoped_restore_current_program_space &) = delete; - void operator= - (const scoped_restore_current_program_space &) = delete; + DISABLE_COPY_AND_ASSIGN (scoped_restore_current_program_space); private: program_space *m_saved_pspace; diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index abfec91a561..a8270b26adc 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -624,8 +624,7 @@ class gdbpy_enter ~gdbpy_enter (); - gdbpy_enter (const gdbpy_enter &) = delete; - gdbpy_enter &operator= (const gdbpy_enter &) = delete; + DISABLE_COPY_AND_ASSIGN (gdbpy_enter); private: diff --git a/gdb/regcache.h b/gdb/regcache.h index aa64a000acf..eb0454a0e6d 100644 --- a/gdb/regcache.h +++ b/gdb/regcache.h @@ -255,8 +255,7 @@ public: /* Create a readonly regcache from a non-readonly regcache. */ regcache (readonly_t, const regcache &src); - regcache (const regcache &) = delete; - void operator= (const regcache &) = delete; + DISABLE_COPY_AND_ASSIGN (regcache); /* class regcache is only extended in unit test, so only mark it virtual when selftest is enabled. */ diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 3735e6449b1..877fd68fc25 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -93,9 +93,7 @@ typedef struct tdesc_reg : tdesc_element xfree (group); } - /* Disable copying. */ - tdesc_reg (const tdesc_reg &) = delete; - tdesc_reg &operator= (const tdesc_reg &) = delete; + DISABLE_COPY_AND_ASSIGN (tdesc_reg); /* The name of this register. In standard features, it may be recognized by the architecture support code, or it may be purely @@ -229,9 +227,8 @@ typedef struct tdesc_type : tdesc_element } xfree ((char *) name); } - /* Disable copying. */ - tdesc_type (const tdesc_type &) = delete; - tdesc_type &operator= (const tdesc_type &) = delete; + + DISABLE_COPY_AND_ASSIGN (tdesc_type); /* The name of this type. If this type is a built-in type, this is a pointer to a constant string. Otherwise, it's a @@ -302,9 +299,7 @@ typedef struct tdesc_feature : tdesc_element xfree (name); } - /* Disable copying. */ - tdesc_feature (const tdesc_feature &) = delete; - tdesc_feature &operator= (const tdesc_feature &) = delete; + DISABLE_COPY_AND_ASSIGN (tdesc_feature); /* The name of this feature. It may be recognized by the architecture support code. */ diff --git a/gdb/ui-out.h b/gdb/ui-out.h index 9ed2bd29531..519ff1a85b6 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -204,9 +204,7 @@ public: m_uiout->end (Type); } - ui_out_emit_type (const ui_out_emit_type &) = delete; - ui_out_emit_type &operator= (const ui_out_emit_type &) - = delete; + DISABLE_COPY_AND_ASSIGN (ui_out_emit_type); private: -- 2.30.2