gcc/cp/
2010-03-20 Simon Martin <simartin@users.sourceforge.net>
PR c++/43081:
* decl2.c (grokfield): Handle invalid initializers for member
functions.
gcc/testsuite/
2010-03-20 Simon Martin <simartin@users.sourceforge.net>
Michael Matz <matz@suse.de>
PR c++/43081
* g++.dg/parse/crash56.C: New test.
Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r157597
2010-03-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43450
* trans-decl.c (gfc_create_module_variable): With -fwhole-file
do not assert the context of derived types.
2010-03-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43450
* gfortran.dg/whole_file_15.f90 : New test.
From-SVN: r157595
2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43409
* ioparm.def: Change inquire size variable to type pointer to
GFC_IO_INT type.
2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43409
* io/unix.h: Add prototype for new function to return file size.
* io/unix.c (file_size): New function.
* io/inquire.c (inquire_via_unit): Use new function.
(inquire_via_filename): Use new function.
From-SVN: r157593
2010-03-20 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/43438
* combine.c (make_extraction): Properly zero-/sign-extend an
extraction of the low part of a CONST_INT. Also handle
CONST_DOUBLE.
* gcc.c-torture/execute/pr43438.c: New testcase.
From-SVN: r157592
2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR C/43211
* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an error.
2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR C/43211
* gcc.dg/pr43211.c: New test.
* gcc.dg/pr18809-1.c: Don't expect an error when calling foo.
From-SVN: r157585
gcc/
PR target/40697
* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
the cost of loading the constant rather than assuming
COSTS_N_INSNS (1).
* config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
outer code is AND, do the same tests as the andsi3 expander and
return COSTS_N_INSNS (1) if and is cheap.
testsuite/
PR target/40697
* gcc.target/arm/thumb-andsi.c: New test.
From-SVN: r157582
gcc/
PR rtl-optimization/42258
* ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
use that may match DEF.
testsuite/
PR rtl-optimization/42258
* gcc.target/arm/thumb1-mul-moves.c: New test.
From-SVN: r157581
PR c++/43116
* attribs.c (decl_attributes): When rebuilding a function pointer
type use the same qualifiers as the original pointer type.
testsuite/
* g++.dg/other/pr43116.C: New testcase.
From-SVN: r157578
PR 43305
* builtins.c (expand_builtin_interclass_mathfn,
expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
if that fails.
testsuite/
* gcc.dg/pr43305.c: New testcase.
From-SVN: r157567
2010-03-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43415
* tree-ssa-pre.c (phi_translate): Split out worker to ...
(phi_translate_1): ... this.
(phi_translate): Move all caching here. Cache all NARY
and REFERENCE translations.
* gcc.c-torture/compile/pr43415.c: New testcase.
From-SVN: r157562
* config/sparc/sparc.c: Include dwarf2out.h.
(emit_pic_helper): Delete.
(pic_helper_symbol_name): Delete.
(pic_helper_emitted_p): Delete.
(pic_helper_needed): New.
(USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
(get_pc_thunk_name): New.
(load_pic_register): Remove 'delay_pic_helper' arg. Use
get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
Set pic_helper_needed to true. Don't call emit_pic_helper.
(sparc_expand_prologue): Update load_pic_register call.
(sparc_output_mi_thunk): Likewise.
(sparc_file_end): Emit a hidden comdat symbol for the PIC
thunk if possible. Output CFI information as needed.
From-SVN: r157557
2010-03-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Jack Howarth <howarth@bromo.med.uc.edu>
PR target/36399
* gcc/config/i386/i386.h: Fix ABI on darwin x86-32.
* gcc/testsuite/gcc.target/i386/push-1.c: Don't xfail
scan-assembler-not "movups" on darwin.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r157553
2010-03-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43039
* trans-expr.c (conv_parent_component_references): Ensure that
'dt' has a backend_decl.
PR fortran/43043
* trans-expr.c (gfc_conv_structure): Ensure that the derived
type has a backend_decl.
PR fortran/43044
* resolve.c (resolve_global_procedure): Check that the 'cl'
structure is not NULL.
From-SVN: r157552
PR bootstrap/43403
* var-tracking.c (vt_init_cfa_base): Do nothing if
cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
register.
From-SVN: r157549
PR debug/43058
* var-tracking.c (non_suitable_const): New function.
(add_uses): For DEBUG_INSNs with constants, don't record any
value, instead just the constant value itself.
(compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
is not VAR_LOC_UNKNOWN_P, set var to the constant.
(emit_notes_in_bb): Likewise.
(emit_note_insn_var_location): For onepart variables if
cur_loc is a VOIDmode constant, use DECL_MODE.
* gcc.dg/pr43058.c: New test.
From-SVN: r157547
2010-03-18 Martin Jambor <mjambor@suse.cz>
PR middle-end/42450
* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
all non-clones. Moved call redirection...
(cgraph_redirect_edge_call_stmt_to_callee): ...to this new
function.
(cgraph_materialize_all_clones): Dispose of all
combined_args_to_skip bitmaps.
(verify_cgraph_node): Do not check for edges pointing to wrong
nodes in inline clones.
* tree-inline.c (copy_bb): Call
cgraph_redirect_edge_call_stmt_to_callee.
* ipa.c (cgraph_remove_unreachable_nodes): Call
cgraph_node_remove_callees even when there are used clones.
* testsuite/g++.dg/torture/pr42450.C: New test.
From-SVN: r157546
PR middle-end/43419
* builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
into sqrt(x) if we need to preserve signed zeros.
testsuite/
* gcc.dg/pr43419.c: New testcase.
From-SVN: r157543
2010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43418
* parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
false, in the cp_parser_expression_statement call.
From-SVN: r157537
2010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43418
* parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
false, in the cp_parser_expression_statement call.
From-SVN: r157536
2010-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (read_sf_internal): Remove stray function declaration
used during debigging.
From-SVN: r157531
gcc/
PR target/42427
* config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
non-offsettable and pre_modify update addressing.
* config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
and "2" alternatives "#".
(*movdd_softfloat32): Make all alternatives "#";
* config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
(*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
(*movdf_softfloat32): Make all alternatives "#";
(movdi): Use the new DIFD mode iterator to create a common splitter
for movdi, movdf and movdd patterns.
gcc/testsuite/
PR target/42427
* gcc.dg/pr42427.c: New test.
From-SVN: r157530