OSDN Git Service

pf3gnuchains/gcc-fork.git
10 years ago toplevel:
ro [Fri, 16 Apr 2010 13:45:25 +0000 (13:45 +0000)]
toplevel:
* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
separately.
* configure: Regenerate.

gcc:
* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
flavor.
* configure: Regenerate.
* config.in: Regenerate.
* doc/install.texi (Prerequisites): Document that Solaris 2 libelf
works.

gcc/lto:
* lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158423 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-16 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 16 Apr 2010 13:33:31 +0000 (13:33 +0000)]
2010-04-16  Richard Guenther  <rguenther@suse.de>

* tree.h (struct tree_decl_minimal): Move pt_uid ...
(struct tree_decl_common): ... here.
(DECL_PT_UID): Adjust.
(SET_DECL_PT_UID): Likewise.
(DECL_PT_UID_SET_P): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158421 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-16 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 16 Apr 2010 13:21:38 +0000 (13:21 +0000)]
2010-04-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43572
* tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
* tree-ssa-alias.c (call_may_clobber_ref_p): Export.
* tree-flow.h (is_call_clobbered): Remove.
* tree-flow-inline.h (is_call_clobbered): Likewise.
* tree-dfa.c (dump_variable): Do not dump call clobber state.
* tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
(execute_return_slot_opt): Adjust.
* tree-tailcall.c (suitable_for_tail_opt_p): Remove
check for call clobbered vars here.
(find_tail_calls): Move tailcall verification to the
proper place.

