Commit Graph

87119 Commits

Author SHA1 Message Date
Thomas Koenig
da96f5ab49 re PR fortran/35995 (ANY, ALL, and COUNT errors for zero sized sections)
2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35995
	* m4/ifunction_logical.m4:  If the extent of "array"
	is less than zero, set it to zero.  Use an explicit
	flag for breaking out of the main loop to avoid, because
	the data pointer for "array" may be NULL for an empty
	array.
	* m4/ifunction.m4:  Likewise.
	* generated/all_l1.c: Regenerated.
	* generated/all_l16.c: Regenerated.
	* generated/all_l2.c: Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l1.c: Regenerated.
	* generated/any_l16.c: Regenerated.
	* generated/any_l2.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_16_l.c: Regenerated.
	* generated/count_1_l.c: Regenerated.
	* generated/count_2_l.c: Regenerated.
	* generated/count_4_l.c: Regenerated.
	* generated/count_8_l.c: Regenerated.
	* 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-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35995
	* gfortran.dg/intrinsic_ifunction_1.f90:  New test case.

From-SVN: r134934
2008-05-04 19:07:28 +00:00
Uros Bizjak
62d2739afd i386.md (*strmovsi_1): Simplify asm alternatives.
* config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
        (*strmovsi_rex_1): Ditto.
        (*strsetsi_1): Ditto.
        (*strsetsi_rex_1): Ditto.

        (add<mode>cc): Macroize expander from addqicc, addhicc, addsicc and
        adddicc expanders using SWI mode iterator.

From-SVN: r134933
2008-05-04 20:40:15 +02:00
H.J. Lu
4d31c3e1cb re PR target/36121 (config/i386/i386.c: array index out of range)
2008-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/36121
	* config/i386/i386.c (ix86_expand_special_args_builtin): Remove
	3 argument handling.

From-SVN: r134932
2008-05-04 08:22:05 -07:00
Andy Hutchinson
6121961cb8 nested-func-5.c: Skip for target without trampolines.
2008-05-04   Andy Hutchinson   <hutchinsonandy@aim.com>

	* gcc.dg/nested-func-5.c: Skip for target without trampolines.
	* gcc.dg/torture/nested-fn-1.c: Ditto.

