diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-27 18:57:51 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-27 18:57:51 +0000 |
commit | b2fd8d520226e9b3d33916132dc06bc915a4fd31 (patch) | |
tree | 74a2cd3ab97d99f3f1a03ae468e26032ae8717fa /gcc/rtl.def | |
parent | bc4dba53afd2abe2b16f1bd51205b86be4b79be6 (diff) | |
download | gcc-b2fd8d520226e9b3d33916132dc06bc915a4fd31.tar.gz |
* varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
struct deferred_string, const_str_htab): Kill.
(n_deferred_strings): New static variable.
(build_constant_desc): Set SYMBOL_REF_DECL of the new
symbol_ref to point to the constant.
(output_constant_def): When a deferred string is forced out,
just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
(mark_constant): Likewise.
(maybe_output_constant_def_contents): When deferring a string
constant, just set STRING_POOL_ADDRESS_P and increment
n_deferred_strings.
(mark_constant_pool): Check n_deferred_strings, not the size
of const_str_htab.
(init_varasm_once): No need to create const_str_htab.
* rtl.def, rtl.h, doc/rtl.texi: Document possibility that
SYMBOL_REF_DECL points to a constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66133 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 97fa4134099..86d8317d925 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -863,7 +863,8 @@ DEF_RTL_EXPR(LABEL_REF, "label_ref", "u00", 'o') /* Reference to a named label: Operand 0: label name Operand 1: flags (see SYMBOL_FLAG_* in rtl.h) - Operand 2: tree decl from which this symbol is derived, or null. */ + Operand 2: tree from which this symbol is derived, or null. + This is either a DECL node, or some kind of constant. */ DEF_RTL_EXPR(SYMBOL_REF, "symbol_ref", "s00", 'o') /* The condition code register is represented, in our imagination, |