Commit Graph

87096 Commits

Author SHA1 Message Date
Simon Baldwin
e4d3551548 Rolled back the following changes made in revision 134865:
* c-common.h (warn_array_subscript_range): New function.
        * c-common.c (warn_array_subscript_range): Ditto.
        * tree-vrp.c (check_array_ref): Corrected code to agree with
        comment, ignoring only arrays of size 0 or size 1.
        * c-typeck.c (build_array_ref): Call warn_array_subscript_range.

        * testsuite/gcc.dg/Warray-bounds.c: Updated for frontend warnings,
        additional tests for arrays of size 0 and size 1.
        * testsuite/g++.dg/warn/Warray-bounds.c: Ditto.
        * testsuite/gcc.dg/Warray-bounds-noopt.c: New testcase.
        * testsuite/g++.dg/warn/Warray-bounds-noopt.c: Ditto.

        * typeck.c (build_array_ref): Call warn_array_subscript_range.

From-SVN: r134889
2008-05-02 20:01:31 +00:00
H.J. Lu
bb1418c1b4 i386.c (ix86_special_builtin_type): New.
2008-05-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_special_builtin_type): New.
	(bdesc_special_args): Likewise.
	(ix86_expand_special_args_builtin): Likewise.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_builtin): Updated.
	(ix86_expand_store_builtin): Removed.
	(ix86_expand_unop_builtin): Likewise.

	* config/i386/mm3dnow.h (__v2sf): Moved to ...
	* config/i386/mmintrin.h (__v2sf): Here.

	* config/i386/xmmintrin.h (_mm_loadh_pi): Replace __v2si with
	const __v2sf.
	(_mm_loadl_pi): Likewise.
	(_mm_storeh_pi): Replace __v2si with __v2sf.
	(_mm_storel_pi): Likewise.

	* doc/extend.texi: Correct __builtin_ia32_loadhps,
	__builtin_ia32_loadlps, __builtin_ia32_storehps,
	__builtin_ia32_storelps, __builtin_ia32_loadhpd and
	__builtin_ia32_loadlpd.

2008-05-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add FLOAT_FTYPE_FLOAT,
	V4SF_FTYPE_V4SF_VEC_MERGE and V2DF_FTYPE_V2DF_VEC_MERGE.
	(bdesc_args): Updated.  Add scalar SSE builtins with vec_merge.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Likewise.
	(ix86_expand_builtin): Likewise.
	(ix86_expand_unop1_builtin): Renamed to ...
	(ix86_expand_unop_vec_merge_builtin): This.

From-SVN: r134886
2008-05-02 12:20:43 -07:00
Jan Hubicka
a12f79f5a8 re PR tree-optimization/36100 (always_inline attribute is broken at -O0)
PR bootstrap/36100
	* ipa-inline.c (inline_generate_summary): Make static.
	(inline_transform): Do not call inlining at -O0; make static.
	* passes.c (execute_todo): Add sanity check.
	(execute_one_ipa_transform_pass): Execute proper flags.

From-SVN: r134885
2008-05-02 11:08:22 +00:00
Benjamin Kosnik
fa5b668e7e c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.
2008-05-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.

From-SVN: r134883
2008-05-02 06:08:28 +00:00
Bud Davis
00113de86e PR fortran/PR35940
2008-05-01  Bud Davis  <bdavis9659@sbcglobal.net>

	PR fortran/PR35940	
	* gfortran.dg/index.f90: New test.

2008-05-01  Bud Davis  <bdavis9659@sbcglobal.net>

	PR35940/Fortran
	* simplify.c (gfc_simplify_index): Check for direction argument 
	being a constant.

From-SVN: r134879
2008-05-02 04:05:12 +00:00
Jerry DeLisle
c26cc9a6a6 re PR libfortran/36094 (Runtime error show_locus not working correctly)
2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/36094
	* runtime/error.c (show_locus): Provide modified error message when
	filename has not yet been associated with a unit number.
	* io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.

From-SVN: r134876
2008-05-02 01:33:16 +00:00
GCC Administrator
7cbb32e769 Daily bump.
From-SVN: r134874
2008-05-02 00:17:42 +00:00
Eric Botcazou
b548734684 tree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
* tree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
	(DECL_NONADDRESSABLE_P): Likewise.
	* alias.c (record_component_aliases): Fix comment.

