OSDN Git Service

13 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

13 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

13 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

13 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
* 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

13 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

13 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
Remove a unneeded check for offset_base.

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

13 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

13 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

13 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
(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

13 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

13 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

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

13 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

13 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

13 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

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

13 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>

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

* 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

13 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
(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

13 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

13 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

13 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 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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
* expmed.c (mask_rtx, lshift_value): (Ditto.).

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

13 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

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

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

13 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.
* 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

13 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

13 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

13 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

13 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

13 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.

* 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

13 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

13 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):
* 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

13 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

13 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
(gimple_redirect_edge_and_branch): Remember index of affected BB.

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

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

13 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

13 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

13 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

13 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

13 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
* 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

13 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

13 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,
        * 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

13 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

13 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

13 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

13 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

13 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"
* include/backward/hash_set: Likewise.

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

13 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

13 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
* 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

13 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

13 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

13 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

13 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

13 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

13 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.

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

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

13 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

13 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
(can_reassociate_p): New function.
(break_up_subtract_bb, reassociate_bb): Use it.

* 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

13 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

13 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

13 years agogcc/fortran:
iains [Tue, 13 Apr 2010 11:37:34 +0000 (11:37 +0000)]
2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>

PR bootstrap/31400
* gfortranspec.c (lookup_option): Check for -static and return
(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

13 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

13 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

13 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.

* 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

13 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

13 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.
(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

13 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

13 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

13 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.
* gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
(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

13 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
* 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
(gfc_simplify_dot_product): Removed duplicate check for zero-sized
(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
(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

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

13 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

13 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

13 years agogcc/
doko [Mon, 12 Apr 2010 23:58:18 +0000 (23:58 +0000)]

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
* common.opt (iplugindir): Remove `Separate' property, initialize.
* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
* 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


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

13 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.


* 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

13 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

13 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

13 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

13 years ago PR c++/25811
jason [Mon, 12 Apr 2010 19:58:27 +0000 (19:58 +0000)]
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): New function.

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

13 years ago gcc:
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 19:01:36 +0000 (19:01 +0000)]
* config.gcc: Removed *-*-solaris2.7* from list of obsolete
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
Remove Solaris 7 patch references.
(Specific, sparc-sun-solaris2.7): Removed.
(sparc-sun-solaris2*): Update Solaris 7 example.
(sparc64-*-solaris2*): Likewise.

* 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.

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

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

13 years ago gcc:
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 18:36:30 +0000 (18:36 +0000)]
* 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*
* 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.

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

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

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

13 years ago * doc/contrib.texi (Contributors, Rainer Orth): Update.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 18:15:45 +0000 (18:15 +0000)]
* doc/contrib.texi (Contributors, Rainer Orth): Update.

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

13 years ago2010-04-12 Kai Tietz <kai.tietz@onevision.com>
ktietz [Mon, 12 Apr 2010 18:04:44 +0000 (18:04 +0000)]
2010-04-12  Kai Tietz  <kai.tietz@onevision.com>

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

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

13 years ago2010-04-12 Steve Ellcey <sje@cup.hp.com>
sje [Mon, 12 Apr 2010 17:27:15 +0000 (17:27 +0000)]
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

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

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

13 years ago2010-04-12 Steve Ellcey <sje@cup.hp.com>
sje [Mon, 12 Apr 2010 16:04:42 +0000 (16:04 +0000)]
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

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

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

13 years ago2010-04-12 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 12 Apr 2010 15:20:48 +0000 (15:20 +0000)]
2010-04-12  Richard Guenther  <rguenther@suse.de>

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

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

13 years ago2010-04-12 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 12 Apr 2010 13:37:32 +0000 (13:37 +0000)]
2010-04-12  Richard Guenther  <rguenther@suse.de>

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

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

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

13 years ago PR bootstrap/43699
jakub [Mon, 12 Apr 2010 13:27:07 +0000 (13:27 +0000)]
PR bootstrap/43699
* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
for exprs satisfying handled_component_p.

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

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

13 years ago PR tree-optimization/43560
jakub [Mon, 12 Apr 2010 10:18:39 +0000 (10:18 +0000)]
PR tree-optimization/43560
* gcc.c-torture/execute/pr43560.c: New test.

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

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

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

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

13 years ago2010-04-12 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 12 Apr 2010 09:52:50 +0000 (09:52 +0000)]
2010-04-12  Richard Guenther  <rguenther@suse.de>

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

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

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

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

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

13 years agogcc/
pzhao [Mon, 12 Apr 2010 03:43:21 +0000 (03:43 +0000)]
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

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

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

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

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

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

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

13 years ago * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
kkojima [Sun, 11 Apr 2010 22:59:36 +0000 (22:59 +0000)]
* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
* config/sh/sh.c: Include reload.h.
(sh_legitimize_reload_address): New.
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use

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

13 years ago * config/sh/sh.md (*movqi_pop): New insn pattern.
kkojima [Sun, 11 Apr 2010 22:53:30 +0000 (22:53 +0000)]
* config/sh/sh.md (*movqi_pop): New insn pattern.
* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
* gcc.target/sh/rte-delay-slot.c: New test.

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

13 years ago * config/i386/i386.md (any_shiftrt): New code iterator.
uros [Sun, 11 Apr 2010 20:40:02 +0000 (20:40 +0000)]
* config/i386/i386.md (any_shiftrt): New code iterator.
(shiftrt_insn): New code attribute.
(shiftrt): Ditto.
(<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
lshr<mode>3 using any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
*ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
pattern from corresponding peephole2 patterns.
(*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
and *lshr<mode>3_1 using any_shiftrt code iterator.
(*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
and *lshrsi3_1_zext.
(*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
and *lshrqi3_1_slp.
(*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
and *lshr<mode>3_cmp.
(*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
and *lshr<mode>3_cmp_zext.
(*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
and *lshr<mode>3_cconly.

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