gcc.git
14 years agogsocket.h: Run-time can no longer be built without network OS headers available.
Joel Sherrill [Thu, 15 Apr 2010 15:35:27 +0000 (15:35 +0000)]
gsocket.h: Run-time can no longer be built without network OS headers available.

2010-04-13  Joel Sherrill <joel.sherrill@oarcorp.com>

* gsocket.h: Run-time can no longer be built without network
OS headers available.  Changing RTEMS GNAT build procedure to
reflect this and letting run-time build use network .h files.

From-SVN: r158381

14 years agoalias.c (alias_set_subset_of): Handle alias-set zero child properly.
Richard Guenther [Thu, 15 Apr 2010 15:30:17 +0000 (15:30 +0000)]
alias.c (alias_set_subset_of): Handle alias-set zero child properly.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* alias.c (alias_set_subset_of): Handle alias-set zero
child properly.

From-SVN: r158380

14 years agothumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to use of...
Mark Shinwell [Thu, 15 Apr 2010 14:39:22 +0000 (14:39 +0000)]
thumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to use of high and low regs.

gcc/
* config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
alternatives according to use of high and low regs.
* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
optimizing for size on Thumb-2.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r158378

14 years agoconfig.gcc: Handle softfp as for Linux.
Thomas Schwinge [Thu, 15 Apr 2010 13:29:07 +0000 (15:29 +0200)]
config.gcc: Handle softfp as for Linux.

2010-04-15 Thomas Schwinge <tschwinge@gnu.org>

gcc/
* config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.

libgcc/
* config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux.

From-SVN: r158375

14 years agotree-ssa-structalias.c (struct variable_info): Add is_fn_info flag.
Richard Guenther [Thu, 15 Apr 2010 13:16:44 +0000 (13:16 +0000)]
tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (struct variable_info): Add
is_fn_info flag.
(new_var_info): Initialize it.
(dump_constraints): Support printing last added constraints.
(debug_constraints): Adjust.
(dump_constraint_graph): Likewise.
(make_heapvar_for): Check for NULL cfun.
(get_function_part_constraint): New function.
(get_fi_for_callee): Likewise.
(find_func_aliases): Properly implement IPA PTA constraints.
(process_ipa_clobber): New function.
(find_func_clobbers): Likewise.
(insert_into_field_list_sorted): Remove.
(create_function_info_for): Properly allocate vars for IPA mode.
Do not use insert_into_field_list_sorted.
(create_variable_info_for): Properly generate constraints for
global vars in IPA mode.
(dump_solution_for_var): Always dump the solution.
(set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
(find_what_var_points_to): Adjust.
(pt_solution_set): Change.
(pt_solution_ior_into): New function.
(pt_solution_empty_p): Export.
(pt_solution_includes_global): Adjust.
(pt_solution_includes_1): Likewise.
(pt_solutions_intersect_1): Likewise.
(dump_sa_points_to_info): Check some invariants.
(solve_constraints): Move constraint dumping ...
(compute_points_to_sets): ... here.
(ipa_pta_execute): ... and here.
(compute_may_aliases): Do not re-compute points-to info
locally if IPA info is available.
(ipa_escaped_pt): New global var.
(ipa_pta_execute): Properly implement IPA PTA.
* tree-into-ssa.c (dump_decl_set): Support dumping
decls not in referenced-vars.
* tree-flow.h (struct gimple_df): Add ipa_pta flag.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
(dump_points_to_solution): Likewise.
* tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
* tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
(remap_gimple_stmt): Reset call clobber/use information if
necessary.
(copy_decl_to_var): Copy DECL_PT_UID.
(copy_result_decl_to_var): Likewise.
* tree.c (make_node_stat): Initialize DECL_PT_UID.
(copy_node_stat): Copy it.
* tree.h (DECL_PT_UID): New macro.
(SET_DECL_PT_UID): Likewise.
(DECL_PT_UID_SET_P): Likewise.
(struct tree_decl_minimal): Add pt_uid member.
* tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
(pt_solution_empty_p): Declare.
(pt_solution_set): Adjust.
(ipa_escaped_pt): Declare.
* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
* gimple-pretty-print.c (pp_points_to_solution): New function.
(dump_gimple_call): Dump call clobber/use information.
* tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
* tree-pass.h (TDF_ALIAS): New dump option.
* tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
* doc/invoke.texi (-fipa-pta): Update documentation.

* gcc.dg/ipa/ipa-pta-1.c: New testcase.
* gcc.dg/ipa/ipa-pta-2.c: Likewise.
* gcc.dg/ipa/ipa-pta-3.c: Likewise.
* gcc.dg/ipa/ipa-pta-4.c: Likewise.
* gcc.dg/ipa/ipa-pta-5.c: Likewise.
* gcc.dg/ipa/ipa-pta-6.c: Likewise.
* gcc.dg/ipa/ipa-pta-7.c: Likewise.
* gcc.dg/ipa/ipa-pta-8.c: Likewise.
* gcc.dg/ipa/ipa-pta-9.c: Likewise.
* gcc.dg/ipa/ipa-pta-10.c: Likewise.
* gcc.dg/ipa/ipa-pta-11.c: Likewise.
* gcc.dg/ipa/ipa-pta-12.c: Likewise.
* gcc.dg/ipa/ipa-pta-13.c: Likewise.
* gcc.dg/torture/ipa-pta-2.c: Likewise.
* gcc.dg/torture/ipa-pta-1.c: Adjust.

From-SVN: r158374

14 years agoMakefile.in (OBJS-common): Add gimple-fold.o.
Richard Guenther [Thu, 15 Apr 2010 12:58:05 +0000 (12:58 +0000)]
Makefile.in (OBJS-common): Add gimple-fold.o.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* Makefile.in (OBJS-common): Add gimple-fold.o.
(gimple-fold.o): New rule.
* tree.h (maybe_fold_offset_to_reference,
maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
prototypes ...
* gimple.h: ... here.
* tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
may_propagate_address_into_dereference): Move prototypes ...
* gimple.h: ... here.
* tree-ssa-ccp.c (get_symbol_constant_value,
may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
gimplify_and_update_call_from_tree): Move ...
* gimple-fold.c: ... here.  New file.
(ccp_fold_builtin): Rename to ...
(gimple_fold_builtin): ... this.
* tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.

From-SVN: r158373

14 years agofold-const.c (LOWPART, [...]): Move ...
Richard Guenther [Thu, 15 Apr 2010 12:45:58 +0000 (12:45 +0000)]
fold-const.c (LOWPART, [...]): Move ...

2010-04-15  Richard Guenther  <rguenther@suse.de>

* fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
fit_double_type, force_fit_type_double, add_double_with_sign,
neg_double, mul_double_with_sign, lshift_double, rshift_double,
lrotate_double, rrotate_double, div_and_round_double): Move ...
* double-int.c: ... here.
* tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
add_double, neg_double, mul_double_with_sign, mul_double,
lshift_double, rshift_double, lrotate_double, rrotate_double,
div_and_round_double): Move prototypes ...
* double-int.h: ... here.

From-SVN: r158372

14 years agotrans.c (call_to_gnu): Open a nesting level if this is a statement.
Eric Botcazou [Thu, 15 Apr 2010 12:40:15 +0000 (12:40 +0000)]
trans.c (call_to_gnu): Open a nesting level if this is a statement.

* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
a statement.  Otherwise, if at top-level, push the processing of the
elaboration routine.  In the misaligned case, issue the error messages
again on entry and create the temporary explicitly.  Do not issue them
for CONSTRUCTORs.
For a function call, emit the range check if necessary.
In the copy-in copy-out case, create the temporary for the return
value explicitly.
Do not unnecessarily convert by-ref parameters to the formal's type.
Remove obsolete guards in conditions.
(gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
target to call_to_gnu in all cases.
(gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
(addressable_p) <CONSTRUCTOR>: Return false if not static.
<COMPOUND_EXPR>: New case.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
expression if it has unconstrained array type.
(gnat_mark_addressable) <COMPOUND_EXPR>: New case.
(gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
individual basis.

From-SVN: r158371

14 years agotrans.c (gigi): Do not start statement group.
Eric Botcazou [Thu, 15 Apr 2010 10:38:36 +0000 (10:38 +0000)]
trans.c (gigi): Do not start statement group.

* gcc-interface/trans.c (gigi): Do not start statement group.
(Compilation_Unit_to_gnu): Set current_function_decl to NULL.
Start statement group and push binding level here...
(gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
Do not push fake contexts at top level.  Remove redundant code.
(call_to_gnu): Rename a local variable and constify another.
* gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
(set_current_block_context): Set it as the group's block.
(gnat_init_decl_processing): Delete unrelated init code.
(end_subprog_body): Use NULL_TREE.

From-SVN: r158370

14 years agotrans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters...
Eric Botcazou [Thu, 15 Apr 2010 10:17:54 +0000 (10:17 +0000)]
trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters before the call.

* gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
side-effects of actual parameters before the call.

From-SVN: r158369

14 years agodecl.c (validate_size): Reorder, remove obsolete test and warning.
Eric Botcazou [Thu, 15 Apr 2010 10:10:03 +0000 (10:10 +0000)]
decl.c (validate_size): Reorder, remove obsolete test and warning.

* gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
and warning.
(set_rm_size): Reorder and remove obsolete test.

From-SVN: r158368

14 years agore PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)
Bernd Schmidt [Thu, 15 Apr 2010 08:57:27 +0000 (08:57 +0000)]
re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)

PR target/43742
* config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
matching constraints to ensure inputs match the output.

From-SVN: r158367

14 years agotrans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND...
Jakub Jelinek [Thu, 15 Apr 2010 08:53:41 +0000 (10:53 +0200)]
trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND and/or UBOUND, even for -O1.

* trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
on VAR_DECL LBOUND and/or UBOUND, even for -O1.

From-SVN: r158366

14 years agoDaily bump.
GCC Administrator [Thu, 15 Apr 2010 00:17:51 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158365

14 years agore PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)
Kaz Kojima [Wed, 14 Apr 2010 23:58:10 +0000 (23:58 +0000)]
re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)

PR target/43742
* config/sh/sh.md (doloop_end_split): Remove "+r" constraint
in an input-only operand.

From-SVN: r158361

14 years agodouble-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
Anatoly Sokolov [Wed, 14 Apr 2010 22:05:32 +0000 (02:05 +0400)]
double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.

* double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
(double_int_not, double_int_lshift, double_int_rshift): Declare.
(double_int_negative_p): Convert to static inline function.
* double-int.c (double_int_lshift, double_int_lshift): Add new function.
(double_int_negative_p): Remove.
* tree.h (lshift_double, rshift_double):
* tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
* fold-const.c (fold_convert_const_int_from_real,
fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
(lshift_double): Change type of arith argument to bool.
(rshift_double): Change type of arith argument to bool. Correct
comment.
* expmed.c (mask_rtx, lshift_value): (Ditto.).

From-SVN: r158360

14 years ago* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.
Doug Evans [Wed, 14 Apr 2010 21:16:34 +0000 (21:16 +0000)]
* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.

From-SVN: r158359

14 years agore PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)
Bernd Schmidt [Wed, 14 Apr 2010 20:42:02 +0000 (20:42 +0000)]
re PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)