* gcc.dg/tree-ssa/tailcall-5.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158418 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFixed ChangeLog entry.
dnovillo [Fri, 16 Apr 2010 12:38:22 +0000 (12:38 +0000)]
Fixed ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158416 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agotypo fix
dnovillo [Fri, 16 Apr 2010 12:38:14 +0000 (12:38 +0000)]
typo fix

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158415 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agorephrase text
dnovillo [Fri, 16 Apr 2010 12:38:04 +0000 (12:38 +0000)]
rephrase text

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158414 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoClarify what happens with an unrecognized -Wno- option
dnovillo [Fri, 16 Apr 2010 12:37:55 +0000 (12:37 +0000)]
Clarify what happens with an unrecognized -Wno- option

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158413 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
ebotcazou [Fri, 16 Apr 2010 12:23:39 +0000 (12:23 +0000)]
* gcc-interface/trans.c (unchecked_conversion_nop): Handle function
calls.  Return true for conversion from a record subtype to its type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158412 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
ebotcazou [Fri, 16 Apr 2010 12:07:02 +0000 (12:07 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158411 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
ebotcazou [Fri, 16 Apr 2010 11:54:51 +0000 (11:54 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158410 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * uintp.adb (UI_From_Dint): Remove useless code.
ebotcazou [Fri, 16 Apr 2010 10:16:52 +0000 (10:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158408 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/40603
bernds [Fri, 16 Apr 2010 10:04:15 +0000 (10:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158407 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-16 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 16 Apr 2010 09:49:20 +0000 (09:49 +0000)]
2010-04-16  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158406 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arm/arm.md (addsi3_cbranch): If destination is a high
bernds [Fri, 16 Apr 2010 09:47:17 +0000 (09:47 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158405 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/41514
bernds [Fri, 16 Apr 2010 09:42:32 +0000 (09:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158404 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * recog.h (struct recog_data): New field is_operator.
bernds [Fri, 16 Apr 2010 09:32:21 +0000 (09:32 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158403 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
jakub [Fri, 16 Apr 2010 09:26:43 +0000 (09:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158401 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* MAINTAINERS (Write After Approval): Add myself.
kwilliam [Fri, 16 Apr 2010 09:15:59 +0000 (09:15 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158400 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158399 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
ebotcazou [Fri, 16 Apr 2010 06:58:43 +0000 (06:58 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158398 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158397 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/43471
kkojima [Thu, 15 Apr 2010 21:51:14 +0000 (21:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158393 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR fortran/30073
kargl [Thu, 15 Apr 2010 21:32:21 +0000 (21:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158392 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
ebotcazou [Thu, 15 Apr 2010 21:15:47 +0000 (21:15 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158390 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
ebotcazou [Thu, 15 Apr 2010 20:21:08 +0000 (20:21 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158388 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRegenerate gcc/configure.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158386 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Thu, 15 Apr 2010 16:30:32 +0000 (16:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158384 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Thu, 15 Apr 2010 15:39:47 +0000 (15:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158382 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Thu, 15 Apr 2010 15:35:27 +0000 (15:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158381 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 15 Apr 2010 15:30:17 +0000 (15:30 +0000)]
2010-04-15  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158380 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago gcc/
jules [Thu, 15 Apr 2010 14:39:22 +0000 (14:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158378 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
tschwinge [Thu, 15 Apr 2010 13:29:07 +0000 (13:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158375 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 15 Apr 2010 13:16:44 +0000 (13:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158374 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 15 Apr 2010 12:58:05 +0000 (12:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158373 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-15 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 15 Apr 2010 12:45:58 +0000 (12:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158372 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
ebotcazou [Thu, 15 Apr 2010 12:40:15 +0000 (12:40 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158371 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (gigi): Do not start statement group.
ebotcazou [Thu, 15 Apr 2010 10:38:36 +0000 (10:38 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158370 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
ebotcazou [Thu, 15 Apr 2010 10:17:54 +0000 (10:17 +0000)]
* gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
side-effects of actual parameters before the call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158369 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
ebotcazou [Thu, 15 Apr 2010 10:10:03 +0000 (10:10 +0000)]
* gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
and warning.
(set_rm_size): Reorder and remove obsolete test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158368 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/43742
bernds [Thu, 15 Apr 2010 08:57:27 +0000 (08:57 +0000)]
PR target/43742
* config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
matching constraints to ensure inputs match the output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158367 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158366 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158365 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/43742
kkojima [Wed, 14 Apr 2010 23:58:10 +0000 (23:58 +0000)]
PR target/43742
* config/sh/sh.md (doloop_end_split): Remove "+r" constraint
in an input-only operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158361 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
aesok [Wed, 14 Apr 2010 22:05:32 +0000 (22:05 +0000)]
* 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.).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158360 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158359 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
bernds [Wed, 14 Apr 2010 20:42:02 +0000 (20:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158357 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/36625
jason [Wed, 14 Apr 2010 20:17:34 +0000 (20:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158355 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158354 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
uros [Wed, 14 Apr 2010 18:55:05 +0000 (18:55 +0000)]
* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
splitter condition.
(*udivmod<mode>4): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158353 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 14 Apr 2010 18:32:51 +0000 (18:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158352 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Steve Ellcey <sje@cup.hp.com>
sje [Wed, 14 Apr 2010 16:47:15 +0000 (16:47 +0000)]
2010-04-14  Steve Ellcey  <sje@cup.hp.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158351 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (maxmin_int): Rename code attribute from
uros [Wed, 14 Apr 2010 16:16:31 +0000 (16:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158350 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Wed, 14 Apr 2010 16:08:23 +0000 (16:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158349 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
uros [Wed, 14 Apr 2010 15:23:05 +0000 (15:23 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158348 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * df-core.c (df_ref_debug): Change format string placeholder
uros [Wed, 14 Apr 2010 15:08:54 +0000 (15:08 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158347 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)
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.)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158346 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/42963
matz [Wed, 14 Apr 2010 14:50:33 +0000 (14:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158345 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
uros [Wed, 14 Apr 2010 12:57:43 +0000 (12:57 +0000)]
* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
not unused bar variable.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158344 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSynchronize with src/.
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158341 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
uros [Wed, 14 Apr 2010 09:28:05 +0000 (09:28 +0000)]
* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
from insn template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158340 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/gigi.h: Reorder declarations and tweak comments.
ebotcazou [Wed, 14 Apr 2010 08:14:54 +0000 (08:14 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158296 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
ebotcazou [Wed, 14 Apr 2010 07:58:08 +0000 (07:58 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158295 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
uros [Wed, 14 Apr 2010 06:36:53 +0000 (06:36 +0000)]
* config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158293 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 14 Apr 2010 05:43:30 +0000 (05:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158292 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 14 Apr 2010 05:27:29 +0000 (05:27 +0000)]
2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158291 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 14 Apr 2010 05:16:59 +0000 (05:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158290 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158289 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Steve Ellcey <sje@cup.hp.com>
sje [Tue, 13 Apr 2010 22:54:07 +0000 (22:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158285 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/backward/hash_map: Don't #include "backward_warning.h"
ian [Tue, 13 Apr 2010 20:24:40 +0000 (20:24 +0000)]
* include/backward/hash_map: Don't #include "backward_warning.h"
if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
* include/backward/hash_set: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158281 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Tue, 13 Apr 2010 19:41:05 +0000 (19:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158279 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
hubicka [Tue, 13 Apr 2010 18:22:35 +0000 (18:22 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158278 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
jason [Tue, 13 Apr 2010 17:24:52 +0000 (17:24 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158277 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCommit gcc/testsuite/ChangeLog for revision 158275.
manu [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158276 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 13 Apr 2010 16:26:01 +0000 (16:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158275 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/32628
ebotcazou [Tue, 13 Apr 2010 15:47:38 +0000 (15:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158274 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 13 Apr 2010 14:27:22 +0000 (14:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158272 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 13 Apr 2010 13:47:34 +0000 (13:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158271 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/43730
matz [Tue, 13 Apr 2010 13:35:30 +0000 (13:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158268 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd CL entry
dnovillo [Tue, 13 Apr 2010 13:30:41 +0000 (13:30 +0000)]
Add CL entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158267 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-12 Diego Novillo <dnovillo@google.com>
dnovillo [Tue, 13 Apr 2010 13:30:31 +0000 (13:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158266 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
matz [Tue, 13 Apr 2010 12:39:53 +0000 (12:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158265 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Apr 2010 12:23:17 +0000 (12:23 +0000)]
2010-04-13  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158264 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Apr 2010 11:50:54 +0000 (11:50 +0000)]
2010-04-13  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158263 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/fortran:
iains [Tue, 13 Apr 2010 11:37:34 +0000 (11:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158262 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
uros [Tue, 13 Apr 2010 10:27:03 +0000 (10:27 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158261 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Apr 2010 09:53:19 +0000 (09:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158260 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Apr 2010 09:48:26 +0000 (09:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158259 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158258 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Tue, 13 Apr 2010 09:04:31 +0000 (09:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158257 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
simonb [Tue, 13 Apr 2010 08:58:15 +0000 (08:58 +0000)]
* cfgexpand.c (gimple_expand_cfg): Clarify warning message text.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158256 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
ebotcazou [Tue, 13 Apr 2010 07:21:15 +0000 (07:21 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158255 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
ebotcazou [Tue, 13 Apr 2010 07:08:24 +0000 (07:08 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158254 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 13 Apr 2010 01:59:35 +0000 (01:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158253 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158252 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-13 Matthias Klose <doko@ubuntu.com>
doko [Tue, 13 Apr 2010 00:13:13 +0000 (00:13 +0000)]
2010-04-13  Matthias Klose  <doko@ubuntu.com>

        * elf: Remove empty directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158248 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
doko [Mon, 12 Apr 2010 23:58:18 +0000 (23:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158247 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (any_rotate): New code iterator.
uros [Mon, 12 Apr 2010 20:20:54 +0000 (20:20 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158243 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2010-04-12 Steve Ellcey <sje@cup.hp.com>
sje [Mon, 12 Apr 2010 20:01:41 +0000 (20:01 +0000)]
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158242 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/43641
jason [Mon, 12 Apr 2010 19:58:49 +0000 (19:58 +0000)]
PR c++/43641
* semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
return value directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158241 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158240 138bc75d-0d04-0410-961f-82ee72b054a4