binutils-gdb/gdb/compile
Keith Seitz 9cdfd9a26e Change compile_instance/compile_c_instance into classes
This patch changes structs compile_instance and compile_c_instance into
classes.

Because of the nature of the change, there are a number of unavoidably
mechanical changes buried in here, such as turning variable access of the
POD struct into method calls, removing the struct keyword, and changing
access of the plugin from "c_plugin->operation()" to
"plugin ().operation ()".

There is one "non-trivial" change associated with this patch, though.
The type cache and symbol error maps have been moved into the base class,
believing these facilities would be used other language implementations.
[They are indeed re-used by C++.]

gdb/ChangeLog:

        * compile/compile-c-support.c (c_get_compile_context): Use `new'
        instead of `new_compile_instance'.
        * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
        Update description.
        If the symbol error map is not initialized, create it.
        (generate_c_for_for_one_symbol): Do not check/initialize
        the symbol error map.
        * compile/compile-c-types.c (compile_c_instance): Make a class.
        Update all callers.
        (compile_instance::compile_instance): Initialize the type cache.
        (get_cached_type): New function.
        (insert_type): Update description.
        (compile_c_instance::m_default_cflags): Define.
        (convert_type): Update description.  Use get_cached_type.
        (delete_instance): Moved to destructor.
        (new_compile_instance): Moved to constructor.
        * compile/compile-c.h (compile_c_instance): Make class inheriting
        from compile_instance.
        <base>: Remove field.
        <type_map, symbol_err_map>: Move to base class.
        <c_plugin>: Rename to `m_plugin' and remove pointer type.
        * compile/compile-internal.h (compile_instance): Make class.
        <type_map_t, symbol_err_map_t>: Define.
        <fe>: Rename to `m_gcc_fe'.
        <scope, block, gcc_target_options>: Add `m_' prefix.
        <m_type_map, m_symbol_err_map>: New fields, moved from
        compile_c_instance.
        <destroy>: Remove.
        (convert_type, new_compile_instance): Remove.
        * compile/compile.c (cleanup_compile_instance): Remove.
        (compile_to_object): Use unique_ptr to eliminate cleanups.
        (compile_instance::set_print_callback, compile_instance::version)
        (compile_instance::set_verbose)
        (compile_instance::set_driver_filename)
        (compile_instance::set_triplet_regexp)
        (compile_instance::set_arguments)
        (compile_instance::set_source_file)
        (compile_instance::compile): Define.
2018-08-10 11:14:25 -07:00
..
compile-c-support.c Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile-c-symbols.c Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile-c-types.c Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile-c.h Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile-internal.h Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile-loc2c.c Move C-related declarations to compile-c.h 2018-08-10 11:14:25 -07:00
compile-object-load.c Simple unused variable removals 2018-07-22 13:20:01 -06:00
compile-object-load.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
compile-object-run.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
compile-object-run.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
compile.c Change compile_instance/compile_c_instance into classes 2018-08-10 11:14:25 -07:00
compile.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gcc-c-plugin.h Add a C++ wrapper for GCC C plug-in 2018-08-10 11:14:25 -07:00