Get rid of ada-lang.c:function_name_from_pc.

* ada-lang.c: Add "stack.h" #include.
        (function_name_from_pc): Delete.
        (is_known_support_routine): Replace call to function_name_from_pc
        by call to find_frame_funname.
        (ada_unhandled_exception_name_addr_from_raise): Likewise.
This commit is contained in:
Joel Brobecker 2010-01-20 03:34:25 +00:00
parent 95519e0ee9
commit 692465f151
2 changed files with 16 additions and 18 deletions

View file

@ -1,3 +1,12 @@
2010-01-20 Joel Brobecker <brobecker@adacore.com>
Get rid of ada-lang.c:function_name_from_pc.
* ada-lang.c: Add "stack.h" #include.
(function_name_from_pc): Delete.
(is_known_support_routine): Replace call to function_name_from_pc
by call to find_frame_funname.
(ada_unhandled_exception_name_addr_from_raise): Likewise.
2010-01-19 Tom Tromey <tromey@redhat.com> 2010-01-19 Tom Tromey <tromey@redhat.com>
PR c++/11026: PR c++/11026:

View file

@ -56,6 +56,7 @@
#include "source.h" #include "source.h"
#include "observer.h" #include "observer.h"
#include "vec.h" #include "vec.h"
#include "stack.h"
/* Define whether or not the C operator '/' truncates towards zero for /* Define whether or not the C operator '/' truncates towards zero for
differently signed operands (truncation direction is undefined in C). differently signed operands (truncation direction is undefined in C).
@ -10150,21 +10151,6 @@ ada_executable_changed_observer (void)
exception_info = NULL; exception_info = NULL;
} }
/* Return the name of the function at PC, NULL if could not find it.
This function only checks the debugging information, not the symbol
table. */
static char *
function_name_from_pc (CORE_ADDR pc)
{
char *func_name;
if (!find_pc_partial_function (pc, &func_name, NULL, NULL))
return NULL;
return func_name;
}
/* True iff FRAME is very likely to be that of a function that is /* True iff FRAME is very likely to be that of a function that is
part of the runtime system. This is all very heuristic, but is part of the runtime system. This is all very heuristic, but is
intended to be used as advice as to what frames are uninteresting intended to be used as advice as to what frames are uninteresting
@ -10175,6 +10161,7 @@ is_known_support_routine (struct frame_info *frame)
{ {
struct symtab_and_line sal; struct symtab_and_line sal;
char *func_name; char *func_name;
enum language func_lang;
int i; int i;
/* If this code does not have any debugging information (no symtab), /* If this code does not have any debugging information (no symtab),
@ -10210,7 +10197,7 @@ is_known_support_routine (struct frame_info *frame)
/* Check whether the function is a GNAT-generated entity. */ /* Check whether the function is a GNAT-generated entity. */
func_name = function_name_from_pc (get_frame_address_in_block (frame)); find_frame_funname (frame, &func_name, &func_lang);
if (func_name == NULL) if (func_name == NULL)
return 1; return 1;
@ -10275,8 +10262,10 @@ ada_unhandled_exception_name_addr_from_raise (void)
while (fi != NULL) while (fi != NULL)
{ {
const char *func_name = char *func_name;
function_name_from_pc (get_frame_address_in_block (fi)); enum language func_lang;
find_frame_funname (fi, &func_name, &func_lang);
if (func_name != NULL if (func_name != NULL
&& strcmp (func_name, exception_info->catch_exception_sym) == 0) && strcmp (func_name, exception_info->catch_exception_sym) == 0)
break; /* We found the frame we were looking for... */ break; /* We found the frame we were looking for... */