Hello,

The rs6000 and cr16 backends and unwinding code have a define for the
DWARF frame register for pre-GCC3 compatibility
(PRE_GCC3_DWARF_FRAME_REGISTERS):

gcc/doc/tm.texi.in:@defmac PRE_GCC3_DWARF_FRAME_REGISTERS
gcc/doc/tm.texi:@defmac PRE_GCC3_DWARF_FRAME_REGISTERS
gcc/config/rs6000/rs6000.h:#define PRE_GCC3_DWARF_FRAME_REGISTERS 77
libgcc/unwind-dw2.c:#ifndef PRE_GCC3_DWARF_FRAME_REGISTERS
libgcc/unwind-dw2.c:#define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS
libgcc/unwind-dw2.c:  long reg_or_offset[PRE_GCC3_DWARF_FRAME_REGISTERS+1];
libgcc/unwind-dw2.c:  char saved[PRE_GCC3_DWARF_FRAME_REGISTERS+1];
libgcc/unwind-dw2.c:  for (reg = 0; reg <
PRE_GCC3_DWARF_FRAME_REGISTERS + 1; reg++)
libgcc/config/cr16/unwind-cr16.c:#ifndef PRE_GCC3_DWARF_FRAME_REGISTERS
libgcc/config/cr16/unwind-cr16.c:#define
PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS
libgcc/config/cr16/unwind-cr16.c:  long
reg_or_offset[PRE_GCC3_DWARF_FRAME_REGISTERS+1];
libgcc/config/cr16/unwind-cr16.c:  char saved[PRE_GCC3_DWARF_FRAME_REGISTERS+1];
libgcc/config/cr16/unwind-cr16.c:  for (reg = 0; reg <
PRE_GCC3_DWARF_FRAME_REGISTERS + 1; reg++)

NB: The cr16 is a new port (contributed this year) but there is no
listed maintainer and cr16/unwind-cr16.c appears to be an almost exact
copy of libgcc/unwind-dw2.c except for a few __CR16C__ defines here
and there... Why?

Anyway, it seems to me that at least for cr16 there is no need for
pre-GCC3 compatibility.

Is this compatibility still needed for rs6000, or can all the
PRE_GCC3_DWARF_FRAME_REGISTERS stuff be cleaned up?

Ciao!
Steven

Reply via email to