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:
parent
95519e0ee9
commit
692465f151
2 changed files with 16 additions and 18 deletions
|
@ -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:
|
||||||
|
|
|
@ -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... */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue