diff options
author | Jan Hubicka <jh@suse.cz> | 2002-05-31 13:54:11 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-05-31 11:54:11 +0000 |
commit | 91ea38f971365ac32ed570fa452ef4a9c0ced2fb (patch) | |
tree | 28744d928e0ef04dd9c080224821167555ad523f /gcc/dwarf2out.c | |
parent | 10d1bb3675d063e88ada643bdaa8f51e01f47e5f (diff) | |
download | gcc-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.c | 17 |
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 */ |