Commit Graph

76346 Commits

Author SHA1 Message Date
Andrew Pinski
c9eee440af re PR middle-end/28862 (attribute ((aligned)) ignored on vector variables)
2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * stor-layout.c (relayout_decl): Don't zero the alignment if it
        was set by the user.

2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * gcc.c-torture/compile/vector-align-1.c: New test.

From-SVN: r116751
2006-09-07 08:36:50 -07:00
Matthias Klose
5cfa6a4e9b Makefile.am (AM_CXXFLAGS): Remove duplicate define.
2006-09-07  Matthias Klose  <doko@debian.org> 
 
            * Makefile.am (AM_CXXFLAGS): Remove duplicate define. 
            * Makefile.in: Regenerate.

From-SVN: r116750
2006-09-07 14:28:04 +00:00
Paolo Bonzini
62bf45a5a0 re PR target/27117 (SH backend cheats to reload -- disables indexed addressing but uses it internally)
2006-09-07  Paolo Bonzini  <bonzini@gnu.org>

	PR target/27117
	* config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
	(divsi_inv_m1): Use them.
	(UNSPEC_DIV_INV_TABLE): New constant.

From-SVN: r116746
2006-09-07 08:19:32 +00:00
Roberto Costa
e8288489d9 Added Roberto Costa to MAINTAINERS list
From-SVN: r116741
2006-09-07 07:14:34 +00:00
Zak Kipling
c533e34d79 re PR c++/26195 (pragma interface no longer handles explicit names)
PR c++/26195
        * decl.c (make_rtl_for_nonlocal_decl),
        (start_preparsed_function): Don't use lbasename on
        input_filename when calling get_fileinfo.
        * semantics.c (begin_class_definition): Likewise.
        * lex.c (cxx_make_type): Likewise.
        (handle_pragma_interface): Call get_fileinfo on input_filename,
        not on the parameter to the directive.

From-SVN: r116740
2006-09-07 02:53:21 -04:00
Andrew Pinski
b5b84a7f46 [multiple changes]
2006-09-06  James E Wilson  <wilson@specifix.com>

        PR rtl-opt/27883
        * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
        then call count_or_remove_death_notes.

2006-09-06  Andrew Pinski  <pinskia@physics.uc.edu>

        PR rtl-opt/27883
        * g++.dg/opt/copysign-1.C: New test.

From-SVN: r116739
2006-09-06 21:24:24 -07:00
Kaveh R. Ghazi
aa4f41c1d5 configure.ac (ACX_PROG_CC_WARNING_OPTS): Add -Wcast-qual.
* configure.ac (ACX_PROG_CC_WARNING_OPTS): Add -Wcast-qual.
	* configure, config.in: Regenerate.

	* decContext.c (decContextStatusToString): Constify.
	* decContext.h (decContextStatusToString): Likewise.
	* decNumber.c (decNumberToString, decNumberToEngString,
	decNumberAbs, decNumberAdd, decNumberCompare, decNumberDivide,
	decNumberDivideInteger, decNumberMax, decNumberMin,
	decNumberMinus, decNumberPlus, decNumberMultiply,
	decNumberNormalize, decNumberQuantize, decNumberRescale,
	 decNumberRemainder, decNumberRemainderNear,
	decNumberSameQuantum, decNumberSquareRoot, decNumberSubtract,
	decNumberToIntegralValue, decNumberCopy, decToString, decAddOp,
	decDivideOp, decMultiplyOp, decQuantizeOp, decCompareOp,
	decCompare, decUnitCompare, decUnitAddSub, decRoundOperand,
	decCopyFit, decSetCoeff, decGetInt, decNaNs, decGetDigits,
	decNumberShow, decDumpAr, decCheckOperands, decCheckNumber):
	Likewise.
	* decNumber.h (decNumberToString, decNumberToEngString,
	decNumberAbs, decNumberAdd, decNumberCompare, decNumberDivide,
	decNumberDivideInteger, decNumberMax, decNumberMin,
	decNumberMinus, decNumberMultiply, decNumberNormalize,
	decNumberPlus, decNumberQuantize, decNumberRemainder,
	 decNumberRemainderNear, decNumberRescale,
	decNumberSameQuantum, decNumberSquareRoot, decNumberSubtract,
	decNumberToIntegralValue, decNumberCopy): Likewise.
	* decUtility.c (decDensePackCoeff, decDenseUnpackCoeff):
	Likewise.
	* decUtility.h (decDensePackCoeff, decDenseUnpackCoeff):
	Likewise.
	* decimal128.c (decimal128FromNumber, decimal128ToNumber,
	decimal128ToString, decimal128ToEngString, decimal128Show):
	Likewise.
	* decimal128.h (decimal128ToString, decimal128ToEngString,
	decimal128FromNumber, decimal128ToNumber): Likewise.
	* decimal32.c (decimal32FromNumber, decimal32ToNumber,
	decimal32ToString, decimal32ToEngString, decimal32Show):
	Likewise.
	* decimal32.h (decimal32ToString, decimal32ToEngString,
	decimal32FromNumber, decimal32ToNumber): Likewise.
	* decimal64.c (decimal64FromNumber, decimal64ToNumber,
	decimal64ToString, decimal64ToEngString, decimal64Show):
	Likewise.
	* decimal64.h (decimal64ToString, decimal64ToEngString,
	decimal64FromNumber, decimal64ToNumber): Likewise.