gcc/
PR target/21803
* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
at the start and end of the then/else blocks, and omit them from the
conversion.
* cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
argument; all callers changed.  Pass zero to old_insns_match_p instead.
(flow_find_head_matching_sequence): New function.
(old_insns_match_p): Check REG_EH_REGION notes for calls.
* basic-block.h (flow_find_cross_jump,
flow_find_head_matching_sequence): Declare functions.

gcc/testsuite/
PR target/21803
* gcc.target/arm/pr42496.c: New test.

From-SVN: r158357

14 years agore PR c++/36625 (bogus error on __attribute__((aligned(N))) in template code)
Jason Merrill [Wed, 14 Apr 2010 20:17:34 +0000 (16:17 -0400)]
re PR c++/36625 (bogus error on __attribute__((aligned(N))) in template code)

PR c++/36625
* c-common.c (attribute_takes_identifier_p): New fn.
* c-common.h: Declare it.
cp/
* parser.c (cp_parser_parenthesized_expression_list): Change
is_attribute_list parm to int to indicate whether or not to
handle initial identifier specially.
(cp_parser_attribute_list): Use attribute_takes_identifier_p.

From-SVN: r158355

14 years agoAdd ChangeLog entry for my previous commit.
Steven G. Kargl [Wed, 14 Apr 2010 19:38:07 +0000 (19:38 +0000)]
Add ChangeLog entry for my previous commit.

From-SVN: r158354

14 years agoi386.md (*divmod<mode>4): Remove stray "&&" from splitter condition.
Uros Bizjak [Wed, 14 Apr 2010 18:55:05 +0000 (20:55 +0200)]
i386.md (*divmod<mode>4): Remove stray "&&" from splitter condition.

* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
splitter condition.
(*udivmod<mode>4): Ditto.

From-SVN: r158353

14 years agointrinsic.texi: Add the missing specific name of intrinsic procedure where the specif...
Steven G. Kargl [Wed, 14 Apr 2010 18:32:51 +0000 (18:32 +0000)]
intrinsic.texi: Add the missing specific name of intrinsic procedure where the specific name is...

2010-04-14  Steven G. Kargl  <kargl@gcc.gnu.org>

* fortran/intrinsic.texi: Add the missing specific name of intrinsic
procedure where the specific name is identical to the generic name.
Fix inconsistent or mismatch in the argument names in intrinsic
procedure descriptions.  Add the SCALAR allocatable description to
ALLOCATED.

From-SVN: r158352

14 years agore PR testsuite/43739 (FAIL: gcc.dg/pr43643.c (test for excess errors))
Steve Ellcey [Wed, 14 Apr 2010 16:47:15 +0000 (16:47 +0000)]
re PR testsuite/43739 (FAIL: gcc.dg/pr43643.c (test for excess errors))

2010-04-14  Steve Ellcey  <sje@cup.hp.com>

PR testsuite/43739
* gcc.dg/pr43643.c: Use static link on hppa*-*-hpux*.

From-SVN: r158351

14 years agoi386.md (maxmin_int): Rename code attribute from maxminiprefix and update all users.
Uros Bizjak [Wed, 14 Apr 2010 16:16:31 +0000 (18:16 +0200)]
i386.md (maxmin_int): Rename code attribute from maxminiprefix and update all users.

* config/i386/i386.md (maxmin_int): Rename code attribute from
maxminiprefix and update all users.
(maxmin_float): Ditto from maxminfprefix.
(logic): Ditto from logicprefix.
(absneg_mnemonic): Ditto from absnegprefix.
* config/i386/mmx.md: Update all users of maxminiprefix,
maxminfprefix and loficprefix for rename.
* config/i386/sse.md: Ditto.
* config/i386/sync.md (sync_<code><mode>): Update for
logicprefix rename.

From-SVN: r158350

14 years agore PR other/42966 (add some indication that a warning has been converted to an error)
Manuel López-Ibáñez [Wed, 14 Apr 2010 16:08:23 +0000 (16:08 +0000)]
re PR other/42966 (add some indication that a warning has been converted to an error)

2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 42966
* diagnostics.c (diagnostic_report_diagnostic): Mark specially
warnings converted to errors.

testsuite/
* gcc.dg/cpp/warn-undef-2.c: Update.
* gcc.dg/cpp/warn-traditional-2.c: Update.
* gcc.dg/cpp/warn-comments-2.c: Update.
* gcc.dg/cpp/warn-variadic-2.c: Update.
* gcc.dg/cpp/warn-long-long-2.c: Update.
* gcc.dg/cpp/warn-deprecated-2.c: Update.
* gcc.dg/cpp/warn-multichar-2.c: Update.
* gcc.dg/cpp/warn-normalized-3.c: Update.
* gcc.dg/cpp/warn-cxx-compat-2.c: Update.
* gcc.dg/cpp/warn-trigraphs-3.c: Update.
* gcc.dg/cpp/warn-unused-macros-2.c: Update.
* gcc.dg/cpp/warn-trigraphs-4.c: Update.
* gcc.dg/cpp/warn-redefined-2.c: Update.
* gfortran.dg/warning-directive-2.F90: Update.
* c-c++-common/cpp/warning-directive-2.c: Update.

From-SVN: r158349

14 years agoalpha.c (alpha_adjust_cost): Remove set but not used insn_type variable.
Uros Bizjak [Wed, 14 Apr 2010 15:23:05 +0000 (17:23 +0200)]
alpha.c (alpha_adjust_cost): Remove set but not used insn_type variable.

* config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
used insn_type variable.
(function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
to avoid set-but-not-used warning.

From-SVN: r158348

14 years agodf-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x.
Uros Bizjak [Wed, 14 Apr 2010 15:08:54 +0000 (17:08 +0200)]
df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x.

* df-core.c (df_ref_debug): Change format string placeholder
from 0x%x to %#x.
* dwarf2asm.c (dw2_asm_output_data_raw,
dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
* dwarf2out.c (output_cfi, output_cfi_directive,
dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
output_cfa_loc_raw, output_die, output_ranges, output_file_names):
Ditto.
* genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
* print-rtl.c (print_rtx): Ditto.

From-SVN: r158347

14 years agoPR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)
Michael Meissner [Wed, 14 Apr 2010 15:01:40 +0000 (15:01 +0000)]
PR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)

From-SVN: r158346

14 years agore PR tree-optimization/42963 (Redundant switch labels not cleaned up anymore)
Michael Matz [Wed, 14 Apr 2010 14:50:33 +0000 (14:50 +0000)]
re PR tree-optimization/42963 (Redundant switch labels not cleaned up anymore)

PR tree-optimization/42963
* tree-cfg.c (touched_switch_bbs): New static variable.
(group_case_labels_stmt): New function broken out from ...
(group_case_labels): ... here, use the above.
(start_recording_case_labels): Allocate touched_switch_bbs.
(end_recording_case_labels): Deallocate it, call
group_case_labels_stmt.
(gimple_redirect_edge_and_branch): Remember index of affected BB.

testsuite/
* testsuite/gcc.dg/pr42963.c: New testcase.

From-SVN: r158345

14 years agoacinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but not unused bar variable.
Uros Bizjak [Wed, 14 Apr 2010 12:57:43 +0000 (14:57 +0200)]
acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but not unused bar variable.

* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
not unused bar variable.
* configure: Regenerate.

From-SVN: r158344

14 years agoSynchronize with src/.
Tristan Gingold [Wed, 14 Apr 2010 09:48:21 +0000 (09:48 +0000)]
Synchronize with src/.

2010-04-14  Tristan Gingold  <gingold@adacore.com>

* configure.ac (alpha*-*-*vms*): Remove ld from noconfigdirs.
* configure: Regenerate.

From-SVN: r158341

14 years agoi386.md (*popcountsi2_cmp_zext): Remove mode attribute from insn template.
Uros Bizjak [Wed, 14 Apr 2010 09:28:05 +0000 (11:28 +0200)]
i386.md (*popcountsi2_cmp_zext): Remove mode attribute from insn template.

* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
from insn template.

From-SVN: r158340

14 years agogigi.h: Reorder declarations and tweak comments.
Eric Botcazou [Wed, 14 Apr 2010 08:14:54 +0000 (08:14 +0000)]
gigi.h: Reorder declarations and tweak comments.

* gcc-interface/gigi.h: Reorder declarations and tweak comments.
(gigi): Adjust ATTRIBUTE_UNUSED markers.
* gcc-interface/gadaint.h: New file.
* gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
(__gnat_to_canonical_file_spec): Remove declaration.
(number_names): Delete.
(number_files): Likewise.
(gigi): Adjust.
* gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
above change.

From-SVN: r158296

14 years agodecl.c (gnat_to_gnu_entity): Fix comment.
Eric Botcazou [Wed, 14 Apr 2010 07:58:08 +0000 (07:58 +0000)]
decl.c (gnat_to_gnu_entity): Fix comment.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
comment.
* gcc-interface/trans.c (process_freeze_entity): Use local copy of
Ekind.  Return early for class-wide types.  Do not compute initializer
unless necessary.  Reuse the tree for an associated class-wide type
only if processing its root type.

From-SVN: r158295

14 years agoi386.md (*ashlqi3_1_slp): New insn pattern.
Uros Bizjak [Wed, 14 Apr 2010 06:36:53 +0000 (08:36 +0200)]
i386.md (*ashlqi3_1_slp): New insn pattern.

* config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.

From-SVN: r158293

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Wed, 14 Apr 2010 05:43:30 +0000 (07:43 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2010-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_find_array_ref): Handle codimensions.
        (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
        * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
        gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
        New functions.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
        GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
        GFC_ISYM_UCOBOUND.
        * intrinsic.h (add_functions): Add this_image, image_index,
        lcobound and ucobound intrinsics.
        * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
        gfc_check_image_index, gfc_check_this_image,
        gfc_simplify_image_index, gfc_simplify_lcobound,
        gfc_simplify_this_image, gfc_simplify_ucobound):
        New function prototypes.
        * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
        IMAGE_INDEX): Document new intrinsic functions.
        * match.c (gfc_match_critical, sync_statement): Make
        * -fcoarray=none
        error fatal.
        * simplify.c (simplify_bound_dim): Handle coarrays.
        (simplify_bound): Update simplify_bound_dim call.
        (gfc_simplify_num_images): Add -fcoarray=none check.
        (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
        gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.

2010-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_9.f90: Update dg-errors.
        * gfortran.dg/coarray_10.f90: New test.
        * gfortran.dg/coarray_11.f90: New test.

From-SVN: r158292

14 years agore PR fortran/43747 (ICE in find_array_section, at fortran/expr.c:1551)
Jerry DeLisle [Wed, 14 Apr 2010 05:27:29 +0000 (05:27 +0000)]
re PR fortran/43747 (ICE in find_array_section, at fortran/expr.c:1551)

2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/43747
gfortran.dg/initialization_24.f90: New test.

From-SVN: r158291

14 years agore PR fortran/43747 (ICE in find_array_section, at fortran/expr.c:1551)
Jerry DeLisle [Wed, 14 Apr 2010 05:16:59 +0000 (05:16 +0000)]
re PR fortran/43747 (ICE in find_array_section, at fortran/expr.c:1551)

2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/43747
* constructor.c: Fix typo in comment.
* expr.c (find_array_section): Add check for max array limit.

From-SVN: r158290

14 years agoDaily bump.
GCC Administrator [Wed, 14 Apr 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158289

14 years agoconfigure: Regenerate after change to elf.m4.
Steve Ellcey [Tue, 13 Apr 2010 22:54:07 +0000 (22:54 +0000)]
configure: Regenerate after change to elf.m4.

2010-04-13  Steve Ellcey  <sje@cup.hp.com>

* configure: Regenerate after change to elf.m4.

In config subdir:

2010-04-13  Steve Ellcey  <sje@cup.hp.com>

* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.

From-SVN: r158285

14 years agohash_map: Don't #include "backward_warning.h" if _GLIBCXX_PERMIT_BACKWARD_HASH is...
Ian Lance Taylor [Tue, 13 Apr 2010 20:24:40 +0000 (20:24 +0000)]
hash_map: Don't #include "backward_warning.h" if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.

* include/backward/hash_map: Don't #include "backward_warning.h"
if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
* include/backward/hash_set: Likewise.

From-SVN: r158281

14 years agogsocket.h: Run-time can no longer be built without network OS headers available.
Joel Sherrill [Tue, 13 Apr 2010 19:41:05 +0000 (19:41 +0000)]
gsocket.h: Run-time can no longer be built without network OS headers available.

2010-04-13  Joel Sherrill <joel.sherrill@oarcorp.com>

* gsocket.h: Run-time can no longer be built without network
OS headers available.  Changing RTEMS GNAT build procedure to
reflect this and letting run-time build use network .h files.

From-SVN: r158279

14 years agoipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting of optimized out...
Jan Hubicka [Tue, 13 Apr 2010 18:22:35 +0000 (20:22 +0200)]
ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting of optimized out static functions.

* ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
of optimized out static functions.
(cgraph_edge_badness): Add DUMP parameter and dump reasons for the
cost computation.  Also sanity check for overflows.
(update_caller_keys): Update cgraph_edge_badness call; properly
update fibheap and sanity check that it is up to date.
(add_new_edges_to_heap): Update cgraph_edge_badness.
(cgraph_decide_inlining_of_small_function): Likewise;
add sanity checking that badness in heap is up to date;
improve dumping of reason; Update badness of calls to the
offline copy of function currently inlined; dump badness
of functions not inlined because of unit growth limits.

From-SVN: r158278

14 years agocall.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of CLASS_TYPE_P.
Jason Merrill [Tue, 13 Apr 2010 17:24:52 +0000 (13:24 -0400)]
call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of CLASS_TYPE_P.

* call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
CLASS_TYPE_P.
* parser.c (cp_parser_lambda_expression): Complain about lambda in
unevaluated context.
* pt.c (iterative_hash_template_arg): Don't crash on lambda.

From-SVN: r158277

14 years agoCommit gcc/testsuite/ChangeLog for revision 158275.
Manuel López-Ibáñez [Tue, 13 Apr 2010 16:29:54 +0000 (16:29 +0000)]
Commit gcc/testsuite/ChangeLog for revision 158275.

2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
* g++.dg/dg.exp: Likewise.
* gcc.dg/cpp/warning-directive-1.c: Move to ...
* c-c++-common/cpp/warning-directive-1.c: ... here.
* gcc.dg/cpp/warning-directive-2.c: Move to ...
* c-c++-common/cpp/warning-directive-2.c: ... here.
* gcc.dg/cpp/warning-directive-3.c: Move to ...
* c-c++-common/cpp/warning-directive-3.c: ... here.
* gcc.dg/cpp/warning-directive-4.c: Move to ...
* c-c++-common/cpp/warning-directive-4.c: ... here.
* g++.dg/cpp/warning-directive-1.C: Delete.
* g++.dg/cpp/warning-directive-2.C: Delete.
* g++.dg/cpp/warning-directive-3.C: Delete.
* g++.dg/cpp/warning-directive-4.C: Delete.
* gcc.dg/cpp/normalised-3.c: Delete.
* g++.dg/cpp/normalised-1.C: Rename as ...
* c-c++-common/cpp/normalised-3.c: ... this.

From-SVN: r158276

14 years agocpp.exp: Test also c-c++-common/cpp.
Manuel López-Ibáñez [Tue, 13 Apr 2010 16:26:01 +0000 (16:26 +0000)]
cpp.exp: Test also c-c++-common/cpp.

2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
* g++.dg/dg.exp: Likewise.
* gcc.dg/cpp/warning-directive-1.c: Move to ...
* c-c++-common/cpp/warning-directive-1.c: ... here.
* gcc.dg/cpp/warning-directive-2.c: Move to ...
* c-c++-common/cpp/warning-directive-2.c: ... here.
* gcc.dg/cpp/warning-directive-3.c: Move to ...
* c-c++-common/cpp/warning-directive-3.c: ... here.
* gcc.dg/cpp/warning-directive-4.c: Move to ...
* c-c++-common/cpp/warning-directive-4.c: ... here.
* g++.dg/cpp/warning-directive-1.C: Delete.
* g++.dg/cpp/warning-directive-2.C: Delete.
* g++.dg/cpp/warning-directive-3.C: Delete.
* g++.dg/cpp/warning-directive-4.C: Delete.
* gcc.dg/cpp/normalised-3.c: Delete.
* g++.dg/cpp/normalised-1.C: Rename as ...
* c-c++-common/cpp/normalised-3.c: ... this.

From-SVN: r158275

14 years agore PR middle-end/32628 (bogus integer overflow warning)
Eric Botcazou [Tue, 13 Apr 2010 15:47:38 +0000 (15:47 +0000)]
re PR middle-end/32628 (bogus integer overflow warning)

PR middle-end/32628
* c-common.c (pointer_int_sum): Disregard overflow that occured only
because of sign-extension change when converting to sizetype here...
* fold-const.c (fold_convert_const_int_from_int): ...and not here.

* fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
the folding to constants.  Remove redundant final conversion.
(fold_binary) <associate>: Do not associate if the re-association of
constants alone overflows.
(fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
to the end of the list.
(multiple_of_p) <COND_EXPR>: New case.

From-SVN: r158274

14 years agoopt-functions.awk (opt_sanitized_name): New.
Manuel López-Ibáñez [Tue, 13 Apr 2010 14:27:22 +0000 (14:27 +0000)]
opt-functions.awk (opt_sanitized_name): New.

2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* opt-functions.awk (opt_sanitized_name): New.
(opt_enum): New.
* optc-gen.awk: Use it
* opth-gen.awk: Use it.

From-SVN: r158272

14 years agotree-sra.c (replace_uses_with_default_def_ssa_name): New function.
Martin Jambor [Tue, 13 Apr 2010 13:47:34 +0000 (15:47 +0200)]
tree-sra.c (replace_uses_with_default_def_ssa_name): New function.

2010-04-13  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
(sra_modify_assign): Delete stmts loading dead data even if racc has no
children.  Call replace_uses_with_default_def_ssa_name to handle
SSA_NAES on lhs.

* testsuite/gcc.dg/tree-ssa/sra-9.c: New test.

From-SVN: r158271

14 years agore PR middle-end/43730 (internal compiler error: in expand_builtin_interclass_mathfn...
Michael Matz [Tue, 13 Apr 2010 13:35:30 +0000 (13:35 +0000)]
re PR middle-end/43730 (internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313)

PR middle-end/43730
* builtins.c (expand_builtin_interclass_mathfn): Also create
a register if the predicate doesn't match.

testsuite/
* gcc.dg/pr43730.c: New test.

From-SVN: r158268

14 years agoAdd CL entry
Diego Novillo [Tue, 13 Apr 2010 13:30:41 +0000 (09:30 -0400)]
Add CL entry

From-SVN: r158267

14 years agoMakefile.in (c-pch.o, [...]): Depend on timevar.h.
Diego Novillo [Tue, 13 Apr 2010 13:30:31 +0000 (09:30 -0400)]
Makefile.in (c-pch.o, [...]): Depend on timevar.h.

2010-04-12  Diego Novillo  <dnovillo@google.com>

* Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
* c-pch.c: Include timevar.h.
(c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
(c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE
timers.
* ggc-common.c: Include timevar.h.
(gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT
timers.
* timevar.def (TV_PCH_SAVE): Define.
(TV_PCH_CPP_SAVE): Define.
(TV_PCH_PTR_REALLOC): Define.
(TV_PCH_PTR_SORT): Define.
(TV_PCH_RESTORE): Define.
(TV_PCH_CPP_RESTORE): Define.

From-SVN: r158266

14 years agotree-ssa-reassoc.c (repropagate_negates): Merge negates also into MINUS_EXPRs.
Michael Matz [Tue, 13 Apr 2010 12:39:53 +0000 (12:39 +0000)]
tree-ssa-reassoc.c (repropagate_negates): Merge negates also into MINUS_EXPRs.

* tree-ssa-reassoc.c (repropagate_negates): Merge negates also
into MINUS_EXPRs.
(can_reassociate_p): New function.
(break_up_subtract_bb, reassociate_bb): Use it.

testsuite/
* gcc.dg/tree-ssa/negate.c: New testcase.

From-SVN: r158265

14 years agore PR bootstrap/43737 (Bootstrap broken at -O3)
Richard Guenther [Tue, 13 Apr 2010 12:23:17 +0000 (12:23 +0000)]
re PR bootstrap/43737 (Bootstrap broken at -O3)

2010-04-13  Richard Guenther  <rguenther@suse.de>

PR bootstrap/43737
* builtins.c (c_readstr): Fix assert.

From-SVN: r158264

14 years agore PR middle-end/43735 (FAIL: gcc.dg/guality/inline-params.c)
Richard Guenther [Tue, 13 Apr 2010 11:50:54 +0000 (11:50 +0000)]
re PR middle-end/43735 (FAIL: gcc.dg/guality/inline-params.c)

2010-04-13  Richard Guenther  <rguenther@suse.de>

PR testsuite/43735
* gcc.dg/guality/inline-params.c: Remove -fwhopr XPASS.

From-SVN: r158263

14 years agore PR other/31400 (enable static linking of support libraries through -static-libXY)
Iain Sandoe [Tue, 13 Apr 2010 11:37:34 +0000 (11:37 +0000)]
re PR other/31400 (enable static linking of support libraries through -static-libXY)

gcc/fortran:
2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>

PR bootstrap/31400
* gfortranspec.c (lookup_option): Check for -static and return
OPTION_static.
(lang_specific_driver): Break when OPTION_static is discovered.

From-SVN: r158262

14 years agoi386.md (extendsidi2 splitter): Also check for DX_REG when generating cltd insn.
Uros Bizjak [Tue, 13 Apr 2010 10:27:03 +0000 (12:27 +0200)]
i386.md (extendsidi2 splitter): Also check for DX_REG when generating cltd insn.

* config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
when generating cltd insn.

(*ashl<mode>3_1): Remove special handling for register operand 2.
(*ashlsi3_1_zext): Ditto.
(*ashlhi3_1): Ditto.
(*ashlhi3_1_lea): Ditto.
(*ashlqi3_1): Ditto.
(*ashlqi3_1_lea): Ditto.
(*<shiftrt_insn><mode>3_1): Ditto.
(*<shiftrt_insn>si3_1_zext): Ditto.
(*<shiftrt_insn>qi3_1_slp): Ditto.
(*<rotate_insn><mode>3_1): Ditto.
(*<rotate_insn>si3_1_zext): Ditto.
(*<rotate_insn>qi3_1_slp): Ditto.

From-SVN: r158261

14 years agotree-ssa-structalias.c (callused_id): Remove.
Richard Guenther [Tue, 13 Apr 2010 09:53:19 +0000 (09:53 +0000)]
tree-ssa-structalias.c (callused_id): Remove.

2010-04-13  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (callused_id): Remove.
(call_stmt_vars): New.
(get_call_vi): Likewise.
(lookup_call_use_vi): Likewise.
(lookup_call_clobber_vi): Likewise.
(get_call_use_vi): Likewise.
(get_call_clobber_vi): Likewise.
(make_transitive_closure_constraints): Likewise.
(handle_const_call): Adjust to do per-call call-used handling.
(handle_pure_call): Likewise.
(find_what_var_points_to): Remove general callused handling.
(init_base_vars): Likewise.
(init_alias_vars): Initialize call_stmt_vars.
(compute_points_to_sets): Process call-used and call-clobbered
vars for call statements.
(delete_points_to_sets): Free call_stmt_vars.

From-SVN: r158260

14 years agotree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only add RW dependence...
Richard Guenther [Tue, 13 Apr 2010 09:48:26 +0000 (09:48 +0000)]
tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only add RW dependence for dependence distance zero.

2010-04-13  Richard Guenther  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Only add RW dependence for dependence distance zero.
Adjust maximal vectorization factor according to dependences.
Move alignment handling ...
(vect_find_same_alignment_drs): ... here.  New function.
(vect_analyze_data_ref_dependences): Adjust.
(vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
(vect_analyze_data_refs): Adjust minimal vectorization factor
according to data references.
* tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
dependences before determining the vectorization factor.
Analyze alignment after determining the vectorization factor.
* tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
dependences before alignment.
* tree-vectorizer.h (vect_analyze_data_ref_dependences):
Adjust prototype.
(vect_analyze_data_refs): Likewise.
(MAX_VECTORIZATION_FACTOR): New define.

* gcc.dg/vect/no-vfa-vect-depend-1.c: Adjust.

From-SVN: r158259

14 years agoRemove lang_eh_type_covers, which is dead, and the corresponding
Duncan Sands [Tue, 13 Apr 2010 09:21:12 +0000 (11:21 +0200)]
Remove lang_eh_type_covers, which is dead, and the corresponding
Ada routine gnat_eh_type_covers.

From-SVN: r158258

14 years agos390.md: Replace TARGET_64BIT with TARGET_ZARCH.
Andreas Krebbel [Tue, 13 Apr 2010 09:04:31 +0000 (09:04 +0000)]
s390.md: Replace TARGET_64BIT with TARGET_ZARCH.

2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
            Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
* gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
UNITS_PER_LONG where it is ABI relevant.
(s390_return_addr_rtx): Likewise.
(s390_back_chain_rtx): Likewise.
(s390_frame_area): Likewise.
(s390_frame_info): Likewise.
(s390_initial_elimination_offset): Likewise.
(save_gprs): Likewise.
(s390_emit_prologue): Likewise.
(s390_emit_epilogue): Likewise.
(s390_function_arg_advance): Likewise.
(s390_function_arg): Likewise.
(s390_va_start): Likewise.
(s390_gimplify_va_arg): Likewise.
(s390_function_profiler): Likewise.
(s390_optimize_prologue): Likewise.
(s390_rtx_costs): Likewise.
(s390_secondary_reload): Likewise.
(s390_promote_function_mode): Likewise.
(s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
(s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
registers available.
(s390_unwind_word_mode): New function.
(s390_function_value): Split 64 bit values into register pair if
used as return value.
(s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
function call parameters.  Handle parallels.
(TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
(HARD_REGNO_CALL_PART_CLOBBERED): New macro.
(DWARF_CIE_DATA_ALIGNMENT): New macro.
(s390_expand_setmem): Remove unused variable src_addr.
* gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
deal with 64 bit registers.
* gcc/config/s390/s390.h: Define __zarch__ predefined macro.
Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
(UNITS_PER_LONG): New macro.
* libjava/include/s390-signal.h: Define extended ucontext
structure containing the upper halfs of the 64 bit registers.

Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r158257

14 years agocfgexpand.c (gimple_expand_cfg): Clarify warning message text.
Simon Baldwin [Tue, 13 Apr 2010 08:58:15 +0000 (08:58 +0000)]
cfgexpand.c (gimple_expand_cfg): Clarify warning message text.

* cfgexpand.c (gimple_expand_cfg): Clarify warning message text.

From-SVN: r158256

14 years agogigi.h (standard_datatypes): Add ADT_parent_name_id.
Eric Botcazou [Tue, 13 Apr 2010 07:21:15 +0000 (07:21 +0000)]
gigi.h (standard_datatypes): Add ADT_parent_name_id.

* gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
(parent_name_id): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
* gcc-interface/trans.c (gigi): Initialize it.
(lvalue_required_p) <N_Type_Conversion>: New case.
<N_Qualified_Expression>: Likewise.
<N_Allocator>: Likewise.
* gcc-interface/utils.c (convert): Try to properly upcast tagged types.

From-SVN: r158255

14 years agogimple.c (walk_gimple_op): Do not request a pure rvalue on the RHS if the LHS is...
Eric Botcazou [Tue, 13 Apr 2010 07:08:24 +0000 (07:08 +0000)]
gimple.c (walk_gimple_op): Do not request a pure rvalue on the RHS if the LHS is of a non-renamable type.

* gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
rvalue on the RHS if the LHS is of a non-renamable type.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
ada/
* gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
(DECL_CONST_ADDRESS_P): New macro.
(SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
(SAME_FIELD_P): Likewise.
* gcc-interface/decl.c (constructor_address_p): New static function.
(gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
the return value of above function.
(gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
passed by reference.
<E_Record_Subtype>: Likewise.
Set TREE_ADDRESSABLE on the type if it passed by reference.
(make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
(create_field_decl_from): Likewise.
(substitute_in_type): Likewise.
(purpose_member_field): Use SAME_FIELD_P.
* gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
* gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
parameter and adjust recursive calls.
<N_Explicit_Dereference>: New case.
<N_Object_Declaration>: Return 1 if the object is of a class-wide type.
Adjust calls to lvalue_required_p.  Do not return the initializer of a
DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
(call_to_gnu): Delay issuing error message for a misaligned actual and
avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
(gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
* gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
type is passed by reference.
(convert) <CONSTRUCTOR>: Convert in-place in more cases.
* gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
(build_simple_component_ref): Use SAME_FIELD_P.

From-SVN: r158254

14 years ago[multiple changes]
Jerry DeLisle [Tue, 13 Apr 2010 01:59:35 +0000 (01:59 +0000)]
[multiple changes]

2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* array.c (extract_element): Restore function from trunk.
(gfc_get_array_element): Restore function from trunk.
(gfc_expand_constructor): Restore check against
flag_max_array_constructor.
* constructor.c (node_copy_and_append): Delete unused.
* gfortran.h: Delete comment and extra include.
* constructor.h: Bump copyright and clean up TODO comments.
* resolve.c: Whitespace.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

* simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
with direct access access to elements. Adjusted prototype, fixed all
callers.
(gfc_simplify_dot_product): Removed duplicate check for zero-sized
array.
(gfc_simplify_matmul): Removed usage of ADVANCE macro.
(gfc_simplify_spread): Removed workaround, directly insert elements
at a given array position.
(gfc_simplify_transpose): Likewise.
(gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
function calls.
(gfc_simplify_unpack): Likewise.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

* simplify.c (only_convert_cmplx_boz): Renamed to ...
(convert_boz): ... this and moved to start of file.
(gfc_simplify_abs): Whitespace fix.
(gfc_simplify_acos): Whitespace fix.
(gfc_simplify_acosh): Whitespace fix.
(gfc_simplify_aint): Whitespace fix.
(gfc_simplify_dint): Whitespace fix.
(gfc_simplify_anint): Whitespace fix.
(gfc_simplify_and): Replaced if-gate by more common switch-over-type.
(gfc_simplify_dnint): Whitespace fix.
(gfc_simplify_asin): Whitespace fix.
(gfc_simplify_asinh): Moved creation of result-expr out of switch.
(gfc_simplify_atan): Likewise.
(gfc_simplify_atanh): Whitespace fix.
(gfc_simplify_atan2): Whitespace fix.
(gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
(gfc_simplify_bessel_j1): Likewise.
(gfc_simplify_bessel_jn): Likewise.
(gfc_simplify_bessel_y0): Likewise.
(gfc_simplify_bessel_y1): Likewise.
(gfc_simplify_bessel_yn): Likewise.
(gfc_simplify_ceiling): Reorderd statements.
(simplify_cmplx): Use convert_boz(), check for constant arguments.
Whitespace fix.
(gfc_simplify_cmplx): Use correct default kind. Removed check for
constant arguments.
(gfc_simplify_complex): Replaced if-gate. Removed check for
constant arguments.
(gfc_simplify_conjg): Whitespace fix.
(gfc_simplify_cos): Whitespace fix.
(gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_dcmplx): Removed check for constant arguments.
(gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
(gfc_simplify_digits): Whitespace fix.
(gfc_simplify_dim): Whitespace fix.
(gfc_simplify_dprod): Reordered statements.
(gfc_simplify_erf): Whitespace fix.
(gfc_simplify_erfc): Whitespace fix.
(gfc_simplify_epsilon): Whitespace fix.
(gfc_simplify_exp): Whitespace fix.
(gfc_simplify_exponent): Use convert_boz().
(gfc_simplify_floor): Reorderd statements.
(gfc_simplify_gamma): Whitespace fix.
(gfc_simplify_huge): Whitespace fix.
(gfc_simplify_iand): Whitespace fix.
(gfc_simplify_ieor): Whitespace fix.
(simplify_intconv): Use gfc_convert_constant().
(gfc_simplify_int): Use simplify_intconv().
(gfc_simplify_int2): Reorderd statements.
(gfc_simplify_idint): Reorderd statements.
(gfc_simplify_ior): Whitespace fix.
(gfc_simplify_ishftc): Removed duplicate type check.
(gfc_simplify_len): Use range_check() instead of manual range check.
(gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
(gfc_simplify_log): Whitespace fix.
(gfc_simplify_log10): Whitespace fix.
(gfc_simplify_minval): Whitespace fix.
(gfc_simplify_maxval): Whitespace fix.
(gfc_simplify_mod): Whitespace fix.
(gfc_simplify_modulo): Whitespace fix.
(simplify_nint): Reorderd statements.
(gfc_simplify_not): Whitespace fix.
(gfc_simplify_or): Replaced if-gate by more common switch-over-type.
(gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
(gfc_simplify_range): Removed unused result-variable. Whitespace fix.
(gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
(gfc_simplify_realpart): Whitespace fix.
(gfc_simplify_selected_char_kind): Removed unused result-variable.
(gfc_simplify_selected_int_kind): Removed unused result-variable.
(gfc_simplify_selected_real_kind): Removed unused result-variable.
(gfc_simplify_sign): Whitespace fix.
(gfc_simplify_sin): Whitespace fix.
(gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
(gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
(gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_xor): Replaced if-gate by more common switch-over-type.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

* gfortran.h (gfc_start_constructor): Removed.
(gfc_get_array_element): Removed.
* array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
instead. Fixed all callers.
(extract_element): Removed.
(gfc_expand_constructor): Temporarily removed check for
max-array-constructor. Will be re-introduced later if still required.
(gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
instead. Fixed all callers.
* expr.c (find_array_section): Replaced manual lookup of elements
by gfc_constructor_lookup.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.h (gfc_get_null_expr): New prototype.
        (gfc_get_operator_expr): New prototype.
        (gfc_get_character_expr): New prototype.
        (gfc_get_iokind_expr): New prototype.
        * expr.c (gfc_get_null_expr): New.
        (gfc_get_character_expr): New.
        (gfc_get_iokind_expr): New.
        (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
        * matchexp.c (build_node): Renamed and moved to
        expr.c (gfc_get_operator_expr). Reordered arguments to match
        other functions. Fixed all callers.
        (gfc_get_parentheses): Use specific function to build expr.
        * array.c (gfc_match_array_constructor): Likewise.
        * arith.c (eval_intrinsic): Likewise.
        (gfc_hollerith2int): Likewise.
        (gfc_hollerith2real): Likewise.
        (gfc_hollerith2complex): Likewise.
        (gfc_hollerith2logical): Likewise.
        * data.c (create_character_intializer): Likewise.
        * decl.c (gfc_match_null): Likewise.
        (enum_initializer): Likewise.
        * io.c (gfc_match_format): Likewise.
        (match_io): Likewise.
        * match.c (gfc_match_nullify): Likewise.
        * primary.c (match_string_constant): Likewise.
        (match_logical_constant): Likewise.
        (build_actual_constructor): Likewise.
        * resolve.c (build_default_init_expr): Likewise.
        * symbol.c (generate_isocbinding_symbol): Likewise.
        (gfc_build_class_symbol): Likewise.
        (gfc_find_derived_vtab): Likewise.
        * simplify.c (simplify_achar_char): Likewise.
        (gfc_simplify_adjustl): Likewise.
        (gfc_simplify_adjustr): Likewise.
        (gfc_simplify_and): Likewise.
        (gfc_simplify_bit_size): Likewise.
        (gfc_simplify_is_iostat_end): Likewise.
        (gfc_simplify_is_iostat_eor): Likewise.
        (gfc_simplify_isnan): Likewise.
        (simplify_bound): Likewise.
        (gfc_simplify_leadz): Likewise.
        (gfc_simplify_len_trim): Likewise.
        (gfc_simplify_logical): Likewise.
        (gfc_simplify_maxexponent): Likewise.
        (gfc_simplify_minexponent): Likewise.
        (gfc_simplify_new_line): Likewise.
        (gfc_simplify_null): Likewise.
        (gfc_simplify_or): Likewise.
        (gfc_simplify_precision): Likewise.
        (gfc_simplify_repeat): Likewise.
        (gfc_simplify_scan): Likewise.
        (gfc_simplify_size): Likewise.
        (gfc_simplify_trailz): Likewise.
        (gfc_simplify_trim): Likewise.
        (gfc_simplify_verify): Likewise.
        (gfc_simplify_xor): Likewise.
        * trans-io.c (build_dt): Likewise.
        (gfc_new_nml_name_expr): Removed.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

* arith.h (gfc_constant_result): Removed prototype.
* constructor.h (gfc_build_array_expr): Removed prototype.
(gfc_build_structure_constructor_expr): Removed prototype.
* gfortran.h (gfc_int_expr): Removed prototype.
(gfc_logical_expr): Removed prototype.
(gfc_get_array_expr): New prototype.
(gfc_get_structure_constructor_expr): New prototype.
(gfc_get_constant_expr): New prototype.
(gfc_get_int_expr): New prototype.
(gfc_get_logical_expr): New prototype.
* arith.c (gfc_constant_result): Moved and renamed to
expr.c (gfc_get_constant_expr). Fixed all callers.
* constructor.c (gfc_build_array_expr): Moved and renamed to
expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
and kind. Fixed all callers.
(gfc_build_structure_constructor_expr): Moved and renamed to
expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
to type and kind. Fixed all callers.
* expr.c (gfc_logical_expr): Renamed to ...
(gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
(gfc_int_expr): Renamed to ...
(gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
callers.
(gfc_get_constant_expr): New.
(gfc_get_array_expr): New.
(gfc_get_structure_constructor_expr): New.
* simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
instead.

2010-04-12  Daniel Franke  <franke.daniel@gmail.com>

* constructor.h: New.
* constructor.c: New.
* Make-lang.in: Add new files to F95_PARSER_OBJS.
* arith.c (reducy_unary): Use constructor API.
(reduce_binary_ac): Likewise.
(reduce_binary_ca): Likewise.
(reduce_binary_aa): Likewise.
* check.c (gfc_check_pack): Likewise.
(gfc_check_reshape): Likewise.
(gfc_check_unpack): Likewise.
* decl.c (add_init_expr_to_sym): Likewise.
(build_struct): Likewise.
* dependency.c (gfc_check_dependency): Likewise.
(contains_forall_index_p): Likewise.
* dump-parse-tree.c (show_constructor): Likewise.
* expr.c (free_expr0): Likewise.
(gfc_copy_expr): Likewise.
(gfc_is_constant_expr): Likewise.
(simplify_constructor): Likewise.
(find_array_element): Likewise.
(find_component_ref): Likewise.
(find_array_section): Likewise.
(find_substring_ref): Likewise.
(simplify_const_ref): Likewise.
(scalarize_intrinsic_call): Likewise.
(check_alloc_comp_init): Likewise.
(gfc_default_initializer): Likewise.
(gfc_traverse_expr): Likewise.
* iresolve.c (check_charlen_present): Likewise.
(gfc_resolve_reshape): Likewise.
(gfc_resolve_transfer): Likewise.
* module.c (mio_constructor): Likewise.
* primary.c (build_actual_constructor): Likewise.
(gfc_match_structure_constructor): Likewise.
* resolve.c (resolve_structure_cons): Likewise.
* simplify.c (is_constant_array_expr): Likewise.
(init_result_expr): Likewise.
(transformational_result): Likewise.
(simplify_transformation_to_scalar): Likewise.
(simplify_transformation_to_array): Likewise.
(gfc_simplify_dot_product): Likewise.
(simplify_bound): Likewise.
(simplify_matmul): Likewise.
(simplify_minval_maxval): Likewise.
(gfc_simplify_pack): Likewise.
(gfc_simplify_reshape): Likewise.
(gfc_simplify_shape): Likewise.
(gfc_simplify_spread): Likewise.
(gfc_simplify_transpose): Likewise.
(gfc_simplify_unpack): Likewise.q
(gfc_convert_constant): Likewise.
(gfc_convert_char_constant): Likewise.
* target-memory.c (size_array): Likewise.
(encode_array): Likewise.
(encode_derived): Likewise.
(interpret_array): Likewise.
(gfc_interpret_derived): Likewise.
(expr_to_char): Likewise.
(gfc_merge_initializers): Likewise.
* trans-array.c (gfc_get_array_constructor_size): Likewise.
(gfc_trans_array_constructor_value): Likewise.
(get_array_ctor_strlen): Likewise.
(gfc_constant_array_constructor_p): Likewise.
(gfc_build_constant_array_constructor): Likewise.
(gfc_trans_array_constructor): Likewise.
(gfc_conv_array_initializer): Likewise.
* trans-decl.c (check_constant_initializer): Likewise.
* trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
(gfc_apply_interface_mapping_to_cons): Likewise.
(gfc_trans_structure_assign): Likewise.
(gfc_conv_structure): Likewise.
* array.c (check_duplicate_iterator): Likewise.
(match_array_list): Likewise.
(match_array_cons_element): Likewise.
(gfc_match_array_constructor): Likewise.
(check_constructor_type): Likewise.
(check_constructor): Likewise.
(expand): Likewise.
(expand_constructor): Likewise.
(extract_element): Likewise.
(gfc_expanded_ac): Likewise.
(resolve_array_list): Likewise.
(gfc_resolve_character_array_constructor): Likewise.
(copy_iterator): Renamed to ...
(gfc_copy_iterator): ... this.
(gfc_append_constructor): Removed.
(gfc_insert_constructor): Removed unused function.
(gfc_get_constructor): Removed.
(gfc_free_constructor): Removed.
(qgfc_copy_constructor): Removed.
* gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
Removed all references. Replaced constructor list by splay-tree.
(struct gfc_constructor): Removed member 'next', moved 'offset' from
the inner struct, added member 'base'.
(gfc_append_constructor): Removed prototype.
(gfc_insert_constructor): Removed prototype.
(gfc_get_constructor): Removed prototype.
(gfc_free_constructor): Removed prototype.
(qgfc_copy_constructor): Removed prototype.
(gfc_copy_iterator): New prototype.
* trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.

From-SVN: r158253

14 years agoDaily bump.
GCC Administrator [Tue, 13 Apr 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158252

14 years agoelf: Remove empty directory.
Matthias Klose [Tue, 13 Apr 2010 00:13:13 +0000 (00:13 +0000)]
elf: Remove empty directory.

2010-04-13  Matthias Klose  <doko@ubuntu.com>

        * elf: Remove empty directory.

From-SVN: r158248

14 years agogcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec.
Matthias Klose [Mon, 12 Apr 2010 23:58:18 +0000 (23:58 +0000)]
gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec.

gcc/

2010-04-13  Matthias Klose  <doko@ubuntu.com>

* gcc.c (cc1_options): Handle -iplugindir before processing
the cc1 spec. Only add -iplugindir once.
(cpp_unique_options): Add -iplugindir option if -fplugin* options
found.
* common.opt (iplugindir): Remove `Separate' property, initialize.
* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
option.
* Makefile.in (check-%, check-parallel-%): Create plugin dir.
(distclean): Remove plugin dir.

2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>

* doc/plugins.texi (Loading Plugins): Document short
-fplugin=foo option.
(Plugin API): Mention default_plugin_dir_name function.

* gcc.c (find_file_spec_function): Add new declaration.
(static_spec_func): Use it for "find-file".
(find_file_spec_function): Add new function.
(cc1_options): Add -iplugindir option if -fplugin* options found.

* gcc-plugin.h (default_plugin_dir_name): Added new declaration.

* plugin.c (add_new_plugin): Updated comment, and handle short
plugin name.
(default_plugin_dir_name): Added new function.

* common.opt (iplugindir): New option to set the plugin
directory.

gcc/testsuite/

2010-04-13  Matthias Klose  <doko@ubuntu.com>

* gcc.dg/plugindir1.c: New testcase.
* gcc.dg/plugindir2.c: New testcase.
* gcc.dg/plugindir3.c: New testcase.
* gcc.dg/plugindir4.c: New testcase.

From-SVN: r158247

14 years agoi386.md (any_rotate): New code iterator.
Uros Bizjak [Mon, 12 Apr 2010 20:20:54 +0000 (22:20 +0200)]
i386.md (any_rotate): New code iterator.

* config/i386/i386.md (any_rotate): New code iterator.
(rotate_insn): New code attribute.
(rotate): Ditto.
(SWIM124): New mode iterator.
(<rotate_insn>ti3): New expander.
(<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
any_rotate code iterator.
(<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
using any_rotate code iterator and SWIM124 mode iterator.
(ix86_rotlti3): New insn_and_split pattern.
(ix86_rotrti3): Ditto.
(ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
ix86_rotl{di,ti}3 patterns.
(ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
(*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
*{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
code iterator and SWI mode iterator.
(*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
code iterator.
(*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
(bswap rotatert splitter): Add splitter.
(bswap splitter): Macroize splitter using any_rotate code iterator.
Add insn predicate to split only for TARGET_USE_XCHGB or when
optimizing function for size.

testsuite/ChangeLog:

* gcc.target/i386/rotate-2.c: New test.

From-SVN: r158243

14 years agopa.c (emit_move_sequence): Remove use of deleted variable flag_argument_noalias.
Steve Ellcey [Mon, 12 Apr 2010 20:01:41 +0000 (20:01 +0000)]
pa.c (emit_move_sequence): Remove use of deleted variable flag_argument_noalias.

2010-04-12  Steve Ellcey  <sje@cup.hp.com>

* config/pa/pa.c (emit_move_sequence): Remove use of
deleted variable flag_argument_noalias.

From-SVN: r158242

14 years agore PR c++/43641 ([C++0x] internal compiler error: tree check: expected call_expr...
Jason Merrill [Mon, 12 Apr 2010 19:58:49 +0000 (15:58 -0400)]
re PR c++/43641 ([C++0x] internal compiler error: tree check: expected call_expr, have target_expr in maybe_add_lambda_conv_op)

PR c++/43641
* semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
return value directly.

From-SVN: r158241

14 years ago* call.c (type_decays_to): Call cv_unqualified for non-class type.
Jason Merrill [Mon, 12 Apr 2010 19:58:37 +0000 (15:58 -0400)]
* call.c (type_decays_to): Call cv_unqualified for non-class type.

From-SVN: r158240

14 years agore PR c++/25811 (No failure creating a POD containing a const member, using new witho...
Fabien Chêne [Mon, 12 Apr 2010 19:58:27 +0000 (15:58 -0400)]
re PR c++/25811 (No failure creating a POD containing a const member, using new without a new-initializer.)

PR c++/25811
* cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
* init.c (build_new_1): Check for uninitialized const members and
uninitialized reference members, when using new without
new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
(diagnose_uninitialized_cst_or_ref_member): Define, call
diagnose_uninitialized_cst_or_ref_member_1.
(diagnose_uninitialized_cst_or_ref_member_1): New function.

From-SVN: r158239

14 years agoconfig.gcc: Removed *-*-solaris2.7* from list of obsolete configurations.
Rainer Orth [Mon, 12 Apr 2010 19:01:36 +0000 (19:01 +0000)]
config.gcc: Removed *-*-solaris2.7* from list of obsolete configurations.

gcc:
* config.gcc: Removed *-*-solaris2.7* from list of obsolete
configurations.
Add to unsupported targets list.
* configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
sparc*-sun-solaris2.[567]* from target lists.
* configure: Regenerate.
* doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
removal.
Remove Solaris 7 patch references.
(Specific, sparc-sun-solaris2.7): Removed.
(sparc-sun-solaris2*): Update Solaris 7 example.
(sparc64-*-solaris2*): Likewise.

gcc/testsuite:
* g++.dg/warn/miss-format-1.C: Removed *-*-solaris2.7 from
dg-error, dg-warning.
* gcc.dg/c99-stdint-6.c: Removed *-*-solaris2.7 from dg-options.

libstdc++-v3:
* configure.host (os_include_dir): Removed solaris2.7 support.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Likewise.
* configure: Regenerate.

From-SVN: r158236

14 years agoconfig.build (alpha*-dec-osf4*): Remove.
Rainer Orth [Mon, 12 Apr 2010 18:36:30 +0000 (18:36 +0000)]
config.build (alpha*-dec-osf4*): Remove.

gcc:
* config.build (alpha*-dec-osf4*): Remove.
* config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
of obsolete configurations.
(alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
support.
* config/alpha/t-osf4: Renamed to ...
* config/alpha/t-osf5: ... this.
* config/alpha/osf.h: Renamed to ...
* config/alpha/osf5.h: ... this.
Merged old osf5.h contents.
Update comments.
(ASM_SPEC): Use ASM_OLDAS_SPEC directly.
(EXTRA_SPECS): Removed.
* doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
reflect removal of Tru64 UNIX V4.0/V5.0 support.
Document that.

fixincludes:
* inclhack.def (alpha_wchar): Remove.
* fixincl.x: Regenerate.
* tests/base/wchar.h: Remove.

libgcc:
* config.host (alpha*-dec-osf[45]*): Removed alpha*-dec-osf4*,
alpha-dec-osf5.0* support.

From-SVN: r158235

14 years ago* doc/contrib.texi (Contributors, Rainer Orth): Update.
Rainer Orth [Mon, 12 Apr 2010 18:15:45 +0000 (18:15 +0000)]
* doc/contrib.texi (Contributors, Rainer Orth): Update.

From-SVN: r158233

14 years agoi386.c (x86_this_parameter): Handle aggregate for __thiscall convention.
Kai Tietz [Mon, 12 Apr 2010 18:04:44 +0000 (18:04 +0000)]
i386.c (x86_this_parameter): Handle aggregate for __thiscall convention.

2010-04-12  Kai Tietz  <kai.tietz@onevision.com>

        PR/43702
        * config/i386/i386.c (x86_this_parameter): Handle aggregate for
        __thiscall convention.

From-SVN: r158232

14 years agopa.c (hppa_legitimize_address): Remove unused variable orig_base.
Steve Ellcey [Mon, 12 Apr 2010 17:27:15 +0000 (17:27 +0000)]
pa.c (hppa_legitimize_address): Remove unused variable orig_base.

2010-04-12  Steve Ellcey  <sje@cup.hp.com>

* config/pa/pa.c (hppa_legitimize_address): Remove unused variable
orig_base.
* config/pa/pa.md (call, call_value): Remove unused variable call_insn.

From-SVN: r158230

14 years agofunction.c (assign_parms_initialize_all): Add unused attribute to fntype.
Steve Ellcey [Mon, 12 Apr 2010 16:04:42 +0000 (16:04 +0000)]
function.c (assign_parms_initialize_all): Add unused attribute to fntype.

2010-04-12  Steve Ellcey  <sje@cup.hp.com>

* function.c (assign_parms_initialize_all): Add unused attribute
to fntype.

From-SVN: r158228

14 years agogsstruct.def (GSS_CALL): New.
Richard Biener [Mon, 12 Apr 2010 15:35:15 +0000 (15:35 +0000)]
gsstruct.def (GSS_CALL): New.

2010-04-12  Richard Guenther  <rguenther@suse.de>

* gsstruct.def (GSS_CALL): New.
* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
* gimple.h: Include tree-ssa-alias.h.
(struct gimple_statement_call): New.
(union gimple_statement_struct_d): Add gimple_call member.
(gimple_call_reset_alias_info): Declare.
(gimple_call_use_set): New function.
(gimple_call_clobber_set): Likewise.
* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
* gimple.c (gimple_call_reset_alias_info): New function.
(gimple_build_call_1): Call it.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* tree-inline.c (remap_gimple_stmt): Likewise.
(expand_call_inline): Remove callused handling.
* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
* tree-dfa.c (dump_variable): Likewise.
* tree-parloops.c (parallelize_loops): Likewise.
* tree-ssa.c (init_tree_ssa): Likewise.
(delete_tree_ssa): Likewise.
* tree-flow-inline.h (is_call_used): Remove.
* tree-flow.h (struct gimple_df): Remove callused member.
* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
(ref_maybe_used_by_call_p_1): Simplify.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Set
the call stmt used and clobbered sets.
* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
(find_tail_calls): Verify the tail call.

From-SVN: r158227

14 years agogsstruct.def (GSS_CALL): New.
Richard Guenther [Mon, 12 Apr 2010 15:20:48 +0000 (15:20 +0000)]
gsstruct.def (GSS_CALL): New.

2010-04-12  Richard Guenther  <rguenther@suse.de>

* gsstruct.def (GSS_CALL): New.
* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
* gimple.h: Include tree-ssa-alias.h.
(struct gimple_statement_call): New.
(union gimple_statement_struct_d): Add gimple_call member.
(gimple_call_reset_alias_info): Declare.
(gimple_call_use_set): New function.
(gimple_call_clobber_set): Likewise.
* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
* gimple.c (gimple_call_reset_alias_info): New function.
(gimple_build_call_1): Call it.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* tree-inline.c (remap_gimple_stmt): Likewise.
(expand_call_inline): Remove callused handling.
* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
* tree-dfa.c (dump_variable): Likewise.
* tree-parloops.c (parallelize_loops): Likewise.
* tree-ssa.c (init_tree_ssa): Likewise.
(delete_tree_ssa): Likewise.
* tree-flow-inline.h (is_call_used): Remove.
* tree-flow.h (struct gimple_df): Remove callused member.
* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
(ref_maybe_used_by_call_p_1): Simplify.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Set
the call stmt used and clobbered sets.
* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
(find_tail_calls): Verify the tail call.

From-SVN: r158226

14 years agoipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inlin...
Richard Guenther [Mon, 12 Apr 2010 13:37:32 +0000 (13:37 +0000)]
ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining.

2010-04-12  Richard Guenther  <rguenther@suse.de>

* ipa.c (cgraph_postorder): Adjust postorder to guarantee
single-iteration always-inline inlining.
* ipa-inline.c (cgraph_mark_inline): Do not return anything.
(cgraph_decide_inlining): Do not handle always-inline
specially.
(try_inline): Remove always-inline cycle detection special case.
Do not recurse on always-inlines.
(cgraph_early_inlining): Do not iterate if not optimizing.
(cgraph_gate_early_inlining): remove.
(pass_early_inline): Run unconditionally.
(gate_cgraph_decide_inlining): New function.
(pass_ipa_inline): Use it.  Do not run the IPA inliner if
not inlining or optimizing.
(cgraph_decide_inlining_of_small_functions): Also consider
always-inline functions.
(cgraph_default_inline_p): Return true for nodes which should
disregard inline limits.
(estimate_function_body_sizes): Assume zero size and time for
nodes which are marked as disregarding inline limits.
(cgraph_decide_recursive_inlining): Do not perform recursive
inlining on always-inline nodes.

* gcc.dg/torture/inline-2.c: New testcase.

From-SVN: r158225

14 years agore PR bootstrap/43699 ("variable set but not used" error during bootstrap)
Jakub Jelinek [Mon, 12 Apr 2010 13:27:07 +0000 (15:27 +0200)]
re PR bootstrap/43699 ("variable set but not used" error during bootstrap)

PR bootstrap/43699
* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
for exprs satisfying handled_component_p.

* gcc.dg/Wunused-var-7.c: New test.

From-SVN: r158224

14 years agore PR tree-optimization/43560 (possible wrong code bug)
Jakub Jelinek [Mon, 12 Apr 2010 10:18:39 +0000 (12:18 +0200)]
re PR tree-optimization/43560 (possible wrong code bug)

PR tree-optimization/43560
* gcc.c-torture/execute/pr43560.c: New test.

From-SVN: r158220

14 years agoexpr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant...
Eric Botcazou [Mon, 12 Apr 2010 10:00:13 +0000 (10:00 +0000)]
expr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant aggregate elements.

* expr.c (categorize_ctor_elements_1): Properly count sub-elements of
non-constant aggregate elements.

* gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
is a real initialization.

From-SVN: r158219

14 years agore PR c++/43611 (ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions)
Richard Guenther [Mon, 12 Apr 2010 09:52:50 +0000 (09:52 +0000)]
re PR c++/43611 (ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions)

2010-04-12  Richard Guenther  <rguenther@suse.de>

PR c++/43611
* semantics.c (expand_or_defer_fn_1): Do not keep extern
template inline functions.

* g++.dg/torture/pr43611.C: New testcase.

From-SVN: r158218

14 years agotrans.c (Identifier_to_gnu): Use boolean variable.
Eric Botcazou [Mon, 12 Apr 2010 08:54:00 +0000 (08:54 +0000)]
trans.c (Identifier_to_gnu): Use boolean variable.

* gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
(call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
front-end's predicate Is_By_Reference_Type.  Use consistent order and
remove ??? comment.  Use original conversion in all cases, if any.
* gcc-interface/utils.c (make_dummy_type): Minor tweak.
(convert): Use local copy in more cases.
<INDIRECT_REF>: Remove deactivated code.
(unchecked_convert): Use a couple of local copies.

From-SVN: r158216

14 years agore PR c/36774 (-Wmissing-prototypes triggers on nested functions)
Shujing Zhao [Mon, 12 Apr 2010 03:43:21 +0000 (03:43 +0000)]
re PR c/36774 (-Wmissing-prototypes triggers on nested functions)

gcc/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * c-decl.c (start_function): Move forward check for nested function.

gcc/testsuite/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * gcc.dg/pr36774-1.c: New test.
        * gcc.dg/pr36774-2.c: New test.

From-SVN: r158214

14 years agoDaily bump.
GCC Administrator [Mon, 12 Apr 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158212

14 years agosh-protos.h (sh_legitimize_reload_address): Declare.
Kaz Kojima [Sun, 11 Apr 2010 22:59:36 +0000 (22:59 +0000)]
sh-protos.h (sh_legitimize_reload_address): Declare.

* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
* config/sh/sh.c: Include reload.h.
(sh_legitimize_reload_address): New.
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
sh_legitimize_reload_address.

From-SVN: r158208

14 years agosh.md (*movqi_pop): New insn pattern.
Kaushik Phatak [Sun, 11 Apr 2010 22:53:30 +0000 (22:53 +0000)]
sh.md (*movqi_pop): New insn pattern.

* config/sh/sh.md (*movqi_pop): New insn pattern.
* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
* gcc.target/sh/rte-delay-slot.c: New test.

From-SVN: r158207

14 years agoi386.md (any_shiftrt): New code iterator.
Uros Bizjak [Sun, 11 Apr 2010 20:40:02 +0000 (22:40 +0200)]
i386.md (any_shiftrt): New code iterator.

* config/i386/i386.md (any_shiftrt): New code iterator.
(shiftrt_insn): New code attribute.
(shiftrt): Ditto.
(<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
lshr<mode>3 using any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
*ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
pattern from corresponding peephole2 patterns.
(*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
and *lshr<mode>3_1 using any_shiftrt code iterator.
(*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
and *lshrsi3_1_zext.
(*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
and *lshrqi3_1_slp.
(*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
and *lshr<mode>3_cmp.
(*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
and *lshr<mode>3_cmp_zext.
(*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
and *lshr<mode>3_cconly.

From-SVN: r158205

14 years agoi386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register.
Uros Bizjak [Sun, 11 Apr 2010 14:26:27 +0000 (16:26 +0200)]
i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register.

* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
scratch register.
(*lshr<mode>3_cconly): Ditto.

From-SVN: r158204

14 years agoi386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using SDWIM...
Uros Bizjak [Sun, 11 Apr 2010 14:04:35 +0000 (16:04 +0200)]
i386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.

* config/i386/i386.md (lshr<mode>3): Macroize expander from
lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
(*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
pattern from *lshr{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
*lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
and *lshrdi3_cmp_rex64 using SWI mode iterator.
(*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
(*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
*lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
and *lshrdi3_cmp_rex64 using SWI mode iterator.
(*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
(*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
*lshrdi3_one_bit_cconly_rex64. Macroize insn from
*lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
SWI mode iterator.

From-SVN: r158203

14 years agotrans.c (lvalue_required_for_attribute_p): New static function.
Eric Botcazou [Sun, 11 Apr 2010 11:49:22 +0000 (11:49 +0000)]
trans.c (lvalue_required_for_attribute_p): New static function.

* gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
function.
(lvalue_required_p) <N_Attribute_Reference>: Call it.
(gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
folding the result only if lvalue_required_for_attribute_p is true.
* gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
typed constant to build_component_ref.
(unchecked_convert): Likewise.
* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.

From-SVN: r158202

14 years agoutils2.c (build_cond_expr): Take the address and dereference if the result type is...
Eric Botcazou [Sun, 11 Apr 2010 11:23:32 +0000 (11:23 +0000)]
utils2.c (build_cond_expr): Take the address and dereference if the result type is passed by reference.

* gcc-interface/utils2.c (build_cond_expr): Take the address and
dereference if the result type is passed by reference.

From-SVN: r158201

14 years agotrans.c (Case_Statement_to_gnu): Bool-ify variable.
Eric Botcazou [Sun, 11 Apr 2010 11:11:49 +0000 (11:11 +0000)]
trans.c (Case_Statement_to_gnu): Bool-ify variable.

* gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
(gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
goto to the next statement.

From-SVN: r158200

14 years agoDaily bump.
GCC Administrator [Sun, 11 Apr 2010 00:17:00 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158199

14 years agoi386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using SDWIM...
Uros Bizjak [Sat, 10 Apr 2010 17:20:47 +0000 (19:20 +0200)]
i386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.

* config/i386/i386.md (ashr<mode>3): Macroize expander from
ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
(*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
pattern from *ashr{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
(ashrsi3_cvt): Rename from ashrsi3_31.
(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
and x86_64_shift_adj_3 using SWI48 mode iterator.
(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
*ashrdi3_one_bit_cconly_rex64. Macroize insn from
*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
SWI mode iterator.
(sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
* config/i386/i386.c (ix86_split_ashr): Update for renamed
x86_shift<mode>_adj_3 expander.

From-SVN: r158195

14 years agore PR target/43417 (SH: 4.4 ICE in final_scan_insn, at final.c:2604)
Jie Zhang [Sat, 10 Apr 2010 15:12:14 +0000 (15:12 +0000)]
re PR target/43417 (SH: 4.4 ICE in final_scan_insn, at final.c:2604)

PR target/43417
* gcc.target/sh/pr43417.c: New test.

From-SVN: r158192