gcc.git
16 years agoi386.c (x86_output_mi_thunk): Use movq alternative mnemonic in this_param move for...
Kai Tietz [Sun, 4 May 2008 19:19:50 +0000 (19:19 +0000)]
i386.c (x86_output_mi_thunk): Use movq alternative mnemonic in this_param move for TARGET_64BIT.

2008-05-04  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
mnemonic in this_param move for TARGET_64BIT.

From-SVN: r134935

16 years agore PR fortran/35995 (ANY, ALL, and COUNT errors for zero sized sections)
Thomas Koenig [Sun, 4 May 2008 19:07:28 +0000 (19:07 +0000)]
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

16 years agoi386.md (*strmovsi_1): Simplify asm alternatives.
Uros Bizjak [Sun, 4 May 2008 18:40:15 +0000 (20:40 +0200)]
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

16 years agore PR target/36121 (config/i386/i386.c: array index out of range)
H.J. Lu [Sun, 4 May 2008 15:22:05 +0000 (15:22 +0000)]
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

16 years agonested-func-5.c: Skip for target without trampolines.
Andy Hutchinson [Sun, 4 May 2008 13:10:14 +0000 (13:10 +0000)]
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

16 years agoSorry, forgot this in previous commit.
David S. Miller [Sun, 4 May 2008 11:25:30 +0000 (04:25 -0700)]
Sorry, forgot this in previous commit.

From-SVN: r134930

16 years agoconfig.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
David S. Miller [Sun, 4 May 2008 11:25:04 +0000 (11:25 +0000)]
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

16 years agore PR fortran/35990 (run-time abort for PACK of run-time zero sized array)
Thomas Koenig [Sun, 4 May 2008 10:14:49 +0000 (10:14 +0000)]
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

16 years agore PR fortran/35990 (run-time abort for PACK of run-time zero sized array)
Thomas Koenig [Sun, 4 May 2008 08:06:02 +0000 (08:06 +0000)]
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

16 years agoAdded myself with write-after-approval privs.
Kris Van Hees [Sun, 4 May 2008 00:54:32 +0000 (00:54 +0000)]
Added myself with write-after-approval privs.

From-SVN: r134926

