Commit Graph

99846 Commits

Author SHA1 Message Date
Jan Hubicka
ef38b55137 re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009)
PR tree-optimization/43791
	* ipa-inline.c (update_caller_keys): Remove bogus
	disregard_inline_limits check.

	* gcc.c-torture/compile/pr43791.c: New file.

From-SVN: r159108
2010-05-06 14:15:22 +00:00
Michael Matz
0ab555de37 re PR tree-optimization/43984 (PRE misses full-redundancies, inserts into loops)
PR tree-optimization/43984

	* tree-ssa-pre.c (inserted_phi_names): Remove.
	(inserted_exprs): Change to bitmap.
	(create_expression_by_pieces): Set bits, don't append to vector.
	(insert_into_preds_of_block): Don't handle inserted_phi_names.
	(eliminate): Don't look at inserted_phi_names, remove deleted
	insns from inserted_exprs.
	(remove_dead_inserted_code): Adjust to use bitmaps instead of
	vectors.
	(init_pre, fini_pre): Allocate and free bitmaps.
	(execute_pre): Insert insns on edges before elimination.

testsuite/
	* gfortran.dg/pr43984.f90: New test.

From-SVN: r159106
2010-05-06 13:54:32 +00:00
H.J. Lu
afa83c1559 Add argument kind to lto_handle_option.
2010-05-06  H.J. Lu  <hongjiu.lu@intel.com>

	* lto-lang.c (lto_handle_option): Add argument kind.

From-SVN: r159105
2010-05-06 06:03:12 -07:00
Maxim Kuvyrkov
315a02daf1 * tree.c (initializer_zerop): Handle STRING_CST.
From-SVN: r159103
2010-05-06 10:28:46 +00:00
Manuel López-Ibáñez
3734d9607e re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)
2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 40989
	* doc/invoke.texi (Wimplicit): Document as C only.
	* opts.c (common_handle_option): Add argument kind.
	(handle_option): Rename as read_cmdline_option. Factor out code to...
	(handle_option): ... here. New.
	(handle_options): Rename as read_cmdline_options.
	(decode_options): Update call.
	(set_option): Use option index instead of option pointer. Classify
	diagnostics correctly.
	(enable_warning_as_error): Call handle_option.
	* opts.h (set_option): Update declaration.
	(handle_option): Declare.
	* langhooks.h (struct lang_hooks): Add argument kind to
	handle_option.
	* c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
	* c-opts.c (set_Wimplicit): Delete.
	(c_family_lang_mask): New static constant.
	(c_common_handle_option): Add argument kind. Use handle_option
	instead of set_Wimplicit.
	(c_common_post_options): warn_implicit and warn_implicit_int
	are disabled by default.
	* c-common.c (warn_implicit): Do not define here.
	* c-common.h (warn_implicit): Do not declare here.
	(c_common_handle_option): Update declaration.
	* lto-opts.c (lto_reissue_options): Update call to set_option.
java/
	* lang.c (java_handle_option): Add argument kind.
fortran/	
	* options.c (gfc_handle_option): Add argument kind.
	* gfortran.h (gfc_handle_option): Update declaration.
ada/
	* gcc-interface/misc.c (gnat_handle_option): Add argument kind.
testsuite/
	* gcc.dg/pr40989.c: New.

From-SVN: r159102
2010-05-06 10:12:36 +00:00
Richard Guenther
2b90475add re PR tree-optimization/43571 (domwalk sucks)
2010-05-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43571
	* domwalk.c (walk_dominator_tree): Walk the dominator
	sons in more optimal order.

From-SVN: r159100
2010-05-06 09:08:57 +00:00
Richard Guenther
e3bdfed62a re PR tree-optimization/43934 (LIM should handle PHI nodes)
2010-05-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43934
	* tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
	(stmt_cost): Likewise.
	(extract_true_false_args_from_phi): New helper.
	(determine_max_movement): For PHI nodes verify we can hoist them
	and compute their cost.
	(determine_invariantness_stmt): Handle PHI nodes.
	(move_computations_stmt): Likewise.  Hoist PHI nodes in
	if-converted form using COND_EXPRs.
	(move_computations): Return TODO_cleanup_cfg if we hoisted PHI
	nodes.
	(tree_ssa_lim): Likewise.
	* tree-flow.h (tree_ssa_lim): Adjust prototype.
	* tree-ssa-loop.c (tree_ssa_loop_im): Return todo.

	* gcc.dg/tree-ssa/ssa-lim-9.c: New testcase.

