Age | Commit message (Collapse) | Author | Files | Lines |
|
* gcse.c (bypass_block): Fix a typo in the previous check-in
to the file.
From-SVN: r76981
|
|
2004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
* toplev.c: Include alloc-pool.h.
* Makefile.in (toplev.c): Update dependencies.
From-SVN: r76976
|
|
* g++.dg/ext/case-range1.C, g++.dg/ext/case-range2.C,
g++.dg/ext/case-range3.C: New tests.
From-SVN: r76973
|
|
From-SVN: r76972
|
|
DR206
PR c++/13813
* g++.dg/template/member4.C: New test.
From-SVN: r76971
|
|
DR206
PR c++/13813
* decl.c (grokdeclarator): Check immediatly type completeness for
non-dependent types.
From-SVN: r76970
|
|
with ASHIFTRT.
* combine.c (simplify_shift_const, case XOR): Be careful when
commuting XOR with ASHIFTRT.
From-SVN: r76965
|
|
PR c++/13683
* g++.dg/template/sizeof6.C: New test.
From-SVN: r76964
|
|
PR c++/13683
* call.c (convert_arg_to_ellipsis): Don't emit a warning if within
a sizeof expression.block
From-SVN: r76963
|
|
* config/sparc/sparc-protos.h: Remove the prototype for
sparc_builtin_saveregs.
* config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(sparc_builtin_saveregs): Make it static.
(sparc_promote_prototypes): New.
(sparc_struct_value_rtx): Likewise.
(sparc_return_in_memory): Likewise.
* config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
(PROMOTE_FUNCTION_RETURN): Likewise.
(RETURN_IN_MEMORY): Likewise.
(STRUCT_VALUE): Likewise.
(STRUCT_VALUE_INCOMING): Likewise.
(EXPAND_BUILTIN_SAVEREGS): Likewise.
(STRICT_ARGUMENT_NAMING): Likewise.
(PROMOTE_PROTOTYPES): Likewise.
* config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r76961
|
|
PR c/12818
* varasm.c (const_hash_1) <STRING_CST>: Use the
address to compute the hash value if flag_writable_strings.
(compare_constant) <STRING_CST>: Compare the addresses
if flag_writable_strings.
(build_constant_desc): Do not copy the expression for a
STRING_CST if flag_writable_strings.
From-SVN: r76958
|
|
* alloc-pool.c: Include hashtab.h
(alloc_pool_descriptor): New structure
(alloc_pool_hash): New global variable.
(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
(create_alloc_pool): Update statistics.
(free_alloc_pool): Likewise.
(pool_alloc): Likewise.
(output_info): New structure
(print_statistics, dump_alloc_pool_statistics): New function.
* alloc-pool.h (alloc_pool_def): Turn name to be constant.
(dump_alloc_pool_statistics): Declare.
* toplev.c (finalize): Dump statistics.
From-SVN: r76951
|
|
* reload.c (secondary_memlocs_elim_used): New static variable.
(get_secondary_mem): Update it.
(find_reloads): Use it.
From-SVN: r76950
|
|
* reload.c (secondary_memlocs_elim_used): New static variable.
(get_secondary_mem): Update it.
(find_reloads): Use it.
[[Split portion of a mixed commit.]]
From-SVN: r76949.2
|
|
From-SVN: r76948
|
|
targets by specifying a 'nop' insn.
* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
s390*-*-* targets by specifying a 'nop' insn.
* configure: Regenerate.
From-SVN: r76934
|
|
PR target/11475
* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
From-SVN: r76928
|
|
PR c++/13865
* c-simplify.c (gimplify_for_stmt): Reorganize to fix cleanups.
[[Split portion of a mixed commit.]]
From-SVN: r76923.2
|
|
2004-01-28 Andrew Pinski <pinskia@physics.uc.edu>
* expr.c (build_field_ref): Move variable
definition up.
From-SVN: r76919
|
|
From-SVN: r76904
|
|
From-SVN: r76895
|
|
creating MEM copy.
* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
of addr when creating MEM copy.
From-SVN: r76888
|
|
* dwarf2out.c (gen_field_die): Do not equate decl number to die.
From-SVN: r76887
|
|
PR inline-asm/6162
* reload.c (find_reloads): Only support one pair of commutative
operands.
From-SVN: r76886
|
|
PR java/13824
* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
recursion.
From-SVN: r76872
|
|
PR c++/13883
* mangle.c (write_encoding): Correct encoding of member template
constructors.
PR c++/13883
* g++.dg/template/ctor3.C: New test.
From-SVN: r76868
|
|
* g++.dg/tc1: New directory.
* g++.dg/tc1/dr108.C, g++.dg/tc1/dr128.C, g++.dg/tc1/dr147.C,
g++.dg/tc1/dr179.C, g++.dg/tc1/dr1.C, g++.dg/tc1/dr213.C,
g++.dg/tc1/dr74.C, g++.dg/tc1/dr90.C, g++.dg/tc1/dr127.C,
g++.dg/tc1/dr137.C, g++.dg/tc1/dr164.C, g++.dg/tc1/dr185.C,
g++.dg/tc1/dr20.C, g++.dg/tc1/dr52.C, g++.dg/tc1/dr85.C: New tests.
From-SVN: r76867
|
|
* config/frv/frv.c: Don't mention deprecated macros in
comments. Remove some target-independent comments about
target macros.
* config/frv/frv.h: Likewise.
From-SVN: r76864
|
|
2004-01-28 Andrew Haley <aph@redhat.com>
* expr.c (build_field_ref): Widen field offset.
From-SVN: r76860
|
|
* cfghooks.c (split_block): Set probability and count of the
new edge.
From-SVN: r76858
|
|
* dwarf2out.c (struct die_struct): Added field decl_id.
(decl_die_table): Changed to hash table.
(decl_die_table_allocated): Deleted.
(decl_die_table_in_use): Deleted.
(DECL_DIE_TABLE_INCREMENT): Deleted.
(decl_die_table_hash): New function.
(decl_die_table_eq): New function.
(lookup_decl_die): Lookup in a hash table.
(equate_decl_number_to_die): Insert into a hash table.
(dwarf2out_init): Init hash table decl_die_table.
From-SVN: r76853
|
|
PR optimization/13424
* expr.c (store_constructor): Revert 2003-12-03 change.
* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
expected before returning early. Avoid sharing RTL if they
need to be changed.
* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
handling so that memory attributes are preserved. Don't call
ix86_set_move_mem_attrs.
(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
(ix86_expand_clrstr): Rename src argument to
dst. Rework rep_stos and strset handling so that memory attributes
are preserved.
(ix86_expand_strlen): Pass src argument to
ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
memory attributes are preserved.
(ix86_expand_strlensi_unroll_1): Add src argument. Use
change_address instead of gen_rtx_MEM.
* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
expanders.
(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
strmovqi, strmovqi_rex64): Remove.
(rep_mov*, strmov*): Prefix insn names with *.
(strset, strset_singleop, rep_stos): New expanders.
(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
strsetqi, strsetqi_rex64): Remove.
(rep_stos*, strset*): Prefix insn names with *.
(rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
to SImode.
(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
are preserved.
(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
Prefix insn names with *.
(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
(strlenqi_1): New expander.
* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
From-SVN: r76852
|
|
* Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
* basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
verify_flow_info): Declaration removed.
* cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
(debug_bb, debug_bb_n): Add argument to dump_bb call.
* cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
instead of delete_block.
* cfghooks.c: Include timevar.h and toplev.h.
(cfg_hooks): Define here.
(verify_flow_info, dump_bb): Moved from cfg.c.
(redirect_edge_and_branch, redirect_edge_and_branch_force,
split_block, split_block_after_labels, move_block_after,
delete_basic_block, split_edge, create_basic_block,
create_empty_bb, can_merge_blocks_p, merge_blocks,
make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
New functions.
* cfghooks.h (struct cfg_hooks): Added fields name,
make_forwarder_block, tidy_fallthru_edge and
move_block_after. Changed type of verify_flow_info, dump_bb,
split_block fields. Renamed cfgh_split_edge and delete_block
fields.
(redirect_edge_and_branch, redirect_edge_and_branch_force,
split_block, delete_block, split_edge, create_basic_block,
can_merge_blocks_p, merge_blocks): Macros removed.
(cfg_hooks): Do not export.
(verify_flow_info, dump_bb, redirect_edge_and_branch,
redirect_edge_and_branch_force, split_block, split_block_after_labels,
move_block_after, delete_basic_block, split_edge, create_basic_block,
create_empty_bb, can_merge_blocks_p, merge_blocks,
make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
Declare.
(cfg_layout_rtl_cfg_hooks): Declare.
* cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
New functions.
(canonicalize_loop_headers): Use new semantics of make_forwarder_block.
(redirect_edge_with_latch_update): Removed.
(make_forwarder_block): Moved to cfghooks.c, semantics changed.
* cfgloopmanip.c (remove_bbs): Do not update dominators here.
* cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
rtl_delete_block, rtl_split_block, rtl_merge_blocks,
tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
cfghooks.c.
(rtl_create_basic_block): Coding style fix.
(rtl_tidy_fallthru_edge, rtl_move_block_after,
rtl_make_forwarder_block): New functions.
(update_cfg_after_block_merging): Removed.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
* flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
to dump_bb.
* ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
find_if_case_2): Don't update dominators.
* timevar.def (TV_CFG_VERIFY): New.
* loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
* cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
* cfgloopmanip.c (split_loop_bb): Don't update dominators.
(remove_bbs): Don't call remove_bbs.
(create_preheader): Use make_forwarder_block.
(mfb_keep_just, mfb_update_loops): New static functions.
From-SVN: r76851
|
|
* config/avr/avr.h: Remove target-independent comments about
target macros.
From-SVN: r76850
|
|
2004-01-28 Daniel Berlin <dberlin@dberlin.org>
* timevar.c (timevar_print): Mention when checking is enabled.
From-SVN: r76848
|
|
* g++.dg/parse/error11.C: New test.
* g++.dg/parse/error12.C: Likewise.
From-SVN: r76846
|
|
name as it was `<::' (digraph typo).
* parser.c (cp_parser_template_id): Parse tentatively `[:' after a
template name as it was `<::' (digraph typo).
(cp_parser_nth_token_starts_template_argument_list_p): New function.
(cp_parser_id_expression): Use it.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_template_name): Likewise.
(cp_parser_class_name): Likewise.
(cp_lexer_get_preprocessor_token): Use c_lex_with_flags.
From-SVN: r76845
|
|
* c-lex.c (c_lex): Rename to...
(c_lex_with_flags): Add new parameter to get CPP flags.
(c_lex): Thunk to c_lex_with_flags while keeping the old interface.
* c-pragma.h (c_lex_with_flags): Declare.
From-SVN: r76844
|
|
* objc.dg/proto-qual-1.m (ROUND, aligned_sizeof): New.
(scan_initial, main): Use aligned_sizeof instead of sizeof.
From-SVN: r76842
|
|
PR c++/13791
* typeck.c (merge_types): Do not merge attributes into
TYPENAME_TYPEs.
2004-01-28 Mark Mitchell <mark@codesourcery.com>
PR c++/13791
* g++.dg/ext/attrib12.C: New test.
From-SVN: r76837
|
|
* config/mcore/mcore.c (mcore_external_libcall): Add a
comment.
(mcore_return_in_memory): Likewise.
From-SVN: r76836
|
|
* config/mcore/mcore-protos.h: Remove the prototype for
mcore_setup_incoming_varargs.
* config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(mcore_setup_incoming_varargs): Make it static. Receive the
first argument by reference. Add argument second_time.
(mcore_external_libcall): New.
(mcore_return_in_memory): Likewise.
* config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
(PROMOTE_FUNCTION_RETURN): Likewise.
(STRUCT_VALUE): Likewise.
(RETURN_IN_MEMORY): Likewise.
(SETUP_INCOMING_VARARGS): Likewise.
(PROMOTE_PROTOTYPES): Likewise.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
From-SVN: r76835
|
|
* config/m32r/m32r-protos.h: Remove the prototype for
m32r_setup_incoming_varargs.
* config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(m32r_return_in_memory): New.
(m32r_setup_incoming_varargs): Make it static.
* config/m32r/m32r.h: Remove #undef of
ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
definitions of PROMOTE_FUNCTION_ARGS and
PROMOTE_FUNCTION_RETURN.
(PROMOTE_PROTOTYPES): Remove.
(RETURN_IN_MEMORY): Likewise.
(STRUCT_VALUE): Likewise.
From-SVN: r76834
|
|
* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(m68k_struct_value_rtx): Likewise.
* config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
STRUCT_VALUE_REGNUM.
(PROMOTE_PROTOTYPES): Remove.
* config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
STRUCT_VALUE_REGNUM.
* config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
* config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
From-SVN: r76833
|
|
(TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
TARGET_BUILD_BUILTIN_VA_LIST.
From-SVN: r76832
|
|
* config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(v850_return_in_memory): Likewise.
(v850_setup_incoming_varargs): Likewise.
* config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
(SETUP_INCOMING_VARARGS): Likewise.
(RETURN_IN_MEMORY): Likewise.
(STRUCT_VALUE): Likewise.
From-SVN: r76831
|
|
* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
(fr30_setup_incoming_varargs): Don't use
STRICT_ARGUMENT_NAMING.
* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
(STRICT_ARGUMENT_NAMING): Likewise.
From-SVN: r76830
|
|
From-SVN: r76827
|
|
* config/frv/frv-protos.h: Remove the prototype for
frv_expand_builtin_saveregs.
* config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
STRUCT_VALUE_REGNUM.
(frv_expand_builtin_saveregs): Make it static.
(frv_struct_value_rtx): New.
* config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
From-SVN: r76826
|
|
PR c++/13736
* parser.c (cp_parser_direct_declarator): Do not prevent
backtracking inside a parenthesized declarator.
(cp_parser_parameter_declaration): Fix typo in comment.
PR c++/13736
* g++.dg/parse/cast2.C (main): New test.
From-SVN: r76825
|