From c07c7c9d25232987f99b31c6e6ce7e343d19dad7 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Fri, 10 Dec 1999 00:57:03 +0000 Subject: [PATCH] regclass.c (globalize_reg): Re-instate test that allows fixed registers to be declared as a variable even... * regclass.c (globalize_reg): Re-instate test that allows fixed registers to be declared as a variable even after functions are defined. * testsuite/gcc.dg/991209-1.c: New test. From-SVN: r30853 --- gcc/ChangeLog | 6 ++++++ gcc/regclass.c | 6 +++--- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/991209-1.c | 8 ++++++++ 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/991209-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 630761dcdf4..8c600f797a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Fri Dec 10 00:53:10 1999 J"orn Rennecke + + * regclass.c (globalize_reg): Re-instate test that allows + fixed registers to be declared as a variable even after functions + are defined. + Fri Dec 10 00:52:13 MET 1999 Jan Hubicka * i386.md (cpu attribute): Add "athlon". diff --git a/gcc/regclass.c b/gcc/regclass.c index ea608f82202..55edc778fd0 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -218,7 +218,7 @@ struct reg_info_data { static struct reg_info_data *reg_info_head; -/* No more global register vairiables may be declared; true once +/* No more global register variables may be declared; true once regclass has been initialized. */ static int no_global_reg_vars = 0; @@ -630,7 +630,7 @@ void globalize_reg (i) int i; { - if (no_global_reg_vars) + if (fixed_regs[i] == 0 && no_global_reg_vars) error ("global register variable follows a function definition"); if (global_regs[i]) @@ -767,7 +767,7 @@ regclass_init () before regclass is run. */ reg_pref = NULL; - /* No more global register vairiables may be declared. */ + /* No more global register variables may be declared. */ no_global_reg_vars = 1; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a39733d5f0a..658bb24faee 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +Fri Dec 10 00:53:10 1999 J"orn Rennecke + + * gcc.dg/991209-1.c: New test. + Wed Dec 8 23:44:08 1999 Nathan Sidwell * gcc.c-torture/compile/991208-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/991209-1.c b/gcc/testsuite/gcc.dg/991209-1.c new file mode 100644 index 00000000000..20f481f5634 --- /dev/null +++ b/gcc/testsuite/gcc.dg/991209-1.c @@ -0,0 +1,8 @@ +/* { dg-do compile { target i386-*-* } } */ + +int foo () +{ + return 1; +} + +register char *stack_ptr asm ("%esp"); -- 2.30.2