1. 03 Apr, 2004 5 commits
  2. 02 Apr, 2004 10 commits
  3. 01 Apr, 2004 23 commits
    • re PR target/14040 (ARM cross compiler: error: could not split insn) · a406f566
      	PR target/14040
      	* genemit.c (gen_split): Change prototype of generated code.
      	* genrecog.c (write_action): Adjust prototype for and calls to
      	gen_split_*.
      	* gensupport.c (struct queue_elem): Add split field.
      	(queue_pattern): Return a value.  Clear the split field.
      	(process_rtx): Maintain an association between an insn and the
      	split generated from it for a define_insn_and_split.
      	(process_one_cond_exec): Generate a new split for a
      	define_insn_and_split.
      	* config/arm/arm-protos.h (arm_split_constant): Add insn
      	parameter.
      	(emit_constant_insn): New function.
      	(arm_gen_constant): Use it.
      	* config/arm/arm.md: Adjust calls to arm_split_constant.
      
      From-SVN: r80335
      Mark Mitchell committed
    • cgraph.c: Add overall comment. · 18c6ada9
      	* cgraph.c: Add overall comment.
      	(cgraph_inline_hash): New global variable.
      	(cgraph_create_node): Break out from ...
      	(cgraph_node): ... here.
      	(cgraph_edge): New function.
      	(cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
      	(cgraph_remove_edge): Accept edge, intead of source and destination.
      	(cgraph_redirect_edge_callee): New.
      	(cgraph_remove_node): Update all new datastructures.
      	(cgraph_record_call, cgraph_remove_call): Kill.
      	(dump_cgraph_node): Break out from ... ; dump new datastructures.
      	(dump_cgraph): ... here.
      	(cgraph_function_possibly_inlined_p): Use new hashtable.
      	(cgraph_clone_edge, cgraph_clone_node): New.
      	* cgraph.h: Include hashtab.h
      	(struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
      	fields, add inlined_to pointer.
      	(cgraph_node): Add pointer to next_clone.
      	(cgraph_remove_edge, cgraph_create_edge): Update prototype.
      	(cgraph_remove_call, cgraph_record_call): Kill.
      	(cgraph_inline_hash): Declare.
      	(dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
      	cgraph_redirect_edge_callee): Declare.
      	(cgraph_create_edges, cgraph_inline_p): Update prorotype.
      	(cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
      	cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
      	* cgraphunit.c: Add overall comment.
      	(cgraph_optimize_function): Kill.
      	(cgraph_assemble_pending_functions): Do not assemble inline clones.
      	(cgraph_finalize_function): Update call of cgraph_remove_node
      	(record_call_1): Record call sites.
      	(cgraph_create_edges): Accept node instead of decl argument.
      	(error_found): New static variable.
      	(verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
      	(cgraph_analyze_function): Update for new datastructures.
      	(cgraph_finalize_compilation_unit): Plug memory leak.
      	(cgraph_optimize_function): Kill.
      	(cgraph_expand_function): Do not use cgraph_optimize_function.
      	(INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
      	cgraph_inlined_callees): Kill.
      	(cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
      	clones.
      	(estimate_growth): Simplify.
      	(cgraph_clone_inlined_nodes): New function.
      	(cgraph_mark_inline_edge): Re-implement.
      	(cgraph_mark_inline): Likewise.
      	(cgraph_check_inline_limits): Simplify.
      	(cgraph_recursive_inlining_p): New.
      	(update_callee_keys): Break out from ...
      	(cgraph_decide_inlining_of_small_functions): ... here; simplify.
      	(cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
      	Likewise.
      	(cgraph_expand_all_functions):  Remove inline clones from the ordered
      	list.
      	(cgraph_preserve_function_body_p): New predicate.
      	(cgraph_optimize): Verify cgraph.
      	* function.h (struct function): Add fields saved_tree/saved_args.
      	* timevar.def (TV_CGRAPH_VERIFY): Use verifier.
      	* toplev.c (rest_of_compilation): Do not free cfun.
      	* tree-inline.c: Include function.h
      	(struct inline_data): Add saving_p field; replace decl/current_decl by
      	node/current_node.
      	(insert_decl_map): New function.
      	(copy_body_r): Handle saving; update cgraph datastructure.
      	(copy_body): Handle recursive inlining.
      	(initialize_inlined_parameters): Likewise.
      	(expand_call_inline): Propagate node attributes; update cgraph.
      	(optimize_inline_calls): Verify that datastructure still match.
      	(save_body): New function.
      	* tree-inline.h (save_body): New.
      	* tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
      	* langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
      	* langhooks.c (lang_hooks): Add update_decl_after_saving.
      
      	* cp-lang. (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Define.
      	* cp-tree.h (cp_update_decl_after_saving): Declare.
      	* tree.c (cp_update_decl_after_saving): Define.
      
      	* Make-lang.in (com.o): Add dependnecy on function.h
      	* com.c: Include function.h
      	(finish_function): Clear DECL_STRUCT_FUNCTION.
      
      	* utils.c: Include function.h
      	(end_subprog_body): Clear DECL_STRUCT_FUNCTION.
      
      From-SVN: r80334
      Jan Hubicka committed
    • re PR c++/14803 (Spurious warnings on conversion of pointers to member functions) · e8632777
      	PR c++/14803
      	* typeck.c (get_delta_difference): Call fold before returning the
      	value.
      
      	PR c++/14803
      	* g++.dg/inherit/ptrmem1.C: New test.
      
      From-SVN: r80331
      Mark Mitchell committed
    • re PR target/14702 (wrong definitions of instructions mmx_pshufw, sse2_pshufd,… · 717415ad
      re PR target/14702 (wrong definitions of instructions mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw)
      
              PR target/14702
              * config/i386/i386.md: fix source operand constraints in
              mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
      
      From-SVN: r80330
      Serge Belyshev committed
    • * fold-const.c (folda): Preserve types of comparisons. · af5bdf6a
      From-SVN: r80327
      Waldek Hebisch committed
    • mt_allocator.h (__mt_alloc<>::_S_initialize): Streamline the second half... · 354d4c68
      2004-04-01  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
      	Streamline the second half, wrapping it in a single
      	'#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
      	conditionals inside loops.
      
      From-SVN: r80323
      Paolo Carlini committed
    • re PR c++/14804 ([unit-at-a-time] initializing const data with… · 6407bc67
      re PR c++/14804 ([unit-at-a-time] initializing const data with reinterpret_cast-ed pointer-to-member function crashes)
      
              PR c++/14804
              * decl.c (cp_finish_decl): Preserve TREE_READONLY more often.
              * typeck2.c (split_nonconstant_init): Clear TREE_READONLY.
      
      From-SVN: r80318
      Richard Henderson committed
    • toplev.c (backend_init): Move init_optimization_passes call ... · 54fdc910
              * toplev.c (backend_init): Move init_optimization_passes call ...
              (lang_dependent_init): ... here.
      
      From-SVN: r80317
      Richard Henderson committed
    • re PR c++/14810 (tree check failures with invalid code involving templates) · bb8b4ed6
      	PR c++/14810
      	* name-lookup.c (maybe_push_cleanup_level): Robustify.
      
      From-SVN: r80315
      Mark Mitchell committed
    • 2004-04-01 Michael Koch <konqueror@gmx.de> · 2b6b5c35
      	* java/lang/SecurityManager.java
      	(checkAwtEventQueueAccess): Implemented.
      
      From-SVN: r80314
      Michael Koch committed
    • re PR ada/14150 (Ada documentation out of date) · 7cd4527e
      	PR ada/14150
      	* Make-lang.in: Clean up generation of documentation
      
      	* gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
      
      	* xgnatug.adb: Removed, replaced by xgnatugn.adb
      
      	* xgnatugn.adb: Replaces xgnatug.adb
      
      	* gnat_ug.texi: Removed, replaced by gnat_ugn.texi
      
      	* gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
      
      	* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
      	gnat_ug_wnt.texi: Removed.
      
      From-SVN: r80308
      Arnaud Charlet committed
    • resolve.cc (_Jv_ResolvePoolEntry): Put field name in exception. · 1c19eacc
      2004-04-01  Gary Benson  <gbenson@redhat.com>
      
      	* resolve.cc (_Jv_ResolvePoolEntry): Put field name in exception.
      	(_Jv_SearchMethodInClass): Likewise.
      
      From-SVN: r80305
      Gary Benson committed
    • gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with -lgcc --as-needed… · 765f1bf9
      gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with -lgcc --as-needed -lgcc_s --no-as-needed by default.
      
      	* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
      	-lgcc --as-needed -lgcc_s --no-as-needed by default.
      	* configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
      	* configure: Rebuilt.
      	* config.in: Rebuilt.
      	* Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
      	(stage2-start, stage3-start, stage4-start): Likewise.
      	(stageprofile-start, stagefeedback-start): Likewise.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r80302
      Alan Modra committed
    • sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0. · 45dcc026
      	* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
      	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
      	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
      	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
      	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
      	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
      	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
      	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
      	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
      	* config/sparc/t-linux: Removed.
      
      From-SVN: r80295
      Jakub Jelinek committed
    • re PR c++/14755 (miscompilation in bitfielded signed integers) · 0b612185
      	PR c++/14755
      	* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
      	"bitfld++ == const" to "++bitfld == const + incr" transformations.
      
      	* gcc.c-torture/execute/20040331-1.c: New test.
      	* gcc.dg/20040331-1.c: New test.
      
      From-SVN: r80294
      Jakub Jelinek committed
    • expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED. · a150de29
      	* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
      	* stor-layout.c (layout_decl): Likewise.
      	* tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
      	* fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
      	* print-tree.c (print_node): Handle various used of unsigned_flag.
      	* tree.def (BIT_FIELD_REF): Update comment.
      	* tree.h (TREE_UNSIGNED): Deleted.
      	(DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
      
      	* cp/class.c (VTT_TOP_LEVEL_P): Use unsigned_flag directly.
      
      	* f/com.c (ffe_truthvalue_conversion, case COMPONENT_REF):
      	Use DECL_UNSIGNED and integer_onep.
      
      From-SVN: r80293
      Richard Kenner committed
    • * utils2.c: Update copyright notice. · 0c250f07
      From-SVN: r80291
      Arnaud Charlet committed
    • [multiple changes] · 6b6fcd3e
      2004-04-01  Robert Dewar  <dewar@gnat.com>
      
      	* checks.adb: Minor reformatting throughout
      	Note that prev checkin added RM reference to alignment warning
      
      2004-04-01  Ed Schonberg  <schonberg@gnat.com>
      
      	* exp_aggr.adb (Get_Component_Val): Treat a string literal as
      	non-static when building aggregate for bit-packed array.
      
      	* exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
      	function call that is itself the actual in a procedure call, build
      	temporary for it.
      
      	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
      	a string literal, create a temporary for it, constant folding only
      	handles scalars here.
      
      2004-04-01  Vincent Celier  <celier@gnat.com>
      
      	* ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
      	Error_Msg_SP): New empty procedures to instantiate the Scanner.
      	(Style, Scanner): Instantiations of Styleg and Scng to be able to scan
      	tokens.
      	(Accumulate_Checksum, Initialize_Checksum): Remove procedures.
      	(Get_File_Checksum): Use the instantiated scanner to scan all the tokens
      	and get the checksum.
      
      	* make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
      	already in the Q.
      	Increase the Marking_Label at the end of the Multiple_Main_Loop,
      	instead of at the beginning.
      
      	* osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
      	directly.
      	(Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
      	on VMS.
      
      	* osint.ads (Multi_Unit_Index_Character): New Character global variable
      
      	* osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
      	not '~' directly.
      
      	* par.adb: Remove test on file name to detect language defined units.
      	Add test on unit name, after parsing, to detect language defined units
      	that are not compiled with -gnatg (except System.RPC and its children)
      
      	* par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
      	following units without style checking.
      
      	* switch-c.adb: Change -gnatC to -gnateI
      
      	* usage.adb: Document new switch -gnateInnn
      
      	* scng.adb (Accumulate_Token_Checksum): New procedure
      	(Scan): Call Accumulate_Token_Checksum after each identifier, reserved
      	word or literal number.
      	(Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
      	numbers.
      
      2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
      
      	* a-tasatt.adb,
      	g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
      	switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
      	5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
      	5vtpopde.adb: Add missing 'constant' keywords.
      
      2004-04-01  Javier Miranda  <miranda@gnat.com>
      
      	* par-ch4.adb: (P_Allocator): Code cleanup
      
      	* sem_ch3.adb (Access_Definition): Properly set the null-excluding
      	attribute.
      
      	* sinfo.ads: Complete documentation of previous change
      
      2004-04-01  GNAT Script  <nobody@gnat.com>
      
      	* Make-lang.in: Makefile automatically updated
      
      2004-04-01  Pascal Obry  <obry@gnat.com>
      
      	* gnatlink.adb (Process_Binder_File): Remove duplicate linker options
      	only on VMS.  This special handling was done because an old GNU/ld bug
      	on Windows which has been fixed.
      
      From-SVN: r80290
      Arnaud Charlet committed
    • re PR libstdc++/14775 ([3.4 only] LFS tests missing) · 2ae6e982
      2004-04-01  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/14775
      	* acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
      	* acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
      	GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
      	to _GLIBCXX_RES_LIMITS.
      	(GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
      	HAVE_LIMIT_*.
      	* testsuite/testsuite_hooks.h: Declare set_file_limit.
      	* testsuite/testsuite_hooks.cc: Define it, using getrlimit
      	and setrlimit(RLIMIT_FSIZE).
      	* testsuite/27_io/fpos/14775.cc: New.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r80289
      Paolo Carlini committed
    • builtins.c, [...]: Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED. · 8df83eae
      	* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
      	Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
      	* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
      	* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
      	* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
      	* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
      	* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
      	* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
      	* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
      	REAL_TYPE, not INTEGER_TYPE.
      	(layout_type, case VECTOR_TYPE): Simplify code.
      	* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
      	* tree.h: Update comments.
      	(STRIP_NOPS): Use TYPE_UNSIGNED.
      	(TYPE_UNSIGNED): New macro.
      	(TYPE_TRAP_SIGNED): Remove now redundant check.
      	(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
      
      	* cp/call.c (joust): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
      	* cp/class.c (check_bitfield_decl): Likewise.
      	* cp/cvt.c (type_promotes_to): Likewise.
      	* cp/decl.c (finish_enum): Likewise.
      	* cp/mangle.c (write_builtin_type): Likewise.
      	* cp/semantics.c (finish_switch_cond, finish_unary_op_expr): Likewise.
      	* cp/typeck.c (type_after_usual_arithmetic_conversions): Likewise.
      	(build_binary_op): Likewise.
      
      	* f/com.c (ffecom_arrayref_): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
      	(ffecom_expr_): Likewise.
      
      	* java/jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
      
      	* treelang/treetree.c (tree_lang_signed_or_unsigned_type):
      	Use TYPE_UNSIGNED, not TREE_UNSIGNED.
      
      	* ada/decl.c (gnat_to_gnu_entity, make_type_from_size):
      	Use TYPE_UNSIGNED, not TREE_UNSIGNED.
      	* ada/trans.c (tree_transform, convert_with_check): Likewise.
      	* ada/utils.c (gnat_signed_or_unsigned_type): Likewise.
      	(build_vms_descriptor, unchecked_convert): Likewise.
      	* ada/utils2.c (nonbinary_modular_operation): Likewise.
      
      From-SVN: r80287
      Richard Kenner committed
    • hashtab.c (htab_size): Move to top of file; mark inline. · d9175b87
              * hashtab.c (htab_size): Move to top of file; mark inline.
              (htab_elements): Likewise.
              (htab_mod, htab_mod_m2): New.
              (htab_delete): Refactor htab->size and htab->entries.
              (htab_empty): Likewise.
              (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
              (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
              (htab_clear_slot): Use htab_size, htab_elements.
              (htab_traverse_noresize, htab_traverse): Likewise.
      
      From-SVN: r80278
      Richard Henderson committed
    • * gcc.dg/arm-mmx-1.c: Add -mabi=iwmmxt to dg-options. · 2cbf9f60
      From-SVN: r80265
      Paul Brook committed
    • Daily bump. · 10414f2a
      From-SVN: r80262
      GCC Administrator committed
  4. 31 Mar, 2004 2 commits