2006-01-25 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in (sched-vis.o): Update dependencies.
* haifa-sched.c (sched_finish): Clear current_sched_info.
* cfg.c (dump_bb_info): New, split from dump_flow_info.
(dump_flow_info): Call it.
* passes.c (execute_todo): Call print_rtl_slim_with_bb to make
a slim RTL dump.
* basic-block.h (dump_bb_info): Declare.
* tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all
option, and apply options only for dump files whose TDF_RTL,
TDF_TREE, or TDF_IPA bits match.
* rtl.h: Declare new functions exported from sched-vis.c.
* sched-vis.c: Enable also if scheduling is not used.
(print_value): Print the mode of registers if not inside scheduling.
(print_insn): Make it work outside the scheduler. Beautify the output
a bit.
(dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New.
From-SVN: r110217
* doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
* gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
depending on the value of CONSTANT_POOL_ADDRESS_P.
* optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
SYMBOL_REF_DECL.
* varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(rtx_constant_pool): Remove const_rtx_sym_htab.
(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
(init_varasm_status): Don't initialize const_rtx_sym_htab.
(force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
Remove handling of const_rtx_sym_htab.
(find_pool_constant): Delete.
(get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
rather than find_pool_constant.
(get_pool_constant_for_function): Delete.
(get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
find_pool_constant.
* rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
(X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
(SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
(SYMBOL_REF_CONSTANT): New macro.
(get_pool_constant_for_function): Delete.
* config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(i386_pe_mark_dllimport): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_indirect_call_target): Likewise.
From-SVN: r110210
* doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
* gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
depending on the value of CONSTANT_POOL_ADDRESS_P.
* optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
SYMBOL_REF_DECL.
* varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(rtx_constant_pool): Remove const_rtx_sym_htab.
(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
(init_varasm_status): Don't initialize const_rtx_sym_htab.
(force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
Remove handling of const_rtx_sym_htab.
(find_pool_constant): Delete.
(get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
rather than find_pool_constant.
(get_pool_constant_for_function): Delete.
(get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
find_pool_constant.
* rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
(X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
(SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
(SYMBOL_REF_CONSTANT): New macro.
(get_pool_constant_for_function): Delete.
* config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(i386_pe_mark_dllimport): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_indirect_call_target): Likewise.
From-SVN: r110209
2006-01-24 David Ayers <d.ayers@inode.at>
PR libobjc/9751
* gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
and insure the new strings are '\0' termintated.
From-SVN: r110187
2006-01-24 David Ayers <d.ayers@inode.at>
PR libobjc/13946
* configure.ac: Add include directives for --enable-objc-gc.
* Makefile.in: Ditto.
* configure: Regenerate.
* gc.c (__objc_class_structure_encoding): Increment the used bytes
instead of the local pointer to them.
From-SVN: r110182
* prims.cc (next_property_value): Never return NULL.
(process_gcj_properties): Copy 'props' before using it.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r110177
* genautomata.c (process_state_for_insn_equiv_partition):
Use xcalloc for insn_arcs_array.
* vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates.
(DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P.
From-SVN: r110172
2006-01-23 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/25890
PR rtl-optimization/25905
* combine.c (expand_compound_operation, expand_field_assignment):
Fail if the bitfield's final position is out of bounds.
From-SVN: r110170
PR c++/25552
* parser.c (cp_parser_unqualified_id): Check that destructor name
and scope match.
* call.c (check_dtor_name): Do not expect a BIT_NOT_EXPR.
Adjust comment. Return early if possible.
Use same_type_p to compare types.
* typeck.c (lookup_destructor): Adjust call to check_dtor_name.
* g++.dg/parse/dtor8.C: New test.
From-SVN: r110168
2006-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
* docs/html/faq/index.html ([5.2]): Mention TR1 and point to
paragraph [5.5], describing it.
([5.5]): New.
* docs/html/ext/tr1.html: New.
From-SVN: r110165
PR testsuite/25891
* lib/target-supports.exp (check_effective_target_fopenmp): New proc.
* gcc.dg/gomp/gomp.exp: Return without testing anything if
check_effective_target_fopenmp returns 0.
From-SVN: r110148
PR preprocessor/25717
* init.c (cpp_init_builtins): If __STDC__ will not change value
between system headers and other sources, define it as a normal
macro rather than a builtin.
* macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
cpp_in_system_header condition.
From-SVN: r110144