From-SVN: r159099
2010-05-06 09:04:00 +00:00
Richard Guenther
a81b065a47 re PR middle-end/43987 (type-punning causes broken binaries unless -O0 is used)
2010-05-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43987
	* tree-ssa-structalias.c (could_have_pointers): For possibly
	address-taken variables force pointers to be recorded.
	(create_variable_info_for_1): Likewise.
	(push_fields_onto_fieldstack): Pass in wheter all fields
	must have pointers.
	(find_func_aliases): Query types instead of vars whether
	they contain pointers where appropriate.

	* gcc.c-torture/execute/pr43987.c: New testcase.
	* gcc.dg/torture/pta-escape-1.c: Adjust.
	* gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
	* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
	* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
	* gcc.dg/ipa/ipa-pta-11.c: Likewise.

From-SVN: r159098
2010-05-06 08:53:19 +00:00
Jan Hubicka
369451ec60 cgraphbuild.c (record_reference_ctx): Add varpool_node.
* cgraphbuild.c (record_reference_ctx): Add varpool_node.
	(record_reference, mark_address, mark_load, mark_store): Record
	references.
	(record_references_in_initializer): Update call of record_references.
	(rebuild_cgraph_edges): Remove all references before rebuiding.
	* cgraph.c (cgraph_create_node): Clear ref list.
	(cgraph_remove_node): Remove references.
	(dump_cgraph_node): Dump references.
	(cgraph_clone_node): Clone references.
	* cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
	(struct cgraph_node, varpool_node): Add ref_lst.
	* ipa-ref.c: New file.
	* ipa-ref.h: New file.
	* ipa-ref-inline.h: New file.
	* lto-cgraph.c (output_varpool): Take cgrag node set argument.
	(referenced_from_other_partition_p): New function.
	(lto_output_varpool_node): Take set arugment; call
	referenced_from_other_partition.
	(lto_output_ref): New.
	(add_references): New.
	(output_refs): New.
	(output_cgraph): Compute boundary based on references;
	output refs.
	(output_varpool): Accept cgraph_node_set argument.
	(input_ref): New.
	(input_refs): New.
	(input_cgraph): Call input_refs.
	* lto-section-in.c (lto_section_name): Add refs.
	* Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
	(ipa-ref.o): New file.
	* varpool.c (varpool_node): Clear ipa ref list.
	(varpool_remove_node): Remove references.
	(dump_varpool_node): Dump references.
	(varpool_assemble_decl): Only compile finalized ones.
	(varpool_extra_name_alias): Initialize ref list.
	* lto-streamer.c (lto-get_section_name): Add .refs section.
	* lto-streamer.h (lto_section_type): Add LTO_section_refs.
	(referenced_from_other_partition_p): Declared.

From-SVN: r159097
2010-05-06 08:39:32 +00:00
Jakub Jelinek
03a904b5a6 C++ support for -Wunused-but-set-variable
gcc/cp/ChangeLog:
	PR 18624
	* cp-tree.h (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
	mark_type_use): Declare ...
	* expr.c (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
	mark_type_use): ... new fns.
	* typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call mark_type_use.
	(perform_integral_promotions): Call mark_rvalue_use.
	(cp_build_unary_op): Call mark_lvalue_use.
	(decay_conversion): Update comment. Call mark_lvalue.
	* decl.c (unused_but_set_errorcount): New variable.
	(poplevel): Issue -Wunused-but-set-variable diagnostics.
	(duplicate_decls): Merge DECL_READ_P flags.
	(start_cleanup_fn): Set DECL_READ_P flag.
	(finish_function): Issue -Wunused-but-set-parameter diagnostics.
	* tree.c (rvalue): Call mark_rvalue_use.
	* pt.c (convert_nontype_argument): Likewise.
	* semantics.c (finish_typeof, finish_decltype_type): Call
	mark_type_use.
	(finish_asm_stmt): Call mark_lvalue_use.
	(finish_expr_stmt): Call mark_exp_read.
	* call.c (convert_like_real) <ck_identity, ck_user>: Call
	mark_rvalue_use.
	(build_x_va_arg): Call mark_lvalue_use.
	(build_over_call): Call mark_type_use.
	* init.c (build_new, build_delete): Call mark_value_use.
	* rtti.c (build_typeid): Call mark_lvalue_use or mark_type_use.
	(build_dynamic_cast_1): call mark_lvalue_use or mark_rvalue_use.

