egcs/gcc ChangeLog varasm.c rtl.h expr.c tests ...
jakub@gcc.gnu.org
jakub@gcc.gnu.org
Tue Nov 14 09:37:00 GMT 2000
CVSROOT: /cvs/gcc
Module name: egcs
Changes by: jakub@gcc.gnu.org 2000-11-14 09:37:20
Modified files:
gcc : ChangeLog varasm.c rtl.h expr.c
gcc/testsuite : ChangeLog
gcc/testsuite/gcc.c-torture/execute: 20000801-4.c
Log message:
* varasm.c (struct deferred_string): New structure.
(const_str_htab): New variable.
(STRHASH): New macro.
(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
constr_str_htab_eq, const_str_htab_del): New functions.
(output_constant_def): Add DEFER argument, defer string
constants until mark_constant_pool time if requested.
(mark_constant_pool): Walk the insn chain even if const_str_htab is
not empty.
(mark_constants): If a SYMBOL_REF for deferred string is found,
output it and remove from hash table.
(output_addressed_constants): Set DEFER to 0 in call to
output_constant_def.
* rtl.h (STRING_POOL_ADDRESS_P): Define.
(output_constant_def): Adjust prototype.
* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
* gcc.c-torture/execute/20000801-4.c: Make sure the second string is
output.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.8273&r2=1.8274
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/varasm.c.diff?cvsroot=gcc&r1=1.139&r2=1.140
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/rtl.h.diff?cvsroot=gcc&r1=1.228&r2=1.229
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/expr.c.diff?cvsroot=gcc&r1=1.275&r2=1.276
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.825&r2=1.826
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.c-torture/execute/20000801-4.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
More information about the Gcc-cvs
mailing list