Commit Graph

99709 Commits

Author SHA1 Message Date
Eric Botcazou
8478130d94 Uniquization of constants at the Tree level
Uniquization of constants at the Tree level
	* tree.h (DECL_IN_CONSTANT_POOL): New macro
	(tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
	bit to the end.
	(tree_output_constant_def): Declare.
	* gimplify.c (gimplify_init_constructor): When using block copy,
	uniquize the constant constructor on the RHS.
	* lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal
	with DECL_IN_CONSTANT_POOL flag.
	* lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
	* varasm.c (make_decl_rtl): Deal with variables belonging to the
	global constant pool.
	(assemble_variable): Deal with symbols belonging to the tree constant
	pool.
	(get_constant_section): Add ALIGN parameter and simplify.
	(build_constant_desc): Build a VAR_DECL and attach it to the symbol.
	(assemble_constant_contents): Use the expression of the VAR_DECL.
	(output_constant_def_contents): Use the alignment of the VAR_DECL.
	(tree_output_constant_def): New global function.
	(mark_constant): Use the expression of the VAR_DECL.
	(place_block_symbol): Use the alignment of the VAR_DECL and the size
	of its expression.
	(output_object_block): Likewise and assemble the expression.
ada/
	* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
	constant constructors before taking their address.

From-SVN: r158838
2010-04-28 19:11:50 +00:00
Eric Botcazou
331c7fcdd0 lto-streamer.c [...] (tree_htab, [...]): New tree hash table.
* lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
	hash_tree, eq_tree): New tree hash table.
	(lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
	[LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
	lto_orig_address_remove): Reimplement.

From-SVN: r158836
2010-04-28 19:01:00 +00:00
Xinliang David Li
34f97b9407 predicate aware uninitialized analysis
From-SVN: r158835
2010-04-28 17:41:31 +00:00
Uros Bizjak
85fac79c20 elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available.
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
	type if available.

From-SVN: r158834
2010-04-28 18:56:24 +02:00
Rainer Orth
902a51a10d re PR target/22224 (Several Tru64 UNIX testsuite failures: Length of .lcomm was less than 1)
PR target/22224
	* config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.

From-SVN: r158831
2010-04-28 16:24:28 +00:00
Martin Jambor
e33c6cd6af 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
2010-04-28 16:05:54 +02:00
Richard Guenther
18abb35edf 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
2010-04-28 11:51:31 +00:00
Richard Guenther
c718820a97 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
2010-04-28 10:28:24 +00:00
Manuel López-Ibáñez
4b414c93f0 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
2010-04-28 08:34:01 +00:00
Jason Merrill
012e6a1e04 * init.c (perform_member_init): Check CLASS_TYPE_P.
From-SVN: r158822
2010-04-27 21:45:00 -04:00
GCC Administrator
a8ae19777a Daily bump.
From-SVN: r158821
2010-04-28 00:18:42 +00:00
Fabien Chêne
31d1aceca6 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
2010-04-27 20:03:21 -04:00
Jonathan Wakely
928fe27c82 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
2010-04-27 23:54:13 +01:00
Eric Botcazou
4cbd3309af Remove bogus hunk in previous commit
From-SVN: r158811
2010-04-27 22:02:36 +00:00
Jason Merrill
294e855f96 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
2010-04-27 17:35:17 -04:00
Jason Merrill
2defb92647 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
2010-04-27 17:30:56 -04:00
Jason Merrill
38f1276bb5 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
2010-04-27 17:27:04 -04:00
Jason Merrill
a684685337 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
2010-04-27 17:26:25 -04:00
Jason Merrill
16de17aec7 * semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
From-SVN: r158806
2010-04-27 17:25:29 -04:00
Jason Merrill
95b24c84c3 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
2010-04-27 17:21:35 -04:00
Jonathan Wakely
60bfcbecc6 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
2010-04-27 21:57:23 +01:00
Manuel López-Ibáñez
5dc16b1952 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
2010-04-27 20:22:54 +00:00
Jason Merrill
ea8b8aa005 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
2010-04-27 16:08:47 -04:00
Jason Merrill
4a5d353fa8 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
2010-04-27 15:04:23 -04:00
Jason Merrill
798ec80703 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
2010-04-27 15:04:09 -04:00
Fabien Chêne
6ad86a5b26 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
2010-04-27 14:56:13 -04:00
Jakub Jelinek
78b41ae280 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
2010-04-27 20:12:32 +02:00
Eric Botcazou
6210710649 * tree.h: Fix truncated long macros.
From-SVN: r158792
2010-04-27 17:56:52 +00:00
Kai Tietz
ad21109137 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
2010-04-27 19:48:58 +02:00
Andrew Haley
126bac7bd6 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
2010-04-27 17:28:08 +00:00
Andrew Haley
b656968688 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
2010-04-27 16:35:06 +00:00
Jan Hubicka
e65bb9be49 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
2010-04-27 14:56:33 +00:00
Roland McGrath
38e3d8681f 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
2010-04-27 14:27:15 +00:00
Tobias Burnus
0134416b1d 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
2010-04-27 16:09:29 +02:00
Nathan Froyd
8606c81dce * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
From-SVN: r158783
2010-04-27 12:48:39 +00:00
Alexander Monakov
9942526503 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
2010-04-27 16:00:35 +04:00
Tobias Burnus
ecb9d36fe8 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
2010-04-27 13:42:07 +02:00
Richard Guenther
a79ccd146a 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
2010-04-27 11:27:18 +00:00
Martin Jambor
78eaf7bf18 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
2010-04-27 12:07:47 +02:00
Eric Botcazou
5b56d3bbca 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
2010-04-27 09:47:13 +00:00
Jan Hubicka
fa5f5e275f 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
2010-04-27 09:44:30 +00:00
Jakub Jelinek
934f5b4225 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
From-SVN: r158773
2010-04-27 11:40:46 +02:00
Bernd Schmidt
cb751cbd75 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
2010-04-27 09:34:08 +00:00
Jie Zhang
a502783080 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
2010-04-27 09:15:11 +00:00
Shujing Zhao
0ed3cde299 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
2010-04-27 08:56:01 +00:00
Tobias Burnus
f33beee9f9 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
2010-04-27 10:41:00 +02:00
Jan Hubicka
d89488ec13 tree-inline.c (eni_inlining_weights): Remove.
* tree-inline.c (eni_inlining_weights): Remove.
	(estimate_num_insns): Special case more builtins.

From-SVN: r158766
2010-04-27 05:41:33 +00:00
Shujing Zhao
637f14555e 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
2010-04-27 02:40:19 +00:00
Dave Korn
f042307864 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
2010-04-27 02:24:51 +00:00
Dave Korn
9a02962bf8 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
2010-04-27 02:23:56 +00:00