aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-05-31 13:54:11 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-05-31 11:54:11 +0000
commit91ea38f971365ac32ed570fa452ef4a9c0ced2fb (patch)
tree28744d928e0ef04dd9c080224821167555ad523f /gcc/dwarf2out.c
parent10d1bb3675d063e88ada643bdaa8f51e01f47e5f (diff)
downloadgcc-91ea38f971365ac32ed570fa452ef4a9c0ced2fb.zip
gcc-91ea38f971365ac32ed570fa452ef4a9c0ced2fb.tar.gz
gcc-91ea38f971365ac32ed570fa452ef4a9c0ced2fb.tar.bz2
i386.c (classify_argument): Properly handle base types.
* i386.c (classify_argument): Properly handle base types. * dwarf2out.c (expand_builin_init_dwarf_reg_sizes): Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo registers. From-SVN: r54106
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 0729522..f4b0ee7 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -420,16 +420,17 @@ expand_builtin_init_dwarf_reg_sizes (address)
rtx addr = expand_expr (address, NULL_RTX, VOIDmode, 0);
rtx mem = gen_rtx_MEM (BLKmode, addr);
- for (i = 0; i < DWARF_FRAME_REGISTERS; i++)
- {
- HOST_WIDE_INT offset = DWARF_FRAME_REGNUM (i) * GET_MODE_SIZE (mode);
- HOST_WIDE_INT size = GET_MODE_SIZE (reg_raw_mode[i]);
+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
+ if (DWARF_FRAME_REGNUM (i) < DWARF_FRAME_REGISTERS)
+ {
+ HOST_WIDE_INT offset = DWARF_FRAME_REGNUM (i) * GET_MODE_SIZE (mode);
+ HOST_WIDE_INT size = GET_MODE_SIZE (reg_raw_mode[i]);
- if (offset < 0)
- continue;
+ if (offset < 0)
+ continue;
- emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size));
- }
+ emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size));
+ }
}
/* Convert a DWARF call frame info. operation to its string name */