diff options
author | Zack Weinberg <zack@codesourcery.com> | 2003-04-27 18:57:51 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-27 18:57:51 +0000 |
commit | 32a619073cabf92631b4a7d017de59f7390cae62 (patch) | |
tree | 74a2cd3ab97d99f3f1a03ae468e26032ae8717fa /gcc/doc | |
parent | 2d9d52359cf173f784d1649f0ae2e77b27e87b36 (diff) | |
download | gcc-32a619073cabf92631b4a7d017de59f7390cae62.zip gcc-32a619073cabf92631b4a7d017de59f7390cae62.tar.gz gcc-32a619073cabf92631b4a7d017de59f7390cae62.tar.bz2 |
varasm.c (const_str_htab_hash, [...]): Kill.
* 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.
From-SVN: r66133
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/rtl.texi | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 8a97a5d..e906ccf 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -438,7 +438,12 @@ declaration, this is the offset into that logical storage. If the @code{symbol_ref} @var{x} was created for a @code{VAR_DECL} or a @code{FUNCTION_DECL}, that tree is recorded here. If this value is null, then @var{x} was created by back end code generation routines, -and so there is no associated front end symbol table entry. +and there is no associated front end symbol table entry. + +@code{SYMBOL_REF_DECL} may also point to a tree of class @code{'c'}, +that is, some sort of constant. In this case, the @code{symbol_ref} +is an entry in the per-file constant pool; again, there is no associated +front end symbol table entry. @findex SYMBOL_REF_FLAGS @item SYMBOL_REF_FLAGS (@var{x}) |