gcc.git
14 years agocgraph.h (struct cgraph_node): New field indirect_calls.
Martin Jambor [Wed, 28 Apr 2010 14:05:54 +0000 (16:05 +0200)]
cgraph.h (struct cgraph_node): New field indirect_calls.

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

* cgraph.h (struct cgraph_node): New field indirect_calls.
(struct cgraph_indirect_call_info): New type.
(struct cgraph_edge): Removed field indirect_call. New fields
indirect_info, indirect_inlining_edge and indirect_unknown_callee.
(cgraph_create_indirect_edge): Declare.
(cgraph_make_edge_direct): Likewise.
(enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
* ipa-prop.h (struct ipa_param_call_note): Removed.
(struct ipa_node_params): Removed field param_calls.
(ipa_create_all_structures_for_iinln): Declare.
* cgraph.c: Described indirect edges and uids in initial comment.
(cgraph_add_edge_to_call_site_hash): New function.
(cgraph_edge): Search also among the indirect edges, use
cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
(cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
one, use cgraph_add_edge_to_call_site_hash to add edges to the call
site hash.
(initialize_inline_failed): Assign a reason to indirect edges.
(cgraph_create_edge_1): New function.
(cgraph_create_edge): Moved some functionality to
cgraph_create_edge_1.
(cgraph_create_indirect_edge): New function.
(cgraph_edge_remove_callee): Add an assert checking for
non-indirectness.
(cgraph_edge_remove_caller): Special-case indirect edges.
(cgraph_remove_edge): Likewise.
(cgraph_set_edge_callee): New function.
(cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
(cgraph_make_edge_direct): New function.
(cgraph_update_edges_for_call_stmt_node): Do nothing only when also
the declaration of the call statement matches.
(cgraph_node_remove_callees): Special-case indirect edges.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Clone also the indirect edges.
(dump_cgraph_node): Dump indirect_inlining_edge flag instead of
indirect_call, dump count of indirect_calls edges.
* ipa-prop.c (iinlining_processed_edges): New variable.
(ipa_note_param_call): Create indirect edges instead of
creating notes.  New parameter node.
(ipa_analyze_call_uses): New parameter node, pass it on to
ipa_note_param_call.
(ipa_analyze_stmt_uses): Likewise.
(ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
(print_edge_addition_message): Work on edges rather than on notes.
(update_call_notes_after_inlining): Likewise, renamed to
update_indirect_edges_after_inlining.
(ipa_create_all_structures_for_iinln): New function.
(ipa_free_node_params_substructures): Do not free notes.
(ipa_edge_duplication_hook): Propagate bits within
iinlining_processed_edges bitmap.
(ipa_node_duplication_hook): Do not duplicate notes.
(free_all_ipa_structures_after_ipa_cp): Renamed to
ipa_free_all_structures_after_ipa_cp.
(free_all_ipa_structures_after_iinln): Renamed to
ipa_free_all_structures_after_iinln.g
(ipa_write_param_call_note): Removed.
(ipa_read_param_call_note): Removed.
(ipa_write_indirect_edge_info): New function.
(ipa_read_indirect_edge_info): Likewise.
(ipa_write_node_info): Do not stream notes, do stream information
in indirect edges.
(ipa_read_node_info): Likewise.
(lto_ipa_fixup_call_notes): Removed.
* ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
* ipa-inline.c (pass_ipa_inline): Likewise.
* cgraphunit.c (verify_cgraph_node): Check also indirect edges.
* cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
* tree-inline.c (copy_bb): Removed an unnecessary double check for
is_gimple_call.
* tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
edges.
* lto-cgraph.c (output_outgoing_cgraph_edges): New function.
(output_cgraph): Stream also indirect edges.
(lto_output_edge): Added capability to stream indirect edges.
(input_edge): Likewise.
(input_cgraph_1): Likewise.

* testsuite/gcc.dg/lto/20091209-1_0.c: New testcase.

From-SVN: r158827

14 years agore PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
Richard Guenther [Wed, 28 Apr 2010 11:51:31 +0000 (11:51 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)

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

PR tree-optimization/43879
PR tree-optimization/43909
* tree-ssa-structalias.c (struct variable_info): Add
only_restrict_pointers flag.
(new_var_info): Initialize it.  Increment stats.total_vars here.
(create_function_info_for): Do not increment stats.total_vars
here.
(get_function_part_constraint): Fix build with C++.
(insert_into_field_list): Remove.
(push_fields_onto_fieldstack): Properly merge fields.
(create_variable_info_for): Split and simplify.
(create_variable_info_for_1): New piece.
(intra_create_variable_infos): Properly make restrict constraints
from parameters.

* gcc.dg/ipa/ipa-pta-14.c: Adjust.

From-SVN: r158825

14 years agore PR middle-end/43880 (internal compiler error: in make_decl_rtl)
Richard Guenther [Wed, 28 Apr 2010 10:28:24 +0000 (10:28 +0000)]
re PR middle-end/43880 (internal compiler error: in make_decl_rtl)

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

PR c++/43880
* tree-inline.c (copy_bind_expr): Also copy bind expr vars
value-exprs.

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

From-SVN: r158824

14 years agore PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)
Manuel López-Ibáñez [Wed, 28 Apr 2010 08:34:01 +0000 (08:34 +0000)]
re PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)

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

PR c++/9335
cp/
        * error.c (print_instantiation_partial_context_line): Handle
recursive instantiation.
        (print_instantiation_partial_context): Likewise.

testsuite/
        * g++.dg/template/recurse2.C: Update
        * g++.dg/template/recurse.C: Update.
        * g++.dg/template/pr23510.C: Update.
        * lib/prune.exp: Filter out 'recursively instantiated'.

From-SVN: r158823

14 years ago* init.c (perform_member_init): Check CLASS_TYPE_P.
Jason Merrill [Wed, 28 Apr 2010 01:45:00 +0000 (21:45 -0400)]
* init.c (perform_member_init): Check CLASS_TYPE_P.

From-SVN: r158822

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

From-SVN: r158821

14 years agore PR c++/29043 (Constructor for POD type with const member without member initialize...
Fabien Chêne [Wed, 28 Apr 2010 00:03:21 +0000 (00:03 +0000)]
re PR c++/29043 (Constructor for POD type with const member without member initializer accepted)

PR c++/29043
* init.c (perform_member_init): check for uninitialized const or
reference members, including array types.

From-SVN: r158817

14 years agore PR libstdc++/43865 (C++ in freestanding environment)
Jonathan Wakely [Tue, 27 Apr 2010 22:54:13 +0000 (22:54 +0000)]
re PR libstdc++/43865 (C++ in freestanding environment)

2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/43865
* include/c_global/cstdlib (abort, exit): _GLIBCXX_NORETURN typo.

From-SVN: r158812

14 years agoRemove bogus hunk in previous commit
Eric Botcazou [Tue, 27 Apr 2010 22:02:36 +0000 (22:02 +0000)]
Remove bogus hunk in previous commit

From-SVN: r158811

14 years agotree.c (get_fns): Split out from get_first_fn.
Jason Merrill [Tue, 27 Apr 2010 21:35:17 +0000 (17:35 -0400)]
tree.c (get_fns): Split out from get_first_fn.

* tree.c (get_fns): Split out from get_first_fn.
* cp-tree.h: Declare it.
* search.c (shared_member_p): Use it.
* semantics.c (finish_qualified_id_expr): Simplify.
(finish_id_expression): Simplify.

From-SVN: r158810

14 years agosemantics.c (finish_non_static_data_member): Call maybe_dummy_object whenever object...
Jason Merrill [Tue, 27 Apr 2010 21:30:56 +0000 (17:30 -0400)]
semantics.c (finish_non_static_data_member): Call maybe_dummy_object whenever object is NULL_TREE.

* semantics.c (finish_non_static_data_member): Call maybe_dummy_object
whenever object is NULL_TREE.  Don't do 'this' capture here.
(finish_qualified_id_expr): Pass NULL_TREE.
(finish_id_expression): Likewise.
(lambda_expr_this_capture): Likewise.

From-SVN: r158809

14 years agosemantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking...
Jason Merrill [Tue, 27 Apr 2010 21:27:04 +0000 (17:27 -0400)]
semantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking current_class_ref directly.

* semantics.c (finish_qualified_id_expr): Use maybe_dummy_object
rather than checking current_class_ref directly.
(finish_call_expr): Likewise.

From-SVN: r158808

14 years agore PR c++/43856 ([C++0x] gcc-4.5.0 fails to transform id-expression into class member...
Jason Merrill [Tue, 27 Apr 2010 21:26:25 +0000 (17:26 -0400)]
re PR c++/43856 ([C++0x] gcc-4.5.0 fails to transform id-expression into class member access in lambda compound-statement)

PR c++/43856
* name-lookup.c (qualify_lookup): Disqualify lambda op().
* class.c (current_nonlambda_class_type): New fn.
* semantics.c (nonlambda_method_basetype): New.
* cp-tree.h: Declare them.
* tree.c (maybe_dummy_object): Handle implicit 'this' capture.

From-SVN: r158807

14 years ago* semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
Jason Merrill [Tue, 27 Apr 2010 21:25:29 +0000 (17:25 -0400)]
* semantics.c (baselink_for_fns): Correct BASELINK_BINFO.

From-SVN: r158806

14 years agore PR c++/43875 ([C++0x] ICE on invalid lambda return)
Jason Merrill [Tue, 27 Apr 2010 21:21:35 +0000 (17:21 -0400)]
re PR c++/43875 ([C++0x] ICE on invalid lambda return)

PR c++/43875
* semantics.c (lambda_return_type): Complain about
braced-init-list.

From-SVN: r158805

14 years agostatus_cxx200x.xml: Update quick_exit status.
Jonathan Wakely [Tue, 27 Apr 2010 20:57:23 +0000 (20:57 +0000)]
status_cxx200x.xml: Update quick_exit status.

2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update quick_exit status.
* doc/html/*: Regenerate.

From-SVN: r158804

14 years agoinvoke.texi (-Wsuggest-attribute=const, [...]): Document.
Manuel López-Ibáñez [Tue, 27 Apr 2010 20:22:54 +0000 (20:22 +0000)]
invoke.texi (-Wsuggest-attribute=const, [...]): Document.

2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Jan Hubicka <hubicka@ucw.cz>

* doc/invoke.texi (-Wsuggest-attribute=const,
-Wsuggest-attribute=pure): Document.
* ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
(function_always_visible_to_compiler_p,
suggest_attribute, warn_function_pure, warn_function_const):
New functions.
(check_call): Improve debug info.
(analyze_function): Do not check availability.
(add_new_function): Check availability.
(propagate): Output warnings.
(skip_function_for_local_pure_const): New function.
(local_pure_const): Use it; output warnings.
* common.opt (Wsuggest-attribute=const,
Wsuggest-attribute=pure): New.

testsuite/
* gcc.dg/pure-2.c: New testcase.
* gcc.dg/const-1.c: New testcase.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r158803

14 years agore PR c++/43790 ([C++0x] In lambda express, calling member function of non-captured...
Jason Merrill [Tue, 27 Apr 2010 20:08:47 +0000 (16:08 -0400)]
re PR c++/43790 ([C++0x] In lambda express, calling member function of non-captured class gives internal compiler error)

PR c++/43790
* tree.c (cv_unqualified): Handle error_mark_node.

From-SVN: r158801

14 years agore PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)
Jason Merrill [Tue, 27 Apr 2010 19:04:23 +0000 (15:04 -0400)]
re PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)

PR c++/41468
* call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
if we don't want errors.

From-SVN: r158799

14 years agore PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)
Jason Merrill [Tue, 27 Apr 2010 19:04:09 +0000 (15:04 -0400)]
re PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)

PR c++/41468
* class.c (convert_to_base): Add complain parameter.  Pass
ba_quiet to lookup_base if we don't want errors.
(build_vfield_ref): Pass complain to convert_to_base.
* call.c (convert_like_real): Likewise.
(initialize_reference): Likewise.
(perform_direct_initialization_if_possible): Pass complain to
convert_like_real.
* cp-tree.h: Adjust.

From-SVN: r158798

14 years agore PR c++/42844 (const variable requires initializer / no explicitly declared default...
Fabien Chêne [Tue, 27 Apr 2010 18:56:13 +0000 (18:56 +0000)]
re PR c++/42844 (const variable requires initializer / no explicitly declared default constructor)

PR c++/42844
* decl.c (check_for_uninitialized_const_var): Handle classes that need
constructing, too.
(check_initializer): Call it for classes that need constructing, too.
* class.c (in_class_defaulted_default_constructor): New.
* cp-tree.h: Declare it.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r158797

14 years agodwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa...
Jakub Jelinek [Tue, 27 Apr 2010 18:12:32 +0000 (20:12 +0200)]
dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa instead of...

* dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
or DW_CFA_def_cfa_offset{,_sf}.

From-SVN: r158793

14 years ago* tree.h: Fix truncated long macros.
Eric Botcazou [Tue, 27 Apr 2010 17:56:52 +0000 (17:56 +0000)]
* tree.h: Fix truncated long macros.

From-SVN: r158792

14 years agocollect2.c (TARGET_64BIT): Redefine to target's default.
Kai Tietz [Tue, 27 Apr 2010 17:48:58 +0000 (17:48 +0000)]
collect2.c (TARGET_64BIT): Redefine to target's default.

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

        * collect2.c (TARGET_64BIT): Redefine to target's default.
        * tlink.c: Likewise.
        * config/i386/cygming.h (USER_LABEL_PREFIX): Define
        dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
        * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
        for underscoring __USER_LABEL_PREFIX__.
        * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
        (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
        (LINK_SPEC): Replace entry point spec by
        SUB_LINK_ENTRY.
        * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
        (SUB_LINK_ENTRY): New.
        (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
        (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
        x64 target is choosen.
        * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
        * configure: Regenerated.
        * configure.ac (leading-mingw64-underscores): Option added.

From-SVN: r158791

14 years agoCopyOnWriteArrayList.java: Fix for empty list.
Andrew Haley [Tue, 27 Apr 2010 17:28:08 +0000 (17:28 +0000)]
CopyOnWriteArrayList.java: Fix for empty list.

2010-04-27  Andrew Haley  <aph@redhat.com>

        * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
        list.

From-SVN: r158790

14 years agoIppResponse.java (parseAttributes): Handle IppValueTag.UNKNOWN.
Andrew Haley [Tue, 27 Apr 2010 16:35:06 +0000 (16:35 +0000)]
IppResponse.java (parseAttributes): Handle IppValueTag.UNKNOWN.

2010-04-27  Andrew Haley  <aph@redhat.com>

        * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
        IppValueTag.UNKNOWN.
        * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
        Handle RequestedAttributes.
        * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
        DocFlavor.SERVICE_FORMATTED.PAGEABLE and
        DocFlavor.SERVICE_FORMATTED.PRINTABLE.

From-SVN: r158789

14 years agoinvoke.texi (-fipa-profile): Document.
Jan Hubicka [Tue, 27 Apr 2010 14:56:33 +0000 (16:56 +0200)]
invoke.texi (-fipa-profile): Document.

* doc/invoke.texi (-fipa-profile): Document.
* opts.c (decode_options): Enable ipa-profile at -O1.
* timevar.def (TV_IPA_PROFILE): Define.
* common.opt (fipa-profile): Add.
* cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag
for clones.
(cgraph_propagate_frequency): Handle only local ones.
* tree-pass.h (pass_ipa_profile): Declare.
* ipa-profile.c (gate_profile): Use flag_ipa_profile.
(pass_ipa_profile): Use TV_IPA_PROFILE.
* ipa.c (ipa_profile): New function.
(gate_ipa_profile): Likewise.
(pass_ipa_profile): New global variable.
* passes.c (pass_ipa_profile): New.

From-SVN: r158788

14 years agoconfigure.ac (--enable-gold): Support both, both/gold and both/bfd to add gold to...
Roland McGrath [Tue, 27 Apr 2010 14:27:15 +0000 (14:27 +0000)]
configure.ac (--enable-gold): Support both, both/gold and both/bfd to add gold to configdirs without removing ld.

        * configure.ac (--enable-gold): Support both, both/gold and
        both/bfd to add gold to configdirs without removing ld.
        * configure: Regenerated.

        * Makefile.def: Add install-gold dependency to install-ld.
        * Makefile.in: Regenerated.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r158786

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 27 Apr 2010 14:09:29 +0000 (16:09 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        * gfortran.dg/coarray_12.f90: Fix dump parsing.

From-SVN: r158785

14 years ago* config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
Nathan Froyd [Tue, 27 Apr 2010 12:48:39 +0000 (12:48 +0000)]
* config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.

From-SVN: r158783

14 years ago1.c (test01): Clarify size definition.
Alexander Monakov [Tue, 27 Apr 2010 12:00:35 +0000 (16:00 +0400)]
1.c (test01): Clarify size definition.

2010-04-27  Alexander Monakov  <amonakov@ispras.ru>

* testsuite/22_locale/codecvt/unshift/char/1.c (test01): Clarify size
definition.  Use memcpy and memcmp to avoid access beyond allocated
memory.

From-SVN: r158780

14 years agogfc-internals.texi: Update copyright year.
Tobias Burnus [Tue, 27 Apr 2010 11:42:07 +0000 (13:42 +0200)]
gfc-internals.texi: Update copyright year.

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

        * gfc-internals.texi: Update copyright year.
        * gfortran.texi: Ditto.
        * invoke.texi: Ditto.

From-SVN: r158779

14 years agore PR c++/40561 (code does not compile -- compiles fine when replacing != with !...
Richard Guenther [Tue, 27 Apr 2010 11:27:18 +0000 (11:27 +0000)]
re PR c++/40561 (code does not compile -- compiles fine when replacing != with !(==))

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

PR middle-end/40561
* g++.dg/other/pr40561.C: New testcase.

From-SVN: r158778

14 years agore PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE, in...
Martin Jambor [Tue, 27 Apr 2010 10:07:47 +0000 (12:07 +0200)]
re PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE, in ipcp_iterate_stage, at ipa-cp.c:760)

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

PR middle-end/43812
* ipa.c (dissolve_same_comdat_group_list): New function.
(function_and_variable_visibility): Call
dissolve_same_comdat_group_list when comdat group contains external or
newly local nodes.
* cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
lists are circular and that they contain only DECL_ONE_ONLY nodes.

* testsuite/g++.dg/ipa/pr43812.C: New test.

From-SVN: r158777

14 years agovarasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
Eric Botcazou [Tue, 27 Apr 2010 09:47:13 +0000 (09:47 +0000)]
varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.

* varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
(const_hash_1) <VECTOR_CST>: New case.
(compare_constant) <VECTOR_CST>: Likewise.
<ADDR_EXPR>: Deal with LABEL_REFs.
(copy_constant) <VECTOR_CST>: New case.

From-SVN: r158776

14 years agocgraph.c (cgraph_propagate_frequency): New function.
Jan Hubicka [Tue, 27 Apr 2010 09:44:30 +0000 (11:44 +0200)]
cgraph.c (cgraph_propagate_frequency): New function.

* cgraph.c (cgraph_propagate_frequency): New function.
* cgraph.h (cgraph_propagate_frequency): Declare.
* ipa-inline.c (cgraph_clone_inlined_nodes): Call
cgraph_propagate_frequency.

* testsuite/gcc.dg/ipa/iinline-1.c (main): Rename to...
(test): ... this one.

From-SVN: r158775

14 years ago* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
Jakub Jelinek [Tue, 27 Apr 2010 09:40:46 +0000 (11:40 +0200)]
* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.

From-SVN: r158773

14 years agore PR target/40657 (allocate local variables with fewer instructions)
Bernd Schmidt [Tue, 27 Apr 2010 09:34:08 +0000 (09:34 +0000)]
re PR target/40657 (allocate local variables with fewer instructions)

PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New function.
(thumb1_expand_prologue, thumb1_output_function_prologue): Call it
here to determine which regs to push and how much stack to reserve.

PR target/40657
* gcc.target/arm/thumb-stackframe.c: New test.

From-SVN: r158771

14 years agogimple.texi (gimple_statement_with_ops): Remove addresses_taken field.
Jie Zhang [Tue, 27 Apr 2010 09:15:11 +0000 (09:15 +0000)]
gimple.texi (gimple_statement_with_ops): Remove addresses_taken field.

* doc/gimple.texi (gimple_statement_with_ops): Remove
addresses_taken field.
(gimple_statement_with_memory_ops): Likewise.

From-SVN: r158770

14 years agopr32207.c: Fix typo in expected warning messages.
Shujing Zhao [Tue, 27 Apr 2010 08:56:01 +0000 (08:56 +0000)]
pr32207.c: Fix typo in expected warning messages.

        * gcc.dg/pr32207.c: Fix typo in expected warning messages.
        * gcc.dg/misc-column.c: Likewise.
        * gcc.dg/Walways-true-1.c: Likewise.
        * gcc.dg/Walways-true-2.c: Likewise.
        * gcc.dg/warn-addr-cmp.c: Likewise.

From-SVN: r158769

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 27 Apr 2010 08:41:00 +0000 (10:41 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        * resolve.c (resolve_allocate_expr): Allow array coarrays.
        * trans-types.h (gfc_get_array_type_bounds): Update prototype.
        * trans-types.c (gfc_get_array_type_bounds,
        gfc_get_array_descriptor_base): Add corank argument.
        * trans-array.c (gfc_array_init_size): Handle corank.
        (gfc_trans_create_temp_array, gfc_array_allocate,
        gfc_conv_expr_descriptor): Add corank argument to call.
        * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.

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

        PR fortran/18918
        * gfortran.dg/coarray_7.f90: Modified and removed obsolete
        tests.
        * gfortran.dg/coarray_12.f90: New.

From-SVN: r158768

14 years agotree-inline.c (eni_inlining_weights): Remove.
Jan Hubicka [Tue, 27 Apr 2010 05:41:33 +0000 (07:41 +0200)]
tree-inline.c (eni_inlining_weights): Remove.

* tree-inline.c (eni_inlining_weights): Remove.
(estimate_num_insns): Special case more builtins.

From-SVN: r158766

14 years agore PR c/32207 (missing warnings about address of 'x'.)
Shujing Zhao [Tue, 27 Apr 2010 02:40:19 +0000 (02:40 +0000)]
re PR c/32207 (missing warnings about address of 'x'.)

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

        PR c/32207
        * c-typeck.c (build_binary_op): Move forward check for comparison
        pointer with null pointer constant and adjust the diagnostic message.

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

        PR c/32207
        * gcc.dg/pr32207.c: New test.
        * gcc.dg/misc-column.c: Adjust expected warning.
        * gcc.dg/Walways-true-1.c: Likewise.
        * gcc.dg/Walways-true-2.c: Likewise.
        * gcc.dg/warn-addr-cmp.c: Likewise.

From-SVN: r158765

14 years agoMissing changelog from last commit!
Dave Korn [Tue, 27 Apr 2010 02:24:51 +0000 (02:24 +0000)]
Missing changelog from last commit!

ChangeLog:

2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>

PR lto/42776
* configure.ac (--enable-lto): Refactor handling so libelf tests
are only performed inside then-clause of ACX_ELF_TARGET_IFELSE,
and allow LTO to be explicitly enabled on non-ELF platforms that
are known to support it inside else-clause.
* configure: Regenerate.

gcc/ChangeLog

2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>

PR lto/42776
* configure.ac (gcc_cv_as_section_has_align): Set if installed
binutils supports extended .section directive needed by LTO, or
warn if older binutils found.
(LTO_BINARY_READER): New AC_SUBST'd variable.
(LTO_USE_LIBELF): Likewise.
* gcc/config.gcc (lto_binary_reader): New target-specific configure
variable.
* gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
(LTO_USE_LIBELF): Likewise.
* configure: Regenerate.

* collect2.c (is_elf): Rename from this ...
(is_elf_or_coff): ... to this, and recognize and allow i386 COFF
 object files in addition to ELF-formatted ones.
(scan_prog_file): Caller updated.  Also allow for LTO info marker
symbol to be prefixed or not by an extra underscore.

* config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
* config/i386/winnt.c: Also #include lto-streamer.h
(i386_pe_asm_named_section): Specify 1-byte section alignment for
LTO named sections.
(i386_pe_asm_output_aligned_decl_common): Add comment.
(i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.

From-SVN: r158764

14 years agoMissing file from last commit!
Dave Korn [Tue, 27 Apr 2010 02:23:56 +0000 (02:23 +0000)]
Missing file from last commit!

ChangeLog:

2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>

PR lto/42776
* configure.ac (--enable-lto): Refactor handling so libelf tests
are only performed inside then-clause of ACX_ELF_TARGET_IFELSE,
and allow LTO to be explicitly enabled on non-ELF platforms that
are known to support it inside else-clause.
* configure: Regenerate.

From-SVN: r158763

14 years agore PR lto/42776 (LTO doesn't work on non-ELF platforms.)
Dave Korn [Tue, 27 Apr 2010 02:22:40 +0000 (02:22 +0000)]
re PR lto/42776 (LTO doesn't work on non-ELF platforms.)

ChangeLog:

PR lto/42776
* configure.ac (--enable-lto): Refactor handling so libelf tests
are only performed inside then-clause of ACX_ELF_TARGET_IFELSE,
and allow LTO to be explicitly enabled on non-ELF platforms that
are known to support it inside else-clause.
* configure: Regenerate.

gcc/ChangeLog:

PR lto/42776
* configure.ac (gcc_cv_as_section_has_align): Set if installed
binutils supports extended .section directive needed by LTO, or
warn if older binutils found.
(LTO_BINARY_READER): New AC_SUBST'd variable.
(LTO_USE_LIBELF): Likewise.
* gcc/config.gcc (lto_binary_reader): New target-specific configure
variable.
* gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
(LTO_USE_LIBELF): Likewise.
* configure: Regenerate.

* collect2.c (is_elf): Rename from this ...
(is_elf_or_coff): ... to this, and recognize and allow i386 COFF
 object files in addition to ELF-formatted ones.
(scan_prog_file): Caller updated.  Also allow for LTO info marker
symbol to be prefixed or not by an extra underscore.

* config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
* config/i386/winnt.c: Also #include lto-streamer.h
(i386_pe_asm_named_section): Specify 1-byte section alignment for
LTO named sections.
(i386_pe_asm_output_aligned_decl_common): Add comment.
(i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.

gcc/lto/ChangeLog:

PR lto/42776
* Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
hardcoding 'lto-elf.o'.
($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.

* lto-coff.h: New file.
* lto-coff.c: Likewise.

gcc/testsuite/ChangeLog:

PR lto/42776
* lib/lto.exp (lto_prune_vis_warns): New function.
(lto-link-and-maybe-run): Call it.

From-SVN: r158762

14 years agore PR target/43889 (mmix-knuth-mmixware gcc.c-torture/execute/arith-rand.c -O3 -fomit...
Hans-Peter Nilsson [Tue, 27 Apr 2010 00:56:41 +0000 (00:56 +0000)]
re PR target/43889 (mmix-knuth-mmixware gcc.c-torture/execute/arith-rand.c -O3 -fomit-frame-pointer -funroll-loops)

PR target/43889
* config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
Add missing earlyclobber for second alternative.

From-SVN: r158760

14 years agommix.md ("*divdi3_nonknuth", [...]): Add missing earlyclobber for second alternative.
Hans-Peter Nilsson [Tue, 27 Apr 2010 00:55:30 +0000 (00:55 +0000)]
mmix.md ("*divdi3_nonknuth", [...]): Add missing earlyclobber for second alternative.

* config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
Add missing earlyclobber for second alternative.

From-SVN: r158759

14 years agoAdd a run-time testcase for PR tree-optimization/43904.
H.J. Lu [Tue, 27 Apr 2010 00:25:18 +0000 (00:25 +0000)]
Add a run-time testcase for PR tree-optimization/43904.

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

PR tree-optimization/43904
* gcc.dg/tree-ssa/tailcall-6.c: New.

From-SVN: r158757

14 years agoDaily bump.
GCC Administrator [Tue, 27 Apr 2010 00:20:35 +0000 (00:20 +0000)]
Daily bump.

From-SVN: r158756

14 years agore PR objc/35165 (Massive failures of objc on i686-apple-darwin9)
Iain Sandoe [Tue, 27 Apr 2010 00:08:28 +0000 (00:08 +0000)]
re PR objc/35165 (Massive failures of objc on i686-apple-darwin9)

2010-04-26  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

PR testsuite/35165
* obj-c++.dg/stubify-2.mm: Restrict to ilp32 targets.  Require
Darwin8/OSX10.4 - compatible code generation.
Use scan-rtl-dump.
* obj-c++.dg/stubify-1.mm: Ditto.
* lib/objc-torture.exp: Do not require link success for
"trivial.m" in the runtime checks when dowhat = 'compile'.
* lib/dg-pch.exp: (dg-flags-pch): New Proc.
* objc.dg/stubify-1.m:  Restrict to ilp32 targets.  Require
Darwin8/OSX10.4 - compatible code generation.
* objc.dg/stubify-2.m: Ditto.
* objc.dg/symtab-1.m: Match '.quad' for m64 code.
* objc.dg/next-runtime-1.m: Ditto.
* objc.dg/stret-2.m: Restrict to ilp32 targets.
* objc.dg/pch/pch.exp: Apply tests to both Gnu and NeXT
runtimes on Darwin.

From-SVN: r158752

14 years agostatus_cxx200x.xml: Update to match n3092.
Jonathan Wakely [Mon, 26 Apr 2010 23:33:32 +0000 (23:33 +0000)]
status_cxx200x.xml: Update to match n3092.

2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update to match n3092.
* doc/html/*: Regenerate.

From-SVN: r158751

14 years agodf-problems.c (df_simulate_initialize_forwards): Set, don't clear, bits for artificia...
Bernd Schmidt [Mon, 26 Apr 2010 21:17:17 +0000 (21:17 +0000)]
df-problems.c (df_simulate_initialize_forwards): Set, don't clear, bits for artificial defs at the top of the block.

* df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
bits for artificial defs at the top of the block.
* fwprop.c (single_def_use_enter_block): Don't call it.

From-SVN: r158750

14 years agoUpdate the date to date of checkin.
Mike Stump [Mon, 26 Apr 2010 20:49:37 +0000 (20:49 +0000)]
Update the date to date of checkin.

From-SVN: r158749

14 years agore PR target/43715 (configure option --enable-plugin fails on darwin)
Jack Howarth [Mon, 26 Apr 2010 20:48:35 +0000 (20:48 +0000)]
re PR target/43715 (configure option --enable-plugin fails on darwin)

2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>

PR 43715
* gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
instead of "$gcc_cv_objdump -T".
Use "-undefined dynamic_lookup" on darwin.

From-SVN: r158748

14 years agore PR target/43715 (configure option --enable-plugin fails on darwin)
Jack Howarth [Mon, 26 Apr 2010 20:33:49 +0000 (20:33 +0000)]
re PR target/43715 (configure option --enable-plugin fails on darwin)

2010-04-21  Jack Howarth <howarth@bromo.med.uc.edu>

        PR 43715
* testsuite/lib/plugin-support.exp: Use "-undefined
dynamic_lookup" on darwin.

From-SVN: r158747

14 years agore PR c/43893 (Error: Invalid controlling predicate with -fopenmp)
Jakub Jelinek [Mon, 26 Apr 2010 20:07:10 +0000 (22:07 +0200)]
re PR c/43893 (Error: Invalid controlling predicate with -fopenmp)

PR c/43893
* c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.

* testsuite/libgomp.c/pr43893.c: New test.
* testsuite/libgomp.c++/pr43893.C: New test.

From-SVN: r158745

14 years agoc-parser.c (struct c_token): Move location field up.
Nathan Froyd [Mon, 26 Apr 2010 19:10:17 +0000 (19:10 +0000)]
c-parser.c (struct c_token): Move location field up.

* c-parser.c (struct c_token): Move location field up.
* c-tree.h (struct c_typespec): Move expr_const_operands field up.
(struct c_declspecs): Convert typespec_word, storage_class, and
default_int_p into bitfields.
(struct c_declarator): Move loc field up.

From-SVN: r158744

14 years agocfgloop.h (struct loop): Move can_be_parallel field up.
Nathan Froyd [Mon, 26 Apr 2010 18:21:17 +0000 (18:21 +0000)]
cfgloop.h (struct loop): Move can_be_parallel field up.

* cfgloop.h (struct loop): Move can_be_parallel field up.
* ipa-prop.h (struct ip_node_params): Move bitfields up.
* tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
down.
(struct iv_cand): Convert pos field into a bitfield.
* tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
field up.
(struct _stmt_vec_info): Shuffle fields for better packing.

From-SVN: r158743

14 years ago* filenames.h (PATH_SEPARATOR): Delete.
Pedro Alves [Mon, 26 Apr 2010 17:43:53 +0000 (17:43 +0000)]
* filenames.h (PATH_SEPARATOR): Delete.

From-SVN: r158742

14 years agoChangeLog fixes. (Changes to ChangeLog do not get a ChangeLog entry).
Ian Lance Taylor [Mon, 26 Apr 2010 17:27:35 +0000 (17:27 +0000)]
ChangeLog fixes.  (Changes to ChangeLog do not get a ChangeLog entry).

From-SVN: r158741

14 years ago* sv.po: Update.
Joseph Myers [Mon, 26 Apr 2010 17:04:01 +0000 (18:04 +0100)]
* sv.po: Update.

From-SVN: r158739

14 years agovarasm.c (IN_NAMED_SECTION): Remove guard.
Eric Botcazou [Mon, 26 Apr 2010 16:39:24 +0000 (16:39 +0000)]
varasm.c (IN_NAMED_SECTION): Remove guard.

* varasm.c (IN_NAMED_SECTION): Remove guard.
* config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
(IN_NAMED_SECTION_P): ...this.
(ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.

From-SVN: r158738

14 years agogimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
Eric Botcazou [Mon, 26 Apr 2010 16:32:45 +0000 (16:32 +0000)]
gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.

* gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
of shadowing it.  Fix comments.

From-SVN: r158737

14 years agoChange "ditto" to "Ditto.", which is clearly more expressive.
Steven G. Kargl [Mon, 26 Apr 2010 14:12:11 +0000 (14:12 +0000)]
Change "ditto" to "Ditto.", which is clearly more expressive.

From-SVN: r158734

14 years agocgraph.c (cgraph_create_node): Set node frequency to normal.
Jan Hubicka [Mon, 26 Apr 2010 13:33:24 +0000 (15:33 +0200)]
cgraph.c (cgraph_create_node): Set node frequency to normal.

* cgraph.c (cgraph_create_node): Set node frequency to normal.
(cgraph_clone_node): Copy function frequency.
* cgraph.h (node_frequency): New enum
(struct cgraph_node): Add.
* final.c (rest_of_clean_state): Update.
* lto-cgraph.c (lto_output_node): Output node frequency.
(input_overwrite_node): Input node frequency.
* tre-ssa-loop-ivopts (computation_cost): Update.
* lto-streamer-out.c (output_function): Do not output function frequency.
* predict.c (maybe_hot_frequency_p): Update and handle functions executed once.
(cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
attribute lookup.
(probably_never_executed_bb_p, optimize_function_for_size_p): Update.
(compute_function_frequency): Set noreturn functions to be executed once.
(choose_function_section): Update.
* lto-streamer-in.c (input_function): Do not input function frequency.
* function.c (allocate_struct_function): Do not initialize function frequency.
* function.h (function_frequency): Remove.
(struct function): Remove function frequency.
* ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
(try_update): Update.
* tree-inline.c (initialize_cfun): Do not update function frequency.
* passes.c (pass_init_dump_file): Update.
* i386.c (ix86_compute_frame_layout): Update.
(ix86_pad_returns): Update.

From-SVN: r158732

14 years agolto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
Richard Guenther [Mon, 26 Apr 2010 11:03:59 +0000 (11:03 +0000)]
lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.

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

* lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.

* gcc.dg/lto/20100426_0.c: New testcase.

From-SVN: r158729

14 years agore PR tree-optimization/43833 (false warning: array subscript is above array bounds...
Jie Zhang [Mon, 26 Apr 2010 10:59:34 +0000 (10:59 +0000)]
re PR tree-optimization/43833 (false warning: array subscript is above array bounds with -O3)

PR tree-optimization/43833
* tree-vrp.c (range_int_cst_p): New.
(range_int_cst_singleton_p): New.
(extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
when both operands are constants.  Use range_int_cst_p in
BIT_IOR_EXPR case.

testsuite/
PR tree-optimization/43833
gcc.dg/Warray-bounds-8.c: New test case.

From-SVN: r158727

14 years ago* cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
Jan Hubicka [Mon, 26 Apr 2010 09:52:05 +0000 (11:52 +0200)]
* cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.

From-SVN: r158724

14 years agore PR c++/43080 (ICE with anonymous union and -flto)
Richard Guenther [Mon, 26 Apr 2010 09:19:24 +0000 (09:19 +0000)]
re PR c++/43080 (ICE with anonymous union and -flto)

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

PR lto/43080
* gimple.c (gimple_decl_printable_name): Deal gracefully
with a NULL DECL_NAME.

* g++.dg/lto/20100423-3_0.C: New testcase.

From-SVN: r158723

14 years agore PR debug/42425 (ICE declaring local class)
Richard Guenther [Mon, 26 Apr 2010 09:13:00 +0000 (09:13 +0000)]
re PR debug/42425 (ICE declaring local class)

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

PR lto/42425
* tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
if emitting debug information and it is either a function
or a namespace decl.

* g++.dg/lto/20100423-2_0.C: New testcase.

From-SVN: r158722

14 years agotree-vectorizer.h (struct _stmt_vec_info): Add new field to determine if the statemen...
Ira Rosen [Mon, 26 Apr 2010 06:39:27 +0000 (06:39 +0000)]
tree-vectorizer.h (struct _stmt_vec_info): Add new field to determine if the statement is vectorizable...

* tree-vectorizer.h (struct _stmt_vec_info): Add new field to
determine if the statement is vectorizable, and a macro to
access it.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Skip statements that can't be vectorized. If the analysis
fails, mark the statement as unvectorizable if vectorizing
basic block.
(vect_compute_data_refs_alignment): Likewise.
(vect_verify_datarefs_alignment): Skip statements marked as
unvectorizable. Add print.
(vect_analyze_group_access): Skip statements that can't be
vectorized. If the analysis fails, mark the statement as
unvectorizable if vectorizing basic block.
(vect_analyze_data_ref_accesses, vect_analyze_data_refs):
Likewise.
* tree-vect-stmts.c (vectorizable_store): Fix the number of
generated stmts for SLP.
(new_stmt_vec_info): Initialize the new field.
* tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
statements marked as unvectorizable.

From-SVN: r158719

14 years agolto.h (lto_elf_file_open): Rename prototype from this ...
Dave Korn [Mon, 26 Apr 2010 03:41:04 +0000 (03:41 +0000)]
lto.h (lto_elf_file_open): Rename prototype from this ...

* lto.h (lto_elf_file_open): Rename prototype from this ...
(lto_obj_file_open): ... to this.
(lto_elf_file_close): Likewise ...
(lto_obj_file_close): ... and likewise.
(lto_elf_build_section_table): Likewise ...
(lto_obj_build_section_table): ... and likewise.
(lto_elf_begin_section): Likewise ...
(lto_obj_begin_section): ... and likewise.
(lto_elf_append_data): Likewise ...
(lto_obj_append_data): ... and likewise.
(lto_elf_end_section): Likewise ...
(lto_obj_end_section): ... and likewise.
* lto.c (lto_file_read): Update references to the above.
(lto_wpa_write_files): Likewise.
(lto_read_all_file_options): Likewise.
(read_cgraph_and_symbols): Likewise.
* lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
(LANG_HOOKS_APPEND_DATA): Likewise.
(LANG_HOOKS_END_SECTION): Likewise.
* lto-elf.c (lto_elf_file_open): Rename from this ...
(lto_obj_file_open): ... to this, updating any references.
(lto_elf_file_close): Likewise ...
(lto_obj_file_close): ... and likewise.
(lto_elf_build_section_table): Likewise ...
(lto_obj_build_section_table): ... and likewise.
(lto_elf_begin_section): Likewise ...
(lto_obj_begin_section): ... and likewise.
(lto_elf_append_data): Likewise ...
(lto_obj_append_data): ... and likewise.
(lto_elf_end_section): Likewise ...
(lto_obj_end_section): ... and likewise.

From-SVN: r158718

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

From-SVN: r158717

14 years agostatus_cxx200x.xml: Update Threads status.
Jonathan Wakely [Sun, 25 Apr 2010 22:41:49 +0000 (22:41 +0000)]
status_cxx200x.xml: Update Threads status.

2010-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update Threads status.
* doc/html/manual/status.html: Regenerate.

From-SVN: r158713

14 years agoReformat.
H.J. Lu [Sun, 25 Apr 2010 21:58:00 +0000 (14:58 -0700)]
Reformat.

From-SVN: r158712

14 years agoc-common.c (flag_isoc1x): New.
Joseph Myers [Sun, 25 Apr 2010 21:54:22 +0000 (22:54 +0100)]
c-common.c (flag_isoc1x): New.

gcc:
* c-common.c (flag_isoc1x): New.
(flag_isoc99): Update comment.
* c-common.h (flag_isoc1x): New.
(flag_isoc99): Update comment.
* c-cppbuiltin.c (builtin_define_float_constants): Also define
__<type>_DECIMAL_DIG__.
* c-opts.c (set_std_c1x): New.
(c_common_handle_option): Handle -std=c1x and -std=gnu1x.
(set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
* c.opt (-std=c1x, -std=gnu1x): New options.
* doc/cpp.texi: Mention -std=c1x.
* doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
* doc/extend.texi: Mention -std=c1x and -std=gnu1x.
* doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
* doc/standards.texi: Mention C1X.
* ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
Define for C1X.

gcc/testsuite:
* gcc.dg/c90-float-1.c: Also test that C1X macros are not defined.
* gcc.dg/c99-float-1.c: Also test that C1X macros are not defined.
* gcc.dg/c1x-float-1.c: New test.

libcpp:
* include/cpplib.h (enum c_lang): Add CLK_GNUC1X and CLK_STDC1X.
* init.c (lang_defaults): Add entries for new language variants.
(cpp_init_builtins): Define __STDC_VERSION__ to 201000L for C1X
variants.

From-SVN: r158711

14 years agoScan "lea\[lq\]?\[ \t\]" instead of "lea\[ \t\]".
H.J. Lu [Sun, 25 Apr 2010 21:48:55 +0000 (21:48 +0000)]
Scan "lea\[lq\]?\[ \t\]" instead of "lea\[ \t\]".

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

* gcc.target/i386/pr43766.c: Scan "lea\[lq\]?\[ \t\]" instead
of "lea\[ \t\]".

From-SVN: r158710

14 years agodefault_format_denormal_2.f90: Remove XFAIL for FreeBSD.
Steven G. Kargl [Sun, 25 Apr 2010 21:45:21 +0000 (21:45 +0000)]
default_format_denormal_2.f90: Remove XFAIL for FreeBSD.

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

   * gfortran.dg/default_format_denormal_2.f90: Remove XFAIL for FreeBSD.
   * gfortran.dg/default_format_denormal_1.f90: ditto
   * gfortran.dg/default_format_2.f90: ditto

From-SVN: r158709

14 years agopr43505.f90: Clean up .mod file.
Steven G. Kargl [Sun, 25 Apr 2010 21:29:37 +0000 (21:29 +0000)]
pr43505.f90: Clean up .mod file.

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

 *gfortran.dg/pr43505.f90: Clean up .mod file.
 *gfortran.dg/host_assoc_blockdata_1.f90
 *gfortran.dg/pr41347.f90
 *gfortran.dg/internal_pack_4.f90
 *gfortran.dg/proc_decl_23.f90
 *gfortran.dg/recursive_check_3.f90
 *gfortran.dg/intent_out_3.f90
 *gfortran.dg/assignment_2.f90
 *gfortran.dg/pr41928.f90
 *gfortran.dg/pr42166.f90
 *gfortran.dg/private_type_12.f90
 *gfortran.dg/graphite/pr42185.f90
 *gfortran.dg/graphite/pr42186.f90
 *gfortran.dg/graphite/pr40982.f90
 *gfortran.dg/graphite/id-2.f90
 *gfortran.dg/graphite/id-4.f90
 *gfortran.dg/graphite/pr42050.f90
 *gfortran.dg/graphite/id-18.f90
 *gfortran.dg/graphite/pr42393-1.f90
 *gfortran.dg/graphite/pr41924.f90
 *gfortran.dg/graphite/pr42393.f90
 *gfortran.dg/graphite/pr37980.f90
 *gfortran.dg/graphite/pr38953.f90
 *gfortran.dg/graphite/pr42180.f90
 *gfortran.dg/graphite/pr42181.f90
 *gfortran.dg/where_operator_assign_4.f90
 *gfortran.dg/select_type_4.f90
 *gfortran.dg/redefined_intrinsic_assignment.f90
 *gfortran.dg/host_assoc_blockdata_2.f90
 *gfortran.dg/lto/pr40725_0.f03
 *gfortran.dg/elemental_args_check_2.f90
 *gfortran.dg/whole_file_11.f90
 *gfortran.dg/private_type_11.f90
 *gfortran.dg/vect/vect-gems.f90
 *gfortran.dg/vect/fast-math-real8-pr40801.f90

From-SVN: r158708

14 years agoScan "lea\[ \t\]" instead of "lea".
H.J. Lu [Sun, 25 Apr 2010 16:04:22 +0000 (16:04 +0000)]
Scan "lea\[ \t\]" instead of "lea".

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

* gcc.target/i386/pr43766.c: Scan "lea\[ \t\]" instead of "lea".

From-SVN: r158706

14 years agoexp_dbug.ads: Fix outdated description.
Eric Botcazou [Sun, 25 Apr 2010 09:42:41 +0000 (09:42 +0000)]
exp_dbug.ads: Fix outdated description.

* exp_dbug.ads: Fix outdated description.  Mention link between XVS
and XVZ objects.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
XVZ variable as unit size of XVS type.
(maybe_pad_type): Likewise.

From-SVN: r158703

14 years agotrans.c (gnat_to_gnu): Do not use memmove if the array type is bit-packed.
Eric Botcazou [Sun, 25 Apr 2010 09:22:35 +0000 (09:22 +0000)]
trans.c (gnat_to_gnu): Do not use memmove if the array type is bit-packed.

* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
use memmove if the array type is bit-packed.

From-SVN: r158701

14 years agogmon-sol2.c (_mcleanup): Change format string placeholder from 0x%x to %#x.
Uros Bizjak [Sun, 25 Apr 2010 08:11:46 +0000 (10:11 +0200)]
gmon-sol2.c (_mcleanup): Change format string placeholder from 0x%x to %#x.

* config/i386/gmon-sol2.c (_mcleanup): Change format string
placeholder from 0x%x to %#x.
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
* config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
* config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
* config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
* config/i386/i386.c (ix86_target_string): Ditto.
(output_pic_addr_const): Ditto.
(print_operand): Ditto.

From-SVN: r158699

14 years agocombine.c (find_split_point): Add third argument.
Paolo Bonzini [Sun, 25 Apr 2010 07:52:43 +0000 (07:52 +0000)]
combine.c (find_split_point): Add third argument.

2010-04-25  Paolo Bonzini  <bonzini@gnu.org>

* combine.c (find_split_point): Add third argument.  Use it
to find nested multiply-accumulate instructions.  Adjust calls.
(try_combine): Adjust call to find_split_point.

testsuite:
2010-04-25  Paolo Bonzini  <bonzini@gnu.org>

* gcc.target/arm/mla-1.c: New test.

From-SVN: r158698

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

From-SVN: r158697

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

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

        PR fortran/30073
        PR fortran/43793
        * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
        of mucking with a tree directly.

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

        PR fortran/30073
        PR fortran/43793
        gfortran.dg/pr43793.f90: New test.

From-SVN: r158692

14 years ago* doc/contrib.texi (Contributors): Add Dodji Seketeli.
Gerald Pfeifer [Sat, 24 Apr 2010 19:34:52 +0000 (19:34 +0000)]
* doc/contrib.texi (Contributors): Add Dodji Seketeli.

From-SVN: r158690

14 years agore PR tree-optimization/41442 (missed optimization for boolean expression)
Bernd Schmidt [Sat, 24 Apr 2010 18:53:47 +0000 (18:53 +0000)]
re PR tree-optimization/41442 (missed optimization for boolean expression)

gcc/
PR tree-optimization/41442
* fold-const.c (merge_truthop_with_opposite_arm): New function.
(fold_binary_loc): Call it.

gcc/testsuite/
PR tree-optimization/41442
* gcc.target/i386/pr41442.c: New test.

From-SVN: r158689

14 years agore PR fortran/43832 (OPEN statement not diagnosing missing unit number)
Hans-Peter Nilsson [Sat, 24 Apr 2010 17:00:52 +0000 (17:00 +0000)]
re PR fortran/43832 (OPEN statement not diagnosing missing unit number)

PR fortran/43832
* gfortran.dg/fgetc_3.f90: Delete bogus test.

From-SVN: r158688

14 years agounix.c (tempfile): Correct logic for mktemp case.
Kai Tietz [Sat, 24 Apr 2010 12:24:33 +0000 (12:24 +0000)]
unix.c (tempfile): Correct logic for mktemp case.

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

        PR/43844
        * io/unix.c (tempfile): Correct logic for mktemp case.

From-SVN: r158686

14 years agore PR fortran/43832 (OPEN statement not diagnosing missing unit number)
Jerry DeLisle [Sat, 24 Apr 2010 12:07:07 +0000 (12:07 +0000)]
re PR fortran/43832 (OPEN statement not diagnosing missing unit number)

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

PR fortran/43832
* gfortran.dg/open_nounit.f90: New test.

From-SVN: r158685

14 years agore PR fortran/43832 (OPEN statement not diagnosing missing unit number)
Jerry DeLisle [Sat, 24 Apr 2010 12:04:09 +0000 (12:04 +0000)]
re PR fortran/43832 (OPEN statement not diagnosing missing unit number)

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

PR fortran/43832
* io.c (gfc_match_open): Remove branch to syntax error. Add call to
gfc_error with new error message.

From-SVN: r158684

14 years agore PR fortran/43841 (Missing temporary for ELEMENTAL function call)
Paul Thomas [Sat, 24 Apr 2010 09:28:32 +0000 (09:28 +0000)]
re PR fortran/43841 (Missing temporary for ELEMENTAL function call)

2010-04-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43841
PR fortran/43843
* trans-expr.c (gfc_conv_expr): Supply an address expression for
GFC_SS_REFERENCE.
(gfc_conv_expr_reference): Call gfc_conv_expr and return for
GFC_SS_REFERENCE.
* trans-array.c (gfc_add_loop_ss_code): Store the value rather
than the address of a GFC_SS_REFERENCE.
* trans.h : Change comment on GFC_SS_REFERENCE.

2010-04-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43841
PR fortran/43843
* gfortran.dg/elemental_scalar_args_1.f90 : New test.

From-SVN: r158683

14 years agounique_ptr (unique_ptr::pointer): Use deleter's pointer type if it exists.
Jonathan Wakely [Sat, 24 Apr 2010 09:21:23 +0000 (09:21 +0000)]
unique_ptr (unique_ptr::pointer): Use deleter's pointer type if it exists.

2010-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/unique_ptr (unique_ptr::pointer): Use deleter's
pointer type if it exists.
* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: New.
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.

From-SVN: r158682

14 years agofilenames.h (IS_DIR_SEPARATOR_1): Rename from IS_DIR_SEPARATOR...
Pedro Alves [Sat, 24 Apr 2010 00:55:41 +0000 (00:55 +0000)]
filenames.h (IS_DIR_SEPARATOR_1): Rename from IS_DIR_SEPARATOR...

2010-04-23  Pedro Alves  <pedro@codesourcery.com>

include/
* filenames.h (IS_DIR_SEPARATOR_1): Rename from IS_DIR_SEPARATOR,
always define it independently of host, add `dos_based' parameter,
and handle it.
(HAS_DRIVE_SPEC_1): Rename from HAS_DRIVE_SPEC, always define it
independently of host, add `dos_based' parameter, and handle it.
(IS_ABSOLUTE_PATH_1): Rename from IS_ABSOLUTE_PATH, always define
it independently of host, add `dos_based' parameter, and handle
it.
(IS_DOS_DIR_SEPARATOR, IS_DOS_ABSOLUTE_PATH)
(IS_UNIX_DIR_SEPARATOR, IS_UNIX_ABSOLUTE_PATH)
(HAS_DOS_DRIVE_SPEC): New.
(HAS_DRIVE_SPEC): Reimplement on top of HAS_DRIVE_SPEC_1.
(IS_DIR_SEPARATOR): Reimplement on top of IS_DIR_SEPARATOR_1.
(IS_ABSOLUTE_PATH): Reimplement on top of IS_ABSOLUTE_PATH_1.
* libiberty.h (dos_lbasename, unix_lbasename): Declare.

libiberty/
* lbasename.c (lbasename): Split into ...
(unix_lbasename, dos_basename): ... these.
(lbasename): ... and reimplement on top of them.
* Makefile.in (lbasename.o): Add dependency on
$(INCDIR)/filenames.h.

From-SVN: r158681

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

From-SVN: r158680

14 years agotoplev.c (general_init): Set default for fdiagnostics-show-option.
Manuel López-Ibáñez [Fri, 23 Apr 2010 17:14:27 +0000 (17:14 +0000)]
toplev.c (general_init): Set default for fdiagnostics-show-option.

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

* toplev.c (general_init): Set default for
fdiagnostics-show-option.
* opts.c (common_handle_option): Allow disabling it.
* common.opt (fdiagnostics-show-option): Add Var. Enabled by
default.
testsuite/
* gcc.dg/Wconversion-integer.c: Update.

From-SVN: r158676

14 years agoexpr.c (expand_expr_real_1): Only use conversion between modes if both types are...
Eric Botcazou [Fri, 23 Apr 2010 16:16:50 +0000 (16:16 +0000)]
expr.c (expand_expr_real_1): Only use conversion between modes if both types are integral.

* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
between modes if both types are integral.

From-SVN: r158675

14 years agore PR lto/41550 (Fix security and portability issues in lto-plugin)
Richard Guenther [Fri, 23 Apr 2010 15:49:10 +0000 (15:49 +0000)]
re PR lto/41550 (Fix security and portability issues in lto-plugin)

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

PR lto/41550
* lto-plugin.c (parse_table_entry): Use xstrdup and xrealloc.
(translate): Likewise.
(all_symbols_read_handler): Likewise.
(claim_file_handler): Likewise.
(process_option): Likewise.
(add_output_files): Likewise.  Remove filename length limit.

From-SVN: r158673