gcc/testsuite/ChangeLog:
	PR 18624
	* g++.dg/warn/Wunused-7.C: Add dg-warning.
	* g++.dg/template/sfinae16.C: Likewise.
	* gcc.dg/Wunused-var-1.c: Moved to...
	* c-c++-common/Wunused-var-1.c: ...here. New test.
	* gcc.dg/Wunused-var-2.c: Moved to...
	* c-c++-common/Wunused-var-2.c: ...here. New test.
	* gcc.dg/Wunused-var-3.c: Moved to...
	* c-c++-common/Wunused-var-3.c: ...here. New test.
	* gcc.dg/Wunused-var-4.c: Moved to...
	* gcc.dg/Wunused-var-1.c: ... here.
	* gcc.dg/Wunused-var-5.c: Moved to...
	* c-c++-common/Wunused-var-4.c: ...here. New test.
	* gcc.dg/Wunused-var-7.c: Moved to...
	* c-c++-common/Wunused-var-5.c: ...here. New test.
	* gcc.dg/Wunused-var-6.c: Moved to...
	* gcc.dg/Wunused-var-2.c: ... here.
	* c-c++-common/Wunused-var-1.c: New test.
	* c-c++-common/Wunused-var-2.c: New test.
	* c-c++-common/Wunused-var-3.c: New test.
	* c-c++-common/Wunused-var-4.c: New test.
	* c-c++-common/Wunused-var-5.c: New test.
	* g++.dg/warn/Wunused-var-1.C: New test.
	* g++.dg/warn/Wunused-var-2.C: New test.
	* g++.dg/warn/Wunused-var-3.C: New test.
	* g++.dg/warn/Wunused-var-4.C: New test.
	* g++.dg/warn/Wunused-var-5.C: New test.
	* g++.dg/warn/Wunused-var-6.C: New test.
	* g++.dg/warn/Wunused-var-7.C: New test.
	* g++.dg/warn/Wunused-var-8.C: New test.
	* g++.dg/warn/Wunused-parm-1.C: New test.
	* g++.dg/warn/Wunused-parm-2.C: New test.
	* g++.dg/warn/Wunused-parm-3.C: New test.

Co-Authored-By: Dodji Seketeli <dodji@redhat.com>

From-SVN: r159096
2010-05-06 08:52:30 +02:00
Ira Rosen
7d8930a046 re PR middle-end/43901 (FAIL: gcc.c-torture/compile/pr42196-2.c)
PR tree-optimization/43901
	* tree-vect-stmts.c (vectorizable_call): Assert that vector
	type is not NULL if it's transformation phase, and return
	FALSE if it's analysis.
	(vectorizable_conversion, vectorizable_operation, 
	vectorizable_type_demotion, vectorizable_type_promotion):
	Likewise.

From-SVN: r159095
2010-05-06 06:42:51 +00:00
GCC Administrator
9876df2e7f Daily bump.
From-SVN: r159094
2010-05-06 00:17:31 +00:00
Andrew Pinski
a1c4f19f77 mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Delete.
2010-05-05  Andrew Pinski  <andrew.pinski@caviumnetworks.com>

        * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
        Delete.
        * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
        New define.
        * config/mips/mips-protos.h
        (mips_small_register_classes_for_mode_p): Delete prototype.

