1. 23 Dec, 2005 8 commits
    • re PR c++/25369 (use of inline function in template class leads to undefined reference) · 7eab6e7b
      	PR c++/25369
      	* g++.dg/template/ptrmem16.C: New test.
      	PR c++/25369
      	* tree.c (really_overloaded_fn): Tweak comment.
      	* pt.c (tsubst_call_declarator_parms): Remove.
      	(tsubst_copy): Call mark_used on the member referenced by an
      	OFFSET_REF.
      	* semantics.c (finish_qualified_id_expr): Simplify.
      	* decl2.c (mark_used): Accept BASELINKs.
      
      From-SVN: r109010
      Mark Mitchell committed
    • re PR fortran/25029 (Assumed size array can be associated with array pointer… · dd55e286
      re PR fortran/25029 (Assumed size array can be associated with array pointer without upper bound of last dimension)
      
      2005-12-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25029
      	PR fortran/21256
      	*resolve.c(resolve_function): Remove assumed size checking for SIZE
      	and UBOUND and rely on their built-in checking.
      
      2005-12-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25029
      	PR fortran/21256
      	*gfortran.dg/initialization_1.f90: Add test of SIZE.
      
      From-SVN: r109009
      Paul Thomas committed
    • arit.c (do_31div): Clarify what "31" refers to. · 01ad6816
      	* config/cris/arit.c (do_31div): Clarify what "31" refers to.
      	[L_divsi3] (__Udiv): Don't use as inline function.
      	[L_modsi3] (__Umod): Ditto.
      	(__Div): Rearrange to call do_31div directly instead of __Udiv.
      	(__Mod): Similarly regarding __Umod.
      
      From-SVN: r109007
      Hans-Peter Nilsson committed
    • re PR libfortran/25307 (internal read with end=label aborts) · 1c3a4745
      2005-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25307
      	* gfortran.dg/list_read_5.f90: New test.
      
      From-SVN: r109003
      Jerry DeLisle committed
    • re PR target/24342 (testsuite failure:gfortran.fortran-torture/execute/in-pack.f90 exe) · 752b602f
      	PR target/24342
      	* config/cris/cris.c (cris_split_movdx): Add REG_INC notes for
      	emitted insns with post-increments.
      	(cris_expand_epilogue): Ditto.
      
      From-SVN: r108998
      Hans-Peter Nilsson committed
    • backport: builtins.def: Move all DEF_SYNC_BUILTIN to ... · a0274e3e
              Merge from gomp-branch.
              * builtins.def: Move all DEF_SYNC_BUILTIN to ...
              * sync-builtins.def: ... new file.
              (BUILT_IN_FETCH_AND_ADD_16,
              BUILT_IN_FETCH_AND_SUB_16, BUILT_IN_FETCH_AND_OR_16,
              BUILT_IN_FETCH_AND_AND_16, BUILT_IN_FETCH_AND_XOR_16,
              BUILT_IN_FETCH_AND_NAND_16, BUILT_IN_ADD_AND_FETCH_16,
              BUILT_IN_SUB_AND_FETCH_16, BUILT_IN_OR_AND_FETCH_16,
              BUILT_IN_AND_AND_FETCH_16, BUILT_IN_XOR_AND_FETCH_16,
              BUILT_IN_NAND_AND_FETCH_16, BUILT_IN_BOOL_COMPARE_AND_SWAP_16,
              BUILT_IN_VAL_COMPARE_AND_SWAP_16, BUILT_IN_LOCK_TEST_AND_SET_16,
              BUILT_IN_LOCK_RELEASE_16): New builtins.
              * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
              BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
              * builtins.c (expand_builtin): Handle sync BUILT_IN_*_16 builtins.
              * c-common.c (enum c_builtin_type): Move to top-level from
              c_common_nodes_and_builtins enum builtin_type.
              (builtin_types): Move from c_common_nodes_and_builtins.
              (def_fn_type): New.
              (c_common_nodes_and_builtins): Use it.
              (def_builtin_1): Check for error_mark_node.
              (sync_resolve_size): Handle also 128 bit sync builtins.
              * Makefile.in (BUILTINS_DEF): New.  Use it instead of builtins.def.
      
              * config/i386/i386.h (x86_cmpxchg8b, x86_cmpxchg16b): New decls.
              (TARGET_CMPXCHG8B, TARGET_CMPXCHG16B): Define.
              * config/i386/i386.c (x86_cmpxchg8b, x86_cmpxchg16b): New variables.
              * config/i386/sync.md (CASMODE, DCASMODE): New mode macros.
              (doublemodesuffix, DCASHMODE): New mode attrs.
              (sync_compare_and_swap<mode>): Change into expand, use CASMODE
              instead of IMODE, if mode is wider than a word, expand into
              sync_double_compare_and_swap*.
              (*sync_compare_and_swap<mode>): New insn.
              (sync_double_compare_and_swap<mode>): Likewise.
              (*sync_double_compare_and_swapdi_pic): Likewise.
              (sync_compare_and_swap_cc<mode>): Use CASMODE instead of IMODE, if
              mode is wider than a word, expand into
              sync_double_compare_and_swap_cc*.
              (sync_double_compare_and_swap_cc<mode>): New insn.
              (*sync_double_compare_and_swap_ccdi_pic): Likewise.
      
      From-SVN: r108997
      Jakub Jelinek committed
    • mmintrin.h (_mm_add_si64): Only define for SSE2. · c52243fe
              * config/i386/mmintrin.h (_mm_add_si64): Only define for SSE2.
              (_mm_sub_si64): Likewise.
              * config/i386/xmmintrin.h (_mm_shuffle_pi16, _m_pshufw): Likewise.
      
              * gcc.target/i386/sse-7.c: Use -msse2.
      
      From-SVN: r108996
      Richard Henderson committed
    • Daily bump. · 2b2f3077
      From-SVN: r108993
      GCC Administrator committed
  2. 22 Dec, 2005 20 commits
    • re PR rtl-optimization/25432 (Reload ICE in gen_add2_insn) · a5ee7cba
      	PR rtl-optimization/25432
      	* reload1.c (eliminate_regs_in_insn): Update insn code on
      	successfully re-recognizing modified insn.
      
      	* gcc.c-torture/compile/20051216-1.c: New test.
      
      From-SVN: r108985
      Alan Modra committed
    • re PR objc/25328 (ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1453) · 0c4fc6c9
      	PR objc/25328
      	* objc/execute/pr25328.m: New test.
      
      From-SVN: r108984
      Jakub Jelinek committed
    • re PR c++/25364 (ICE with function pointer as template parameter) · d4f0f205
      	PR c++/25364
      	* typeck.c (build_unary_op): Pass DECLs not names to
      	build_offset_refs.
      	* init.c (build_offset_ref): Do not do name lookup.  Do not call
      	mark_used.
      	* call.c (build_call): Simplify and tidy.
      	* semantics.c (finish_qualified_id_expr): Call mark_used.
      	PR c++/25364
      	* g++.dg/template/call4.C: New test.
      
      From-SVN: r108973
      Mark Mitchell committed
    • tree.c (tree_fold_gcd): Use build_int_cst where appropriate. · 57decb7e
      2005-12-22  Richard Guenther  <rguenther@suse.de>
      
      	* tree.c (tree_fold_gcd): Use build_int_cst where appropriate.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
      	* varasm.c (array_size_for_constructor): Likewise.
      	* fold-const.c (size_diffop, invert_truthvalue,
      	optimize_bit_field_compare, make_range, build_range_check,
      	fold_cond_expr_with_comparison, fold_truthop,
      	fold_single_bit_test_into_sign_test, fold_binary): Likewise.
      
      From-SVN: r108970
      Richard Guenther committed
    • sse.md (sse_movhlps): Reverse operands for 2nd and 3rd alternatives. · 42101c23
      2005-12-22  Dale Johannesen  <dalej@apple.com>
      
      	* config/i386/sse.md (sse_movhlps):  Reverse operands for
      	2nd and 3rd alternatives.
      
      2005-12-22  Dale Johannesen  <dalej@apple.com>
      
      	* gcc.target/i386/sse-17.c:  New.
      
      From-SVN: r108966
      Dale Johannesen committed
    • loop-1.c: Look for jump/branch on m68k. · 19b68a48
      2005-12-22  Paul Brook  <paul@codesourcery.com>
      
      	* gcc.dg/tree-ssa/loop-1.c: Look for jump/branch on m68k.
      
      From-SVN: r108963
      Paul Brook committed
    • re PR java/25535 (gcj broken on 64-bit big-endian systems) · f71d9405
      2005-12-22  Andrew Haley  <aph@redhat.com>
      
      	PR java/25535
      	* testsuite/libjava.lang/PR25535.java: New test.
      
      From-SVN: r108961
      Andrew Haley committed
    • [multiple changes] · e814a0d1
      2005-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR tree-opt/25513
              * gcc.c-torture/compile/pr25513.c: New test.
      2005-12-22  Andrew Pinski <pinskia@physics.uc.edu>
      
              PR tree-opt/25513
              * tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex
              variables.
      
      From-SVN: r108958
      Andrew Pinski committed
    • natClassLoader.cc (_Jv_NewArrayClass): Don't reference NUM_OBJECT_METHODS. · 228366cd
      	* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Don't
      	reference NUM_OBJECT_METHODS.
      	* include/jvm.h (NUM_OBJECT_METHODS): Removed.
      
      From-SVN: r108956
      Tom Tromey committed
    • ipa-reference.c (get_reference_vars_info_from_cgraph): Use function_ann. · 3bfdb124
      2005-12-22  Daniel Berlin  <dberlin@dberlin.org>
      	   
      	* ipa-reference.c (get_reference_vars_info_from_cgraph): Use 
      	function_ann.
      	(get_local_reference_vars_info): Ditto.
      	(get_global_reference_vars_info): Ditto.
      	(analyze_function): Ditto.
      	(clean_function): Ditto.
      	* tree-dfa.c (create_function_ann): New function.
      	* tree-flow-inline.h (var_ann): FUNCTION_DECL's don't have
      	var_ann.
      	(function_ann): New.
      	(get_function_ann): Ditto.
      	* tree-flow.h (tree_ann_type): Add FUNCTION_ANN.
      	(struct var_ann_d): Move reference_vars_info to function annotation.
      	(struct function_ann_d): New.
      	(union tree_ann_d): Add function_ann.
      
      From-SVN: r108950
      Daniel Berlin committed
    • df.c (df_bitmaps_free): Only work for bbs for that structures are allocated. · 1052bd54
      	* df.c (df_bitmaps_free): Only work for bbs for that structures are
      	allocated.
      	(df_bb_modify): Realloc tables to the new index.
      	(df_find_use): New function.
      	(df_find_def, df_reg_used): Handle subregs.
      	* df.h (df_find_use): Declare.
      
      	* loop-invariant.c: Include hashtab.h.
      	(struct invariant): Remove processed field, add eqto and reg fields.
      	(struct invariant_expr_entry): New.
      	(invariant_for_use, hash_invariant_expr_1, invariant_expr_equal_p,
      	hash_invariant_expr, eq_invariant_expr, find_or_insert_inv,
      	find_identical_invariants, merge_identical_invariants): New functions.
      	(create_new_invariant): Return the new invariant.  Initialize new
      	fields.
      	(find_invariants): Call merge_identical_invariants.
      	(get_inv_cost, best_gain_for_invariant, set_move_mark,
      	move_invariant_reg): Handle equivalent invariants.
      	* Makefile.in (loop-invariant.o): Add HASHTAB_H dependency.
      
      
      Co-Authored-By: Steven Bosscher <stevenb@suse.de>
      
      From-SVN: r108949
      Zdenek Dvorak committed
    • re PR c++/23333 (accepts invalid pure specifier) · ab84748a
      2005-12-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
      
      	PR c++/23333
      	* include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
      
      	* c-lex.c (c_lex_with_flags): Add PURE_ZERO to cpp_flags if
      	number is a single digit '0'.
      
      	* parser.c (cp_parser_pure_specifier): Check for PURE_ZERO to
      	identify a single '0'.
      
      	* g++.dg/parse/error25.C: Add more tests.
      
      From-SVN: r108947
      Volker Reichelt committed
    • re PR fortran/18990 (ICE in gfc_get_derived_type, at fortran/trans-types.c) · 110eec24
      fortran/
      	PR fortran/18990
      	* gfortran.h (gfc_charlen): Add resolved field.
      	* expr.c (gfc_specification_expr): Accept NULL argument.
      	* resolve.c (gfc_resolve_charlen, gfc_resolve_derived): New.
      	(gfc_resolve_symbol): Resolve derived type definitions.  Use
      	resolve_charlen to resolve character lengths.
      testsuite/
      	PR fortran/18990
      	* gfortran.dg/der_charlen_1.f90: New.
      
      From-SVN: r108946
      Tobias Schlüter committed
    • re PR fortran/20889 (type in a structure-constructor differs from type in derived-type-def) · e0e85e06
      2005-12-22  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/20889
      	*resolve.c(resolve_structure_cons): Do not attempt to convert
      	the type of mismatched pointer type components, except when
      	the constructor component is BT_UNKNOWN; emit error instead.
      
      	PR fortran/25029
      	PR fortran/21256
      	*resolve.c(check_assumed_size_reference): New function to check for upper
      	bound in assumed size array references.
      	(resolve_assumed_size_actual): New function to do a very restricted scan
      	of actual argument expressions of those procedures for which incomplete
      	assumed size array references are not allowed.
      	(resolve_function, resolve_call): Switch off assumed size checking of
      	actual arguments, except for elemental procedures and array valued
      	intrinsics; excepting LBOUND.
      	(resolve_variable): Call check_assumed_size_reference.
      
      	PR fortran/19362
      	PR fortran/20244
      	PR fortran/20864
      	PR fortran/25391
      	*interface.c(gfc_compare_types): Broken into two.
      	(gfc_compare_derived_types): Second half of gfc_compare_types with
      	corrections for a missing check that module name is non-NULL and
      	a check for private components.
      	*symbol.c(gfc_free_dt_list): New function.
      	(gfc_free_namespace): Call gfc_free_dt_list.
      	*resolve.c(resolve_symbol): Build the list of derived types in the
      	symbols namespace.
      	*gfortran.h: Define the structure type gfc_dt_list.  Add a new field,
      	derived_types to gfc_namespace.  Provide a prototye for the new
      	function gfc_compare_derived_types.
      	*trans_types.c(gfc_get_derived_type): Test for the derived type being
      	available in the host namespace. In this case, the host backend
      	declaration is used for the structure and its components.  If an
      	unbuilt, equal structure that is not use associated is found in the
      	host namespace, build it there and then.  On exit,traverse the
      	namespace of the derived type to see if there are equal but unbuilt.
      	If so, copy the structure and its component declarations.
      	(copy_dt_decls_ifequal): New functions to copy declarations to other
      	equal structure types.
      
      	PR fortran/20862
      	* io.c (gfc_match_format): Make the appearance of a format statement
      	in a module specification block an error.
      
      	PR fortran/23152
      	* match.c (gfc_match_namelist): Set assumed shape arrays in
      	namelists as std=GFC_STD_GNU and assumed size arrays as an
      	unconditional error.
      
      	PR fortran/25069
      	* match.c (gfc_match_namelist): Set the respecification of a USE
      	associated namelist group as std=GFC_STD_GNU.  Permit the concatenation
      	on no error.
      
      	PR fortran/25053
      	PR fortran/25063
      	PR fortran/25064
      	PR fortran/25066
      	PR fortran/25067
      	PR fortran/25068
      	PR fortran/25307
      	* io.c (resolve_tag): Change std on IOSTAT != default integer to
      	GFC_STD_GNU and change message accordingly.  Add same error for
      	SIZE.
      	(match_dt_element, gfortran.h): Add field err_where to gfc_dt and
      	set it when tags are being matched.
      	(gfc_resolve_dt): Remove tests that can be done before resolution
      	and add some of the new ones here.
      	(check_io_constraints): New function that checks for most of the
      	data transfer constraints. Some of these were previously done in
      	match_io, from where this function is called, and some were done
      	in gfc_resolve_dt.
      	(match_io): Remove most of the tests of constraints and add the
      	call to check_io_constraints.
      
      2005-12-22  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/20889
      	*gfortran.dg/pointer_component_type_1.f90: New test.
      
      	PR fortran/25029
      	PR fortran/21256
      	*gfortran.dg/assumed_size_refs.f90: New test for the conditions that
      	should give an error with assumed size array refernces and checks those
      	that should not.
      	*gfortran.dg/gfortran.dg/pr15140.f90: Give the assumed size array
      	reference an upper bound so that it does not generate an error.
      
      	PR fortran/19362
      	PR fortran/20244
      	PR fortran/20864
      	PR fortran/25391
      	*gfortran.dg/used_dummy_types_1.f90: New test.
      	*gfortran.dg/used_dummy_types_2.f90: New test.
      	*gfortran.dg/used_dummy_types_3.f90: New test.
      	*gfortran.dg/used_dummy_types_4.f90: New test.
      	*gfortran.dg/used_dummy_types_5.f90: New test.
      
      	PR fortran/23152
      	*gfortran.dg/namelist_use.f90: Add trap for warning on NAMELIST
      	group already being USE associated.
      	*gfortran.dg/assumed_shape_nml.f90: New test.
      	*gfortran.dg/assumed_size_nml.f90: New test.
      
      	PR fortran/20862
      	PR fortran/25053
      	PR fortran/25063
      	PR fortran/25064
      	PR fortran/25066
      	PR fortran/25067
      	PR fortran/25068
      	PR fortran/25307
      	* gfortran.dg/io_constraints_1.f90: New test.
      	* gfortran.dg/io_constraints_1.f90: New test.
      	* gfortran.dg/iostat_3.f90: Change wording of warning.
      	 * gfortran.dg/g77/19981216-0.f:  the same.
      
      From-SVN: r108943
      Paul Thomas committed
    • re PR middle-end/23518 (some gcc optimizations do not take overflow into account with -fwrapv) · c078a437
      gcc/
      	PR tree-optimization/23518
      	* fold-const.c (make_range): Don't move a constant to the
      	other side of the comparison if the type is signed and -fwrapv
      	is given.
      
      gcc/testsuite/
      	PR tree-optimization/23518
      	* testsuite/gcc.dg/pr23518.c: New.
      
      From-SVN: r108940
      Kazu Hirata committed
    • re PR libfortran/25307 (internal read with end=label aborts) · 8ad4c895
      2005-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25307
      	* io/list_read.c (next_char): Handle end-of-file conditions for
      	internal units and add support for internal character array units.
      
      From-SVN: r108938
      Jerry DeLisle committed
    • tree-vrp.c (extract_range_from_binary_expr): Clean up uses of vr0.type. · 4e2d94a9
      	* tree-vrp.c (extract_range_from_binary_expr): Clean up uses
      	of vr0.type.
      
      From-SVN: r108935
      Kazu Hirata committed
    • * gcc.dg/attr-weakref-1.c: Really skip on darwin. · 8ccfa1cc
      From-SVN: r108934
      Mike Stump committed
    • * gcc.dg/attr-weakref-1.c: Really skip on darwin. · 604fb661
      From-SVN: r108933
      Mike Stump committed
    • Daily bump. · 3647aabd
      From-SVN: r108930
      GCC Administrator committed
  3. 21 Dec, 2005 10 commits
  4. 20 Dec, 2005 2 commits
    • darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Handle the ambiguity between… · b6563b23
      darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Handle the ambiguity between -seg_addr_table and -seg_addr_table_filename.
      
              * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Handle the
              ambiguity between -seg_addr_table and -seg_addr_table_filename.
              (WORD_SWITCH_TAKES_ARG): Likewise.
              (LINK_SPEC): Likewise.
      Radar 3941990
      
      From-SVN: r108876
      Mike Stump committed
    • cfganal.c (flow_reverse_top_sort_order_compute): Renamed to post_order_compute… · f91a0beb
      cfganal.c (flow_reverse_top_sort_order_compute): Renamed to post_order_compute and additional parameter added which allows the...
      
      2005-12-20  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* cfganal.c (flow_reverse_top_sort_order_compute):
      	Renamed to post_order_compute and additional parameter added which
      	allows the inclusion of entry and exit blocks into list.
      	(mark_dfs_back_edges): Fixed comment.
      	(flow_depth_first_order_compute): Renamed to
      	pre_and_rev_post_order_compute additional parameter added which
      	allows the inclusion of entry and exit blocks into list.
      	* global.c (set_up_bb_rts_numbers): Call to
      	flow_reverse_top_sort_order_compute renamed to
      	post_order_compute.
      	* var-tracking.c (vt_stack_adjustments): Fixed comment.
      	(vt_find_locations): Call to
      	flow_depth_first_order_compute renamed to
      	pre_and_rev_post_order_compute.
      	* cfgloop.c (flow_find_loops): Ditto.
      	* tree-ssa-reassoc.c (init_reassoc): Ditto.
      	* df.c (df_analyze_1, df_analyze_subcfg): Calls to
      	flow_reverse_top_sort_order_compute renamed to post_order_compute
      	and calls to flow_reverse_top_sort_order_compute renamed to
      	post_order_compute.
      	* basic_block.h: Ditto.
      
      From-SVN: r108874
      Kenneth Zadeck committed