diff options
author | Andrew Haley <aph@cygnus.com> | 1999-11-22 14:20:35 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 1999-11-22 14:20:35 +0000 |
commit | 6c85df69493ee39a1d611150f00982e1f546491b (patch) | |
tree | 83e25ee33818de7dc432efb7853fb333b22ae4c1 /gcc/regclass.c | |
parent | 9ffc5a70f84fad33a63d085225e7c2b78ae6dc01 (diff) | |
download | gcc-6c85df69493ee39a1d611150f00982e1f546491b.zip gcc-6c85df69493ee39a1d611150f00982e1f546491b.tar.gz gcc-6c85df69493ee39a1d611150f00982e1f546491b.tar.bz2 |
varasm.c (function_defined): Remove.
1999-11-22 Andrew Haley <aph@cygnus.com>
* varasm.c (function_defined): Remove.
(make_function_rtl): Don't set function_defined.
(make_decl_rtl): Remove global register warning.
* regclass.c (no_global_reg_vars): New variable.
(globalize_reg): Warn if function has already been defined.
(regclass_init): Set no_global_reg_vars.
From-SVN: r30611
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r-- | gcc/regclass.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c index 544159b..cba13c48 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -218,6 +218,11 @@ struct reg_info_data { static struct reg_info_data *reg_info_head; +/* No more global register vairiables may be declared; true once + regclass has been initialized. */ + +static int no_global_reg_vars = 0; + /* Function called only once to initialize the above data on reg usage. Once this is done, various switches may override. */ @@ -625,6 +630,9 @@ void globalize_reg (i) int i; { + if (no_global_reg_vars) + error ("global register variable follows a function definition"); + if (global_regs[i]) { warning ("register used for two global register variables"); @@ -758,6 +766,9 @@ regclass_init () /* This prevents dump_flow_info from losing if called before regclass is run. */ reg_pref = NULL; + + /* No more global register vairiables may be declared. */ + no_global_reg_vars = 1; } /* Dump register costs. */ |