diff options
Diffstat (limited to 'contrib/gcc/varasm.c')
-rw-r--r-- | contrib/gcc/varasm.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/contrib/gcc/varasm.c b/contrib/gcc/varasm.c index f463d84..56fe2ad 100644 --- a/contrib/gcc/varasm.c +++ b/contrib/gcc/varasm.c @@ -1,5 +1,6 @@ /* Output variables, constants and external declarations, for GNU compiler. - Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GNU CC. @@ -3493,6 +3494,18 @@ force_const_mem (mode, x) pop_obstacks (); } + if (GET_CODE (x) == LABEL_REF) + { + extern rtx forced_labels; + + push_obstacks_nochange (); + rtl_in_saveable_obstack (); + + forced_labels = gen_rtx_EXPR_LIST (VOIDmode, + XEXP (x, 0), + forced_labels); + pop_obstacks (); + } /* Allocate a pool constant descriptor, fill it in, and chain it in. */ |