From-SVN: r134868
2008-05-01 20:13:56 +00:00
Janus Weil
32d99e6869 gfortran.h (struct gfc_symbol): Moving "interface" member to gfc_typespec (plus fixing a small docu error).
* gfortran.h (struct gfc_symbol): Moving "interface" member to
	gfc_typespec (plus fixing a small docu error).
	* interface.c (gfc_procedure_use): Ditto.
	* decl.c (match_procedure_decl): Ditto.
	* resolve.c (resolve_specific_f0,
	resolve_specific_f0, resolve_symbol): Ditto.

From-SVN: r134867
2008-05-01 19:38:04 +00:00
Simon Baldwin
ca873b0e5a c-common.h (warn_array_subscript_range): New function.
* c-common.h (warn_array_subscript_range): New function.
        * c-common.c (warn_array_subscript_range): Ditto.
        * tree-vrp.c (check_array_ref): Corrected code to agree with
        comment, ignoring only arrays of size 0 or size 1.
        * c-typeck.c (build_array_ref): Call warn_array_subscript_range.

        * testsuite/gcc.dg/Warray-bounds.c: Updated for frontend warnings,
        additional tests for arrays of size 0 and size 1.
        * testsuite/g++.dg/warn/Warray-bounds.c: Ditto.
        * testsuite/gcc.dg/Warray-bounds-noopt.c: New testcase.
        * testsuite/g++.dg/warn/Warray-bounds-noopt.c: Ditto.

        * typeck.c (build_array_ref): Call warn_array_subscript_range.

From-SVN: r134865
2008-05-01 19:03:32 +00:00
H.J. Lu
99c25ac11e i386.c (ix86_builtin_type): Replace DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Replace
	DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
	(bdesc_args): Updated.
	(ix86_init_mmx_sse_builtins): Likewise.
	(ix86_expand_args_builtin): Likewise.

	* config/i386/tmmintrin.h (_mm_alignr_pi8): Replace long long
	with __v1di.

	* doc/extend.texi: Correct __builtin_ia32_palignr.

