aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-01-30gcse.c (bypass_block): Fix a typo in the previous check-in to the file.Kazu Hirata2-1/+6
* gcse.c (bypass_block): Fix a typo in the previous check-in to the file. From-SVN: r76981
2004-01-30toplev.c: Include alloc-pool.h.Andrew Pinski3-6/+12
2004-01-30 Andrew Pinski <pinskia@physics.uc.edu> * toplev.c: Include alloc-pool.h. * Makefile.in (toplev.c): Update dependencies. From-SVN: r76976
2004-01-30case-range1.C, [...]: New tests.Michael Matz4-0/+78
* g++.dg/ext/case-range1.C, g++.dg/ext/case-range2.C, g++.dg/ext/case-range3.C: New tests. From-SVN: r76973
2004-01-30* parser.c (cp_parser_labeled_statement): Accept case ranges.Michael Matz2-3/+29
From-SVN: r76972
2004-01-30re PR c++/13813 ([DR206] Incomplete member variables in a template.)Giovanni Bajo2-0/+26
DR206 PR c++/13813 * g++.dg/template/member4.C: New test. From-SVN: r76971
2004-01-30re PR c++/13813 ([DR206] Incomplete member variables in a template.)Giovanni Bajo2-1/+8
DR206 PR c++/13813 * decl.c (grokdeclarator): Check immediatly type completeness for non-dependent types. From-SVN: r76970
2004-01-30combine.c (simplify_shift_const, case XOR): Be careful when commuting XOR ↵Richard Kenner2-10/+24
with ASHIFTRT. * combine.c (simplify_shift_const, case XOR): Be careful when commuting XOR with ASHIFTRT. From-SVN: r76965
2004-01-30re PR c++/13683 (bogus warning about passing non-PODs through ellipsis)Giovanni Bajo2-0/+18
PR c++/13683 * g++.dg/template/sizeof6.C: New test. From-SVN: r76964
2004-01-30re PR c++/13683 (bogus warning about passing non-PODs through ellipsis)Giovanni Bajo2-5/+15
PR c++/13683 * call.c (convert_arg_to_ellipsis): Don't emit a warning if within a sizeof expression.block From-SVN: r76963
2004-01-30sparc-protos.h: Remove the prototype for sparc_builtin_saveregs.Kazu Hirata4-67/+121
* 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
2004-01-30re PR c/12818 (-fwritable strings triggers bad code generation)Eric Botcazou4-6/+49
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
2004-01-30alloc-pool.c: Include hashtab.hJan Hubicka5-5/+139
* 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
2004-01-30reload.c (secondary_memlocs_elim_used): New static variable.Jan Hubicka1-1/+9
* reload.c (secondary_memlocs_elim_used): New static variable. (get_secondary_mem): Update it. (find_reloads): Use it. From-SVN: r76950
2004-01-30reload.c (secondary_memlocs_elim_used): New static variable.Jan Hubicka1-0/+6
* 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
2004-01-30* toplev.c: Fix broken checkin of 2003-12-30, again.Steven Bosscher2-9/+15
From-SVN: r76948
2004-01-30configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for s390*-*-* ↵Ulrich Weigand3-2/+8
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
2004-01-30re PR target/11475 (reload ICE with bitfields)Eric Botcazou4-4/+37
PR target/11475 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates. From-SVN: r76928
2004-01-29re PR c++/13865 ([tree-ssa] dtor runs prematurely for loop-scoped variable)Jason Merrill1-0/+28
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-29expr.c (build_field_ref): Move variable definition up.Andrew Pinski2-1/+7
2004-01-28 Andrew Pinski <pinskia@physics.uc.edu> * expr.c (build_field_ref): Move variable definition up. From-SVN: r76919
2004-01-30Daily bump.GCC Administrator1-1/+1
From-SVN: r76904
2004-01-29* objc.dg/call-super-2.m: Include stddef.h for size_t.Geoffrey Keating2-0/+5
From-SVN: r76895
2004-01-29emit-rtl.c (change_address): Use XEXP (memref, 0) instead of addr when ↵Jakub Jelinek2-1/+6
creating MEM copy. * emit-rtl.c (change_address): Use XEXP (memref, 0) instead of addr when creating MEM copy. From-SVN: r76888
2004-01-29Fix Ada breakage.Devang Patel2-3/+4
* dwarf2out.c (gen_field_die): Do not equate decl number to die. From-SVN: r76887
2004-01-29re PR inline-asm/6162 (i386 asm reloader ice in reload_cse_simplify_operands)Ian Lance Taylor2-4/+19
PR inline-asm/6162 * reload.c (find_reloads): Only support one pair of commutative operands. From-SVN: r76886
2004-01-29re PR java/13824 (gcj SEGV with simple .java program)Roger Sayle2-0/+14
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
2004-01-29re PR c++/13883 (Assembler messages: symbol is already defined)Mark Mitchell4-3/+44
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
2004-01-29tc1: New directory.Giovanni Bajo16-0/+319
* 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
2004-01-29frv.c: Don't mention deprecated macros in comments.Kazu Hirata3-102/+20
* 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-29expr.c (build_field_ref): Widen field offset.Andrew Haley2-0/+5
2004-01-28 Andrew Haley <aph@redhat.com> * expr.c (build_field_ref): Widen field offset. From-SVN: r76860
2004-01-29cfghooks.c (split_block): Set probability and count of the new edge.Zdenek Dvorak2-1/+11
* cfghooks.c (split_block): Set probability and count of the new edge. From-SVN: r76858
2004-01-29dwarf2out.c (struct die_struct): Added field decl_id.Josef Zlomek2-41/+42
* 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
2004-01-29re PR rtl-optimization/13424 (gcc.dg/20031202-1.c is miscompiled)Jakub Jelinek6-463/+370
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
2004-01-29Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.Zdenek Dvorak15-493/+824
* 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
2004-01-29avr.h: Remove target-independent comments about target macros.Kazu Hirata2-1504/+7
* config/avr/avr.h: Remove target-independent comments about target macros. From-SVN: r76850
2004-01-29timevar.c (timevar_print): Mention when checking is enabled.Daniel Berlin2-0/+9
2004-01-28 Daniel Berlin <dberlin@dberlin.org> * timevar.c (timevar_print): Mention when checking is enabled. From-SVN: r76848
2004-01-29error11.C: New test.Giovanni Bajo3-0/+70
* g++.dg/parse/error11.C: New test. * g++.dg/parse/error12.C: Likewise. From-SVN: r76846
2004-01-29parser.c (cp_parser_template_id): Parse tentatively `[:' after a template ↵Giovanni Bajo2-14/+103
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
2004-01-29c-lex.c (c_lex): Rename to...Giovanni Bajo3-1/+17
* 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
2004-01-28Fix LP64 failures.Ziemowit Laski2-3/+12
* objc.dg/proto-qual-1.m (ROUND, aligned_sizeof): New. (scan_initial, main): Use aligned_sizeof instead of sizeof. From-SVN: r76842
2004-01-29re PR c++/13791 (ICE in layout_type with packed types)Mark Mitchell4-0/+29
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
2004-01-29mcore.c (mcore_external_libcall): Add a comment.Kazu Hirata2-0/+10
* config/mcore/mcore.c (mcore_external_libcall): Add a comment. (mcore_return_in_memory): Likewise. From-SVN: r76836
2004-01-29mcore-protos.h: Remove the prototype for mcore_setup_incoming_varargs.Kazu Hirata4-39/+69
* 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
2004-01-29m32r-protos.h: Remove the prototype for m32r_setup_incoming_varargs.Kazu Hirata4-58/+44
* 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
2004-01-29m68k.c (TARGET_PROMOTE_PROTOTYPES): New.Kazu Hirata6-15/+43
* 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
2004-01-29* config/stormy16/stormy16.cKazu Hirata2-2/+8
(TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to TARGET_BUILD_BUILTIN_VA_LIST. From-SVN: r76832
2004-01-29v850.c (TARGET_PROMOTE_PROTOTYPES): New.Kazu Hirata3-19/+51
* 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
2004-01-29fr30.c (TARGET_PROMOTE_PROTOTYPES): New.Kazu Hirata3-24/+21
* 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
2004-01-29Fix typo in ChangeLogMark Mitchell1-1/+1
From-SVN: r76827
2004-01-29frv-protos.h: Remove the prototype for frv_expand_builtin_saveregs.Kazu Hirata4-33/+54
* 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
2004-01-29re PR c++/13736 (Parser confused on compound casts)Mark Mitchell4-3/+33
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