ada-lang.c: Introduce type_as_string and use it
authorPedro Alves <palves@redhat.com>
Tue, 12 Apr 2016 15:49:31 +0000 (16:49 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 12 Apr 2016 15:57:56 +0000 (16:57 +0100)
commit99bbb428d4412b79e59df321f9e83c13342e4612
treebbd4115320ef01b35ce52283c5b67b0460cbcd37
parent75ee59252d49dffb017905125cdf826f89a6baf9
ada-lang.c: Introduce type_as_string and use it

A couple wrong things here

  - We should not use target_terminal_ours when all we want is output.
    We should use target_terminal_ours_for_output instead, which
    preserves raw/cooked terminal modes, and SIGINT forwarding.

  - Most importantly, relying on stderr output immediately preceding
    the error/exception print isn't correct.  The exception could be
    caught and handled, for example; MI frontends won't display the
    stderr part in an error dialog box.  Etc.

This commit introduces a type_as_string helper that allows building a
full error string including type info.

gdb/ChangeLog:
2016-04-12  Pedro Alves  <palves@redhat.com>

* ada-lang.c (type_as_string, type_as_string_and_cleanup): New
functions.
(ada_lookup_struct_elt_type): Use type_as_string_and_cleanup.
gdb/ChangeLog
gdb/ada-lang.c