From-SVN: r134864
2008-05-01 10:47:43 -07:00
H.J. Lu
a44acfb9c0 re PR target/36095 (__builtin_ia32_crc32di shouldn't defined in 32bit)
2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/36095
	* config/i386/i386.c (bdesc_crc32): Removed.
	(ix86_expand_crc32): Likewise.
	(ix86_builtin_type): Replace V2DI2TI_FTYPE_V2DI2TI_INT with
	V2DI2TI_FTYPE_V2DI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT with
	V2DI2TI_FTYPE_V2DI_V2DI_INT.  Add UINT64_FTYPE_UINT64_UINT64,
	UINT_FTYPE_UINT_UINT, UINT_FTYPE_UINT_USHORT and
	UINT_FTYPE_UINT_UCHAR.
	(bdesc_args): Updated. Add crc32 builtins.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Updated to support subreg.

	* doc/extend.texi: Correct __builtin_ia32_crc32di.

From-SVN: r134861
2008-05-01 09:13:23 -07:00
Jan Hubicka
17653c00b9 tree-pass.h (opt_pass): Add IPA_PASS.
* tree-pass.h (opt_pass): Add IPA_PASS.
	(varpool_node, cgraph_node): Forward declare.
	(ipa_opt_pass): Define.
	(pass_ipa_inline): Turn into ipa_opt_pass.
	(pass_apply_inline): Remove.
	* ipa-inline.c (pass_ipa_inline): Turn into ipa_opt_pass.
	(apply_inline): Turn into ....
	(inline_transform): ... this one.
	(inline_generate_summary): New function.
	(pass_apply_inline): Remove.
	* function.h (ipa_opt_pass): Forward declare structure; typedef;
	vector.
	(struct function): Add ipa_transforms_to_apply.
	* passes.c (register_one_dump_file): Work on IPA_PASS.
	(init_optimization_passes): Remove pass_inline_parameters and
	pass_apply_inline.
	(pass_init_dump_file, pass_fini_dump_file): Break out from ....
	(execute_one_pass) ... here; apply transforms when possible.
	(add_ipa_transform_pass, execute_ipa_summary_asses,
	execute_one_ipa_transform_pass): New.
	(execute_ipa_pass_list): Update for IPA_PASS type.

From-SVN: r134859
2008-05-01 16:08:15 +00:00
H.J. Lu
bd9513ea36 i386.c (ix86_builtin_type): Add V2DI_FTYPE_V2DI_V16QI...
2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add
	V2DI_FTYPE_V2DI_V16QI, V2DI_FTYPE_V2DI_UINT_UINT and
	V2DI_FTYPE_V2DI_V2DI_UINT_UINT.
	(bdesc_args): Add SSE4a builtins.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Likewise.
	(ix86_expand_builtin): Likewise.

From-SVN: r134854
2008-05-01 08:03:57 -07:00
H.J. Lu
858e5e797f i386.c (ix86_builtin_type): Add V8HI_FTYPE_V8HI_V8HI_COUNT...
2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add
	V8HI_FTYPE_V8HI_V8HI_COUNT, V8HI_FTYPE_V8HI_SI_COUNT,
	V4SI_FTYPE_V4SI_V4SI_COUNT, V4SI_FTYPE_V4SI_SI_COUNT,
	V4HI_FTYPE_V4HI_V4HI_COUNT, V4HI_FTYPE_V4HI_SI_COUNT,
	V2DI_FTYPE_V2DI_V2DI_COUNT, V2DI_FTYPE_V2DI_SI_COUNT,
	V2SI_FTYPE_V2SI_V2SI_COUNT, V2SI_FTYPE_V2SI_SI_COUNT,
	V1DI_FTYPE_V1DI_V1DI_COUNT, V1DI_FTYPE_V1DI_SI_COUNT,
	V8HI_FTYPE_V8HI_INT, V4SI_FTYPE_V4SI_INT, V4HI_FTYPE_V4HI_INT,
	V2DI2TI_FTYPE_V2DI2TI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT
	and DI_FTYPE_DI_DI_INT.
	(bdesc_args): Add MMX/SSE shift, shuffle and palignr builtins.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Likewise.
	(ix86_expand_builtin): Likewise.
	(ix86_expand_binop_imm_builtin): Removed.

	* doc/extend.texi: Correct __builtin_ia32_palignr128.

From-SVN: r134853
2008-05-01 08:02:16 -07:00
Richard Guenther
035052e651 re PR middle-end/36093 (__align__ produces incorrect results in certain cases)
2008-05-01  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36093
	* gcc.c-torture/execute/pr36093.c: New testcase.

From-SVN: r134851
2008-05-01 11:22:33 +00:00
Eric Botcazou
8665c7ca50 decl.c (make_packable_type): Resize the last component to its RM size only if it is of an aggregate type.
* decl.c (make_packable_type): Resize the last component to its RM size
	only if it is of an aggregate type.
	* trans.c (call_to_gnu): Fix nit in comment.
	(gnat_to_gnu): Likewise.

From-SVN: r134848
2008-05-01 10:50:01 +00:00
GCC Administrator
2de4b3193d Daily bump.
From-SVN: r134843
2008-05-01 00:17:47 +00:00
François-Xavier Coudert
a39faface6 intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic.
* intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic.
	* intrinsic.h (gfc_check_selected_char_kind,
	gfc_simplify_selected_char_kind): New prototypes.
	* gfortran.h (gfc_isym_id): Add GFC_ISYM_SC_KIND.
	* trans.h (gfor_fndecl_sc_kind): New function decl.
	* trans-decl.c (gfor_fndecl_sc_kind): Build new decl.
	* arith.c (gfc_compare_with_Cstring): New function.
	* arith.h (gfc_compare_with_Cstring): New prototype.
	* check.c (gfc_check_selected_char_kind): New function.
	* primary.c (match_string_constant, match_kind_param): Mark
	symbols used as literal constant kind param as referenced.
	* trans-intrinsic.c (gfc_conv_intrinsic_sc_kind): New function.
	(gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_sc_kind.
	* intrinsic.texi (SELECTED_CHAR_KIND): Document new intrinsic.
	* simplify.c (gfc_simplify_selected_char_kind): New function.

	* intrinsics/selected_char_kind.c: New file.
	* Makefile.am: Add intrinsics/selected_char_kind.c.
	* Makefile.in: Regenerate.

	* gfortran.dg/selected_char_kind_1.f90: New test.
	* gfortran.dg/selected_char_kind_2.f90: New test.
	* gfortran.dg/selected_char_kind_3.f90: New test.

From-SVN: r134839
2008-04-30 21:45:02 +00:00
Richard Guenther
a91ded4bb8 re PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)
2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32921
	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.

From-SVN: r134838
2008-04-30 21:42:24 +00:00
Kai Tietz
d75900af9b chmod_1.f90: Disable for *-*-mingw*.
2008-04-30  Kai Tietz  <kai.tietz@onevision.com>

	* gfortran.dg/chmod_1.f90: Disable for *-*-mingw*.
	* gfortran.dg/chmod_2.f90: Likewise.
	* gfortran.dg/chmod_3.f90: Likewise.
	* gfortran.dg/open_errors.f90: Likewise.

From-SVN: r134837
2008-04-30 22:24:46 +02:00
Paul Thomas
29d40637c4 re PR fortran/35997 (Used function interface bug)
2008-04-30  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35997
       * module.c (find_symbol): Do not return a result for a symbol
       that has been renamed in another module.

2008-04-30  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35997
       * gfortran.dg/use_rename_3.f90

From-SVN: r134836
2008-04-30 20:13:21 +00:00
Richard Sandiford
ad516a74de arm.c (arm_unwind_emit): Use crtl->all_throwers_are_sibcalls instead of cfun->all_throwers_are_sibcalls.
gcc/
	* config/arm/arm.c (arm_unwind_emit): Use
	crtl->all_throwers_are_sibcalls instead of
	cfun->all_throwers_are_sibcalls.
	(arm_output_fn_unwind): Likewise.
	* config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table
	instead of cfun->uses_pic_offset_table.
	(frv_expand_prologue): Likewise.
	(frv_frame_pointer_required): Likewise.
	(frv_expand_fdpic_call): Likewise.
	(frv_emit_movsi): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_prologue): Use
	cfun->returns_pcc_struct instead of
	current_function_returns_pcc_struct.
	* config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return
	instead of cfun->calls_eh_return.
	(m32c_pushm_popm): Likewise.
	* config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus
	"extern" declaration.

