* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
early use validate_unshare_change.
(reload_combine): Likewise.
* recog.c (change_t): New field unshare.
(validate_change_1): Rename from validate_change; add argument unshare.
(validate_change): Turn into wrapper of validate_change_1; update
prototype for bools.
(validate_unshare_change): New.
(confirm_change_group): Unshare changes if asked for; avoid unnecesary
calls of df_insn_rescan.
* recog.h (validate_change): Replace ints by bools.
(validate_unshare_change): Declare.
From-SVN: r126050
* ipa-inline.c (cgraph_mark_inline): Assert that we never inline
uninlinable call.
(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
cgraph_decide_inlining_incrementally): Move uninlinability checks to
places other call site specific checks are performed.
From-SVN: r126015
gcc/cp/
2007-06-26 Simon Martin <simartin@users.sourceforge.net>
PR c++/32111
* decl.c (grokdeclarator): Reset friendp for member functions declared
friend of their own class.
gcc/testsuite/
2006-06-26 Simon Martin <simartin@users.sourceforge.net>
PR c++/32111
* g++.dg/other/friend5.C: New test.
From-SVN: r126006
2007-06-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32464
* resolve.c (check_host_association): Return if the old symbol
is use associated. Introduce retval to reduce the number of
evaluations of the first-order return value.
PR fortran/31494
* match.c (gfc_match_call): If a host associated symbol is not
a subroutine, build a new symtree/symbol in the current name
space.
2007-06-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32464
* gfortran.dg/host_assoc_function_2.f90: New test.
PR fortran/31494
* gfortran.dg/host_assoc_call_1.f90: New test.
From-SVN: r126000
2007-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/32456
* runtime/error.c (show_locus): Update to emit the unit number
and file name involved with the error. Use new function
filename_from_unit.
* libgfortran.h (filename_from_unit): Declare new function.
* io/unit.c (init_units): Set the unit file name for stdin, stdout,
and stderr for use later in error reporting.
(filename_from_unit): Add this new function.
From-SVN: r125989
2007-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/32446
* io/write.c (output_float): Calculate ndigits correctly for large
numbered formats that must pad zeros before the decimal point.
From-SVN: r125985
2007-06-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32298
PR fortran/31726
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
the offset between the loop counter and the position as
defined. Add the offset within the loop so that the mask acts
correctly. Do not advance the location on the basis that it
is zero.
2007-06-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31726
* gfortran.dg/minmaxloc_1.f90: New test.
PR fortran/32298
* gfortran.dg/minmaxloc_2.f90: New test.
From-SVN: r125983
2007-06-23 Mark Mitchell <mark@codesourcery.com>
* doc/extend.texi: Document that dllimport and dllexport imply
default visibility.
* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
imported or exported declaration, including type declarations.
* c-common.c (handle_visibility_attribute): Check for conflicts
with dllimport/dllexport.
(c_determine_visibility): Handle dllimport/dllexport as an
explicit visibility atttribute.
2007-06-23 Mark Mitchell <mark@codesourcery.com>
* decl2.c (determine_visibility): Don't look for dllexport here.
(determine_visibility_from_class): Tidy.
2007-06-23 Mark Mitchell <mark@codesourcery.com>
* gcc.dg/visibility-12.c: New test.
* gcc.dg/visibility-13.c: Likewise.
* g++.dg/ext/visibility-9.C: Likewise.
* g++.dg/ext/visibility-10.C: Likewise.
From-SVN: r125975
2007-06-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/16876
PR middle-end/29478
* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
for CALL_EXPRs.
* tree-inline.c (initialize_inlined_parameters): Do not call
lang_hooks.tree_inlining.convert_parm_for_inlining.
* cgraphbuild.c (initialize_inline_failed): Set inline failed
reason for mismatched types.
* gimplify.c (gimplify_call_expr): Verify the call expression
arguments match the called function type signature. Otherwise
mark the call expression to be not considered for inlining
using CALL_CANNOT_INLINE_P flag.
* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
edges call expression.
(cgraph_decide_inlining_of_small_function): Likewise.
(cgraph_decide_inlining): Likewise.
* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
Remove define.
* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
* c-typeck.c (c_convert_parm_for_inlining): Remove.
* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
Remove declaration.
(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
convert_parm_for_inlining member.
* gcc.dg/pr29254.c: The warning is bogus.
* gcc.dg/warn-1.c: Likewise.
* gcc.dg/assign-warn-3.c: Likewise.
* gcc.dg/noncompile/pr16876.c: The testcase is bogus, remove.
From-SVN: r125974
2007-06-23 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/32437
*dce.c (deletable_insn_p): Add extra parameter and recurse if insn
is a PARALLEL.
(prescan_insns_for_dce): Add extra parameter.
From-SVN: r125972
PR target/32413
* config/i386/i386.c (ix86_register_move_cost): Rise the cost of
moves between MMX/SSE registers to at least 8 units to prevent
ICE caused by non-tieable SI/HI/QImodes in SSE registers.
From-SVN: r125951
2007-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/32360
* expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
check to see if the lvalue has attribute pointer and data.
From-SVN: r125949