aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-09-14 18:56:04 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-09-14 18:56:04 -0700
commit179bb78c239573cbd4ea5b8577c56ba9b755183f (patch)
tree88950214eb8e2b02dc2d834cefa1db3168f384a8
parent5522c047d527fec1955c75f05ce2d43464a62ce3 (diff)
downloadgcc-179bb78c239573cbd4ea5b8577c56ba9b755183f.zip
gcc-179bb78c239573cbd4ea5b8577c56ba9b755183f.tar.gz
gcc-179bb78c239573cbd4ea5b8577c56ba9b755183f.tar.bz2
(immed_double_const, immed_real_const_1): Don't touch
const_double_chain if not inside a function. From-SVN: r5322
-rw-r--r--gcc/varasm.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index ea3fbb2..66128bb 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1507,9 +1507,9 @@ immed_double_const (i0, i1, mode)
r = gen_rtx (CONST_DOUBLE, mode, 0, i0, i1);
pop_obstacks ();
- /* Don't touch const_double_chain in nested function;
- see force_const_mem. */
- if (outer_function_chain == 0)
+ /* Don't touch const_double_chain in nested function; see force_const_mem.
+ Also, don't touch it if not inside any function. */
+ if (outer_function_chain == 0 && current_function_decl != 0)
{
CONST_DOUBLE_CHAIN (r) = const_double_chain;
const_double_chain = r;
@@ -1582,9 +1582,9 @@ immed_real_const_1 (d, mode)
bcopy (&u, &CONST_DOUBLE_LOW (r), sizeof u);
pop_obstacks ();
- /* Don't touch const_double_chain in nested function;
- see force_const_mem. */
- if (outer_function_chain == 0)
+ /* Don't touch const_double_chain in nested function; see force_const_mem.
+ Also, don't touch it if not inside any function. */
+ if (outer_function_chain == 0 && current_function_decl != 0)
{
CONST_DOUBLE_CHAIN (r) = const_double_chain;
const_double_chain = r;