This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[avr port] Fix bug bootstrap/13735
- From: Denis Chertykov <denisc at overta dot ru>
- To: gcc-patches at gcc dot gnu dot org
- Cc: denisc at overta dot ru
- Date: Tue, 20 Jan 2004 20:39:01 +0300
- Subject: [avr port] Fix bug bootstrap/13735
2004-01-20 Denis Chertykov <denisc@overta.ru>
* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
register as pointer after reload.
Index: avr.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/avr/avr.h,v
retrieving revision 1.95
diff -c -3 -p -r1.95 avr.h
*** avr.h 9 Jan 2004 15:33:45 -0000 1.95
--- avr.h 20 Jan 2004 17:29:14 -0000
***************
*** 1,6 ****
/* Definitions of target machine for GNU compiler,
for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
! Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Denis Chertykov (denisc@overta.ru)
This file is part of GCC.
--- 1,7 ----
/* Definitions of target machine for GNU compiler,
for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
! Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
! Free Software Foundation, Inc.
Contributed by Denis Chertykov (denisc@overta.ru)
This file is part of GCC.
*************** enum reg_class {
*** 560,566 ****
choose a class which is "minimal", meaning that no smaller class
also contains the register. */
! #define BASE_REG_CLASS POINTER_REGS
/* A macro whose definition is the name of the class to which a valid
base register must belong. A base register is one used in an
address which is the register value plus a displacement. */
--- 561,567 ----
choose a class which is "minimal", meaning that no smaller class
also contains the register. */
! #define BASE_REG_CLASS (reload_completed ? BASE_POINTER_REGS : POINTER_REGS)
/* A macro whose definition is the name of the class to which a valid
base register must belong. A base register is one used in an