From-SVN: r134835
2008-04-30 19:33:32 +00:00
Richard Guenther
00d382a8dd re PR tree-optimization/21636 (Missed ccp optimization)
2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/21636
	* tree-ssa-ccp.c (ccp_fold): Handle &p->x with p being a
	constant address.
	(evaluate_stmt): Print the likely value.
	(ccp_visit_stmt): Avoid excessive vertical spacing.

	* gcc.dg/tree-ssa/ssa-ccp-19.c: New testcase.

From-SVN: r134834
2008-04-30 19:05:12 +00:00
Rafael Avila de Espindola
45e184209d builtins.c (fold_call_expr): Return realret.
2008-04-30  Rafael Espindola  <espindola@google.com>

	* builtins.c (fold_call_expr): Return realret.
	* tree-ssa-threadedge.c
	(record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
	__builtin_object_size.

From-SVN: r134833
2008-04-30 17:21:55 +00:00
Seongbae Park
fe7df9c456 gcc.c (wrapper_string): New variable.
2008-04-30  Seongbae Park  <seongbae.park@gmail.com>

	* gcc.c (wrapper_string): New variable.
	(insert_wrapper): New function.
	(execute): New option -wrapper.
	* doc/invoke.texi (Overall Options): New driver option -wrapper.

From-SVN: r134832
2008-04-30 17:17:03 +00:00
Thomas Koenig
802367d7c9 re PR fortran/35993 (wrong answer for all array intrinsics with scalar mask)
2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35993
	* ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
	implementation for multi-dimensional return arrays when
	the mask is .false.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35993
	* gfortran.dg/intrinsic_product_1.f90:  New test case.

From-SVN: r134830
2008-04-30 16:56:01 +00:00
Ralf Wildenhues
9eec643d36 Makefile.am (install-headers): Cope with empty parallel_headers.
libstdc++-v3/
	* include/Makefile.am (install-headers): Cope with empty
	parallel_headers.
	* include/Makefile.in: Regenerate.

From-SVN: r134829
2008-04-30 16:43:08 +00:00
Nathan Froyd
18724e30ac t-ppccomm: Add build rules for new files.
libgcc/
	* config/rs6000/t-ppccomm: Add build rules for new files.
	(LIB2ADD_ST): New variable.

gcc/
        * config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
        config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
        config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
        from...
        * config/rs6000/crtsavres.asm: ...here.  Remove unneeded file.
        * config/rs6000/e500crtres32gpr.asm,
	config/rs6000/e500crtres64gpr.asm
        config/rs6000/e500crtres64gprctr.asm,
	config/rs6000/e500crtrest32gpr.asm
        config/rs6000/e500crtrest64gpr.asm,
	config/rs6000/e500crtresx32gpr.asm
        config/rs6000/e500crtresx64gpr.asm,
	config/rs6000/e500crtsav32gpr.asm
        config/rs6000/e500crtsav64gpr.asm,
	config/rs6000/e500crtsav64gprctr.asm
        config/rs6000/e500crtsavg32gpr.asm,
	config/rs6000/e500crtsavg64gpr.asm
        config/rs6000/e500crtsavg64gprctr.asm: New files.
        * config/rs6000/t-ppccomm: Add build rules for new files.
        (LIB2FUNCS_STATIC_EXTRA): Add new files.
        * config/rs6000/t-netbsd: Add build rules for new files.
        (LIB2FUNCS_STATIC_EXTRA): New variable.
        * config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
        (CRTSAVRES_DEFAULT_SPEC): Likewise.
        * config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.

From-SVN: r134828
2008-04-30 16:10:21 +00:00
H.J. Lu
1b667c8276 i386.c (ix86_builtin_type): Add FLOAT128_FTYPE_FLOAT128_FLOAT128...
2008-04-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add
	FLOAT128_FTYPE_FLOAT128_FLOAT128, V16QI_FTYPE_V16QI_V16QI,
	V16QI_FTYPE_V8HI_V8HI, V8QI_FTYPE_V8QI_V8QI,
	V8QI_FTYPE_V4HI_V4HI, V8HI_FTYPE_V8HI_V8HI,
	V8HI_FTYPE_V16QI_V16QI, V8HI_FTYPE_V4SI_V4SI,
	V4SI_FTYPE_V4SI_V4SI, V4SI_FTYPE_V8HI_V8HI,
	V4SI_FTYPE_V4SF_V4SF, V4SI_FTYPE_V2DF_V2DF,
	V4HI_FTYPE_V4HI_V4HI, V4HI_FTYPE_V8QI_V8QI,
	V4HI_FTYPE_V2SI_V2SI, V4SF_FTYPE_V4SF_V4SF,
	V4SF_FTYPE_V4SF_V4SF_SWAP, V4SF_FTYPE_V4SF_V2SI,
	V4SF_FTYPE_V4SF_V2DF, V4SF_FTYPE_V4SF_DI,
	V4SF_FTYPE_V4SF_SI, V2DI_FTYPE_V2DI_V2DI,
	V2DI_FTYPE_V16QI_V16QI, V2DI_FTYPE_V4SI_V4SI,
	V2DI_FTYPE_V2DF_V2DF, V2SI_FTYPE_V2SI_V2SI,
	V2SI_FTYPE_V4HI_V4HI, V2SI_FTYPE_V2SF_V2SF,
	V2DF_FTYPE_V2DF_V2DF, V2DF_FTYPE_V2DF_V2DF_SWAP,
	V2DF_FTYPE_V2DF_V4SF, V2DF_FTYPE_V2DF_DI,
	V2DF_FTYPE_V2DF_SI, V2SF_FTYPE_V2SF_V2SF,
	V1DI_FTYPE_V1DI_V1DI, V1DI_FTYPE_V8QI_V8QI and
	V1DI_FTYPE_V2SI_V2SI.
	(bdesc_2arg): Moved to ...
	(bdesc_args): Here.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Updated.  Take a pointer
	to const struct builtin_description.  Handle comparison
	builtin functions.
	(ix86_expand_sse_compare): Take a new argument for swapping
	operands.
	(ix86_expand_builtin): Updated.

	* config/i386/sse.md (ssse3_pmaddubswv8hi3): Renamed to ...
	(ssse3_pmaddubsw128): This.
	(ssse3_pmaddubswv4hi3): Renamed to ...
	(ssse3_pmaddubsw): This.

	* doc/extend.texi (__builtin_ia32_packsswb128): Correct
	prototype.
	(__builtin_ia32_packssdw128): Likewise.
	)__builtin_ia32_packuswb128): Likewise.
	(__builtin_ia32_pmaddubsw): Likewise.
	(__builtin_ia32_pmaddubsw128): Likewise.

