summaryrefslogtreecommitdiff
path: root/gcc/rtl.def
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-27 18:57:51 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-27 18:57:51 +0000
commitb2fd8d520226e9b3d33916132dc06bc915a4fd31 (patch)
tree74a2cd3ab97d99f3f1a03ae468e26032ae8717fa /gcc/rtl.def
parentbc4dba53afd2abe2b16f1bd51205b86be4b79be6 (diff)
downloadgcc-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.def3
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,