From-SVN: r159090
2010-05-05 17:14:59 -07:00
Bernd Schmidt
93b338c396 arm.h (MAX_LDM_STM_OPS): New macro.
* config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
	* config/arm/arm.c (multiple_operation_profitable_p,
	compute_offset_order): New static functions.
	(load_multiple_sequence, store_multiple_sequence): Use them.
	Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
	memory offsets, not register numbers.
	(emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.

From-SVN: r159089
2010-05-05 22:46:38 +00:00
Tobias Burnus
5e7b92b9ff re PR fortran/43985 (ICE when assumed size cray-pointee passed as argument)
2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * trans-types.c (gfc_sym_type): Mark Cray pointees as
        GFC_POINTER_TYPE_P.

2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * gfortran.dg/gomp/crayptr5.f90: New test case.

From-SVN: r159086
2010-05-06 00:11:14 +02:00
Steven Bosscher
5070147434 stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
* stor-layout.c (pending_sizes): Change the type to
	VEC(tree,gc) *.
	(get_pending_sizes, put_pending_size, put_pending_sizes):
	Update the uses of pending_sizes.
	* c-decl.c (store_parm_decls): Likewise.
	* c-tree.h (struct c_arg_info): Likewise.
	* tree.h: Update the prototype for get_pending_sizes and
	put_pending_sizes.

From-SVN: r159085
2010-05-05 21:32:44 +00:00
Paolo Carlini
f099926730 29134.cc: Adjust for profile-mode too.
2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
	for profile-mode too.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Likewise.

2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/unordered_map (unordered_map<>::insert(_InputIter,
	_InputIter), unordered_multimap<>::insert(_InputIter, _InputIter)):
	Fix typo, don't call base() on __first and __last.

2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	Fix profile-mode vs -std=c++0x
	* include/profile/impl/profiler_trace.h: Do not include the
	whole <algorithm>, include <bits/stl_heap.h> (additionally
	to <bits/stl_algobase.h>).
	(__write_cost_factors): Replace std::for_each with open-coding.
	(__set_cost_factors): Likewise.
	(__report): Likewise; use std::make_heap / std::sort_heap
	instead of std::sort.
	(__report_cost_factors): Replace std::remove with open-coding.
	(__warn, __cost_factor_writer, __cost_factor_setter): Remove.

From-SVN: r159082
2010-05-05 19:53:11 +00:00
Jason Merrill
0f559c16ea re PR debug/43370 (ICE gen_type_die_with_usage, at dwarf2out.c:14745)
PR debug/43370
	* c-common.c (handle_aligned_attribute): Respect
	ATTR_FLAG_TYPE_IN_PLACE.

From-SVN: r159081
2010-05-05 15:46:41 -04:00
Daniel Franke
147a19a945 resolve.c (traverse_data_list): Rephrase error message for non-constant bounds in data-implied-do.
2010-05-05  Daniel Franke  <franke.daniel@gmail.com>

        * resolve.c (traverse_data_list): Rephrase error message for
        non-constant bounds in data-implied-do.

From-SVN: r159080
2010-05-05 15:35:22 -04:00
Jason Merrill
564a129d22 re PR testsuite/43758 (19 new GCC HEAD@158360 regressions)
PR testsuite/43758
	* target.h (struct gcc_target): Add attribute_takes_identifier_p.
	* target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
	(TARGET_INITIALIZER): Use it.
	* c-common.c (attribute_takes_identifier_p): Call it.
	* c-common.h: Update prototype.
	* config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
	(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.

From-SVN: r159079
2010-05-05 15:33:11 -04:00
Jakub Jelinek
58c13acc6a re PR debug/43950 (fortran: Use DW_AT_identifier_case)
PR debug/43950
	* dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
	DW_ID_down_case for Fortran compilation units.

From-SVN: r159077
2010-05-05 21:11:16 +02:00
Daniel Franke
e588024304 re PR fortran/24978 (ICE in gfc_assign_data_value_range)
gcc/fortran/:
2010-05-05  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/24978
	* gfortran.h: Removed repeat count from constructor, removed
	all usages.
	* data.h (gfc_assign_data_value_range): Changed return value from
	void to gfc_try.
	* data.c (gfc_assign_data_value): Add location to constructor element.
	(gfc_assign_data_value_range): Call gfc_assign_data_value()
	for each element in range. Return early if an error was generated.
	* resolve.c (check_data_variable): Stop early if range assignment
	generated an error.

gcc/testsuite/:
2010-05-05  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/24978
	* gfortran.dg/data_invalid.f90: New.

From-SVN: r159076
2010-05-05 14:53:23 -04:00
Jan Hubicka
5b042919f7 lto-cgraph.c (lto_output_varpool_node, [...]): Correctly handle aliases.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
	handle aliases.

From-SVN: r159075
2010-05-05 18:14:43 +00:00
Eric Botcazou
ca361dec8f gimplify.c (gimplify_return_expr): Gimplify the size expressions of a variable-sized RESULT_DECL.
* gimplify.c (gimplify_return_expr): Gimplify the size expressions of
	a variable-sized RESULT_DECL.

From-SVN: r159074
2010-05-05 17:48:01 +00:00
Maxim Kuvyrkov
fa6aeae1ad * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
From-SVN: r159073
2010-05-05 17:11:26 +00:00
Jason Merrill
6d729f282c re PR c++/43787 (memory copy of empty class (sizeof is one))
PR c++/43787
gcc:
	* gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
	returns GS_OK.
	(gimplify_modify_expr_rhs): Return GS_OK if anything changed.
gcc/cp:
	* cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
	* call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.

From-SVN: r159072
2010-05-05 12:32:20 -04:00
Jason Merrill
a2c9b836ba add myself as gimple maintainer
From-SVN: r159071
2010-05-05 12:32:07 -04:00
Andrew Haley
23cc973ca9 010-05-04 Andrew Haley <aph@redhat.com>
* lib/gen-classlist.sh.in: Use absolute pathnames for all the
	directory names in the output file.

From-SVN: r159067
2010-05-05 13:05:21 +00:00
Alexandre Oliva
e972a1d38a re PR debug/43478 (Missing DW_AT_location for a variable)
PR debug/43478
	* df-problems.c (struct dead_debug_use, struct dead_debug): New.
	(dead_debug_init, dead_debug_finish): New functions.
	(dead_debug_add, dead_debug_insert_before): Likewise.
	(df_note_bb_compute): Initialize a dead_debug object, add dead
	debug uses to it, insert debug bind insns before death insns,
	reset debug insns that refer to pending uses at the end.
	* rtl.h (make_debug_expr_from_rtl): New prototype.
	* varasm.c (make_debug_expr_from_rtl): New function.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r159063
2010-05-05 12:43:36 +02:00
Jan Hubicka
2f41ecf538 lto-cgraph.c (output_varpool): Forward declare; work on encoder.
* lto-cgraph.c (output_varpool): Forward declare; work on encoder.
	(lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode
	lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size,
	lto_varpool_encoder_encode_initializer_p,
	lto_set_varpool_encoder_encode_initializer): New functions.
	(lto_output_cgraph): Take vset parameter too; compute varpool encoder;
	call output_varpool.
	(input_varpool_node): Do not always set analyzed.
	(input_cgraph_1): Return vector of cgraph nodes.
	(input_varpool_1): Return vector of varpools.
	(input_cgraph): Free the vectors.
	* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
	output only initializers needed.
	(lto_output): Only call output_cgraph.
	(produce_asm_for_decls): Call lto_varpool_encoder_delete.
	* lto-section-out.c (lto_new_out_decl_state): Initialize
	state->varpool_node_encoder.
	* lto-streamer.h (lto_varpool_encoder_d): New.
	(lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.	
	(lto_cgraph_encoder_delete, output_cgraph): Update prototype.
	(lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
	lto_varpool_encoder_encode, lto_varpool_encoder_delete,
	lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
	Declare.
	(output_varpool, input_varpool): Remove declarations.

	* lto.c (lto_1_to_1_map): Partition only needed nodes.

From-SVN: r159062
2010-05-05 10:21:42 +00:00
Jan Hubicka
9e0546efa3 lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable with body can prevail.
* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
	with body can prevail.

	* lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
	size.

From-SVN: r159061
2010-05-05 10:20:38 +00:00
Laurynas Biveinis
0277fabf2b Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
2010-05-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to
	dependencies.

	* gengtype.h (erro_at_line): Constify pos argument.

	* gengtype.c: Include hashtab.h.
	(enum gc_used): Document GC_MAYBE_POINTED_TO.
	(error_at_line): Constify pos argument.
	(do_typedef): Initialize p->opt field.
	(get_file_gtfilename): Fix comment typo.
	(struct walk_type_data): Constify line field.
	(get_output_file_for_structure): New function.
	(write_local_func_for_structure): Constify orig_s argument.
	Use get_output_file_for_structure.
	(write_func_for_structure): Use get_output_file_for_structure.
	(INDENT): New define.
	(dump_pair, dump_type, dump_type_list, dump_typekind)
	(dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
	(dump_type_u_a, dump_type_u_param_struct, dump_everything): New
	functions.
	(seen_types): New variable.
	(main): New variable do_dump.  Process "-d" command line option.
	Call dump_everything if dump requested.

From-SVN: r159060
2010-05-05 10:06:37 +00:00
Jakub Jelinek
b0576159e4 Fix up ChangeLog entry.
From-SVN: r159059
2010-05-05 11:26:26 +02:00
Jakub Jelinek
dbb2a2cba8 var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value in a temporary instead of invoking the macro...
* var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
	in a temporary instead of invoking the macro multiple times.
	(track_expr_p): Likewise.

From-SVN: r159058
2010-05-05 11:25:01 +02:00
Janus Weil
371b334e65 re PR fortran/43696 ([OOP] Bogus error: Passed-object dummy argument must not be POINTER)
2010-05-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43696
	* resolve.c (resolve_fl_derived): Some fixes for class variables.
	* symbol.c (gfc_build_class_symbol): Add separate class container for
	class pointers.


2010-05-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43696
	* gfortran.dg/class_17.f03: New.

From-SVN: r159056
2010-05-05 09:44:33 +02:00
Mike Stump
ec6c345e97 re PR objc/35165 (Massive failures of objc on i686-apple-darwin9)
PR objc/35165
	* encode-8.mm: Restore running of testcase, skip for gnu-runtime.

From-SVN: r159055
2010-05-05 03:08:26 +00:00
GCC Administrator
36e74cfb11 Daily bump.
From-SVN: r159054
2010-05-05 00:16:52 +00:00
Neil Vachharajani
650cfcab96 Sanitize the behavior of -Wcoverage-mismatch.
2010-05-04  Neil Vachharajani <nvachhar@google.com>

        * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
        per new semantics.
        * opts.c (decode_options): Enable -Werror=coverage-mismatch.
        * coverage.c (get_coverage_counts): Always emit a warning.  Adjust
        conditions for printing notes.
        * common.opt (-Wcoverage-mismatch): Allow negative, default to
        true, update documentation.
        * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
        * testsuite/gcc.dg/tree-prof/wcoverage-mismatch.c: Adjusted.

From-SVN: r159050
2010-05-04 23:45:58 +00:00
H.J. Lu
55a4607576 Add a testcase for PR target/43668.
2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/43668
	* gcc.target/i386/pr43668.c: New.

From-SVN: r159046
2010-05-04 14:15:35 -07:00
Paolo Carlini
68fef9f904 re PR c++/43028 ([C++0x] internal compiler error in maybe_adjust_types_for_deduction)
/cp
2010-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/43028
	* pt.c (unify): Check each elt for error_mark_node.

/testsuite
2010-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/43028
	* g++.dg/cpp0x/initlist31.C: New.

From-SVN: r159045
2010-05-04 19:22:26 +00:00
Jakub Jelinek
97e3c92355 re PR c/43981 (-Wunused-but-set-variable does not consider array sizing use of a variable)
PR c/43981
	* c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
	on dimen.

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

From-SVN: r159044
2010-05-04 21:08:37 +02:00
Jason Merrill
b5c0a77ec9 re PR c++/38064 ([c++0x] operator== doesn't work for enum classes)
PR c++/38064
	* typeck.c (cp_build_binary_op): Allow enums for <> as well.

From-SVN: r159042
2010-05-04 15:01:13 -04:00
Ralf Wildenhues
13917ae3b9 no-dist in non-imported automake dirs.
libgfortran/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

libgomp/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/libltdl/:
	PR other/43620
	* Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
	* Makefile.in: Regenerate.

libmudflap/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libssp/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.

libstdc++-v3/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.

From-SVN: r159041
2010-05-04 18:58:11 +00:00
H.J. Lu
ade6a9acdb Add clobber CC register to sse_prologue_save patterns.
gcc/

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

	PR target/43799
	* config/i386/i386.md (sse_prologue_save): Add clobber CC
	register.
	(*sse_prologue_save_insn1): Likewise.
	(SSE prologue save splitter): Likewise.

gcc/testsuite/

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

	PR target/43799
	* gcc.target/i386/pr43799.c: New.

From-SVN: r159040
2010-05-04 11:51:29 -07:00
Eric Botcazou
7ef5e86ccb tree.c (free_lang_data_in_one_sizepos): New inline function.
* tree.c (free_lang_data_in_one_sizepos): New inline function.
	(free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
	types.  Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
	(free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
	all decls.  Call it on DECL_FIELD_OFFSET of fields.
	(find_decls_types_r): Follow DECL_VALUE_EXPR.
	(iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.

From-SVN: r159039
2010-05-04 17:47:52 +00:00
Martin Jambor
6cbd3b6a69 tree-sra.c (build_access_from_expr_1): The first parameter type changed to simple tree.
2010-05-04  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (build_access_from_expr_1): The first parameter type
	changed to simple tree.
	(build_access_from_expr): Likewise, gsi parameter was eliminated.
	(scan_assign_result): Renamed to assignment_mod_result, enum elements
	renamed as well.
	(build_accesses_from_assign): Removed all parameters except for a
	simple gimple statement.  Now returns a simple bool.
	(scan_function): All non-analysis parts moved to separate functions
	sra_modify_function_body and ipa_sra_modify_function_body.  Removed all
	parameters and updated both callers.
	(sra_modify_expr): Removed parameter data.
	(sra_modify_function_body): New function.
	(perform_intra_sra): Call sra_modify_function_body to modify the
	function body.
	(replace_removed_params_ssa_names): Parameter data changed into
	adjustments vector.
	(sra_ipa_modify_expr): Likewise.  Also removed unused parameter gsi and
	changed the parameter dont_convert to convert with the opposite
	meaning.
	(sra_ipa_modify_assign): Parameter data changed into adjustments
	vector, return value changed to bool.
	(ipa_sra_modify_function_body): New function.
	(sra_ipa_reset_debug_stmts): Updated a comment.
	(modify_function): Use ipa_sra_modify_function_body to modify function
	body.

From-SVN: r159038
2010-05-04 19:34:01 +02:00
Jan Hubicka
ed24bfdf68 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
From-SVN: r159037
2010-05-04 16:45:58 +00:00
H.J. Lu
2147c71c10 Handle the same VALUE for true dependence.
gcc/

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

	PR middle-end/43671
	* alias.c (true_dependence): Handle the same VALUE in x and mem.
	(canon_true_dependence): Likewise.
	(write_dependence_p): Likewise.

gcc/testsuite/

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

	PR middle-end/43671
	* gcc.target/i386/pr43671.c: New.

From-SVN: r159033
2010-05-04 08:47:25 -07:00
Jan Hubicka
85912441e4 Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
* Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
	* cgraphbuild.c: Include ipa-utils.h
	(record_reference_ctx): New struct.
	(record_reference): Simplify to work on initializers; not statements.
	(mark_address, mark_load, mark_store): New.
	(build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
	walk PHI nodes too.
	(record_references_in_initializer): Update use of record_reference.
	(rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
	walk PHI nodes too.

From-SVN: r159032
2010-05-04 15:42:15 +00:00
Jan Hubicka
688a10c2b9 lto-symtab.c (lto_cgraph_replace_node): Do not remove edges; node will be removed anyway.
* lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
	node will be removed anyway.
	(lto_varpool_replace_node): Allow also unanalyzed nodes;
	relink aliases of node into prevailing node.
	* varpool.c (varpool_remove_node): Remove aliases properly;
	when removing node, remove all its aliases too; remove DECL_INITIAL
	of removed node; ggc_free the varpool node.

From-SVN: r159031
2010-05-04 15:17:10 +00:00