aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-11-22 02:46:22 +0000
committerJeff Law <law@gcc.gnu.org>1998-11-21 19:46:22 -0700
commit9969bb2c992405d27eb41935f2ff7898105aebf5 (patch)
treee2c92b37d6b92aab74b78a8763948c6cf25a680a /gcc/reload1.c
parent2268cc528815583a0ee54e1a5ba452f2ee5f709c (diff)
downloadgcc-9969bb2c992405d27eb41935f2ff7898105aebf5.zip
gcc-9969bb2c992405d27eb41935f2ff7898105aebf5.tar.gz
gcc-9969bb2c992405d27eb41935f2ff7898105aebf5.tar.bz2
reload1.c (eliminate_regs): Do not lose if eliminate_regs is called without reload having been called earlier.
* reload1.c (eliminate_regs): Do not lose if eliminate_regs is called without reload having been called earlier. From-SVN: r23748
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index c6f81fa..5610b22 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -2646,6 +2646,12 @@ eliminate_regs (x, mem_mode, insn)
char *fmt;
int copied = 0;
+ /* We can reach here without reload being run if we have an variable
+ definition in a file with no functions (for exmaple). Ensure we
+ have a valid elimination table in such cases. */
+ if (reg_eliminate == NULL)
+ init_elim_table ();
+
switch (code)
{
case CONST_INT: