platform/upstream/gcc.git
14 years agotypo fix
Diego Novillo [Fri, 16 Apr 2010 12:38:14 +0000 (08:38 -0400)]
typo fix

From-SVN: r158415

14 years agorephrase text
Diego Novillo [Fri, 16 Apr 2010 12:38:04 +0000 (08:38 -0400)]
rephrase text

From-SVN: r158414

14 years agoClarify what happens with an unrecognized -Wno- option
Diego Novillo [Fri, 16 Apr 2010 12:37:55 +0000 (08:37 -0400)]
Clarify what happens with an unrecognized -Wno- option

From-SVN: r158413

14 years agotrans.c (unchecked_conversion_nop): Handle function calls.
Eric Botcazou [Fri, 16 Apr 2010 12:23:39 +0000 (12:23 +0000)]
trans.c (unchecked_conversion_nop): Handle function calls.

* gcc-interface/trans.c (unchecked_conversion_nop): Handle function
calls.  Return true for conversion from a record subtype to its type.

From-SVN: r158412

14 years agodecl.c (gnat_to_gnu_entity): Use boolean_type_node in lieu of integer_type_node for...
Eric Botcazou [Fri, 16 Apr 2010 12:07:02 +0000 (12:07 +0000)]
decl.c (gnat_to_gnu_entity): Use boolean_type_node in lieu of integer_type_node for boolean operations.

* gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
lieu of integer_type_node for boolean operations.
(choices_to_gnu): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(Loop_Statement_to_gnu): Likewise.
(establish_gnat_vms_condition_handler): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(build_unary_op_trapv): Likewise.
(build_binary_op_trapv): Likewise.
(emit_range_check): Likewise.
(emit_index_check): Likewise.
(convert_with_check): Likewise.
* gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_vms_descriptor): Likewise.
* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
(compare_arrays): Use boolean instead of integer constants.
(build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
is a boolean type.
<GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
<EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
<PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
<TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
(build_unary_op): Use boolean_type_node in lieu of integer_type_node
for boolean operations.
(fill_vms_descriptor): Likewise.  Fix formatting nits.

From-SVN: r158411

14 years agoada-tree.def (LOOP_STMT): Change to 4-operand nodes.
Eric Botcazou [Fri, 16 Apr 2010 11:54:51 +0000 (11:54 +0000)]
ada-tree.def (LOOP_STMT): Change to 4-operand nodes.

* gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
* gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
Merge into...
(LOOP_STMT_COND): ...this.
(LOOP_STMT_BOTTOM_COND_P): New flag.
(LOOP_STMT_TOP_UPDATE_P): Likewise.
* gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
(can_equal_min_val_p): New static inline function.
(can_equal_max_val_p): Likewise.
(Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
new LOOP_STMT semantics.  Use two different strategies depending on
whether optimization is enabled to translate the loop.
(gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.

From-SVN: r158410

14 years agouintp.adb (UI_From_Dint): Remove useless code.
Eric Botcazou [Fri, 16 Apr 2010 10:16:52 +0000 (10:16 +0000)]
uintp.adb (UI_From_Dint): Remove useless code.

* uintp.adb (UI_From_Dint): Remove useless code.
(UI_From_Int): Likewise.
* uintp.h: Reorder declarations.
(UI_From_gnu): Declare.
(UI_Base): Likewise.
(Vector_Template): Likewise.
(Vector_To_Uint): Likewise.
(Uint_0): Remove.
(Uint_1): Likewise.
* gcc-interface/gigi.h: Tweak comments.
* gcc-interface/cuintp.c (UI_From_gnu): New global function.
* gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
overflows.
(annotate_value) <INTEGER_CST>: Call UI_From_gnu.
* gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
(post_error_ne_tree): Call UI_From_gnu and post_error_ne.
* gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
TYPE_MAX_VALUE.

From-SVN: r158408

14 years agore PR target/40603 (unnecessary conversion from unsigned byte load to signed byte...
Bernd Schmidt [Fri, 16 Apr 2010 10:04:15 +0000 (10:04 +0000)]
re PR target/40603 (unnecessary conversion from unsigned byte load to signed byte load)

PR target/40603
* config/arm/arm.md (cbranchqi4): New pattern.
* config/arm/predicates.md (const0_operand,
cbranchqi4_comparison_operator): New predicates.

PR target/40603
* gcc.target/arm/thumb-cbranchqi.c: New test.

From-SVN: r158407

14 years agogimple-pretty-print.c (dump_gimple_phi): Dump alias info.
Richard Guenther [Fri, 16 Apr 2010 09:49:20 +0000 (09:49 +0000)]
gimple-pretty-print.c (dump_gimple_phi): Dump alias info.

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

* gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
(dump_gimple_stmt): Likewise.

From-SVN: r158406

14 years agoarm.md (addsi3_cbranch): If destination is a high register...
Bernd Schmidt [Fri, 16 Apr 2010 09:47:17 +0000 (09:47 +0000)]
arm.md (addsi3_cbranch): If destination is a high register...

* config/arm/arm.md (addsi3_cbranch): If destination is a high
register, inputs must be low registers and we need a low register
scratch.  Handle alternative 2 like alternative 3.

From-SVN: r158405

14 years agore PR target/41514 (redundant compare instruction of consecutive conditional branches)
Bernd Schmidt [Fri, 16 Apr 2010 09:42:32 +0000 (09:42 +0000)]
re PR target/41514 (redundant compare instruction of consecutive conditional branches)

PR target/41514
* config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
If the previous insn is a cbranchsi4_insn with the same arguments,
omit the compare instruction.

PR target/41514
gcc.target/arm/thumb-comparisons.c: New test.

From-SVN: r158404

14 years agorecog.h (struct recog_data): New field is_operator.
Bernd Schmidt [Fri, 16 Apr 2010 09:32:21 +0000 (09:32 +0000)]
recog.h (struct recog_data): New field is_operator.

* recog.h (struct recog_data): New field is_operator.
(struct insn_operand_data): New field is_operator.
* recog.c (extract_insn): Set recog_data.is_operator.
* genoutput.c (output_operand_data): Emit code to set the
is_operator field.
* reload.c (find_reloads): Use it rather than testing for an
empty constraint string.

From-SVN: r158403

14 years agoalias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call get_addr...
Jakub Jelinek [Fri, 16 Apr 2010 09:26:43 +0000 (11:26 +0200)]
alias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call get_addr on both.

* alias.c (memrefs_conflict_p): If x and y are the same VALUE,
don't call get_addr on both.  If one expression is a VALUE and
the other a REG, check VALUE's locs if the REG isn't among them.

From-SVN: r158401

14 years ago* MAINTAINERS (Write After Approval): Add myself.
Kevin Williams [Fri, 16 Apr 2010 09:15:59 +0000 (11:15 +0200)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r158400

14 years agoadd accumulate-outgoing-args and omit-frame-pointer for SH
Christian Bruel [Fri, 16 Apr 2010 08:04:05 +0000 (10:04 +0200)]
add accumulate-outgoing-args and omit-frame-pointer for SH

From-SVN: r158399

14 years agodecl.c (make_type_from_size): Just copy TYPE_NAME.
Eric Botcazou [Fri, 16 Apr 2010 06:58:43 +0000 (06:58 +0000)]
decl.c (make_type_from_size): Just copy TYPE_NAME.

* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
TYPE_NAME.
* gcc-interface/trans.c (smaller_packable_type_p): Rename into...
(smaller_form_type_p): ...this.  Change parameter and variable names.
(call_to_gnu): Use the nominal type of the parameter to create the
temporary if it's a smaller form of the actual type.
(addressable_p): Return false if the actual type is integral and its
size is greater than that of the expected type.

From-SVN: r158398

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

From-SVN: r158397

14 years agore PR target/43741 (sh-elf ICEs for libstdc++-v3/src/ios_init.cc with -m2a)
Kaz Kojima [Thu, 15 Apr 2010 21:51:14 +0000 (21:51 +0000)]
re PR target/43741 (sh-elf ICEs for libstdc++-v3/src/ios_init.cc with -m2a)

PR target/43471
* config/sh/sh.c (sh_legitimize_reload_address): Use
MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
Remove a unneeded check for offset_base.

From-SVN: r158393

14 years agore PR fortran/30073 (Array out of bounds gives name of RHS array not LHS array)
Steven G. Kargl [Thu, 15 Apr 2010 21:32:21 +0000 (21:32 +0000)]
re PR fortran/30073 (Array out of bounds gives name of RHS array not LHS array)

    PR fortran/30073
    * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
    block of code.  Set name to the variable associated with the descriptor.

From-SVN: r158392

14 years agocuintp.c (UI_To_gnu): Fix long line.
Eric Botcazou [Thu, 15 Apr 2010 21:15:47 +0000 (21:15 +0000)]
cuintp.c (UI_To_gnu): Fix long line.

* gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
* gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
(process_attributes): Delete.
(post_error_ne_num): Change parameter name.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
If type annotating mode, operate on trees to compute the adjustment to
the sizes of tagged types.  Fix long line.
(cannot_be_superflat_p): Tweak head comment.
(annotate_value): Fold local constant.
(set_rm_size): Fix long line.
* gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
(Attribute_to_gnu): Fix long line.
<Attr_Size>: Remove useless assertion.
Reorder statements.  Use size_binop routine.
(Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
Create local variables for the label and the test.  Tweak comments.
(Subprogram_Body_to_gnu): Reset cfun to NULL.
(Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
(process_inlined_subprograms): Integrate into...
(Compilation_Unit_to_gnu): ...this.
(gnat_to_gnu): Fix long line.
(post_error_ne_num): Change parameter name.
* gcc-interface/utils.c (process_attributes): Static-ify.
<ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
(create_type_decl): Add comment.
(create_var_decl_1): Process the attributes after adding the VAR_DECL
to the current binding level.
(create_subprog_decl): Likewise for the FUNCTION_DECL.
(end_subprog_body): Do not reset cfun to NULL.
(build_vms_descriptor32): Fix long line.
(build_vms_descriptor): Likewise.
(handle_nonnull_attribute): Likewise.
(convert_vms_descriptor64): Likewise.
* gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
(gnat_protect_expr): Fix thinko.

From-SVN: r158390

14 years agotrans.c (gigi): Set DECL_IGNORED_P on EH functions.
Eric Botcazou [Thu, 15 Apr 2010 20:21:08 +0000 (20:21 +0000)]
trans.c (gigi): Set DECL_IGNORED_P on EH functions.

* gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
(gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
before translating the top-level node.
(lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
<N_Object_Declaration>: Likewise.
<N_Assignment_Statement>: Likewise.
<N_Unchecked_Type_Conversion>: Likewise.
(call_to_gnu): Remove kludge.
(gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
associated with user returns to be preserved.
(gnat_to_gnu): Add special code to deal with boolean rvalues.
* gcc-interface/utils2.c (compare_arrays): Set input_location on all
comparisons.
(build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
<INDIRECT_REF>: Call build_fold_indirect_ref.

From-SVN: r158388

14 years agoRegenerate gcc/configure.
H.J. Lu [Thu, 15 Apr 2010 19:00:27 +0000 (19:00 +0000)]
Regenerate gcc/configure.

2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

From-SVN: r158386

14 years agos390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS.
Andreas Krebbel [Thu, 15 Apr 2010 16:30:32 +0000 (16:30 +0000)]
s390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS.

2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_call_save_register_used): Switch back
to HARD_REGNO_NREGS.

From-SVN: r158384

14 years agog-socket.adb: A target can have multiple missing errno's.
Joel Sherrill [Thu, 15 Apr 2010 15:39:47 +0000 (15:39 +0000)]
g-socket.adb: A target can have multiple missing errno's.

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

* g-socket.adb: A target can have multiple missing errno's.  This
will result in multiple errno's being defined as -1.  Because of this
we can not use a case but must use a series of if's to avoid
a duplicate case error in GNAT.Sockets.Resolve_Error.

From-SVN: r158382

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