diff options
author | Mark Kettenis <kettenis@gnu.org> | 2003-05-23 16:59:13 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2003-05-23 16:59:13 +0000 |
commit | 2cdd89cb84a47bf6149b88a65d3b6ffac6954409 (patch) | |
tree | b06bc469970bca3c8923efd02ca3abd4a84d5109 | |
parent | 182d43bc6e1189a59266098815d5793349497699 (diff) | |
download | gdb-2cdd89cb84a47bf6149b88a65d3b6ffac6954409.zip gdb-2cdd89cb84a47bf6149b88a65d3b6ffac6954409.tar.gz gdb-2cdd89cb84a47bf6149b88a65d3b6ffac6954409.tar.bz2 |
* blockframe.c (get_pc_function_start): Rewrite to avoid
asignments in if-statements.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/blockframe.c | 37 |
2 files changed, 25 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1cc7db1..d47cb92 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-05-23 Mark Kettenis <kettenis@gnu.org> + + * blockframe.c (get_pc_function_start): Rewrite to avoid + asignments in if-statements. + 2003-05-23 Raoul Gough <RaoulGough@yahoo.co.uk> Committed by Elena Zannoni <ezannoni@redhat.com>. diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 3c71376..1027a46 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -223,28 +223,31 @@ get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block) CORE_ADDR get_pc_function_start (CORE_ADDR pc) { - register struct block *bl; - register struct symbol *symbol; - register struct minimal_symbol *msymbol; - CORE_ADDR fstart; + struct block *bl; + struct minimal_symbol *msymbol; - if ((bl = block_for_pc (pc)) != NULL && - (symbol = block_function (bl)) != NULL) - { - bl = SYMBOL_BLOCK_VALUE (symbol); - fstart = BLOCK_START (bl); - } - else if ((msymbol = lookup_minimal_symbol_by_pc (pc)) != NULL) + bl = block_for_pc (pc); + if (bl) { - fstart = SYMBOL_VALUE_ADDRESS (msymbol); - if (!find_pc_section (fstart)) - return 0; + struct symbol *symbol = block_function (bl); + + if (symbol) + { + bl = SYMBOL_BLOCK_VALUE (symbol); + return BLOCK_START (bl); + } } - else + + msymbol = lookup_minimal_symbol_by_pc (pc); + if (msymbol) { - fstart = 0; + CORE_ADDR fstart = SYMBOL_VALUE_ADDRESS (msymbol); + + if (find_pc_section (fstart)) + return fstart; } - return (fstart); + + return 0; } /* Return the symbol for the function executing in frame FRAME. */ |