From-SVN: r134827
2008-04-30 08:40:14 -07:00
Richard Guenther
d7b339dd2a re PR tree-optimization/14847 ([tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there")
2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/14847
	* tree-ssa-ifcombine.c (get_name_for_bit_test): New helper function.
	(recognize_bits_test): Use it.
	(recognize_single_bit_test): Likewise.

	* gcc.dg/tree-ssa/ssa-ifcombine-6.c: New testcase.

From-SVN: r134825
2008-04-30 15:06:16 +00:00
Jakub Jelinek
56b1a55446 re PR c++/35986 (ICE with ambiguous template functions)
PR c++/35986
	* pt.c (more_specialized_fn): Stop the loop even if there are no
	arguments before ellipsis.

	* g++.dg/overload/template4.C: New test.

From-SVN: r134823
2008-04-30 16:24:18 +02:00
Martin Jambor
5856b807fd MAINTAINERS: (Write After Approval): Add myself.
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	* MAINTAINERS: (Write After Approval):  Add myself.

From-SVN: r134822
2008-04-30 16:21:32 +02:00
Martin Jambor
6a3f3feaba ChangeLog: Added entries I forgot in my previous commit.
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	    * gcc/ChangeLog: Added entries I forgot in my previous commit.

From-SVN: r134821
2008-04-30 14:35:19 +02:00
Kai Tietz
190f8c2efb chmod_1.f90: Disable for x86_64-*-mingw*.
2008-04-30  Kai Tietz  <kai.tietz@onevision.com>

	* gfortran.dg/chmod_1.f90: Disable for x86_64-*-mingw*.
	* gfortran.dg/chmod_2.f90: Likewise.
	* gfortran.dg/chmod_3.f90: Likewise.
	* gfortran.dg/open_errors.f90: Likewise.

From-SVN: r134820
2008-04-30 14:34:13 +02:00
Samuel Tardieu
ea34290956 Makefile.in: Adapt sh4-linux target.
gcc/ada/
	* Makefile.in: Adapt sh4-linux target.

From-SVN: r134819
2008-04-30 10:46:17 +00:00
Martin Jambor
dcd416e3ac ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting number of formal...
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
	instead of setting number of formal parameters to zero.
	(ipcp_init_stage): Do not set the number of actual parameters to zero 
	either.
	(ipcp_propagate_stage): Explicitly skipping all calls to nodes
	which are called with variable number of arguments.
	(ipcp_insert_stage): Explicitely skipping all nodes which are
	called with variable number of arguments.
	(ipcp_callsite_param_print): Skipps callsites to nodes with varaible 
	number of parameters.

	* ipa-prop.h (struct ipa_node_params): Added flag
	called_with_var_arguments
	(ipa_set_param_count): Added.  Changed sole setter to use it.
	(ipa_get_param_count): Added.  All readers of param_count
	converted to use it instead.
	(ipa_set_called_with_variable_arg): Added.
	(ipa_is_called_with_var_arguments): Added.
	(ipa_get_ith_param): Added.  All readers of param_decls converted
	to use it instead.
	(ipa_set_cs_argument_count): Added, sole writer to argument_count 
	changed to use it. 
	(ipa_get_cs_argument_count): Added, all readers of argument_count
	changed to cal it.
	(ipa_get_ith_jump_func): Added. Accessors of jump values changed 
	to use it.
	
	* ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
	(struct ipcp_lattice): Renamed cval_type to type
	(struct ipa_node_params): ipcp_cval renamed to ipcp_lattices

	* ipa-cp.c (ipcp_cval_get_cvalue): Changed return value to tree
	(ipcp_cval_set_cvalue): Changed type of parameter value to tree
	(ipcp_insert_stage): Changed the type of variable cvalue to tree
	(ipcp_replace_map_create): Changed the type of parameter cvalue to tree
	(build_const_val): Changed the type of parameter cvalue to tree
	(ipcp_propagate_const): Changed the type of parameter cvalue to tree
	(ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
	
	* ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called 
	constant 

	* ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
	(ipa_methodlist_not_empty): Removed, the sole user now checks directly
	(ipa_add_method): Renamed to ipa_push_func_to_list
	(ipa_remove_method): Renamed to ipa_pop_func_from_list
	(ipa_callsite_param_count): Removed.
	(ipa_callsite_param_count_set): Removed.
	(ipa_callsite_param): Removed.
	(ipa_callsite_callee): Removed.
	(ipa_callsite_compute_param): Renamed to ipa_compute_jump_functions
	(ipa_callsite_compute_count): Renamed to ipa_count_arguments
	(ipa_method_formal_count): Removed.
	(ipa_method_formal_count_set): Removed.
	(ipa_method_get_tree): Removed.
	(ipa_method_tree_map_create): Removed.
	(ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
	(ipa_create_param_decls_array): Creates the array itself
	(ipa_create_param_decls_array): Temporary variable info instead of 
	a few dereferences.
	(ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
	(ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
	(get_type): Removed.
	(ipa_jf_get_info_type): Removed.
	(ipa_node_create): Renamed to ipa_create_node_params
	(ipa_free): Renamed to ipa_free_all_node_params
	(ipa_nodes_create): Renamed to ipa_create_all_node_params
	(ipa_edges_create): Renamed to ipa_create_all_edge_args
	(ipa_edges_free): Renamed to ipa_free_all_edge_args
	(ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
	(ipa_free_all_node_params): Deallocation to jump_functions moved to 
	ipa_free_all_edge_args
	(ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
	(ipa_method_modify_print): Renamed to ipa_print_all_params_modified
	(ipa_create_methodlist_node): Removed.
	(ipa_methodlist_method): Removed.
	(ipa_methodlist_method_set): Removed.
	(ipa_methodlist_next_method): Removed.
	(ipa_methodlist_next_method_set): Removed.
	(ipa_method_is_modified): Removed.
	(ipa_method_modify_create): Removed.
	(ipa_method_modify_init): Temporary variable info instead of a few 
	dereferences.
	(ipa_detect_param_modifications): Temporary variable info instead of 
	a few dereferences.
	(ipa_compute_jump_functions): Temporary variable info instead of 
	a few dereferences.
	(ipa_method_modify_set): Removed.
	(ipa_method_tree_map): Renamed to ipa_get_param_decl_index
	(ipa_get_param_decl_index): Now accepts struct ipa_node_params rather 
	than craph_node as the first parameter.
	(ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
	(ipa_method_modify_init): Removed.
	(ipa_compute_jump_functions): Added a temp variable instead of 
	repeatadly dereferencing the cgraph_edge.aux pointer
	(ipa_callsite_param_set_type): Removed.
	(ipa_compute_jump_functions): i renamed to index and moved to 
	an inner block
	(ipa_callsite_param_set_info_type_formal): Removed.
	(ipa_callsite_param_set_info_type): Removed.
	(ipa_callsite_param_map_create): Removed.
	(ipa_callsite_tree): Removed.
	(ipa_callsite_caller): Removed.
	(ipa_pop_func_from_list): return_method removed to return_func

	* ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
	prefixed all values with IPA_. Changed all users.
	(enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, 
	CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF 
	and FORMAL_IPATYPE IPA_PASS_THROUGH. 
	(union parameter_info): Renamed to jump_func_value.
	(union jump_func_value): Renamed value to constant
	(struct ipa_jump_func): Renamed info_type to value
	(struct ipa_node): Renamed to ipa_node_params
	(struct ipa_node_params): Renamed ipa_arg_num to param_count
	(struct ipa_node_params): Renamed ipa_param_tree to param_decls
	(struct ipa_node_params): Renamed ipa_mod to modified_flags
	(struct ipa_edge): Renamed to ipa_edge_args
	(struct ipa_edge_args): Renamed ipa_param_num to argument_count
	(struct ipa_edge_args): Renamed ipa_param_map to jump_functions
	(struct ipa_methodlist): Renamed to ipa_func_list
	(struct ipa_func_list): method_p renamed to node, next_method
	renamed to next
	(ipa_methodlist_p): Removed, switched all users to struct pointer
	(IS_VALID_TREE_MAP_INDEX): Renamed to IS_VALID_JUMP_FUNC_INDEX

From-SVN: r134818
2008-04-30 12:01:59 +02:00
Nathan Sidwell
d79967325b * gcc.dg/tls/section-2.c: Restrict to vxworks.
From-SVN: r134817
2008-04-30 08:32:56 +00:00
Alan Modra
1c9c5e4382 rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
* config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
	(rs6000_emit_epilogue): Use backchain to restore only when we
	have a large frame.  Make use of frame pointer to restore if we
	have one.  Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.

From-SVN: r134816
2008-04-30 14:49:11 +09:30
GCC Administrator
d4f90ccc7c Daily bump.
From-SVN: r134814
2008-04-30 00:18:21 +00:00
Samuel Tardieu
af4133b2b7 [multiple changes]
2008-04-29  Ed Schonberg  <schonberg@adacore.com>

    gcc/ada/
	PR ada/35792
	* sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
	tagged type by an untagged protected or task type.

2008-04-29  Samuel Tardieu  <sam@rfc1149.net>

    gcc/testsuite/
	PR ada/35792
	* gnat.dg/specs/tag2.ads: New.

From-SVN: r134810
2008-04-29 21:43:39 +00:00
Paolo Bonzini
cf2758e3d4 avr.md (*sbrx_branch, [...]): Add mode to zero_extract.
* config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
	Add mode to zero_extract.
	(sign bit tests peepholes): (Ditto.).

From-SVN: r134809
2008-04-30 00:10:18 +04:00
H.J. Lu
f318ff0a6f i386.c (ix86_builtins): Replace Prescott New Instructions in comments with SSE3.
2008-04-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtins): Replace Prescott New
	Instructions in comments with SSE3.
	(ix86_builtin_type): This.  Add FLOAT128_FTYPE_FLOAT128,
	INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI,
	INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF,
	V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI,
	V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI,
	V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF,
	V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI,
	V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI,
	V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF,
	V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI,
	V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF,
	V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI.
	(bdesc_sse_args): Renamed to ...
	(bdesc_args): This.  Add IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP,
	IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW,
	IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF and
	IX86_BUILTIN_FABSQ.
	(bdesc_1arg): Moved to ...
	(bdesc_args): Here.
	(ix86_init_mmx_sse_builtins): Updated.  Replace Prescott New
	Instructions in comments with SSE3.
	(ix86_expand_sse_operands_builtin): Renamed to ...
	(ix86_expand_args_builtin): This.  Updated.
	(ix86_expand_unop1_builtin): Update comments.
	(ix86_expand_builtin): Updated.

From-SVN: r134807
2008-04-29 12:48:21 -07:00
Benjamin Kosnik
a7d17ed9e1 c++config: Remove space between '#' and 'undef' for _GLIBCXX_LONG_DOUBLE_COMPAT.
2008-04-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Remove space between '#' and 'undef' for
	_GLIBCXX_LONG_DOUBLE_COMPAT.

From-SVN: r134805
2008-04-29 19:43:29 +00:00
Richard Guenther
ace4eb9013 re PR tree-optimization/36078 (gfortran fails to build cpu2006/465.tonto)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36078
	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
	Update virtual SSA form after cleaning up the CFG.

	* gfortran.fortran-torture/compile/pr36078.f90: New testcase.

From-SVN: r134799
2008-04-29 16:01:36 +00:00
Richard Guenther
1447bf0556 re PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/15255
	* fold-const.c (fold_binary): Fold (A + A) * C to A * 2*C.

	* gcc.dg/fold-plusmult.c: New testcase.

From-SVN: r134798
2008-04-29 15:59:43 +00:00
Richard Guenther
59e6913ad1 tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
2008-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
	(compute_may_aliases): Do not call finalize_ref_all_pointers.
	(compute_flow_insensitive_aliasing): Do not treat
	PTR_IS_REF_ALL pointers special.
	(get_smt_for): Likewise.
	(may_alias_p): Re-structure.
	(is_escape_site): A ref-all pointer conversion is not an escape site.
	* tree-ssa-structalias.c (find_what_p_points_to): Do not treat
	PTR_IS_REF_ALL pointers special.
	* tree-ssa-structalias.h (struct alias_info): Remove
	ref_all_symbol_mem_tag field.
	(PTR_IS_REF_ALL): Remove.

From-SVN: r134797
2008-04-29 15:56:12 +00:00
Joseph Myers
c4e82de92e Makefile.am (install-html, [...]): Add dummy targets.
* Makefile.am (install-html, install-pdf): Add dummy targets.
	* Makefile.in: Regenerate.
	* doc/Makefile.am (install-html, install-pdf): Remove.
	* doc/Makefile.in: Regenerate.

From-SVN: r134795
2008-04-29 16:30:56 +01:00
Richard Guenther
81ad578ea1 re PR middle-end/36077 (Expressions result is wrong)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36077
	* fold-const.c (extract_muldiv_1): In combining division constants
	make sure to never overflow.

	* gcc.c-torture/execute/pr36077.c: New testcase.

From-SVN: r134792
2008-04-29 13:52:53 +00:00
Kai Tietz
a170f0affe sync-2.c: Set dg-options "-ansi".
2008-04-29  Kai Tietz  <kai.tietz@onevision.com>

	* testsuite/gcc.dg/sync-2.c: Set dg-options "-ansi".

From-SVN: r134791
2008-04-29 13:10:32 +02:00