From-SVN: r134931
2008-05-04 13:10:14 +00:00
David S. Miller
2bd0fe3d07 Sorry, forgot this in previous commit.
From-SVN: r134930
2008-05-04 04:25:30 -07:00
David S. Miller
5f7ca34bf5 config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
gcc/

	* config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
	(sparc*-*-linux*): Use linux.h in tm_file.
	(sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch
	compiler defaulting to 32-bit.
	(sparc*-*-*): Remove explicit target settings of need_64bit_hwint,
	no longer needed.
	* config/sparc/linux.h: Remove definitions now obtained
	properly from linux.h
	* config/sparc/linux64.h: Likewise.
	(ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we
	don't want this setting for 32-bit builds in a biarch compiler.
	* doc/install.texi: Add sparc-linux to list of targets
	supporting --enable-targets=all.

libcpp/

	* configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes.
	* configure: Regenerate.

From-SVN: r134929
2008-05-04 04:25:04 -07:00
Thomas Koenig
9e6dca7594 re PR fortran/35990 (run-time abort for PACK of run-time zero sized array)
2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35990
	* intrinsics/pack_generic.c:  Really commit.

From-SVN: r134928
2008-05-04 10:14:49 +00:00
Thomas Koenig
7ad99d60f4 re PR fortran/35990 (run-time abort for PACK of run-time zero sized array)
2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35990
	* intrinsics/pack_generic.c:  If an extent of the source
	array is less then zero, set it to zero.  Set the source
	pointer to NULL if the source size is zero.  Set the total
	number of elements to zero if the vector has an extent
	less or equal to zero.
	* m4/pack.m4:  Set the source pointer to NULL if the
	source array is zero-sized.  Set the total number of
	elemements to zero if the vector has an extent less or
	equal to zero.
	* generated/pack_i1.c:  Regenerated.
	* generated/pack_i2.c:  Regenerated.
	* generated/pack_i4.c:  Regenerated.
	* generated/pack_i8.c:  Regenerated.
	* generated/pack_i16.c:  Regenerated.
	* generated/pack_r4.c:  Regenerated.
	* generated/pack_r8.c:  Regenerated.
	* generated/pack_r10.c:  Regenerated.
	* generated/pack_r16.c:  Regenerated.
	* generated/pack_c4.c:  Regenerated.
	* generated/pack_c8.c:  Regenerated.
	* generated/pack_c10.c:  Regenerated.
	* generated/pack_c16.c:  Regenerated.

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

	PR libfortran/35990
	* gfortran.dg/intrinsic_pack_4.f90:  New test case.

From-SVN: r134927
2008-05-04 08:06:02 +00:00
Kris Van Hees
3e438e2b76 Added myself with write-after-approval privs.
From-SVN: r134926
2008-05-04 00:54:32 +00:00
GCC Administrator
ceb86b9bd4 Daily bump.
From-SVN: r134924
2008-05-04 00:17:17 +00:00
Andrew Pinski
5a3db6d50c Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
2008-05-03  Andrew Pinski  <pinskia@gmail.com>

        * Makefile.in (tree-ssa-phiprop.o): Fix dependencies.

From-SVN: r134920
2008-05-03 13:54:43 -07:00
Janus Weil
ed54a884c3 misc.c (gfc_clear_ts): Set interface to NULL.
2008-05-03  Janus Weil  <jaydub66@gmail.com>

	* misc.c (gfc_clear_ts): Set interface to NULL.

From-SVN: r134918
2008-05-03 20:37:48 +00:00
Eric Botcazou
8f85525e41 decl.c (components_to_record): Zero the alignment of the qualified union built for the variant part upon...
* decl.c (components_to_record): Zero the alignment of the qualified
	union built for the variant part upon creating it.

From-SVN: r134917
2008-05-03 19:47:22 +00:00
Eric Botcazou
88f36b7eb6 decl.c (maybe_pad_type): Try to get a form of the type with integral mode even if...
* decl.c (maybe_pad_type): Try to get a form of the type with integral
	mode even if the alignment is not a factor of the original size.  But
	make sure to create the inner field with the original size.  Reorder.
	* trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
	record as always addressable.
	* utils.c (convert): Deal specially with conversions between original
	and packable versions of a record type.
	* utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
	recognizing an assignment between padded objects.

From-SVN: r134916
2008-05-03 19:35:01 +00:00
Richard Guenther
093daf0fc7 loop-36.c: Cleanup the dump file.
2008-05-03  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/loop-36.c: Cleanup the dump file.

From-SVN: r134912
2008-05-03 16:31:59 +00:00
Joseph Myers
e8234b1145 * zh_CN.po: Update.
From-SVN: r134907
2008-05-03 17:19:42 +01:00
H.J. Lu
3c7ae64a65 i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF after V4SI_FTYPE_V8HI.
2008-05-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF
	after V4SI_FTYPE_V8HI.
	(ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after
	case V4SI_FTYPE_V2DF.

From-SVN: r134906
2008-05-03 09:17:24 -07:00
Kenneth Zadeck
75643ab17e invoke.texi (max-flow-memory-locations): Removed.
2008-05-03  Kenneth Zadeck <zadeck@naturalbridge.com>

	* doc/invoke.texi (max-flow-memory-locations): Removed.
	* params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed.

From-SVN: r134904
2008-05-03 15:53:11 +00:00
Richard Guenther
621b5ed613 re PR middle-end/34973 (Wno-strict-aliasing is not working)
2008-05-03  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34973
	* opts.c (set_Wstrict_aliasing): Handle the turn-off case.

From-SVN: r134903
2008-05-03 15:28:57 +00:00
Jerry DeLisle
d18b52aa3b re PR fortran/33268 (read ('(f3.3)'), a rejected due to the extra (...))
2008-05-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33268
	* gfortran.dg/io_constraints_4.f90: New test.

From-SVN: r134901
2008-05-03 15:14:55 +00:00
Jerry DeLisle
ad7ee6f8d5 re PR fortran/33268 (read ('(f3.3)'), a rejected due to the extra (...))
2008-05-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33268
	* gfortran.h: Add extra_comma pointer to gfc_dt structure. Add iokind to
	gfc_expr value union. Add io_kind enum to here from io.c.
	* io.c (gfc_free_dt): Free extra_comma.
	(gfc_resolve_dt): If an extra comma was encountered and io_unit is type
	BT_CHARACTER, resolve to format_expr and set default unit.  Error if
	io_kind is M_WRITE. (match_io):  Match the extra comma and set new
	pointer, extra_comma.

From-SVN: r134900
2008-05-03 15:11:33 +00:00
David S. Miller
1183512494 config.gcc (need_64bit_hwint): Document libcpp dependency.
2008-05-02  David S. Miller  <davem@davemloft.net>

	* config.gcc (need_64bit_hwint): Document libcpp dependency.

From-SVN: r134898
2008-05-03 02:16:49 -07:00
GCC Administrator
b484ae1661 Daily bump.
From-SVN: r134895
2008-05-03 00:17:24 +00:00
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