98d9f24 Make main_ui be heap allocated

Authored and Committed by palves 7 years ago
    Make main_ui be heap allocated
    
    This is preparation for being able to create more than one UI object.
    
    The change to gdb_main to stop using catch_errors is necessary because
    catch_errors references current_uiout, which expands to
    current_ui->m_current_ui, which would crash because current_ui is not
    initialized yet at that point.  It didn't trigger earlier in the
    series because before this patch, main_ui/current_ui always start out
    non-NULL.
    
    gdb/ChangeLog:
    2016-06-21  Pedro Alves  <palves@redhat.com>
    
    	* event-top.c (main_ui_): Delete.
    	(main_ui, current_ui, ui_list): No longer initialize here.
    	* main.c (captured_main): UI initialization code factored out to
    	new new_ui function.
    	(gdb_main): Wrap captured_main with TRY/CATCH instead of
    	catch_errors.
    	* top.c (highest_ui_num): New global.
    	(new_ui): New function.
    	* top.h (struct ui) <num>: New field.
    	(new_ui): New declaration.
    
        
file modified
+13 -0
file modified
+4 -5
file modified
+12 -15
file modified
+40 -0
file modified
+6 -0