16 years agoDaily bump.
GCC Administrator [Sun, 4 May 2008 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134924

16 years agoMakefile.in (tree-ssa-phiprop.o): Fix dependencies.
Andrew Pinski [Sat, 3 May 2008 20:54:43 +0000 (13:54 -0700)]
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

16 years agomisc.c (gfc_clear_ts): Set interface to NULL.
Janus Weil [Sat, 3 May 2008 20:37:48 +0000 (20:37 +0000)]
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

16 years agodecl.c (components_to_record): Zero the alignment of the qualified union built for...
Eric Botcazou [Sat, 3 May 2008 19:47:22 +0000 (19:47 +0000)]
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

16 years agodecl.c (maybe_pad_type): Try to get a form of the type with integral mode even if...
Eric Botcazou [Sat, 3 May 2008 19:35:01 +0000 (19:35 +0000)]
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

16 years agoloop-36.c: Cleanup the dump file.
Richard Guenther [Sat, 3 May 2008 16:31:59 +0000 (16:31 +0000)]
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

16 years ago* zh_CN.po: Update.
Joseph Myers [Sat, 3 May 2008 16:19:42 +0000 (17:19 +0100)]
* zh_CN.po: Update.

From-SVN: r134907

16 years agoi386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF after V4SI_FTYPE_V8HI.
H.J. Lu [Sat, 3 May 2008 16:17:24 +0000 (16:17 +0000)]
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

16 years agoinvoke.texi (max-flow-memory-locations): Removed.
Kenneth Zadeck [Sat, 3 May 2008 15:53:11 +0000 (15:53 +0000)]
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

16 years agore PR middle-end/34973 (Wno-strict-aliasing is not working)
Richard Guenther [Sat, 3 May 2008 15:28:57 +0000 (15:28 +0000)]
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

16 years agore PR fortran/33268 (read ('(f3.3)'), a rejected due to the extra (...))
Jerry DeLisle [Sat, 3 May 2008 15:14:55 +0000 (15:14 +0000)]
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

16 years agore PR fortran/33268 (read ('(f3.3)'), a rejected due to the extra (...))
Jerry DeLisle [Sat, 3 May 2008 15:11:33 +0000 (15:11 +0000)]
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

16 years agoconfig.gcc (need_64bit_hwint): Document libcpp dependency.
David S. Miller [Sat, 3 May 2008 09:16:49 +0000 (09:16 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Sat, 3 May 2008 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134895

16 years agoRolled back the following changes made in revision 134865:
Simon Baldwin [Fri, 2 May 2008 20:01:31 +0000 (20:01 +0000)]
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

16 years agoi386.c (ix86_special_builtin_type): New.
H.J. Lu [Fri, 2 May 2008 19:20:43 +0000 (19:20 +0000)]
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

16 years agore PR tree-optimization/36100 (always_inline attribute is broken at -O0)
Jan Hubicka [Fri, 2 May 2008 11:08:22 +0000 (13:08 +0200)]
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

16 years agoc++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.
Benjamin Kosnik [Fri, 2 May 2008 06:08:28 +0000 (06:08 +0000)]
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

16 years agoPR fortran/PR35940
Bud Davis [Fri, 2 May 2008 04:05:12 +0000 (04:05 +0000)]
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

16 years agore PR libfortran/36094 (Runtime error show_locus not working correctly)
Jerry DeLisle [Fri, 2 May 2008 01:33:16 +0000 (01:33 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Fri, 2 May 2008 00:17:42 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134874

16 years agotree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
Eric Botcazou [Thu, 1 May 2008 20:13:56 +0000 (20:13 +0000)]
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

16 years agogfortran.h (struct gfc_symbol): Moving "interface" member to gfc_typespec (plus fixin...
Janus Weil [Thu, 1 May 2008 19:38:04 +0000 (19:38 +0000)]
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

16 years agoc-common.h (warn_array_subscript_range): New function.
Simon Baldwin [Thu, 1 May 2008 19:03:32 +0000 (19:03 +0000)]
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

16 years agoi386.c (ix86_builtin_type): Replace DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
H.J. Lu [Thu, 1 May 2008 17:47:43 +0000 (17:47 +0000)]
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

16 years agore PR target/36095 (__builtin_ia32_crc32di shouldn't defined in 32bit)
H.J. Lu [Thu, 1 May 2008 16:13:23 +0000 (16:13 +0000)]
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

16 years agotree-pass.h (opt_pass): Add IPA_PASS.
Jan Hubicka [Thu, 1 May 2008 16:08:15 +0000 (18:08 +0200)]
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

16 years agoi386.c (ix86_builtin_type): Add V2DI_FTYPE_V2DI_V16QI...
H.J. Lu [Thu, 1 May 2008 15:03:57 +0000 (15:03 +0000)]
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

16 years agoi386.c (ix86_builtin_type): Add V8HI_FTYPE_V8HI_V8HI_COUNT...
H.J. Lu [Thu, 1 May 2008 15:02:16 +0000 (15:02 +0000)]
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

16 years agore PR middle-end/36093 (__align__ produces incorrect results in certain cases)
Richard Guenther [Thu, 1 May 2008 11:22:33 +0000 (11:22 +0000)]
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

16 years agodecl.c (make_packable_type): Resize the last component to its RM size only if it...
Eric Botcazou [Thu, 1 May 2008 10:50:01 +0000 (10:50 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Thu, 1 May 2008 00:17:47 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134843

16 years agointrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic.
François-Xavier Coudert [Wed, 30 Apr 2008 21:45:02 +0000 (21:45 +0000)]
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

16 years agore PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)
Richard Guenther [Wed, 30 Apr 2008 21:42:24 +0000 (21:42 +0000)]
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

16 years agochmod_1.f90: Disable for *-*-mingw*.
Kai Tietz [Wed, 30 Apr 2008 20:24:46 +0000 (20:24 +0000)]
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

16 years agore PR fortran/35997 (Used function interface bug)
Paul Thomas [Wed, 30 Apr 2008 20:13:21 +0000 (20:13 +0000)]
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

16 years agoarm.c (arm_unwind_emit): Use crtl->all_throwers_are_sibcalls instead of cfun->all_thr...
Richard Sandiford [Wed, 30 Apr 2008 19:33:32 +0000 (19:33 +0000)]
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

16 years agore PR tree-optimization/21636 (Missed ccp optimization)
Richard Guenther [Wed, 30 Apr 2008 19:05:12 +0000 (19:05 +0000)]
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

16 years agobuiltins.c (fold_call_expr): Return realret.
Rafael Avila de Espindola [Wed, 30 Apr 2008 17:21:55 +0000 (17:21 +0000)]
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

16 years agogcc.c (wrapper_string): New variable.
Seongbae Park [Wed, 30 Apr 2008 17:17:03 +0000 (17:17 +0000)]
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

16 years agore PR fortran/35993 (wrong answer for all array intrinsics with scalar mask)
Thomas Koenig [Wed, 30 Apr 2008 16:56:01 +0000 (16:56 +0000)]
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

16 years agoMakefile.am (install-headers): Cope with empty parallel_headers.
Ralf Wildenhues [Wed, 30 Apr 2008 16:43:08 +0000 (16:43 +0000)]
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

16 years agot-ppccomm: Add build rules for new files.
Nathan Froyd [Wed, 30 Apr 2008 16:10:21 +0000 (16:10 +0000)]
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

16 years agoi386.c (ix86_builtin_type): Add FLOAT128_FTYPE_FLOAT128_FLOAT128...
H.J. Lu [Wed, 30 Apr 2008 15:40:14 +0000 (15:40 +0000)]
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

16 years agore PR tree-optimization/14847 ([tree-ssa] combine "if (a & 1) goto there" and "if...
Richard Guenther [Wed, 30 Apr 2008 15:06:16 +0000 (15:06 +0000)]
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

16 years agore PR c++/35986 (ICE with ambiguous template functions)
Jakub Jelinek [Wed, 30 Apr 2008 14:24:18 +0000 (16:24 +0200)]
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

16 years agoMAINTAINERS: (Write After Approval): Add myself.
Martin Jambor [Wed, 30 Apr 2008 14:21:32 +0000 (16:21 +0200)]
MAINTAINERS: (Write After Approval): Add myself.

2008-04-30  Martin Jambor  <mjambor@suse.cz>

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

From-SVN: r134822

16 years agoChangeLog: Added entries I forgot in my previous commit.
Martin Jambor [Wed, 30 Apr 2008 12:35:19 +0000 (14:35 +0200)]
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

16 years agochmod_1.f90: Disable for x86_64-*-mingw*.
Kai Tietz [Wed, 30 Apr 2008 12:34:13 +0000 (12:34 +0000)]
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

16 years agoMakefile.in: Adapt sh4-linux target.
Samuel Tardieu [Wed, 30 Apr 2008 10:46:17 +0000 (10:46 +0000)]
Makefile.in: Adapt sh4-linux target.

    gcc/ada/
* Makefile.in: Adapt sh4-linux target.

From-SVN: r134819

16 years agoipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting...
Martin Jambor [Wed, 30 Apr 2008 10:01:59 +0000 (12:01 +0200)]
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

16 years ago* gcc.dg/tls/section-2.c: Restrict to vxworks.
Nathan Sidwell [Wed, 30 Apr 2008 08:32:56 +0000 (08:32 +0000)]
* gcc.dg/tls/section-2.c: Restrict to vxworks.

From-SVN: r134817

16 years agors6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
Alan Modra [Wed, 30 Apr 2008 05:19:11 +0000 (05:19 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Wed, 30 Apr 2008 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r134814

16 years ago[multiple changes]
Samuel Tardieu [Tue, 29 Apr 2008 21:43:39 +0000 (21:43 +0000)]
[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

16 years agoavr.md (*sbrx_branch, [...]): Add mode to zero_extract.
Paolo Bonzini [Tue, 29 Apr 2008 20:10:18 +0000 (20:10 +0000)]
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

16 years agoi386.c (ix86_builtins): Replace Prescott New Instructions in comments with SSE3.
H.J. Lu [Tue, 29 Apr 2008 19:48:21 +0000 (19:48 +0000)]
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

16 years agoc++config: Remove space between '#' and 'undef' for _GLIBCXX_LONG_DOUBLE_COMPAT.
Benjamin Kosnik [Tue, 29 Apr 2008 19:43:29 +0000 (19:43 +0000)]
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

16 years agore PR tree-optimization/36078 (gfortran fails to build cpu2006/465.tonto)
Richard Guenther [Tue, 29 Apr 2008 16:01:36 +0000 (16:01 +0000)]
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

16 years agore PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4)
Richard Guenther [Tue, 29 Apr 2008 15:59:43 +0000 (15:59 +0000)]
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

16 years agotree-ssa-alias.c (finalize_ref_all_pointers): Remove.
Richard Guenther [Tue, 29 Apr 2008 15:56:12 +0000 (15:56 +0000)]
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

16 years agoMakefile.am (install-html, [...]): Add dummy targets.
Joseph Myers [Tue, 29 Apr 2008 15:30:56 +0000 (16:30 +0100)]
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

16 years agore PR middle-end/36077 (Expressions result is wrong)
Richard Guenther [Tue, 29 Apr 2008 13:52:53 +0000 (13:52 +0000)]
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

16 years agosync-2.c: Set dg-options "-ansi".
Kai Tietz [Tue, 29 Apr 2008 11:10:32 +0000 (11:10 +0000)]
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

16 years ago* doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
Nick Clifton [Tue, 29 Apr 2008 10:41:30 +0000 (10:41 +0000)]
* doc/tm.texi (RETURN_ADDR_RTX): Fix typo.

From-SVN: r134790

16 years agore PR c++/35650 (Can't bind ref-to-function through using-decl. in namespace)
Jakub Jelinek [Tue, 29 Apr 2008 08:58:20 +0000 (10:58 +0200)]
re PR c++/35650 (Can't bind ref-to-function through using-decl. in namespace)

PR c++/35650
* parser.c (cp_parser_lookup_name): Look through single function
OVERLOAD.

* g++.dg/init/ref17.C: New test.

From-SVN: r134788

16 years agore PR c++/35987 (ICE with invalid if-condition)
Jakub Jelinek [Tue, 29 Apr 2008 08:54:45 +0000 (10:54 +0200)]
re PR c++/35987 (ICE with invalid if-condition)

PR c++/35987
* typeck.c (cp_build_modify_expr) <case PREINCREMENT_EXPR>: Don't build
COMPOUND_EXPR if the second argument would be error_mark_node.

* g++.dg/other/error28.C: New test.

From-SVN: r134786

16 years agoc++config: Move os_defines and cpu_defines after namespace definitions and base macros.
Benjamin Kosnik [Tue, 29 Apr 2008 05:45:00 +0000 (05:45 +0000)]
c++config: Move os_defines and cpu_defines after namespace definitions and base macros.

2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/c++config: Move os_defines and cpu_defines after
namespace definitions and base macros.

From-SVN: r134779

16 years agore PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)
Benjamin Kosnik [Tue, 29 Apr 2008 04:40:08 +0000 (04:40 +0000)]
re PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)

2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/35887
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just
checking for omp.h.
* configure: Regenerate.

From-SVN: r134776

16 years agoDaily bump.
GCC Administrator [Tue, 29 Apr 2008 00:17:55 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134774

16 years agore PR bootstrap/35169 (SIGSEGV for stack growth failure while building 4.2.3)
Ralf Wildenhues [Mon, 28 Apr 2008 22:27:22 +0000 (22:27 +0000)]
re PR bootstrap/35169 (SIGSEGV for stack growth failure while building 4.2.3)

gcc/
PR bootstrap/35169
* optc-gen.awk: Work around HP-UX/IA awk bug.

From-SVN: r134768

16 years agore PR ada/36007 (verify_gimple failed)
Eric Botcazou [Mon, 28 Apr 2008 21:15:41 +0000 (21:15 +0000)]
re PR ada/36007 (verify_gimple failed)

PR ada/36007
* decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
of aliased objects with an unconstrained nominal subtype.
Cap the promotion to the effective alignment of the word mode.

Co-Authored-By: Tristan Gingold <gingold@adacore.com>
From-SVN: r134766

16 years agogcc/ada/
Ralf Wildenhues [Mon, 28 Apr 2008 21:09:21 +0000 (21:09 +0000)]
gcc/ada/
* Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
(ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
Use '&&' instead of ';'.

From-SVN: r134765

16 years agore PR c++/57 ([DR 325] GCC can't parse a non-parenthesized comma in a template-id...
Jason Merrill [Mon, 28 Apr 2008 20:43:27 +0000 (16:43 -0400)]
re PR c++/57 ([DR 325] GCC can't parse a non-parenthesized comma in a template-id within a default argument)

        PR c++/57
        * parser.c (cp_parser_parameter_declaration): Handle < ambiguity
        in default arguments.

Co-Authored-By: Liu Guanwei <liu_gw@163.com>
From-SVN: r134762

16 years agocygming-crtend.c (register_frame_ctor): Revert my last commit.
Danny Smith [Mon, 28 Apr 2008 20:13:59 +0000 (20:13 +0000)]
cygming-crtend.c (register_frame_ctor): Revert my last commit.

* config/i386/cygming-crtend.c (register_frame_ctor): Revert my
last commit.

From-SVN: r134761

16 years agore PR target/36073 (ICE with -ffast-math and -mfpmath=sse,387)
Uros Bizjak [Mon, 28 Apr 2008 17:49:51 +0000 (19:49 +0200)]
re PR target/36073 (ICE with -ffast-math and -mfpmath=sse,387)

        PR target/36073
        * config/i386/i386.md
        (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
        Change operand 1 predicate to nonimmediate_operand.

testsuite/ChangeLog:

        PR target/36073
        * gcc.target/i386/pr36073.c: New test.

From-SVN: r134757

16 years agoAdd myself to MAINTAINERS.
Gabriele Svelto [Mon, 28 Apr 2008 13:15:14 +0000 (13:15 +0000)]
Add myself to MAINTAINERS.

From-SVN: r134755

16 years agore PR debug/36060 (Too big stack requirements of cc1plus during GC)
Jakub Jelinek [Mon, 28 Apr 2008 09:45:26 +0000 (11:45 +0200)]
re PR debug/36060 (Too big stack requirements of cc1plus during GC)

PR debug/36060
* dwarf2out.c (struct die_struct): Mark as chain_circular through
die_sub field.
* gengtype.c (walk_type, write_func_for_structure): Handle
chain_circular.
* doc/gty.texi: Document chain_circular.

From-SVN: r134750

16 years agore PR tree-optimization/34223 (missed optimization - complete unrolling pass before...
Richard Guenther [Mon, 28 Apr 2008 09:22:28 +0000 (09:22 +0000)]
re PR tree-optimization/34223 (missed optimization - complete unrolling pass before the vectorizer)

2008-04-28  Richard Guenther  <rguenther@suse.de>

        PR testsuite/34223
        * gcc.dg/vect/vect-118.c: Rename to ...
        * gcc.dg/vect/O3-vect-pr34223.c: ... this.

From-SVN: r134747

16 years agore PR tree-optimization/36066 (ICE with -O1 -finline-small-functions -ftree-vrp ...
Richard Guenther [Mon, 28 Apr 2008 09:09:19 +0000 (09:09 +0000)]
re PR tree-optimization/36066 (ICE with -O1 -finline-small-functions -ftree-vrp -funsafe-loop-optimizations)

2008-04-28  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36066
* tree-vrp.c (execute_vrp): Cleanup the CFG only after finalizing
SCEV and loop.

* gcc.dg/torture/pr36066.c: New testcase.

From-SVN: r134745

16 years agore PR target/36064 (could not split insn with -O1 -march=nocona -m32)
Uros Bizjak [Mon, 28 Apr 2008 07:52:01 +0000 (09:52 +0200)]
re PR target/36064 (could not split insn with -O1 -march=nocona -m32)

PR target/36064
* config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
Use match_scratch instead of match_operand for operands 3 and 4.

testsuite/ChangeLog:

PR target/36064
* gcc.target/i386/pr36064.c: New test.

From-SVN: r134744

16 years agore PR testsuite/36056 (g++.dg/ext/vector14.C doesn't work for ia32)
Uros Bizjak [Mon, 28 Apr 2008 07:42:12 +0000 (09:42 +0200)]
re PR testsuite/36056 (g++.dg/ext/vector14.C doesn't work for ia32)

PR testsuite/36056
* g++.dg/ext/vector14.C: Add -msse for 32bit x86 targets.

From-SVN: r134743

16 years agoDaily bump.
GCC Administrator [Mon, 28 Apr 2008 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134734

16 years agore PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late...
Richard Guenther [Sun, 27 Apr 2008 16:27:08 +0000 (16:27 +0000)]
re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough)

2008-04-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/18754
PR tree-optimization/34223
* tree-pass.h (pass_complete_unrolli): Declare.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
loop size before and after unconditionally of UL_NO_GROWTH in effect.
Rewrite loop into loop closed SSA form if it is not already.
(tree_unroll_loops_completely): Re-structure to iterate over
innermost loops with intermediate CFG cleanups.
Unroll outermost loops only if requested or the code does not grow
doing so.
* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
loops are available.
(tree_vectorize): Instead do so here.
(tree_complete_unroll): Also unroll outermost loops.
(tree_complete_unroll_inner): New function.
(gate_tree_complete_unroll_inner): Likewise.
(pass_complete_unrolli): New pass.
* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
uses outside of the loop.
(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
form if it is available.
* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
* passes.c (init_optimization_passes): Schedule complete inner
loop unrolling pass before the first CCP pass after final inlining.

* gcc.dg/tree-ssa/loop-36.c: New testcase.
* gcc.dg/tree-ssa/loop-37.c: Likewise.
* gcc.dg/vect/vect-118.c: Likewise.
* gcc.dg/Wunreachable-8.c: XFAIL bogus warning.
* gcc.dg/vect/vect-66.c: Increase loop trip count.
* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-11a.c: Likewise.
* gcc.dg/vect/vect-shift-1.c: Likewise.
* gcc.target/i386/vectorize1.c: Likewise.

From-SVN: r134730

16 years agotarghooks.h (default_emutls_var_fields, [...]): Declare.
Nathan Sidwell [Sun, 27 Apr 2008 15:35:19 +0000 (15:35 +0000)]
targhooks.h (default_emutls_var_fields, [...]): Declare.

* targhooks.h (default_emutls_var_fields,
default_emutls_var_init): Declare.
* tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
* target.h (struct gcc_target): Add struct emutls member.
* target-def.h (TARGET_EMUTLS_GET_ADDRESS,
TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
(TARGET_INITIALIZER): Add TARGET_EMUTLS.
* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
* dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
emit debug information.
* coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
* varasm.c: Include targhooks.h.
(emutls_object_section, emutls_tmpl_section): New.
(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
(EMUTLS_SEPARATOR): New.
(prefix_name): New.
(get_emutls_object_name): New.
(default_emutls_var_fields): New, broken out of ...
(get_emutls_object_type): ... here.  Adjust to use target hooks.
(get_emutls_init_templ_addr): Adjust to use target hooks.
(emutls_decl): Adjust to use target hooks.
(emutls_finish): Likewise.
(default_emutls_var_init): New, broken out of ...
(assemble_variable): ... here.  Adjust to use target hooks.
* output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
SECCAT_EMUTLS_TMPL.
* c-common.c (handle_section_attribute): Prevent overriding
sections for emulated tls with special sections.
* config/i386/i386.c (x86_64_elf_select_section): Add
SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
(x86_64_elf_unique_section): Likewise.
* config/vxworks.c: Include tree.h.
(vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
(vxworks_override_options): Set TLS scheme.
* gcc/doc/tm.texi (Emulated TLS): New node.

gcc/testsuite/
* gcc.dg/tls/section-2.c: New.
* gcc.dg/tls/emutls-1.c: New.
* lib/target-supports.exp (check_effective_target_tls_native):
Exclude vxworks.

From-SVN: r134729

16 years agoDaily bump.
GCC Administrator [Sun, 27 Apr 2008 00:18:13 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r134721

16 years agore PR testsuite/36053 (ERROR: tcl error sourcing gcc/gcc/testsuite/gcc.dg/dg.exp)
H.J. Lu [Sat, 26 Apr 2008 19:14:46 +0000 (12:14 -0700)]
re PR testsuite/36053 (ERROR: tcl error sourcing gcc/gcc/testsuite/gcc.dg/dg.exp)

2008-04-26  H.J. Lu  <hongjiu.lu@intel.com>

PR testsuite/36053
* gcc.dg/large-size-array-2.c: Fix x86_64-*-mingw* check.
* gcc.dg/large-size-array-4.c: Likewise.

From-SVN: r134716

16 years agore PR c++/35652 (offset warning should be given in the front-end)
Simon Baldwin [Sat, 26 Apr 2008 16:59:38 +0000 (16:59 +0000)]
re PR c++/35652 (offset warning should be given in the front-end)

       PR c/35652
       * builtins.c (c_strlen): Suppressed multiple warnings that can occur
       with propagated string constants.

From-SVN: r134714

16 years agoi386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X' constraint for operand 2...
Uros Bizjak [Sat, 26 Apr 2008 13:43:13 +0000 (15:43 +0200)]
i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X' constraint for operand 2 when operand 0 is memory operand.

        * config/i386/i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X'
        constraint for operand 2 when operand 0 is memory operand.
        (fix_truncdi_i387_with_temp): : Use 'X' constraint for operand 4 when
        operand 0 is memory operand.
        (fix_trunc<mode>_i387_with_temp): Ditto.
        (*floatsi<mode>2_vector_mixed_with_temp): Use 'X' constraint for
        operand 2 when operand 1 is memory operand.
        (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Ditto.
        (*floatsi<mode>2_vector_sse_with_temp): Ditto.
        (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Ditto.
        (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
        (floatdi<X87MODEF:mode>2_i387_with_xmm): Use 'X' constraint for
        operands 2,3 and 4 when operand 1 is memory operand.
        (fistdi2_with_temp): Use 'X' constraint for operand 2 when operand 0
        is memory operand.
        (fistdi2_floor_with_temp): Ditto.
        (fist<mode>2_floor_with_temp): Ditto.
        (fistdi2_ceil_with_temp): Ditto.
        (fist<mode>2_ceil_with_temp): Ditto.
        (*truncdfsf_fast_mixed): Merge alternatives 0 and 1.

From-SVN: r134697

16 years agore PR fortran/35892 (gfortran lost memory blocks)
George Helffrich [Sat, 26 Apr 2008 09:46:01 +0000 (09:46 +0000)]
re PR fortran/35892 (gfortran lost memory blocks)

2008-04-26  George Helffrich <george@gcc.gnu.org>

PR fortran/35892
PR fortran/35154
* fortran/trans-common.c (create_common):  Add decl to function
chain (if inside one) to preserve identifier scope in debug output.

        * testsuite/gfortran.dg/debug/pr35154-stabs.f:  New test case for
        .stabs functionality.
        * testsuite/gfortran.dg/debug/pr35154-dwarf2.f:  New test case for
        DWARF functionality.

From-SVN: r134696