gcc/ChangeLog:
PR debug/27574
* cgraph.h: New abstract_and_needed member to struct cgraph_node.
* cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
-which clones are reachable - as "abstract and needed".
* cgraph.c (cgraph_release_function_body): If a node is
"abstract and needed", do not release its DECL_INITIAL() content
will be needed to emit debug info.
gcc/testsuite/ChangeLog:
PR debug/27574
* g++.dg/debug/dwarf2/local-var-in-contructor.C: New test.
From-SVN: r141858
2008-11-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37836
* intrinsic.c (add_functions): Reference gfc_simplify._minval
and gfc_simplify_maxval.
* intrinsic.h : Add prototypes for gfc_simplify._minval and
gfc_simplify_maxval.
* simplify.c (min_max_choose): New function extracted from
simplify_min_max.
(simplify_min_max): Call it.
(simplify_minval_maxval, gfc_simplify_minval,
gfc_simplify_maxval): New functions.
2008-11-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37836
* gfortran.dg/minmaxval_1.f90: New test.
From-SVN: r141847
2008-11-10 Andrew Haley <aph@redhat.com>
Backport from mainline:
PR bootstrap/33304
* vec.h (VEC_TA): New.
(DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
* c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
(C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
(C_COMMON_FIXED_TYPES): Remove first arg.
(C_COMMON_FIXED_MODE_TYPES): Likewise.
* tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
not to use empty macro arguments.
From-SVN: r141735
PR middle-end/37807
PR middle-end/37809
* combine.c (force_to_mode): Do not process vector types.
* rtlanal.c (nonzero_bits1): Do not process vector types.
(num_sign_bit_copies1): Likewise.
testsuite/ChangeLog:
PR middle-end/37807
PR middle-end/37809
* gcc/testsuite/gcc.target/i386/mmx-8.c: New test.
From-SVN: r141734
2008-11-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37597
* parse.c (gfc_fixup_sibling_symbols ): Fixup contained, even
when symbol not found.
2008-11-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37597
* gfortran.dg/host_assoc_call_5.f90: New test.
From-SVN: r141708
2008-11-08 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35820
* resolve.c (gfc_count_forall_iterators): New function.
(gfc_resolve_forall): Use gfc_count_forall_iterators to evaluate
the needed memory amount to allocate. Don't forget to free allocated
memory. Add an assertion to check for memory leaks.
2008-11-08 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35820
* gfortran.dg/nested_forall_1.f: New test.
From-SVN: r141707
2008-11-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37445
* resolve.c (resolve_call): Check host association is correct.
(resolve_actual_arglist ): Remove return is old_sym is use
associated. Only reparse expression if old and new symbols
have different types.
PR fortran/PR35769
* resolve.c (gfc_resolve_assign_in_forall): Change error to a
warning.
2008-11-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37445
* gfortran.dg/host_assoc_call_3.f90: New test.
* gfortran.dg/host_assoc_call_4.f90: New test.
* gfortran.dg/host_assoc_function_4.f90: New test.
From-SVN: r141706
2008-11-06 Richard Guenther <rguenther@suse.de>
Backport from mainline:
2008-09-13 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/37489
* cse.c (fold_rtx): Don't return const_true_rtx for float
compare if FLOAT_STORE_FLAG_VALUE is undefined.
* g++.dg/opt/cse3.C: New testcase.
* gcc.dg/torture/pr37969.c: New testcase.
From-SVN: r141645
PR target/35574
* config/sparc/predicates.md (const_double_or_vector_operand):
New.
* config/sparc/sparc.c (sparc_extra_constraint_check): Handle the
'D' constraint.
* config/sparc/sparc.h: Document the 'D' constraint.
* config/sparc/sparc.md (*movdf_insn_sp32_v9, *movdf_insn_sp64):
Use the 'D' constraint in addition to 'F' in some alternatives.
(DF splitter): Generalize for V64mode.
* doc/md.texi (SPARC): Document the 'D' constraint.
From-SVN: r141643
PR tree-optimization/37879
* predict.c (tree_estimate_probability): Check if last_stmt is
non-NULL before dereferencing it.
* gcc.dg/pr37879.c: New test.
From-SVN: r141620
PR middle-end/37870
* expmed.c (extract_bit_field_1): If int_mode_for_mode returns
BLKmode for non-memory, convert using a wider MODE_INT mode
or through memory.
* gcc.target/i386/pr37870.c: New test.
From-SVN: r141618
2008-11-01 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37903
* trans-array.c (gfc_trans_create_temp_array): If n is less
than the temporary dimension, assert that loop->from is
zero (reverts to earlier versions). If there is at least one
null loop->to[n], it is a callee allocated array so set the
size to NULL and break.
(gfc_trans_constant_array_constructor): Set the offset to zero.
(gfc_trans_array_constructor): Remove loop shifting around the
temporary creation.
(gfc_conv_loop_setup): Prefer zero-based descriptors if
possible. Calculate the translation from loop variables to
array indices if an array constructor.
2008-11-01 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37749
* trans-array.c (gfc_trans_create_temp_array): If size is NULL
use the array bounds for loop->to.
2008-11-01 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37903
* gfortran.dg/vector_subscript_4.f90: New test.
2008-11-01 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37749
* gfortran.dg/vector_subscript__5.f90: New test.
From-SVN: r141521