From-SVN: r116738
2006-09-07 04:17:01 +00:00
Jason Merrill
c08cd4c1f1 re PR c++/27371 (Does not warn about unused function result (__attribute__((warn_unused_result))))
PR c++/27371
        * tree-inline.c (copy_result_decl_to_var): New fn.
        (declare_return_variable): Use it.  Call declare_inline_vars here.
        (expand_call_inline): Not here.
        * cp/cvt.c (convert_to_void): Strip useless TARGET_EXPR.
        * cp/cp-tree.h (TARGET_EXPR_IMPLICIT_P): New macro.
        * cp/tree.c (build_cplus_new): Set it.

From-SVN: r116737
2006-09-06 21:12:00 -04:00
Mark Mitchell
6ee3ffe85e re PR c++/28903 (Rejects VLA in template class's member with using)
PR c++/28903
	* pt.c (tsubst): Use fold_non_dependent_expr to fold array
	dimensions.
	PR c++/28886
	* pt.c (unify): Avoid unnecessary calls to fold_build2 for array
	dimensions.

From-SVN: r116736
2006-09-07 01:04:07 +00:00
GCC Administrator
d0304854de Daily bump.
From-SVN: r116734
2006-09-07 00:17:16 +00:00
Keith Seitz
3056423a31 Class.h (_Jv_FindInterpreterMethod): Change return type to _Jv_MethodBase instead of _Jv_InterpMethod.
* java/lang/Class.h (_Jv_FindInterpreterMethod): Change return type
        to _Jv_MethodBase instead of _Jv_InterpMethod.
        * java/lang/natClass.cc (_Jv_FindInterpreterMethod): Likewise.
        Do not check access flags.
        Fix some minor style anomalies.

From-SVN: r116730
2006-09-06 22:16:59 +00:00
Diego Novillo
1b65e50144 contrib.texi: Update my entry.
* doc/contrib.texi: Update my entry.

From-SVN: r116727
2006-09-06 17:04:21 -04:00
Jason Merrill
ccbe00a43a re PR c++/26696 (ICE with statement forming unused static member function reference)
PR c++/26696
        * cvt.c (convert_to_void): Replace a subexpression with no side
        effects with void_zero_node.
        * tree.c (is_overloaded_fn): Look through COMPONENT_REF.
        (get_first_fn): Ditto.
        * decl.c (grokdeclarator): No need to look through COMPONENT_REF.

From-SVN: r116724
2006-09-06 13:06:00 -04:00
Richard Guenther
16ceb301d3 pr27226.c: Remove testcase again.
2006-09-06  Richard Guenther  <rguenther@suse.de>

        * gcc.dg/pr27226.c: Remove testcase again.

From-SVN: r116722
2006-09-06 13:47:42 +00:00
Nick Clifton
7034d31bda * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
From-SVN: r116719
2006-09-06 06:58:41 +00:00
Andrew Pinski
1a3053d666 Remove extra blank line.
From-SVN: r116718
2006-09-05 23:37:06 -07:00
Andrew Pinski
c7f965b614 re PR tree-optimization/28937 (ICE in add_virtual_operand, at tree-ssa-operands.c:1309)
2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/28937
        * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
        (canonicalize_induction_variables): Likewise.
        (tree_unroll_loops_completely): Likewise.
        (tree_ssa_prefetch_arrays): Likewise.
        (remove_empty_loops): Likewise.
        * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
        TODO_cleanup_cfg instead of directly calling
        cleanup_tree_cfg_loop.
        * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
        Likewise.
        (tree_unroll_loops_completely): Likewise.
        (remove_empty_loops): Likewise.
        * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
        * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
        of tree_ssa_unswitch_loops.
        (tree_ssa_loop_ivcanon): Use the return value of
        canonicalize_induction_variables.
        (tree_ssa_empty_loop): Use the return value of
        remove_empty_loops.
        (tree_complete_unroll): Use the return value of
        tree_unroll_loops_completely.
        (tree_ssa_loop_prefetch): Use the return value of
        tree_ssa_prefetch_arrays.
        * passes.c (execute_todo): Before Cleanup CFG, set
        updating_used_alone and after cleanup CFG, call
        recalculate_used_alone.
2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/28937
        * g++.dg/opt/unroll2.C: New test.

From-SVN: r116717
2006-09-05 23:13:22 -07:00
Andrew Pinski
10b96810c0 re PR tree-optimization/28952 (tree check: expected class 'expression', have 'exceptional' (ssa_name) in vectorizable_condition, at tree-vect-transform.c:2122)
2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/28952
        * tree-vect-transform.c (vectorizable_condition): Move the check
        for the type after the check for simple condition.
2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/28952
        * gcc.dg/vect/pr28952.c: New test.

From-SVN: r116716
2006-09-05 23:06:55 -07:00
Jason Merrill
5df1740de4 re PR c++/26571 (Bad diagnostic using type modifier with struct)
PR c++/26571
        * parser.c (cp_parser_diagnose_invalid_type_name): Handle the case
        where the name is a type used incorrectly.

From-SVN: r116715
2006-09-06 01:28:08 -04:00
Jason Merrill
a1a9524971 re PR c++/26671 (Missing "warning: reference to local variable returned")
PR c++/26671
        * typeck.c (maybe_warn_about_returning_address_of_local): Look
        through COMPONENT_REF and ARRAY_REF.

From-SVN: r116714
2006-09-06 01:25:29 -04:00
Paul Thomas
2635450a7f 2006-09-06 Paul Thomas <pault@gcc.gnu.org>
Remove non-standard format from ChangeLog.

From-SVN: r116711
2006-09-06 04:12:09 +00:00
Jason Merrill
99818a52f0 re PR c++/26102 ("using Base::member" nonsense)
PR c++/26102
        * name-lookup.c (do_class_using_decl): Try to find the base even
        if bases_dependent_p.
        * pt.c (type_dependent_expression_p): A USING_DECL is dependent.

        PR c++/19809
        * pt.c (tsubst_friend_function): Set DECL_INITIAL before pushdecl.

From-SVN: r116710
2006-09-05 21:15:39 -04:00
Jason Merrill
b01e6d2b91 re PR c++/26102 ("using Base::member" nonsense)
PR c++/26102
        * name-lookup.c (do_class_using_decl): Try to find the base even
        if bases_dependent_p.
        * pt.c (type_dependent_expression_p): A USING_DECL is dependent.

        PR c++/19809
        * pt.c (tsubst_friend_function): Set DECL_INITIAL before pushdecl.

From-SVN: r116709
2006-09-05 21:15:09 -04:00
GCC Administrator
6dd0d2f484 Daily bump.
From-SVN: r116707
2006-09-06 00:17:36 +00:00
J"orn Rennecke
650a59ef78 re PR target/28764 (libjava build failure on sh4)
PR target/28764
	* mode-switching.c (optimize_mode_switching): Make the destination
	block of an abnormal edge have no anticipatable mode.  Don't
	insert mode switching code at the end of the source block of
	an abnormal edge.


Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>

From-SVN: r116703
2006-09-05 21:41:23 +00:00
Geoffrey Keating
ec1ee65573 * btest-gcc.sh: .bad_compare has moved to toplevel from gcc/.
From-SVN: r116702
2006-09-05 18:11:49 +00:00
Paolo Bonzini
d26cef13fb re PR rtl-optimization/26847 (Missed optimization in simplify_plus_minus)
2006-09-05  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/26847
	* simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
	(simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
	(simplify_plus_minus): Count n_constants while filling ops.  Replace
	qsort with insertion sort.  Before going through the array to simplify
	pairs, sort it.  Delay early exit until after the first sort, exiting
	only if no swaps occurred.  Simplify pairs in reversed order, without
	special-casing the first iteration.  Pack ops after simplifying pairs.

From-SVN: r116701
2006-09-05 17:41:22 +00:00
Paolo Carlini
5527be59f4 basic_string.tcc (find(const _CharT*, size_type, size_type)): Robustify.
2006-09-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Robustify.
	* include/ext/vstring.tcc (find(const _CharT*, size_type,
	size_type)): Likewise.

From-SVN: r116700
2006-09-05 17:38:44 +00:00
Anatoly Sokolov
9a7fd67a82 avr.c (avr_mcu_types): Add support for at90pwm1 device.
* config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
        * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
        * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
        (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.

From-SVN: r116699
2006-09-05 21:23:08 +04:00
Paolo Carlini
1a4ba99f96 basic_string.tcc (find(const _CharT*, size_type, size_type)): Reimplement in terms of traits::eq and traits::compare.
2006-09-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Reimplement in terms of traits::eq and traits::compare.
	* include/ext/vstring.tcc (find(const _CharT*, size_type,
	size_type)): Likewise.
	* src/string-inst.cc: Remove unneded std::search instantiation.

From-SVN: r116698
2006-09-05 15:43:47 +00:00
Richard Guenther
575643d56c re PR tree-optimization/28900 (ICE verify_stmts failed (invalid operand to unary operator))
2006-09-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/28900
	* tree-if-conv.c (find_phi_replacement_condition): Gimplify
	compound conditional before creating COND_EXPR condition.

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

From-SVN: r116697
2006-09-05 08:39:42 +00:00
Richard Guenther
b2db922002 re PR tree-optimization/28905 (ICE in compare_name_with_value, at tree-vrp.c:3557)
2006-09-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/28905
	* tree-vrp.c (fix_equivalence_set): Manually implement
	!value_ranges_intersect_p to also handle symbolic ranges.

	* gcc.c-torture/compile/pr28905.c: New testcase.

From-SVN: r116696
2006-09-05 08:36:39 +00:00
Richard Guenther
f393e7f57d re PR tree-optimization/28935 (Segfault in operand_equal_p with -ftree-vectorize -O3)
2006-09-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28935
	* tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
	of a COND_EXPR.

	* gcc.dg/pr28935.c: New testcase.

From-SVN: r116695
2006-09-05 08:34:00 +00:00
Gary Benson
366f16226f 2006-09-05 Gary Benson <gbenson@redhat.com>
* java/net/SocketPermission.java
	(maybeBracketIPv6Address): Renamed to processHostport.
	(processHostport): Also translate "" to "localhost".
	(setHostPort): Remove special cases for empty hostport and for
	extra colons in hostport (processHostport handles these now).

From-SVN: r116694
2006-09-05 07:49:08 +00:00
Eric Botcazou
fd89bc3f91 20060905-1.c: New test.
* gcc.c-torture/execute/20060905-1.c: New test.

From-SVN: r116692
2006-09-05 07:05:08 +00:00
Paul Thomas
6b887797b2 re PR fortran/28908 (fold_convert fails for Fortran operator)
2006-09-05 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/28908
	REGRESSION FIX
	* gfortran.h : Restore the gfc_dt_list structure and reference
	to it in gfc_namespace.
	* resolve.c (resolve_fl_derived): Restore the building of the
	list of derived types for the current namespace. Modify the
	restored code so that a check is made to see if the symbol is
	already in the list.
	(resolve_fntype): Make sure that the specification block
	version of the derived type is used for a module function that
	returns that type. 
	* symbol.c (gfc_free_dt_list): Restore.
	(gfc_free_namespace): Restore call to previous.
	* trans-types.c (copy_dt_decls_ifequal): Restore.
	(gfc_get_derived_type): Restore all the paraphenalia for
	association of derived types, including calls to previous.
	Modify the restored code such that all derived types are built
	if their symbols are found in the parent namespace; not just
	non-module types.  Add backend_decls to like derived types in
	sibling namespaces, as well as that of the derived type.

2006-09-05 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/28908
	* gfortran.dg/used_types_7.f90: New test.
	* gfortran.dg/used_types_8.f90: New test.
	* gfortran.dg/used_types_9.f90: New test.

From-SVN: r116690
2006-09-05 04:26:10 +00:00
GCC Administrator
c9159c40f8 Daily bump.
From-SVN: r116688
2006-09-05 00:17:19 +00:00
Eric Botcazou
5bb51e1d55 re PR rtl-optimization/27616 (Infinite loop at -O1 and above in RTL CSE)
PR rtl-optimization/27616
	* cse.c (table_size): New static variable.
	(new_basic_block): Initialize it to 0.
	(remove_from_table): Decrement it.
	(insert): Increment it.
	(fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
	(fold_rtx_mem): Enforce a cap on the recursion depth.  Call
	fold_rtx_mem_1 if under the cap.
	(fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
	the lookup of the equivalent expression and test for equality of the
	first operand of the equivalent expression before in turn looking up
	an equivalent constant for the second operand.

From-SVN: r116683
2006-09-04 19:33:24 +00:00
Eric Botcazou
afe08db5e6 Remove leading TAB.
From-SVN: r116681
2006-09-04 16:29:51 +00:00
Benjamin Kosnik
06e744948b re PR c++/28871 (massive C++ compile time slowdown)
2006-09-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR c++/28871
	* include/ext/bitmap_allocator.h: Add comment for end of anonymous
	namespace.
	* include/ext/rope: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/functional_iterate.h: Same.

	* include/bits/cpp_type_traits.h: Revert anonymous namespace
	change, use nested detail instead.

	* testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
	stdc++.h.

From-SVN: r116680
2006-09-04 15:41:18 +00:00
Nathan Sidwell
88525e1bd3 PR 23287 Revert my 2006-09-01 patch.
cp/
	PR 23287 Revert my 2006-09-01 patch.
	* parser.c: Reverted.
	* pt.c: Reverted.
testsuite/
	PR c++/23287 Revert my 2006-09-01 patch
	* g++.dg/parse/dtor12.C: Remove.

From-SVN: r116679
2006-09-04 15:21:50 +00:00
Paolo Carlini
c4338a62e0 mt_allocator.cc (__pool<true>::_M_reclaim_block): Do not name a variable __used, badname on BSD.
2006-09-04  Paolo Carlini  <pcarlini@suse.de>

	* src/mt_allocator.cc (__pool<true>::_M_reclaim_block): Do
	not name a variable __used, badname on BSD.

From-SVN: r116678
2006-09-04 08:00:35 +00:00
GCC Administrator
ddde11ddfc Daily bump.
From-SVN: r116675
2006-09-04 00:17:08 +00:00
Joseph Myers
ebbc2cc3dd * vi.po: Update.
From-SVN: r116670
2006-09-03 12:54:34 +01:00
Joseph Myers
ff9ac485b0 * sv.po: Update.
From-SVN: r116668
2006-09-03 12:52:48 +01:00
GCC Administrator
75da2c1bc9 Daily bump.
From-SVN: r116666
2006-09-03 00:17:34 +00:00
Lee Millward
b89c561c2d re PR c++/27670 (ICE on invalid template parameter)
2006-09-02  Lee Millward  <lee.millward@codesourcery.com>

        PR c++/27670
        PR c++/27493
        PR c++/27494
        PR c++/27397
        * parser.c (cp_parser_template_parameter_list): Add
        invalid template parameters to the parameter list as
        error_mark_node.

        * g++.dg/template/operator9.C: New test.
        * g++.dg/template/operator7.C: New test.
        * g++.dg/template/operator8.C: New test.
        * g++.dg/template/crash57.C: New test.

        * g++.dg/template/typedef4.C: Adjust error markers.
        * g++.dg/template/typedef5.C: Likewise.

From-SVN: r116661
2006-09-02 14:15:37 +00:00
Paolo Carlini
1d3e6248e5 re PR libstdc++/24469 (Possible race condition in mt_allocator causing SIGSEGV)
2006-09-02  Paolo Carlini  <pcarlini@suse.de>
	    Richard Guenther  <rguenther@suse.de>

	PR libstdc++/24469
	* src/mt_allocator.cc (__pool<true>::_M_reserve_block,
	__pool<true>::_M_reclaim_block): Fix the logic to avoid
	races, exploit atomic counters stored in second part of
	the memory pointed by _M_used.
	(__pool<true>::_M_initialize): Adjust _M_used allocation.
	* include/ext/mt_allocator.h (__pool<true>::_Bin_record):
	Update comment.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r116660
2006-09-02 08:31:45 +00:00
Geoffrey Keating
b73aec4fa5 Revert this change:
2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
	* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
	pointer, instead of assuming it is possible to derive the
	correct args size from a call insn.

From-SVN: r116659
2006-09-02 07:26:21 +00:00
Jakub Jelinek
bc038ad518 re PR middle-end/27567 (__builtin_memcpy generates redundant stores/moves.)
PR middle-end/27567
	* builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
	(fold_builtin_mempcpy): Rename to...
	(fold_builtin_memory_op): ... this.  Optimize one element copy
	into an assignment.
	(fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
	functions.
	(expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
	(expand_builtin_memcpy, expand_builtin_mempcpy,
	expand_builtin_memmove): Likewise.  Use fold_builtin_memory_op.
	(fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
	BUILT_IN_BCOPY.  Use fold_builtin_memory_op for
	BUILT_IN_MEM{CPY,PCPY,MOVE}.

From-SVN: r116656
2006-09-02 08:55:09 +02:00