1. 01 May, 2010 1 commit
    • [multiple changes] · 619dea2d
      2010-04-30  Iain Sandoe  <iains@gcc.gnu.org>
      
      	PR objc++/32052
      	* objc-act.c (encode_aggregate_within): Encode structure tags
      	with template args for ObjC++.
      
      2010-04-30  Iain Sandoe <iains@gcc.gnu.org>
      
      	PR objc++/32052
      	* obj-c++.dg/encode-2.mm: Remove XFAIL. Add test for anonymous
      	structure and nested declarations.
      	* obj-c++.dg/encode-3.mm:  Remove XFAIL. Add test for anonymous
      	structure and nested declarations.  Reduce header clutter and
      	use _exit() rather than abort().
      	* objc.dg/encode-10.m: New.
      	* objc.dg/encode-11.m: New.
      
      From-SVN: r158958
      Iain Sandoe committed
  2. 30 Apr, 2010 1 commit
    • toplev.c: Include varray.h for statistics dumping. · 9aae8d16
      gcc/ChangeLog:
      	* toplev.c: Include varray.h for statistics dumping.
      	* tree.h: Do not declare varray_head_tag.
      	* tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
      	regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
      	c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
      	gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
      	lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
      	tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
      	c-common.c, c-common.h, reg-stack.c, basic-block.h,
      	tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
      	include varray.h.
      	* Makefile.in: Update for abovementioned changes.
      
      objc/ChangeLog:
      	* objc-act.c: Do not include varray.h.
      
      objcp/ChangeLog:
      	* objcp-decl.c: Do not include varray.h.
      
      cp/ChangeLog:
      	* optimize.c, parser.c,mangle.c, cp-tree.h: DO not include varray.h.
      	* Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.
      
      From-SVN: r158933
      Steven Bosscher committed
  3. 07 Apr, 2010 3 commits
    • re PR c/18624 (GCC does not detect local variable set but never used) · ebfbbdc5
      	PR c/18624
      	* tree.h (DECL_READ_P): Define.
      	(struct tree_decl_common): Add decl_read_flag.
      	* c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
      	a set but not used warning.
      	(merge_decls): Merge DECL_READ_P flag.
      	(finish_decl, build_compound_literal): Set DECL_READ_P flag.
      	(finish_function): Issue -Wunused-but-set-parameter diagnostics.
      	* c-common.c (handle_used_attribute, handle_unused_attribute):
      	Likewise.
      	* c-tree.h (default_function_array_read_conversion, mark_exp_read):
      	New prototypes.
      	* c-typeck.c (default_function_array_read_conversion, mark_exp_read):
      	New functions.
      	(default_conversion, c_process_expr_stmt): Call mark_exp_read.
      	* c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
      	c_parser_binary_expression, c_parser_cast_expression,
      	c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
      	Call default_function_array_read_conversion instead of
      	default_function_array_conversion where needed.
      	(c_parser_unary_expression, c_parser_conditional_expression,
      	c_parser_postfix_expression_after_primary, c_parser_initelt):
      	Likewise.  Call mark_exp_read where needed.
      	(c_parser_statement_after_labels, c_parser_asm_operands,
      	c_parser_typeof_specifier, c_parser_sizeof_expression,
      	c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
      	where needed.
      	* common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
      	New.
      	* toplev.c (warn_unused_but_set_variable): Default to warn_unused.
      	(warn_unused_but_set_parameter): Default to warn_unused
      	&& extra_warnings.
      	* doc/invoke.texi: Document -Wunused-but-set-variable and
      	-Wunused-but-set-parameter.
      
      	* objc-act.c (finish_var_decl, objc_begin_catch_clause,
      	really_start_method, get_super_receiver, handle_class_ref): Set
      	DECL_READ_P in addition to TREE_USED.
      
      	* gcc.dg/Wunused-var-1.c: New test.
      	* gcc.dg/Wunused-var-2.c: New test.
      	* gcc.dg/Wunused-var-3.c: New test.
      	* gcc.dg/Wunused-var-4.c: New test.
      	* gcc.dg/Wunused-var-5.c: New test.
      	* gcc.dg/Wunused-var-6.c: New test.
      	* gcc.dg/Wunused-parm-1.c: New test.
      
      From-SVN: r158086
      Jakub Jelinek committed
    • re PR objc/35996 (ICE while building simple ObjC code with -fobjc-gc) · b51e84c9
      gcc/objc/Changelog:
      2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
      
      	PR objc/35996
      	* objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
      	-fgnu-runtime and set flag_objc_gc to zero.
      
      testsuite:
      2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
      
      	PR objc/35996
      	* objc.dg/objc-gc-4.m: Run for all targets, prune new warning.
      	* obj-c++.dg/objc-gc-3.mm: Ditto.
      
      From-SVN: r158083
      Iain Sandoe committed
    • re PR objc++/23716 (obj-c++.dg/comp-types-10.mm ICE with the GNU runtime) · 58e0f0d3
      fix PR23716
      
      2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
      
      	PR objc++/23716
      	* objc-act.c (build_module_initializer_routine): Make the argument
      	to objc_start_function NULL_TREE when compiling ObjC++.
      
      2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
      
      	PR objc++/23716
      	* obj-c++.dg/comp-types-10.mm: Remove XFAIL.
      
      From-SVN: r158076
      Iain Sandoe committed
  4. 02 Apr, 2010 1 commit
    • Make-lang.in, [...]: Update copyright years. · c75c517d
      	* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
      	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
      	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
      	config/alpha/predicates.md, config/arm/arm.md,
      	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
      	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
      	config/darwin9.h, config/darwin.c, config/darwin.h,
      	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
      	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
      	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
      	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
      	config/mips/mips.md, config/mn10300/mn10300.c,
      	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
      	config/rs6000/aix.h, config/rs6000/dfp.md,
      	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
      	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
      	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
      	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
      	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
      	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
      	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
      	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
      	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
      	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
      	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
      	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
      	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
      	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
      	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
      	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
      	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
      	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
      	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
      	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
      	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
      	opt-functions.awk, opth-gen.awk, params.def, passes.c,
      	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
      	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
      	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
      	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
      	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
      	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
      	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
      	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
      	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
      	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
      
      From-SVN: r157950
      Steven Bosscher committed
  5. 19 Feb, 2010 1 commit
    • re PR objc/43061 (47 new GCC HEAD@156527 regressions) · b42186f1
              PR objc/43061
              * cgraphunit.c (process_function_and_variable_attributes): Check
      	DECL_PRESERVE_P instead of looking up attribute "used".
              * ipa-pure-const.c (check_decl): Likewise.
              * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
              * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
              * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
              instead of attribute "used".
              * config/sol2-c.c (solaris_pragma_init): Likewise.
              (solaris_pragma_fini): Likewise.
      
      From-SVN: r156907
      Mike Stump committed
  6. 18 Feb, 2010 2 commits
  7. 04 Jan, 2010 1 commit
    • configure.ac: Add install-html to target_list for Make-hooks. · 55bcd32b
      	* configure.ac: Add install-html to target_list for Make-hooks.
      	* configure: Regenerate.
      	* fortran/Make-lang.in (F95_HTMLFILES): New.
      	(fortran.html): Use it.
      	(fortran.install-html): New.
      	* Makefile.in (install-html): Add lang.install-html.
      	* java/Make-lang.in (JAVA_HTMLFILES): New.
      	(java.html): Use it.
      	(java.install-html): New.
      	* objc/Make-lang.in (objc.install-html): New.
      	* objcp/Make-lang.in (obj-c++.install-html): New.
      	* cp/Make-lang.in (c++.install-html): New.
      	* ada/gcc-interface/Make-lang.in (ada.install-html): New.
      	* lto/Make-lang.in (lto.install-html): New.
      
      From-SVN: r155602
      Andrew Jenner committed
  8. 17 Dec, 2009 1 commit
  9. 28 Nov, 2009 2 commits
    • matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. · 0f900dfa
      	* matrix-reorg.c (analyze_matrix_allocation_site): Remove unused
      	malloc_fname variable.
      	(check_allocation_function): Remove unused gsi and bb_level_0
      	variables.
      	(transform_access_sites): Remove unused d_type_size and d_type_size_k
      	variables.
      	* omega.c (resurrect_subs): Remove unused n variable.
      	(omega_solve_geq): Remove unused neweqns variable.
      	* lto-streamer-in.c (lto_read_tree): Remove unused end_marker variable.
      	* tree-inline.c (declare_return_variable): Remove USE_P argument,
      	return use instead of var.
      	(remap_decl, remap_block): Remove unused fn variable.
      	(expand_call_inline): Remove unused retvar variable, adjust
      	declare_return_variable caller.
      	(optimize_inline_calls): Remove unused prev_fn variable.
      	* tree-vect-slp.c (vect_analyze_slp_instance): Remove unused ncopies
      	variable.
      	(vect_create_mask_and_perm): Remove unused group_size and dr_chain_size
      	variables.
      	* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle MINUS_EXPR
      	properly.
      	* tree-vect-loop.c (vect_analyze_loop_form): Remove unused backedge
      	variable.
      	(vect_create_epilog_for_reduction): Remove unused bytesize variable.
      	* omp-low.c (workshare_safe_to_combine_p): Remove par_entry_bb
      	parameter.  Remove unused par_stmt variable.
      	(determine_parallel_type): Adjust workshare_safe_to_combine_p caller.
      	(expand_omp_sections): Remove unused l1 variable.
      	(lower_omp_for): Remove unused ilist variable.
      	* tree-loop-distribution.c (mark_nodes_having_upstream_mem_writes):
      	Remove unused has_upstream_mem_write_p variable.
      	* recog.c (decode_asm_operands): Remove unused noperands variable.
      	* tree-ssa-alias.c (refs_may_alias_p_1): Remove unused size1 and
      	size2 variable.
      	* libgcov.c (__gcov_merge_delta): Remove unused last variable.
      	* tree-call-cdce.c (gen_conditions_for_pow_int_base): Remove unused
      	base_nm variable.
      	(gen_conditions_for_pow): Remove unused ec variable.
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Remove unused size
      	variable.
      	* ipa-struct-reorg.c (program_redefines_malloc_p): Remove unused
      	fndecl variable.
      	* tree-ssa-sink.c (statement_sink_location): Remove unused code
      	variable.
      	* regmove.c (copy_src_to_dest): Remove unused insn_uid and move_uid
      	variables.
      	* tree-complex.c (create_one_component_var): Remove unused inner_type
      	variable.
      	* calls.c (emit_call_1): Don't GEN_INT (struct_value_size)
      	unnecessarily when GEN_*CALL omits that argument.
      	* regrename.c (regrename_optimize): Remove unused regs_seen variable.
      	(build_def_use): Remove unused icode variable.
      	* ipa-pure-const.c (check_call): Remove unused callee and avail
      	variables.
      	* tree-dfa.c (add_referenced_var): Remove unused v_ann variable.
      	* tree-vect-patterns.c (vect_recog_pow_pattern): Remove unused type
      	variable.
      	(vect_pattern_recog): Remove unused stmt variable.
      	* sel-sched-ir.c (make_regions_from_the_rest): Remove unused
      	new_regions variable.
      	* postreload.c (reload_cse_simplify_operands): Remove unused mode
      	variable.
      	* tree-parloops.c (create_call_for_reduction_1): Remove unused
      	addr_type variable.
      	(create_parallel_loop): Remove unused res variable.
      	(gen_parallel_loop): Remove unused nloop variable.
      	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
      	* value-prof.c (gimple_mod_subtract_transform,
      	gimple_stringops_transform): Remove unused value variable.
      	(gimple_stringops_values_to_profile): Remove unused fcode variable.
      	* tree-vrp.c (register_new_assert_for): Remove unused found variable.
      	(vrp_visit_switch_stmt): Remove unused n variable.
      	* tree-vect-stmts.c (vectorizable_conversion): Remove unused expr
      	variable.
      	(vectorizable_operation): Remove unused shift_p variable.
      	(vectorizable_store): Remove unused first_stmt_vinfo variable.
      	* tree-ssa-operands.c (add_stmt_operand): Remove unused v_ann variable.
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove unused bb
      	variable.
      	(vect_permute_store_chain): Remove unused scalar_dest variable.
      	(vect_supportable_dr_alignment): Remove unused invariant_in_outerloop
      	variable.
      	* tree-ssa-threadupdate.c (thread_single_edge): Remove unused
      	local_info variable.
      	* tree-optimize.c (tree_rest_of_compilation): Remove unused node
      	variable.
      	* optabs.c (expand_binop): Remove unused equiv_value variable.
      	(emit_libcall_block): Remove unused prev variable.
      	(init_optabs): Remove unused int_mode variable.
      	* tree-ssa-structalias.c (scc_visit): Remove unused have_ref_node
      	variable.
      	(do_structure_copy): Remove unused lhsbase and rhsbase variables.
      	(find_func_aliases): Remove unused rhstype variable.
      	(ipa_pta_execute): Remove unused varid variable.
      gcc/objc/
      	* objc-act.c (generate_shared_structures): Remove unused sc_spec and
      	decl_specs variables.
      	(objc_build_message_expr): Remove unused loc variable.
      	(objc_finish_message_expr): Remove unused saved_rtype variable.
      	(encode_field_decl): Remove unused type variable.
      gcc/lto/
      	* lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
      	variable.
      
      From-SVN: r154726
      Jakub Jelinek committed
    • re PR objc++/42156 (Hundreds of objc++ testsuite regressions) · 76dcaf33
      	PR obj-c++/42156
      	* objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
      	type variants that don't have it initialized yet.
      
      From-SVN: r154721
      Jakub Jelinek committed
  10. 13 Nov, 2009 1 commit
  11. 14 Sep, 2009 1 commit
  12. 13 Sep, 2009 1 commit
    • langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define. · f9417da1
      2009-09-13  Richard Guenther  <rguenther@suse.de>
      	Rafael Avila de Espindola  <espindola@google.com>
      
      	* langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      	(LANG_HOOKS_INITIALIZER): Adjust.
      	(lhd_pass_through_t): Declare.
      	* langhooks.h (struct lang_hooks): Add eh_runtime_type and
      	eh_personality.
      	* langhooks.c (lhd_pass_through_t): New function.
      
              * dwarf2out.c (output_call_frame_info, dwarf2out_do_cfi_startproc,
      	dwarf2out_begin_prologue): Use personality from current_function_decl.
              * expr.h (get_personality_function): Declare.
      	* expr.c (get_personality_function): New function.
      	(build_personality_function): Likewise.
              * libfuncs.h (libfunc_index): Remove LTI_eh_personality.
              (eh_personality_libfunc): Remove.
              * optabs.c (build_libfunc_function): New function split out from ...
      	(init_one_libfunc): ... here.
              * tree.h (DECL_FUNCTION_PERSONALITY): New.
              (tree_function_decl): Add personality.
      	(lhd_gcc_personality): Declare.
      	(build_personality_function): Likewise.
      	* tree.c (gcc_eh_personality_decl): New.
      	(lhd_gcc_personality): New function.
      	* except.h (lang_eh_runtime_type): Remove.
      	(enum eh_personality_kind): New.
      	(build_personality_function): Declare.
      	(function_needs_eh_personality): Declare.
              * except.c (lang_eh_runtime_type): Remove.
      	(function_needs_eh_personality): New function.
      	(add_type_for_runtime): Call lang_hooks.type_for_runtime instead.
              (sjlj_emit_function_enter, output_function_exception_table):
              Use personality from current_function_decl.
      	* tree-eh.c (lower_eh_constructs): Set DECL_FUNCTION_PERSONALITY.
      	* tree-inline.c (tree_can_inline_p): Do not inline across different
      	EH personalities.
      	(expand_call_inline): Likewise.  Adjust the callers EH personality.
      	(tree_function_versioning): Copy DECL_FUNCTION_PERSONALITY.
      	* cgraph.c (cgraph_add_new_function): Set DECL_FUNCTION_PERSONALITY.
      	* Makefile.in (cgraph.o): Add $(EXCEPT_H) dependency.
      	(c-parser.o): Likewise
      
      	* c-tree.h (c_eh_initialized_p): Remove.
      	(c_maybe_initialize_eh): Likewise.
      	* c-decl.c (finish_decl): Don't call c_maybe_initialize_eh.
      	(finish_decl): Don't call c_maybe_initialize_eh.
      	(c_eh_initialized_p): Remove.
      	(c_maybe_initialize_eh): Likewise.
              * c-parser.c (c_parser_omp_construct): Likewise.
      	(c_parse_file): Initialize exception handling.
      
      	objc/
      	* objc-act.c (objc_eh_runtime_type): Export.
      	(objc_init_exceptions): Remove.  Move warning code ...
      	(objc_begin_try_stmt): ... here
      	(objc_build_throw_stmt): ... and here.
      	(objc_eh_personality_decl): New.
      	(objc_eh_personality): New function.
      	* objc-act.h (objc_eh_runtime_type): Declare.
      	(objc_eh_personality): Likewise.
      	* objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      
      	cp/
      	* except.c (init_exception_processing): Do not set
      	lang_eh_runtime_type.
      	(choose_personality_routine): Do not set eh_personality_decl,
      	set pragma_java_exceptions.
      	* cp-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      	(cp_eh_personality_decl): New.
      	(cp_eh_personality): Likewise.
      	* Make-lang.in (cp-lang.o): Add $(EXPR_H) and $(EXCEPT_H)
      	dependencies.
      
      	java/
      	* decl.c (do_nothing): Remove.
      	(java_init_decl_processing): Do not set lang_eh_runtime_type.
      	* Make-lang.in (lang.o): Add $(EXCEPT_H) dependency.
      	* lang.c (java_eh_personality): New.
      	(java_eh_personality_decl): Likewise.
      	(LANG_HOOKS_EH_PERSONALITY): Define.
      
      	ada/
      	* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set
      	lang_eh_runtime_type.
      	(LANG_HOOKS_EH_PERSONALITY): Define.
      	(gnat_eh_personality_decl): New.
      	(gnat_eh_personality): Likewise.
      	* Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
      	* config-lang.in (gtfiles): Add misc.c.
      
      	fortran/
      	* f95-lang.c (gfc_maybe_initialize_eh): Do not init
      	eh_personality_libfunc.
      
      Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
      
      From-SVN: r151676
      Richard Guenther committed
  13. 03 Sep, 2009 1 commit
    • [multiple changes] · 4537ec0c
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* c-lang.c (lang_hooks): Remove const qualifier.
      
      java/ChangeLog
      
      	* lang.c (lang_hooks): Remove const qualifier.
      
      objc/ChangeLog
      
      	* objc-lang.c (lang_hooks): Remove const qualifier.
      
      objcp/ChangeLog
      
      	* objcp-lang.c (lang_hooks): Remove const qualifier.
      
      ada/ChangeLog
      
      	* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
      
      fortran/ChangeLog
      
      	* f95-lang.c (lang_hooks): Remove const qualifier.
      
      cp/ChangeLog
      
      	* cp-lang.c (lang_hooks): Remove const qualifier.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_node_for_decl): New.
      	* cgraph.h (cgraph_node_for_decl): Declare.
      	* tree.c (host_integerp): Return 0 if T is NULL.
      
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* tree.h (struct alias_pair): Move from varasm.c.
      	(alias_pairs): Likewise.
      	(TYPE_MAXVAL): Define.
      	(TYPE_MINVAL): Define.
      	(iterative_hash_host_wide_int): Declare.
      	(remove_unreachable_alias_pairs): Declare.
      	* tree-pass.h (pass_ipa_free_lang_data): Declare.
      	* diagnostic.c (default_diagnostic_starter): Make extern.
      	(default_diagnostic_finalizer): Make extern.
      	* diagnostic.h (default_diagnostic_starter): Declare.
      	(default_diagnostic_finalizer): Declare.
      	(default_tree_printer): Declare.
      	* toplev.c (default_tree_printer): Make extern.
      
      
      2009-09-01  Richard Guenther  <rguenther@suse.de>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_add_new_function): Remove gimplification.
      	* cgraphunit.c (cgraph_expand_function): Do not emit
      	associated thunks from here.
      	(cgraph_emit_thunks): New.
      	(cgraph_optimize): Call it.
      	Return if any IPA pass finds an error.
      	* varasm.c (finish_aliases_1): Ignore errorneous aliases used
      	by thunks.
      
      
      2009-09-01  Simon Baldwin  <simonb@google.com>
      	    Rafael Espindola  <espindola@google.com>
      	    Richard Guenther  <rguenther@suse.de>
      	    Doug Kwan  <dougkwan@google.com>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* tree.c: Include tree-pass.h, langhooks-def.h,
      	diagnostic.h, cgraph.h, timevar.h, except.h and debug.h.
      	(free_lang_data_in_type): New.
      	(need_assembler_name_p): New.
      	(free_lang_data_in_block): New.
      	(free_lang_data_in_decl): New.
      	(struct free_lang_data_d): New.
      	(add_tree_to_fld_list): New.
      	(find_decls_types_r): New.
      	(get_eh_types_for_runtime): New.
      	(find_decls_types_in_eh_region): New.
      	(find_decls_types_in_node): New.
      	(find_decls_types_in_var): New.
      	(free_lang_data_in_cgraph): New.
      	(free_lang_data): New.
      	(gate_free_lang_data): New.
      	(pass_ipa_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* timevar.def (TV_IPA_FREE_LANG_DATA): Define.
      	* langhooks.h (struct lang_hooks): Add field free_lang_data.
      	(lang_hooks): Remove const qualifier.
      	* ipa.c (cgraph_remove_unreachable_nodes): Call
      	remove_unreachable_alias_pairs.
      	* except.c (add_type_for_runtime): Check if TYPE has
      	already been converted.
      	(lookup_type_for_runtime): Likewise.
      	(check_handled): Handle converted types.
      	* varasm.c (remove_unreachable_alias_pairs): New.
      	* gimple.c: Include demangle.h.
      	(gimple_decl_printable_name): New.
      	(gimple_fold_obj_type_ref): New.
      	* gimple.h (gimple_decl_printable_name): Declare.
      	(gimple_fold_obj_type_ref): Declare.
      	* passes.c (init_optimization_passes): Add pass
      	pass_ipa_free_lang_data.
      	* langhooks-def.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_FREE_LANG_DATA.
      
      testsuite/ChangeLog
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* gcc.dg/gomp/combined-1.c: Adjust expected pattern.
      	* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
      	* g++.dg/warn/unit-1.C: Likewise.
      	* g++.dg/ipa/iinline-1.C: Likewise.
      	* g++.dg/template/cond2.C: Adjust expected line location for the
      	error.
      	* g++.dg/template/pr35240.C: Likewise.
      
      
      cp/ChangeLog
      
      2009-09-01  Doug Kwan  <dougkwan@google.com>
      
      	* tree.c (cp_fix_function_decl_p): New.
      	(cp_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
      	* decl2.c: Include pointer-set.h.
      	(collect_candidates_for_java_method_aliases): New.
      	(cp_write_global_declarations): Call it.
      	Add local variable CANDIDATES.  If set, call
      	build_java_method_aliases.
      	(build_java_method_aliases): Add argument CANDIDATES.
      	Use it to determine if FNDECL should get a hidden alias.
      	* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	* cp-tree.h (cp_free_lang_data): Declare.
      
      2009-09-03  Richard Guenther  <rguenther@suse.de>
      
      	* method.c (use_thunk): Use cgraph_finalize_function to hand
      	off thunks to the cgraph.
      	* semantics.c (emit_associated_thunks): Do not emit thunks
      	for really extern functions.
      
      From-SVN: r151360
      Diego Novillo committed
  14. 20 Aug, 2009 1 commit
    • c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not define. · 29cc57cf
      2009-08-20  Richard Guenther  <rguenther@suse.de>
      
      	* c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not
      	define.
      	* c-tree.h (c_dup_lang_specific_decl): Remove.
      	(struct lang_decl, struct lang_type): Move definitions ...
      	* c-lang.h: ... here.  New file.
      	* c-decl.c: Include c-lang.h.
      	(c_dup_lang_specific_decl): Remove.
      	* c-typeck.c: Include c-lang.h.
      	* Makefile.in (c-decl.o): Add c-lang.h dependency.
      	(c-typeck.o): Likewise.
      	* c-config-lang.in (gtfiles): Add c-lang.h.
      	* gengtype.c (get_output_file_with_visibility): Handle c-lang.h
      	like c-tree.h.
      
      	objc/
      	* objc-act.c: Include c-lang.h
      	* Make-lang.in (objc/objc-act.o): Add c-lang.h dependency.
      
      From-SVN: r150966
      Richard Guenther committed
  15. 16 Jul, 2009 1 commit
    • re PR c/40435 (Revision 148442 caused many regressions on trunk) · db3927fb
      2009-07-17  Aldy Hernandez  <aldyh@redhat.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR 40435 
      	* tree-complex.c, tree-loop-distribution.c,
      	tree.c, tree.h, builtins.c, fold-const.c, omp-low.c,
      	cgraphunit.c, tree-ssa-ccp.c, tree-ssa-dom.c,
      	gimple-low.c, expr.c, tree-ssa-ifcombine.c, c-decl.c,
      	stor-layout.c, tree-if-conv.c, c-typeck.c,
      	gimplify.c, calls.c, tree-sra.c, tree-mudflap.c,
      	tree-ssa-copy.c, tree-ssa-forwprop.c, c-convert.c, c-omp.c,
      	varasm.c, tree-inline.c, c-common.c,
      	c-common.h, gimple.c, tree-switch-conversion.c, gimple.h,
      	tree-cfg.c, c-parser.c, convert.c: Add location
      	argument to fold_{unary,binary,ternary}, fold_build[123],
      	build_call_expr, build_size_arg, build_fold_addr_expr,
      	build_call_array, non_lvalue, size_diffop,
      	fold_build1_initializer, fold_build2_initializer,
      	fold_build3_initializer, fold_build_call_array,
      	fold_build_call_array_initializer, fold_single_bit_test,
      	omit_one_operand, omit_two_operands, invert_truthvalue,
      	fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref,
      	combine_comparisons, fold_builtin_*, fold_call_expr,
      	build_range_check, maybe_fold_offset_to_address, round_up,
      	round_down.
      objc/
      	* objc-act.c: Add location argument to all calls to
      	build_fold_addr_expr.
      testsuite/
      	* gcc.dg/pr36902.c: Add column info.
      	* g++.dg/gcov/gcov-2.C: Change count for definition.
      cp/
      	* typeck.c, init.c, class.c, method.c, rtti.c, except.c, error.c,
      	tree.c, cp-gimplify.c, cxx-pretty-print.c, pt.c, semantics.c,
      	call.c, cvt.c, mangle.c: Add location argument to
      	fold_{unary,binary,ternary}, fold_build[123], build_call_expr,
      	build_size_arg, build_fold_addr_expr, build_call_array,
      	non_lvalue, size_diffop, fold_build1_initializer,
      	fold_build2_initializer, fold_build3_initializer,
      	fold_build_call_array, fold_build_call_array_initializer,
      	fold_single_bit_test, omit_one_operand, omit_two_operands,
      	invert_truthvalue, fold_truth_not_expr, build_fold_indirect_ref,
      	fold_indirect_ref, combine_comparisons, fold_builtin_*,
      	fold_call_expr, build_range_check, maybe_fold_offset_to_address,
      	round_up, round_down.
      fortran/
      	* trans-expr.c, trans-array.c, trans-openmp.c, trans-stmt.c,
      	trans.c, trans-io.c, trans-decl.c, trans-intrinsic.c: Add location
      	argument to fold_{unary,binary,ternary}, fold_build[123],
      	build_call_expr, build_size_arg, build_fold_addr_expr,
      	build_call_array, non_lvalue, size_diffop,
      	fold_build1_initializer, fold_build2_initializer,
      	fold_build3_initializer, fold_build_call_array,
      	fold_build_call_array_initializer, fold_single_bit_test,
      	omit_one_operand, omit_two_operands, invert_truthvalue,
      	fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref,
      	combine_comparisons, fold_builtin_*, fold_call_expr,
      	build_range_check, maybe_fold_offset_to_address, round_up,
      	round_down.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r149722
      Aldy Hernandez committed
  16. 14 Jul, 2009 1 commit
    • sourcebuild.texi: Document install-plugin target. · 2a4c0366
      2009-07-14  Taras Glek  <tglek@mozilla.com>
      	    Rafael Espindola  <espindola@google.com>
      
      	* doc/sourcebuild.texi: Document install-plugin target.
      	* configure.ac: Added install-plugin target to language makefiles.
      	* configure: Regenerate.
      	* Makefile.in: (install-plugin): Install more headers,
      	depend on lang.install-plugin.
      
      ada/ChangeLog
      
      	* gcc-interface/Make-lang.in (ada.install-plugin): New target for
      	installing plugin headers.
      
      cp/ChangeLog
      
      	* Make-lang.in: Added CP_PLUGIN_HEADERS and
      	c.install-target to export cp-tree.h cxx-pretty-print.h
      	name-lookup.h headers for plugins.
      
      fortran/ChangeLog
      
      	* Make-lang.in (fortran.install-plugin): New target for
      	installing plugin headers.
      
      java/ChangeLog
      
      	* Make-lang.in (java.install-plugin): New target for
      	installing plugin headers.
      
      objc/ChangeLog
      
      	* Make-lang.in (objc.install-plugin): New target for
      	installing plugin headers.
      
      objcp/ChangeLog
      
      	* Make-lang.in (obj-c.install-plugin): New target for
      	installing plugin headers.
      
      
      
      Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
      
      From-SVN: r149648
      Taras Glek committed
  17. 07 Jul, 2009 3 commits
    • tree.c (set_expr_locus): Remove. · 5e278028
      2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* tree.c (set_expr_locus): Remove.
      	* tree.h (EXPR_LOCUS,SET_EXPR_LOCUS,set_expr_locus): Remove.
      	* c-typeck.c (c_finish_stmt_expr):  Replace EXPR_LOCUS by
      	EXPR_LOCATION.
      	* gimplify.c (internal_get_tmp_var): Likewise.
      	(gimplify_call_expr): Likewise.
      	(gimplify_one_sizepos): Likewise.
      objc/
      	* objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
      	EXPR_LOCATION.
      cp/	
      	* semantics.c (finalize_nrv_r): Replace EXPR_LOCUS by
      	EXPR_LOCATION.
      ada/
      	* gcc-interface/trans.c (gnat_gimplify_expr):  Replace EXPR_LOCUS by
      	EXPR_LOCATION.
      
      From-SVN: r149350
      Manuel López-Ibáñez committed
    • cgraphunit.c: Replace %J by an explicit location. · c5d75364
      2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* cgraphunit.c: Replace %J by an explicit location. Update all
      	calls.
      	* c-decl.c: Likewise.
      	* function.c: Likewise.
      	* varasm.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* c-common.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/v850/v850.c: Likewise.
      java/	
      	* class.c: Replace %J by an explicit location. Update all calls.
      objc/	
      	* objc-act.c: Replace %J by an explicit location. Update all
      	calls.
      cp/
      	* init.c: Replace %J by an explicit location. Update all calls.
      	* decl.c: Likewise.
      	* typeck2.c: Likewise.
      	* pt.c: Likewise.
      	* name-lookup.c: Likewise.
      
      From-SVN: r149312
      Manuel López-Ibáñez committed
    • c-lex.c: Replace %H by an explicit location. · fab922b1
      2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c-lex.c: Replace %H by an explicit location. Update all calls.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-typeck.c: Likewise.
      	* fold-const.c: Likewise.
      	* gimplify.c: Likewise.
      	* stmt.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* value-prof.c: Likewise.
      java/
      	* jcf-parse.c: Replace %H by an explicit location. Update all calls.
      objc/
      	* objc-act.c: Replace %H by an explicit location. Update all calls.
      testsuite/
      	* gcc.dg/plugin/selfassign.c: Replace %H by an explicit
      	location. Update all calls.
      	* g++.dg/plugin/selfassign.c: Likewise.
      
      From-SVN: r149310
      Manuel López-Ibáñez committed
  18. 22 Jun, 2009 1 commit
    • re PR objc++/28050 (ICE on invalid initializer) · 0a7d7dea
      gcc/
      2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>
      
              PR objc/28050
              * c-parser.c (c_parser_objc_message_args): Return error_mark_node
              instead of NULL if a parser error occurs.
      
      gcc/objc/
      2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>
      
              PR objc/28050
              * objc-act.c (objc_build_message_args): Return if ARGS is the
              error_mark_node.
      
      gcc/testsuite/
      2009-06-22  Matthias Klose  <doko@ubuntu.com>
      
              PR objc/28050
              * pr28050.m: New testcase.
      
      From-SVN: r148804
      Matthias Klose committed
  19. 19 Jun, 2009 1 commit
    • dse.c (struct store_info): Rename bitmap field to bmap. · dc491a25
      ./:	* dse.c (struct store_info): Rename bitmap field to bmap.  Change
      	all uses.
      
      	* c-decl.c (in_struct, struct_types): Remove.
      	(struct c_binding): Add in_struct field.
      	(c_binding_ptr): Define type, along with VEC.
      	(struct c_struct_parse_info): Define.
      	(struct_parse_info): New static variable.
      	(bind): Initialize in_struct field.
      	(start_struct): Remove enclosing_in_struct and
      	enclosing_struct_types parameters.  Add
      	enclosing_struct_parse_info parameter.  Change all callers.  Set
      	struct_parse_info rather than in_struct and struct_types.
      	(grokfield): If -Wc++-compat and there is a symbol binding for the
      	field name, set the in_struct flag and push it on the
      	struct_parse_info->fields vector.
      	(warn_cxx_compat_finish_struct): New static function.
      	(finish_struct): Remove enclosing_in_struct and
      	enclosing_struct_types parameters.  Add
      	enclosing_struct_parse_info parameter.  Change all callers.  Don't
      	set C_TYPE_DEFINED_IN_STRUCT here.  Call
      	warn_cxx_compat_finish_struct.  Free struct_parse_info and set to
      	parameter.  Only push on struct_types if warn_cxx_compat.
      	(finish_enum): Only push on struct_types if warn_cxx_compat.
      	(declspecs_add_type): Add loc parameter.  Change all callers.
      	Change all error calls to error_at.  Pass loc, not input_location,
      	to pedwarn calls.  Warn if -Wc++-compat and a typedef name is
      	defined in a struct.  If -Wc++-compat and parsing a struct, record
      	that a typedef name was used.
      	* c-parser.c (c_parser_declspecs): Get location to pass to
      	declspecs_add_type.
      	(c_parser_struct_or_union_specifier): Update calls to start_struct
      	and finish_struct.
      	* c-tree.h (struct c_struct_parse_info): Declare.
      	(finish_struct, start_struct): Update declarations.
      	(declspecs_add_type): Update declaration.
      objc/:
      	* objc-act.c (objc_in_struct, objc_struct_types): Remove.
      	(objc_struct_info): New static variable.
      	(objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
      	and &objc_struct_types, to start_struct.
      	(objc_finish_struct): Likewise for finish_struct.
      objcp/:
      	* objcp-decl.h (start_struct): Remove in_struct and struct_types
      	parameters.  Add struct_info parameter.
      	(finish_struct): Likewise.
      testsuite/:
      	* gcc.dg/Wcxx-compat-15.c: New testcase.
      
      From-SVN: r148709
      Ian Lance Taylor committed
  20. 16 Jun, 2009 1 commit
    • df-problems.c (df_simulate_one_insn_forwards): Fix braces in switch. · e1b7793c
      ./:	* df-problems.c (df_simulate_one_insn_forwards): Fix braces in
      	switch.
      	* gcov.c (read_count_file): Add braces around variables declared
      	before label.
      
      	* c.opt (Wjump-misses-init): New warning.
      	* c-opts.c (c_common_handle_option): Set warn_jump_misses_init for
      	-Wall and -Wc++-compat if not already set.
      	(c_common_post_options): Clear warn_jump_misses_init if it was not
      	set.
      	* c-decl.c (struct c_binding): Change type field to a union with
      	new label field.  Make it the first field in the struct.  Update
      	references to type to use u.type instead.
      	(struct c_spot_bindings): Define.
      	(struct c_goto_bindings): Define.
      	(c_goto_bindings_p): Define, along with VECs.
      	(struct c_label_vars): Define.
      	(struct c_scope): Add has_label_bindings field.
      	(bind_label, set_spot_bindings): New static functions.
      	(decl_jump_unsafe, update_spot_bindings): New static functions.
      	(update_label_decls): New static function.
      	(pop_scope): Call update_label_decls.  Don't call c_end_vm_scope.
      	Update binding u.label field to shadowed field.
      	(c_binding_start_stmt_expr): New function.
      	(c_binding_end_stmt_expr): New function.
      	(pushdecl): Don't call c_begin_vm_scope.
      	(make_label): Add defining and p_label_vars parameters.  Change
      	all callers.
      	(lookup_label): Correct test for whether a label has not yet been
      	defined.  Call bind_label rather than bind.
      	(warn_about_goto): New static function.
      	(lookup_label_for_goto): New function.
      	(declare_label): Call bind_label rather than bind.
      	(check_earlier_gotos): New static function.
      	(define_label): Don't give errors about jumping into statement
      	expressions or scopes of variably modified types.  Call
      	set_spot_bindings and check_earlier_gotos.  Call bind_label
      	instead of bind.  Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(c_get_switch_bindings): New function.
      	(c_release_switch_bindings): New function.
      	(c_check_switch_jump_warnings): New function.
      	(start_function): Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(finish_function): Likewise.
      	* c-typeck.c (label_context_stack_se): Don't define.
      	(label_context_stack_vm): Don't define.
      	(c_finish_goto_label): Call lookup_label_for_goto rather than
      	lookup_label.  Don't give errors about jumping into a statement
      	expression or the scope of a variably modified type.  Don't set
      	label_context_stack_se or label_context_stack_vm.
      	(struct c_switch): Remove blocked_stmt_expr and blocked_vm
      	fields.  Add bindings field.
      	(c_start_case): Don't set deleted fields.  Set bindings field.
      	(do_case): Rework order of tests.  Don't check blocked_stmt_expr
      	or blocked_vm.  Call c_check_switch_jump_warnings.
      	(c_finish_case): Don't test blocked_stmt_expr field.  Call
      	c_release_switch_bindings.
      	(c_begin_stmt_expr): Don't increment blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_start_stmt_expr.
      	(c_finish_stmt_expr): Don't decrement blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_end_stmt_expr.
      	(c_begin_vm_scope, c_end_vm_scope): Don't define.
      	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNDEFINABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNJUMPABLE_VM): Don't define.
      	(C_DECL_UNDEFINABLE_VM): Don't define.
      	(struct c_label_list): Don't define.
      	(struct c_label_context_se): Don't define.
      	(struct c_label_context_vm): Don't define.
      	(struct c_spot_bindings): Declare.
      	(c_bindings_start_stmt_expr): Declare.
      	(c_bindings_end_stmt_expr): Declare.
      	(lookup_label_for_goto): Declare.
      	(c_get_switch_bindings, c_release_switch_bindings): Declare.
      	(c_check_switch_jump_warnings): Declare.
      	(label_context_stack_se, label_context_stack_vm): Don't declare.
      	(c_finish_goto_label): Update declaration.
      	(c_begin_vm_scope, c_end_vm_scope): Don't declare.
      	* doc/invoke.texi (Option Summary): Mention -Wjump-misses-init.
      	(Warning Options): Document -Wjump-misses-init.
      cp/:
      	* parser.c (cp_parser_direct_declarator): Add braces around
      	variables declared before label.
      objc/:
      	* objc-act.c (objc_start_function): Don't set
      	label_context_stack_se or label_context_stack_vm.
      testsuite/:
      	* gcc.dg/Wjump-misses-init-1.c: New testcase.
      	* gcc.dg/Wjump-misses-init-2.c: New testcase.
      	* gcc.dg/c99-vla-jump-5.c: Adjust expected error messages.
      	Recognize new notes.
      	* gcc.dg/stmt-expr-label-2.c: Likewise.
      	* gcc.dg/c99-vla-jump-1.c: Recognize new notes.  Fix column
      	numbers.
      	* gcc.dg/c99-vla-jump-2.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-3.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-4.c: Likewise.
      	* gcc.dg/stmt-expr-label-1.c: Likewise.
      	* gcc.dg/stmt-expr-label-3.c: Likewise.
      	* gcc.dg/vla-8.c: Likewise.  Move error message to different
      	line.
      
      From-SVN: r148512
      Ian Lance Taylor committed
  21. 12 Jun, 2009 1 commit
    • java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. · c2255bc4
      gcc/java/
      	* java-gimplify.c (java_gimplify_block): New argument to
      	build_empty_stmt.
      	* expr.c (force_evaluation_order): Same.
      	* typeck.c: Add location to build_decl or PUSH_FIELD calls.
      	* class.c: Same.
      	* decl.c: Same.
      	* jcf-parse.c: Same.
      	* constants.c: Same.
      	* resource.c: Same.
      	* except.c: Same.
      	* builtins.c: Same.
      	* expr.c: Same.
      	* java-tree.h (PUSH_FIELD): Add location field.
      gcc/objc/
      	* objc-act.c (finish_var_decl): Pass location to finish_decl.
      	(objc_get_parm_info): Same.
      	(get_super_receiver): Same.
      	* objc-act.c (objc_build_component_ref): Pass location to
      	build_compound_ref.
      	(build_module_initializer_routine): Pass location to
      	c_end_compound_stmt.
      	(objc_generate_static_init_call): Pass location to build_stmt.
      	(build_typed_selector_reference): New location argument.
      	(build_selector_reference): Same.
      	(objc_substitute_decl): Pass location to build_array_ref.
      	(next_sjlj_build_try_catch_finally): Pass location to build_stmt.
      	(objc_begin_catch_clause): Same.
      	(objc_finish_try_stmt): Same.
      	(objc_finish_catch_clause): Pass location to c_end_compound_stmt.
      	(objc_build_throw_stmt): New argument.
      	(generate_shared_structures): Pass location to build_c_cast.
      	(objc_build_message_expr): Use local location.
      	(objc_finish_message_expr): Use input_location.
      	(build_objc_method_call): New argument.
      	(objc_build_selector_expr): Same.
      	(get_super_receiver): Pass location to build_c_cast,
      	build_modify_expr, build_compound_expr.
      	* objc-act.c: Add location to all calls to start_struct, build_decl,
      	finish_struct.
      gcc/
      	* tree-pretty-print.c (dump_generic_node): Dump column numbers.
      	* gimple-pretty-print.c (dump_gimple_stmt): Same.
      	* gimplify.c (gimplify_modify_expr): Set location for GIMPLE_ASSIGNs
      	created.
      	* c-parser.c (c_parser_binary_expression): Use current column while
      	building binary operations.
      	* common.opt (fshow-column): Enable by default.
      	* tree-vrp.c (check_array_ref): Use warning_at.
      	(check_array_bounds): Use location from call back if expr has no
      	location.
      	* tree.h: Add location argument to maybe_fold_*.
      	* tree-ssa-ccp.c (ccp_fold): Pass location to maybe_fold_*.
      	(maybe_fold_offset_to_array_ref): Add location argument and use it.
      	(maybe_fold_offset_to_component_ref): Same.
      	(maybe_fold_offset_to_reference): Same.
      	(maybe_fold_offset_to_address): Same.
      	(maybe_fold_stmt_indirect): Same.
      	(maybe_fold_stmt_addition): Same.
      	(fold_stmt_r): Pass location to maybe_fold_*.
      	(fold_gimple_assign): Same.
      	* c-tree.h: Add location argument to finish_decl,
      	default_function_array_conversion, store_init_value.
      	* c-decl.c (define_label): Use error_at.
      	(c_make_fname_decl): Pass location to finish_decl.
      	(finish_decl): New location argument.
      	(build_compound_literal): Pass location to store_init_value.
      	(grokdeclarator): Pass location to finish_decl.
      	(grokfield): Same.
      	* c-typeck.c (array_to_pointer_conversion): New location argument.
      	(function_to_pointer_conversion): Same.
      	(default_function_array_conversion): Same.
      	(parser_build_unary_op): Pass location to overflow_warning.
      	(parser_build_binary_op): Same.  Use warning_at.
      	(build_unary_op): Pass location to array_to_pointer_conversion.
      	(build_c_cast): Pass location to digest_init.
      	(build_modify_expr): New location argument.
      	(convert_for_assignment): Same.
      	(store_init_value): Same.
      	(digest_init): Same.
      	(output_init_element): Pass location to digest_init and
      	array_to_pointer_conversion.
      	(c_finish_return): Pass location to convert_for_assignment.
      	* gimplify.c (gimplify_conversion): Pass location to
      	maybe_fold_offset_to_address.
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Pass location
      	to maybe_fold_stmt_addition.
      	* c-omp.c (c_finish_omp_atomic): Pass new location to
      	build_modify_expr.
      	(c_finish_omp_for): Same.
      	* c-common.c (overflow_warning): New argument.
      	* c-common.h: New argument to build_modify_expr, overflow_warning.
      	* c-parser.c (c_parser_declaration_or_fndef): Pass location to
      	finish_decl.
      	(c_parser_initializer): Pass location to
      	default_function_array_conversion.
      	(c_parser_initelt): Same.
      	(c_parser_initval): Same.
      	(c_parser_asm_operands): Same.
      	(c_parser_expr_no_commas): Same.  Pass location to build_modify_expr.
      	(c_parser_conditional_expression): Same.
      	(c_parser_binary_expression): Add location info to stack.  Use it.
      	(c_parser_unary_expression): Pass location to
      	default_function_array_conversion, parser_build_unary_op,
      	build_indirect_ref, c_parser_postfix_expression_after_primary.
      	(c_parser_postfix_expression_after_primary): New location argument.
      	Use it.
      	(c_parser_expression_conv): Pass location to
      	default_function_array_conversion.
      	(c_parser_expr_list): Same.
      	(c_parser_omp_atomic): Same.
      	(c_parser_omp_for_loop): Same.
      	* c-tree.h: (struct c_declarator): Add comment to id_loc.
      	(build_array_declarator): New argument.
      	* c-decl.c (build_array_declarator): Add location argument.
      	(grokdeclarator): Set id_loc for cdk_array.
      	* c-parser.c (c_parser_direct_declarator_inner): Pass location to
      	build_array_declarator.
      	* tree.c (build_omp_clause): Add location argument.
      	* tree.h (OMP_CLAUSE_HAS_LOCATION): New macro.
      	(OMP_CLAUSE_LOCATION): New macro.
      	(struct tree_omp_clause): Add location field.
      	(build_omp_clause): Add argument.
      	* testsuite/gcc.dg/gomp/for-1.c: Fix column.
      	* cp/pt.c (tsubst_omp_for_iterator): Pass location to
      	build_omp_clause.
      	* cp/parser.c (cp_parser_omp_var_list_no_open): Same.
      	(cp_parser_omp_clause_collapse): Same.
      	(cp_parser_omp_clause_default): Same.
      	(cp_parser_omp_clause_if): Same.
      	(cp_parser_omp_clause_nowait): Same.
      	(cp_parser_omp_clause_num_threads): Same.
      	(cp_parser_omp_clause_ordered): Same.
      	(cp_parser_omp_clause_schedule): Same.
      	(cp_parser_omp_clause_untied): Same.
      	(cp_parser_omp_for_loop): Same.
      	(cp_parser_omp_parallel): Pass location to c_split_parallel_clauses.
      	* c-tree.h (c_start_case): Add location argument.
      	(c_process_expr_stmt): Same.
      	(c_finish_goto_*): Same.
      	* tree-parloops.c (initialize_reductions): Pass location to
      	build_omp_clause.
      	(create_parallel_loop): Same.
      	* fortran/trans-openmp.c (gfc_trans_omp_variable_list): Same.
      	(gfc_trans_omp_reduction_list): Same.
      	(gfc_trans_omp_clauses): Same.
      	(gfc_trans_omp_do): Same.
      	* c-typeck.c (c_finish_goto_label): Same.
      	(c_finish_goto_ptr): New location argument.
      	(c_start_case): Same.
      	(emit_side_effect_warnings): Same.
      	(c_process_expr_stmt): Same.
      	(c_finish_stmt_expr): Same.
      	(c_finish_omp_clauses): Use error_at instead of error.
      	* gimplify.c (gimplify_adjust_omp_clauses_1): Pass location to
      	build_omp_clause.
      	* c-omp.c (c_split_parallel_clauses): New location argument.
      	* tree-nested.c (convert_nonlocal_reference_stmt): Pass location
      	to build_omp_clause.
      	(convert_local_reference_stmt): Same.
      	(convert_gimple_call): Same.
      	* c-common.h (c_split_parallel_clauses): New argument.
      	* c-parser.c (c_parser_statement_after_labels): Pass location to
      	c_finish_goto_label.
      	(c_parser_switch_statement): Pass location to c_start_case.
      	(c_parser_for_statement): Pass location to c_finish_expr_stmt,
      	and c_process_expr_stmt.
      	(c_parser_omp_variable_list): Add location argument.
      	(c_parser_omp_clause_collapse): Pass location to
      	build_omp_clause.
      	(c_parser_omp_clause_default): Same.
      	(c_parser_omp_clause_if): Same.
      	(c_parser_omp_clause_num_threads): Same.
      	(-c_parser_omp_clause_ordered): Same.
      	(c_parser_omp_clause_reduction): Pass location to
      	c_parser_omp_variable_list.
      	(c_parser_omp_clause_schedule): Pass location to build_omp_clause.
      	(c_parser_omp_clause_untied): Same.
      	(c_parser_omp_for_loop): Pass location to c_process_expr_stmt.
      	(c_parser_omp_parallel): Pass location to
      	c_split_parallel_clauses.
      	* c-tree.h (check_for_loop_decls, undeclared_variable,
      	build_component_ref, build_array_ref, build_external_ref,
      	c_expr_sizeof_expr, c_expr_sizeof_type, parser_build_unary_op,
      	build_conditional_expr, build_compound_expr, c_cast_expr,
      	build_c_cast, build_asm_expr, c_end_compound_stmt, c_finish_stmt_expr,
      	c_finish_return, c_finish_omp_parallel, c_finish_omp_task): New
      	argument.
      	* c-semantics.c (build_stmt): Same.
      	(build_case_label): Same.
      	* c-decl.c (c_finish_incomplete_decl): Pass location on down.
      	(undeclared_variable): New argument.
      	(make_label): Same.
      	(lookup_label): Pass location on down.
      	(define_label): Same.
      	(finish_decl): Same.
      	(build_compound_literal): Same.
      	(finish_struct): Same.
      	(finish_function): Do not set location here.
      	(check_for_loop_decls): New argument.
      	* tree.c (save_expr): Set location.
      	(build_empty_stmt): New argument.
      	* tree.h (build_empty_stmt): New argument to build_empty_stmt.
      	(CAN_HAVE_LOCATION_P): Make sure we have a non empty node.
      	* builtins.c (gimplify_va_arg_expr): Use locations.
      	(expand_builtin_sync_operation): Same.
      	* c-typeck.c (build_component_ref): New argument.
      	(build_array_ref): Same.
      	(build_external_ref): Same.
      	(c_expr_sizeof_expr): Same.
      	(c_expr_sizeof_type): Same.
      	(parser_build_unary_op): Same.
      	(build_conditional_expr): Same.
      	(build_compound_expr): Pass location on down.
      	(build_compound_expr): New argument.
      	(build_c_cast): Same.
      	(c_cast_expr): Same.
      	(build_asm_expr): Same.
      	(c_finish_return): Same.
      	(c_process_expr_stmt): Pass location on down.
      	(c_finish_stmt_expr): New argument.
      	(push_clenaup): Same.
      	(c_finish_omp_parallel): Same.
      	(c_finish_omp_task): Same.
      	* gimplify.c (gimplify_call_expr): Pass location on down.
      	* c-omp.c (c_finish_omp_master): New argument.
      	(c_finish_omp_critical): Same.
      	(c_finish_omp_ordered): Same.
      	(c_finish_omp_barrier): Same.
      	(-c_finish_omp_taskwait): Same.
      	(c_finish_omp_atomic): Same.
      	(c_finish_omp_flush): Same.
      	* tree-inline.c (copy_tree_body_r): Pass location on down.
      	(inline_forbidden_p): Remove use of input_location.
      	* c-gimplify.c (c_build_bind_expr): New argument.
      	* c-common.c (c_common_truthvalue_conversion): Pass location on down.
      	(c_sizeof_or_alignof_type): New argument.
      	(c_alignof_expr): Same.
      	(build_va_arg): Same.
      	(c_add_case_label): Same.
      	* c-common.h (c_sizeof_or_alignof_type, c_alignof_expr,
      	c_sizeof, c_alignof, build_va_arg, build_stmt, build_case_label,
      	c_build_bind_expr, objc_build_selector_expr, objc_build_throw_stmt,
      	c_finish_omp_master, c_finish_omp_critical, c_finish_omp_ordered,
      	c_finish_omp_barrier, c_finish_omp_atomic, c_finish_omp_flush,
      	c_finish_omp_taskwait, c_finish_omp_for, c_split_parallel_clauses):
      	New argument.
      	* stub-objc.c (objc_build_selector_expr): Same.
      	(objc_build_throw_stmt): Same.
      	* c-parser.c (c_parser_declaration_or_fndef): Pass location on down.
      	(c_parser_initelt): Same.
      	(c_parser_compound_statement): Same.
      	(c_parser_compound_statement_nostart): Same.
      	(c_parser_label): Same.
      	(c_parser_statement_after_labels): Same.
      	(c_parser_if_body): Same.
      	(c_parser_else_body): Same.
      	(c_parser_if_statement): Same.
      	(c_parser_switch_statement): Same.
      	(c_parser_while_statement): Same.
      	(c_parser_do_statement): Same.
      	(c_parser_for_statement): Same.
      	(c_parser_asm_statement): Same.
      	(c_parser_conditional_expression): Same.
      	(c_parser_binary_expression): Same.
      	(c_parser_cast_expression): Same.
      	(c_parser_unary_expression): Same.
      	(c_parser_sizeof_expression): Same.
      	(c_parser_alignof_expression): Same.
      	(c_parser_postfix_expression): Same.
      	(c_parser_expression): Same.
      	(c_parser_objc_receiver): Same.
      	(c_parser_omp_variable_list): Same.
      	(c_parser_omp_structured_block): Same.
      	(c_parser_omp_atomic): New argument.
      	(c_parser_omp_barrier): Same.
      	(c_parser_omp_critical): Same.
      	(c_parser_omp_flush): Pass location on down.
      	(c_parser_omp_for_loop): New argument.
      	(c_parser_omp_for): Same.
      	(c_parser_omp_master): Same.
      	(c_parser_omp_ordered): Same.
      	(c_parser_omp_sections_scope): Same.
      	(c_parser_omp_sections): Same.
      	(c_parser_omp_parallel): Same.
      	(c_parser_omp_single): Same.
      	(c_parser_omp_task): Same.
      	(c_parser_omp_taskwait): Pass location on down.
      	(c_parser_omp_construct): Same.
      	(c_parser_omp_threadprivate): Same.
      	* dwarf2asm.c, targhooks.c, optabs.c, tree.c, tree.h, target.h,
      	builtins.c, omp-low.c, cgraphunit.c, tree-call-cdce.c,
      	tree-ssa-alias.c, gimple-low.c, c-tree.h, expr.c, tree-parloops.c,
      	c-decl.c, tree-eh.c, langhooks.c, function.c, stor-layout.c,
      	c-typeck.c, gimplify.c, c-pragma.c, expmed.c, except.c, coverage.c,
      	emit-rtl.c, cfgexpand.c, tree-mudflap.c, varasm.c, tree-nested.c,
      	rtl.h, tree-inline.c, tree-profile.c, c-common.c, c-common.h,
      	tree-switch-conversion.c, tree-cfg.c, ipa-struct-reorg.c, c-parser.c,
      	config/i386/i386.c, stmt.c:
      	Add location argument to the following function definitions and/or
      	function calls: build_decl, objcp_start_struct, objcp_finish_struct,
      	start_struct, finish_struct, PUSH_FIELD, create_artificial_label,
      	cp_make_fname_decl, pushtag, implicitly_declare, c_make_fname_decl,
      	build_compound_literal, parser_xref_tag, resolve_overloaded_builtin,
      	do_case, c_finish_bc_stmt, build_compound_literal,
      	build_function_call.
      	* c-decl.c (build_compound_literal): Add location argument.
      	Make all diagnostic calls use location.
      	(start_struct): Same.
      	(finish_struct): Same.
      	(start_enum): Same.
      	(build_enumerator): Same.
      	(start_function): Same.
      	(grokdeclarator): Make all diagnostic calls use location.
      	(store_parm_decls_oldstyle): Same.
      	* c-typeck.c (build_function_call): Add location argument.
      	Make all diagnostic calls use location.
      	(do_case): Same.
      	(c_finish_bc_stmt): Same.
      	* tree-nested.c (get_trampoline_type): Add argument.
      	Pass location to build_decl.
      	(lookup_tramp_for_decl): Pass location to get_trampoline_type.
      	* rtl.h (RTL_LOCATION): New.
      	* c-common.c (c_add_case_label): Add location argument.
      	Make all diagnostic calls use location.
      	* c-common.h: Add location argument to make_fname_decl, do_case,
      	c_add_case_label, build_function_call, resolve_overloaded_builtin.
      	* c-parser.c (c_parser_enum_specifier): Rename ident_loc to enum_loc.
      	Set it appropriately for every case.  Pass enum_loc to start_enum
      	call.  Pass value_loc first to build_enumerator.  Pass enum_loc to
      	parser_xref_tag.
      	(c_parser_struct_or_union_specifier): Save location.  Use it for
      	start_struct, finish_struct, and parser_xref_tag.
      gcc/testsuite/
      	* gcc.dg/old-style-prom-3.c: Add column info.
      	* gcc.dg/overflow-warn-1.c
      	* gcc.dg/gomp/pr27415.c
      	* gcc.dg/gomp/for-1.c: Same.
      	* gcc.dg/enum-compat-1.c: Same.
      	* gcc.dg/c99-tag-3.c: Same.
      	* gcc.dg/Wredundant-decls-2.c: Same.
      	* gcc.dg/func-ptr-conv-1.c: Same.
      	* gcc.dg/asm-wide-1.c: Same.
      	* gcc.dg/nofixed-point-2.c: Same.
      	* gcc.dg/cpp/line3.c: Same.
      	* gcc.dg/array-10.c: Same.
      	* gcc.dg/c99-vla-jump-1.c: Same.
      	* gcc.dg/pr20368-1.c: Same.
      	* gcc.dg/Wshadow-3.c: Same.
      	* gcc.dg/c90-const-expr-8.c: Same.
      	* gcc.dg/label-decl-2.c: Same.
      	* gcc.dg/dremf-type-compat-2.c: Same.
      	* gcc.dg/c90-const-expr-5.c: Same.
      	* gcc.dg/builtins-30.c: Same.
      	* gcc.dg/Warray-bounds.c: Same.
      	* gcc.dg/Wcxx-compat-2.c: Same.
      	* gcc.dg/tree-ssa/col-1.c: Same.
      	* gcc.dg/old-style-prom-2.c: Same.
      	* gcc.dg/cast-function-1.c: Same.
      	* gcc.dg/pr15698-1.c: Same.
      	* gcc.dg/dremf-type-compat-3.c: Same.
      	* gcc.dg/vla-8.c: Same.
      	* gcc.dg/gomp/pr27415.c: Move firstprivate diagnostics to correct
      	line.
      	* gcc.dg/label-decl-2.c: Move label diagnostic to correct line.
      	* gcc.dg/old-style-prom-3.c: Check for error on the correct line.
      	* gcc.dg/enum-compat-1.c: Same.
      	* gcc.dg/dremf-type-compat-2.c: Same.
      	* gcc.dg/old-style-prom-2.c: Same.
      	* gcc.dg/pr15698-1.c: Same.
      	* gcc.dg/pr20368-1.c: Same.
      	* gcc.dg/dremf-type-compat-3.c: Same.
      	* gcc.dg/builtins-30.c: Same.  Test for columns.
      gcc/objcp/
      	* objcp-decl.h (c_end_compound_stmt): New argument.
      	* objcp-decl.c (objcp_start_struct): Add argument.
      	(objcp_finish_struct): Same.
      gcc/cp/
      	* typeck.c (cp_build_binary_op): Pass location to overflow_warning.
      	(build_modify_expr): New arg.
      	* semantics.c (finish_unary_op_expr): Pass location to
      	overflow_warning.
      	(handle_omp_for_class_iterator): Pass location to build_modify_expr.
      	* typeck.c (cxx_sizeof_or_alignof_type): Pass location to
      	c_sizeof_or_alignof_type.
      	(build_array_ref): New argument.
      	(build_compound_expr): Same.
      	(build_const_cast): Same.
      	(build_ptrmemfunc): Pass location to build_c_cast.
      	* init.c (avoid_placement_new_aliasing): Pass location to
      	build_stmt.
      	(build_vec_delete_1): Pass location to cp_build_modify_expr,
      	build_compound_expr.
      	* class.c (build_vtbl_ref_1): Pass location to build_array_ref.
      	* decl.c (poplevel): Pass location to c_build_bind_expr.
      	(finish_case_label): Pass location to build_case_label.
      	(finish_constructor_body): Same.
      	(finish_destructor_body): Pass location to build_stmt.
      	(cxx_maybe_build_cleanup): Same, but to build_compound_expr.
      	* call.c (build_new_op): Pass location to build_array_ref.
      	(build_x_va_arg): Pass location to build_va_arg.
      	* except.c (expand_end_catch_block): Pass location to
      	build_stmt.
      	* cp-tree.h (build_array_ref): New argument.
      	(build_compound_expr): Same.
      	(build_c_cast): Same.
      	* cp-gimplify.c (gimplify_if_stmt): Pass location on down.
      	(gimplify_switch_stmt): Same.
      	* typeck2.c (split_nonconstant_init_1): Same.
      	* pt.c (tsubst_copy): Same.
      	* semantics.c (add_decl_expr): Same.
      	(do_poplevel): Same.
      	(push_cleanup): Same.
      	(finish_goto_stmt): Same.
      	(finish_expr_stmt): Same.
      	(begin_if_stmt): Same.
      	(begin_while_stmt): Same.
      	(begin_do_stmt): Same.
      	(finish_return_stmt): Same.
      	(begin_for_stmt): Same.
      	(finish_break_stmt): Same.
      	(finish_continue_stmt): Same.
      	(begin_switch_stmt): Same.
      	(begin_try_block): Same.
      	(begin_handler): Same.
      	(finish_asm_stmt): Same.
      	(finish_label_stmt): Same.
      	(finish_stmt_expr_expr): Same.
      	(finalize_nrv_r): Same.
      	(finish_omp_atomic): Same.
      	* name-lookup.c (do_using_directive): Same.
      	* decl2.c (grok_array_decl): Same.
      	* parser.c (cp_parser_cast_expression): Same.
      	(cp_parser_selection_statement): Same.
      	(cp_parser_implicitly_scoped_statement): Same.
      	(cp_parser_objc_selector_expression): Same.
      	(cp_parser_objc_synchronized_statement): Same.
      	(cp_parser_objc_throw_statement): Same.
      	(cp_parser_omp_critical): Same.
      	(cp_parser_omp_master): Same.
      	* typeck.c (build_function_call): Add location argument.
      	* init.c: Add location argument to all build_decl calls.
      	* class.c: Same.
      	* method.c: Same.
      	* rtti.c: Same.
      	* tree.c: Same.
      	* pt.c: Same.
      	* semantics.c: Same.
      	* lex.c: Same.
      	* decl2.c: Same.
      	* cp-gimplify.c: Same.
      	* decl.c: Same.
      	(cp_make_fname_decl): Add location argument.  Pass location ot
      	build_decl.
      	(finish_case_label): Same.
      	* cp-tree.h (finish_case_label): Add location argument.
      	* parser.c (cp_parser_label_for_labeled_statement): Pass location to
      	finish_case_label.
      gcc/fortran/
      	* trans-array.c (gfc_trans_allocate_array_storage): Pass
      	location on down.
      	(gfc_trans_array_constructor_value): Same.
      	(gfc_trans_scalarized_loop_end): Same.
      	(gfc_conv_ss_startstride): Same.
      	(gfc_trans_g77_array): Same.
      	(gfc_trans_dummy_array_bias): Same.
      	(gfc_conv_array_parameter): Same.
      	(structure_alloc_comps): Same.
      	* trans-expr.c (gfc_conv_function_call): Same.
      	(fill_with_spaces): Same.
      	(gfc_trans_string_copy): Same.
      	(gfc_trans_scalar_assign): Same.
      	* trans-stmt.c (gfc_trans_goto): Same.
      	(gfc_trans_if_1): Same.
      	(gfc_trans_simple_do): Same.
      	(gfc_trans_do): Same.
      	(gfc_trans_do_while): Same.
      	(gfc_trans_logical_select): Same.
      	(gfc_trans_select): Same.
      	(gfc_trans_forall_loop): Same.
      	(gfc_trans_nested_forall_loop): Same.
      	(generate_loop_for_temp_to_lhs): Same.
      	(generate_loop_for_rhs_to_temp): Same.
      	(gfc_trans_forall_1): Same.
      	(gfc_trans_where_assign): Same.
      	(gfc_trans_where_3): Same.
      	(gfc_trans_allocate): Same.
      	* trans.c (gfc_finish_block): Same.
      	(gfc_trans_runtime_check): Same.
      	(gfc_call_malloc): Same.
      	(gfc_allocate_with_status): Same.
      	(gfc_call_free): Same.
      	(gfc_deallocate_with_status): Same.
      	(gfc_call_realloc): Same.
      	(gfc_trans_code): Same.
      	* trans-decl.c (gfc_init_default_dt): Same.
      	(gfc_generate_constructors): Same.
      	* trans-io.c (gfc_trans_io_runtime_check): Same.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Same.
      	(gfc_conv_intrinsic_fdate): Same.
      	(gfc_conv_intrinsic_ttynam): Same.
      	(gfc_conv_intrinsic_minmax): Same.
      	(gfc_conv_intrinsic_minmax_char): Same.
      	(gfc_conv_intrinsic_anyall): Same.
      	(gfc_conv_intrinsic_count): Same.
      	(gfc_conv_intrinsic_arith): Same.
      	(gfc_conv_intrinsic_minmaxloc): Same.
      	(gfc_conv_intrinsic_minmaxval): Same.
      	(gfc_conv_intrinsic_rrspacing): Same.
      	(gfc_conv_intrinsic_array_transfer): Same.
      	(gfc_conv_intrinsic_trim): Same.
      	(gfc_conv_intrinsic_repeat): Same.
      
      From-SVN: r148442
      Aldy Hernandez committed
  22. 09 Jun, 2009 1 commit
    • targhooks.c (default_builtin_vectorized_function): Change fn parameter to unsigned int. · 744aa42f
      ./:	* targhooks.c (default_builtin_vectorized_function): Change fn
      	parameter to unsigned int.
      	(default_builtin_vectorized_conversion): Change code parameter to
      	unsigned int.
      	(default_builtin_reciprocal): Change fn parameter to unsigned int.
      	* targhooks.h: Update declarations.
      	* config/rs6000/rs6000.c (rs6000_builtin_conversion): Change code
      	parameter to unsigned int.
      
      	* c-typeck.c (comptypes_check_enum_int): New static function.
      	(comptypes_internal): Add enum_and_int_p parameter.  Change all
      	callers.
      	(comp_target_types): Add location parameter.  Change all callers.
      	(tagged_types_tu_compatible_p): Add enum_and_int_p parameter.
      	Change all callers.
      	(function_types_compatible_p, type_lists_compatible_p): Likewise.
      	(build_conditional_expr): Add colon_loc parameter.  Change all
      	callers.
      	(convert_for_assignment): Add location parameter.  Change all
      	callers.
      	* c-parser.c (c_parser_conditional_expression): Pass location of
      	colon to build_conditional_expr.
      	* c-tree.h (build_conditional_expr): Update declaration.
      objc/:
      	* objc-act.c (objc_gimplify_expr): Change return type to int.
      	* objc-act.h: Update declaration.
      testsuite/:
      	* gcc.dg/Wcxx-compat-12.c: New testcase.
      
      From-SVN: r148325
      Ian Lance Taylor committed
  23. 08 Jun, 2009 1 commit
    • common.opt (fcompare-debug=, [...]): New. · 2153915d
      gcc/ChangeLog:
      * common.opt (fcompare-debug=, fcompare-debug-second): New.
      (fdump-final-insns=, gtoggle): New.
      * doc/invoke.texi: Document them.
      * final.c (rest_of_clean_state): Dump final insn stream.
      * gcc.c (invoke_as): Hook in -fcompare-debug.
      (static_spec_functions): Add compare-debug-dump-opt,
      compare-debug-self-opt and compare-debug-auxbase-opt.
      (compare_debug, compare_debug_second, compare_debug_opt): New.
      (switches_debug_check, n_switches_debug_check): New.
      (debug_auxbase_opt, debug_check_temp_file): New.
      (process_command): Handle -fno-compare-debug, -fcompare-debug and
      -fcompare-debug=*.
      (do_self_spec): Handle arguments after switches.
      (do_spec_1): Add .gk extension to temp file basenames for compare.
      (check_live_switch): Take SWITCH_IGNORE into account, and earlier.
      (cc1_options): Use it instead of normal auxbase computation for
      the second compare-debug compilation.
      (compare_files): New.
      (main): Set up and implement compare debug mode.
      (compare_debug_dump_opt_spec_function): New.
      (compare_debug_self_opt_spec_function): New.
      (compare_debug_auxbase_opt_spec_function): New.
      * toplev.c (process_options): Handle flag_gtoggle,
      flag_dump_final_insns.
      * coverage.c (coverage_begin_output): Don't overwrite .gcno file
      during -fcompare-debug-second compilation.
      gcc/cp/ChangeLog:
      * repo.c (get_base_filename): Use aux_base_name rather than
      alternate temporary file during second compare debug compilation.
      (finish_repo): Skip during -fcompare-debug-second.
      gcc/ada/ChangeLog:
      * lib-writ.adb (flag_compare_debug): Import.
      (Write_ALI): Skip during -fcompare-debug-second.
      gcc/fortran/ChangeLog:
      * options.c (gfc_post_options): Disable dump_parse_tree
      during -fcompare-debug-second.
      gcc/objc/ChangeLog:
      * objc-act.c (objc_init): Skip print_struct_values during
      -fcompare-debug-second.
      
      From-SVN: r148271
      Alexandre Oliva committed
  24. 03 Jun, 2009 1 commit
    • ansidecl.h (EXPORTED_CONST): Define. · 6bc7bc14
      include/:
      	* ansidecl.h (EXPORTED_CONST): Define.
      gcc/:
      	* dummy-checksum.c (executable_checksum): Use EXPORTED_CONST.
      	* genattrtab.c (write_length_unit_log): Likewise.
      	* genchecksum.c (dosum): Likewise.
      	* gengtype.c (write_rtx_next): Likewise.
      	(finish_root_table, write_roots): Likewise.
      	* gimple.c (gimple_ops_offset_): Likewise.
      	* tree-nomudflap.c (gt_ggc_r_gt_tree_mudflap_h): Likewise.
      	* config/arc/arc.c (arc_attribute_table): Likewise.
      	* config/arm/arm.c (arm_attribute_table): Likewise.
      	* config/avr/avr.c (avr_attribute_table): Likewise.
      	* config/crx/crx.c (crx_attribute_table): Likewise.
      	* config/m32r/m32r.c (m32r_attribute_table): Likewise.
      	* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Likewise.
      	* config/mcore/mcore.c (mcore_attribute_table): Likewise.
      	* config/rs6000/rs6000.c (rs6000_attribute_table): Likewise.
      	* config/sh/sh.c (sh_attribute_table): Likewise.
      	* config/sparc/sparc.c (sparc_attribute_table): Likewise.
      	* config/spu/spu.c (spu_attribute_table): Likewise.
      	* config/v850/v850.c (v850_attribute_table): Likewise.
      
      	* config/alpha/alpha.c (vms_attribute_table): Make static.
      	* config/bfin/bfin.c (bfin_attribute_table): Likewise.
      	* config/h8300/h8300.c (h8300_attribute_table): Likewise.
      	* config/mips/mips.c (mips_attribute_table): Likewise.
      
      	* Makefile.in (dummy-checksum.o): Depend upon $(CONFIG_H) and
      	$(SYSTEM_H).
      	(cc1-checksum.o): Likewise.
      gcc/cp/:
      	* Make-lang.in (cc1plus-checksum.o): Depend upon $(CONFIG_H) and
      	$(SYSTEM_H).
      gcc/objc/:
      	* Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
      	$(SYSTEM_H).
      gcc/objcp/:
      	* Make-lang.in (cc1objplus-checksum.o): Depend upon $(CONFIG_H)
      	and $(SYSTEM_H).
      
      From-SVN: r148146
      Ian Lance Taylor committed
  25. 27 May, 2009 1 commit
    • Makefile.in (LINKER, [...]): Define. · c607156f
      ./:	* Makefile.in (LINKER, LINKER_FLAGS): Define.
      	(LINKER_FOR_BUILD, BUILD_LINKERFLAGS): Define.
      	(ALL_LINKERFLAGS): Define.
      	(xgcc$(exeext)): Change $(COMPILER) to $(LINKER).
      	(cpp$(exeext), cc1-dummy$(exeext), cc1$(exeext)): Likewise.
      	(collect2$(exeext), mips-tfile, mips-tdump): Likewise.
      	(gcov$(exeext), gcov-dump$(exeext)): Likewise.
      	(build/gen%$(build_exeext)): Change $(COMPILER_FOR_BUILD) to
      	$(LINKER_FOR_BUILD).
      	(build/gcov-iov$(build_exeext)): Likewise.
      cp/:
      	* Make-lang.in (g++$(exeext)): Change $(COMPILER) to $(LINKER).
      	(cc1plus-dummy$(exeext), cc1plus$(exeext)): Likewise.
      fortran/:
      	* Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to
      	$(LINKER).
      	(f951$(exeext)): Likewise.
      java/:
      	* Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
      	$(LINKER).
      	(jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
      objc/:
      	* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
      	$(LINKER).
      	(cc1obj$(exeext)): Likewise.
      objcp/:
      	* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
      	$(LINKER).
      	(cc1objplus$(exeext)): Likewise.
      
      From-SVN: r147927
      Ian Lance Taylor committed
  26. 26 May, 2009 1 commit
    • Makefile.in (COMPILER, [...]): Define. · 7980bfb8
      ./:	* Makefile.in (COMPILER, COMPILER_FLAGS): Define.
      	(COMPILER_FOR_BUILD, BUILD_COMPILERFLAGS): Define.
      	(ALL_COMPILERFLAGS): Define.
      	(.c.o, xgcc$(exeext), cpp$(exeext)): Use $(COMPILER).
      	(cc1-dummy$(exeext), cc1$(exeext)): Likewise.
      	(collect2$(exeext), collect2.o): Likewise.
      	(c-opts.o, c-cppbuiltin.o, c-pch.o, gcc.o, gccspec.o): Likewise.
      	(gcc-options.o, version.o, prefix.o, toplev.o): Likewise.
      	($(out_object_file), mips-tfile, mips-tdump): Likewise.
      	(libbackend.o, intl.o, cppdefault.o): Likewise.
      	(gcov$(exeext), gcov-dump$(exeext)): Likewise.
      	(build/%.o): Use $(COMPILER_FOR_BUILD).
      	(build/gen%$(build_exeext)): Likewise.
      	(build/gcov-iov$(build_exeext)): LIkewise.
      	* config/t-darwin (darwin.o): Use $(COMPILER).
      	(darwin-c.o, darwin-f.o, darwin-driver.o): Likewise.
      	* config/t-sol2 (sol2-c.o): Likewise.
      	(sol2.o): Likewise.
      	* config/t-vxworks (vxworks.o): Likewise.
      	* config/x-darwin (host-darwin.o): Likewise.
      	* config/x-hpux (host-hpux.o): Likewise.
      	* config/x-linux (host-linux.o): Likewise.
      	* config/x-solaris (host-solaris.o): Likewise.
      	* config/alpha/x-alpha (driver-alpha.o): Likewise.
      	* config/arm/t-arm (arm-c.o): Likewise.
      	* config/arm/t-pe (pe.o): Likewise.
      	* config/arm/t-wince-pe (pe.o): Likewise.
      	* config/i386/t-cygming (winnt.o): Likewise.
      	(winnt-cxx.o, winnt-stubs.o, msformat-c.o): Likewise.
      	* config/i386/t-cygwin (cygwin1.o): Likewise.
      	(cygwin2.o): Likewise.
      	* config/i386/t-i386 (i386-c.o): Likewise.
      	* config/i386/t-interix (winnt.o): Likewise.
      	* config/i386/t-netware (netware.o): Likewise.
      	* config/i386/t-nwld (nwld.o): Likewise.
      	* config/i386/x-darwin (host-i386-darwin.o): Likewise.
      	* config/i386/x-i386 (driver-i386.o): Likewise.
      	* config/i386/x-cygwin (host-cygwin.o): Likewise.
      	* config/i386/x-mingw32 (host-mingw32.o): Likewise.
      	* config/ia64/t-ia64 (ia64-c.o): Likewise.
      	* config/m32c/t-m32c (m32c-pragma.o): Likewise.
      	* config/mips/x-native (driver-native.o): Likewise.
      	* config/rs6000/t-rs6000 (rs6000-c.o): Likewise.
      	* config/rs6000/x-darwin (host-ppc-darwin.o): Likewise.
      	* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Likewise.
      	* config/rs6000/x-rs6000 (driver-rs6000.o): Likewise.
      	* config/score/t-score-elf (score7.o): Likewise.
      	(score3.o): Likewise.
      	* config/sh/t-sh (sh-c.o): Likewise.
      	* config/sh/t-symbian (sh-c.o): Likewise.
      	(symbian.o): Likewise.
      	* config/spu/t-spu-elf (spu-c.o): Likewise.
      	* config/v850/t-v850 (v850-c.o): Likewise.
      	* config/v850/t-v850e (v850-c.o): Likewise.
      ada/:
      	* gcc-interface/Makefile.in (COMPILER): Define.
      	(COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
      	(.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
      	(seh_init.o, tracebak.o): Likewise.
      	* gcc-interface/Make-lang.in (ada/targext.o): Likewise.
      	(ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
      	(ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
      	(ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
      	(ada/utils2.o): Likewise.
      cp/:
      	* Make-lang.in (g++spec.o): Use $(COMPILER).
      	(g++$(exeext), cc1plus-dummy$(exeext)): Likewise.
      	(cc1plus$(exeext)): Likewise.
      fortran/:
      	* Make-lang.in (gfortranspec.o): Use $(COMPILER).
      	(gfortran$(exeext), f951$(exeext), fortran/cpp.o): Likewise.
      java/:
      	* Make-lang.in (jvspec.o): Use $(COMPILER).
      	($(XGCJ)$(exeext), jc1$(exeext), jcf-dump$(exeext)): Likewise.
      	(jvgenmain$(exeext), java/jcf-io.o, java/jcf-path.o): Likewise.
      objc/:
      	* Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
      	(cc1obj$(exeext)): Likewise.
      objcp/:
      	* Make-lang.in (cc1objplus-dummy$(exeext)): Use $(COMPILER).
      	(cc1objplus$(exeext), objcp/objcp-act.o): Likwise.
      
      From-SVN: r147873
      Ian Lance Taylor committed
  27. 21 May, 2009 1 commit
    • tree.c (build_tree_list_vec_stat): New function. · c166b898
      ./:	* tree.c (build_tree_list_vec_stat): New function.
      	(ctor_to_vec): New function.
      	(build_nt_call_vec): New function.
      	(build_call_array): Change args to be a const pointer.
      	(build_call_vec): New function.
      	* tree.h (build_nt_call_vec): Declare.
      	(build_tree_list_vec_stat): Declare.
      	(build_tree_list_vec): Define.
      	(build_call_array): Update declaration.
      	(build_call_vec): Declare.
      	(ctor_to_vec): Declare.
      	* c-common.c (tree_vector_cache): New static variable.
      	(make_tree_vector): New function.
      	(release_tree_vector): New function.
      	(make_tree_vector_single): New function.
      	(make_tree_vector_copy): New function.
      	* c-common.h (tree_vector_cache, make_tree_vector): Declare.
      	(make_tree_vector_single, make_tree_vector_copy): Declare.
      	* c-parser.c (cached_expr_list_1, cached_expr_list_2): Remove.
      	(c_parser_expr_list): Don't manage cache here, instead call
      	make_tree_vector.
      	(c_parser_release_expr_list): Remove static function.
      	(c_parser_vec_to_tree_list): Remove static function.
      	(c_parser_attributes): Call build_tree_list_vec instead of
      	c_parser_vec_to_tree_list.  Call release_tree_vector instead of
      	c_parser_release_expr_list.
      	(c_parser_postfix_expression_after_primary): Likewise.
      	(c_parser_objc_keywordexpr): Likewise.
      cp/:
      	* parser.c (cp_parser_postfix_expression): Change args to a vec.
      	Release it when done.
      	(tree_vector): Define typedef.  Define VEC functions.
      	(cp_parser_parenthesized_expression_list): Change return type to
      	vec.  Change all callers.
      	(cp_parser_new_expression): Change placement and initializer to
      	vecs.  Release them when done.
      	(cp_parser_new_placement): Change return type to vec.  Change all
      	callers.
      	(cp_parser_new_initializer): Likewise.
      	* typeck.c (build_function_call_vec): Just call
      	cp_build_function_call_vec.
      	(cp_build_function_call): Just build a vec and call
      	cp_build_function_call_vec.
      	(cp_build_function_call_vec): New function based on old
      	cp_build_function_call.
      	(convert_arguments): Remove nargs and argarray parameters.  Change
      	values to a vec.  Change caller.
      	(build_x_compound_expr_from_vec): New function.
      	(cp_build_modify_expr): Build vec to pass to
      	build_special_member_call.
      	* call.c (struct z_candidate): Add first_arg field.  Change args
      	field to vec.
      	(convert_class_to_reference): Handle first argument separately.
      	(add_candidate): Add first_arg parameter.  Change args parameter
      	to vec.  Change all callers.
      	(add_function_candidate, add_conv_candidate): Likewise.
      	(add_template_candidate_real, add_template_candidate): Likewise.
      	(add_template_conv_candidate): Likewise.
      	(build_user_type_conversion_1): Handle first argument separately.
      	(resolve_args): Change return type and parameter type to vecs.
      	Change all callers.
      	(perform_overload_resolution): Change args parameter to vec.
      	Change all callers.
      	(build_new_function_call, build_operator_new_call): Likewise.
      	(add_candidates): Likewise.
      	(build_op_call): New globally visible function, built from and
      	replacing static function build_object_call.
      	(build_new_op): Don't handle CALL_EXPR.  Build vec, not tree_list,
      	of arguments.
      	(build_op_delete_call): Build vec to pass to
      	cp_build_function_call_vec.
      	(build_temp): Build vec to pass to build_special_member_call.
      	(convert_like_real): Likewise.
      	(perform_direct_initialization_if_possible): Likewise.
      	(build_over_call): Handle first_arg field.  Use build_call_array
      	rather than build_call_list.
      	(build_special_member_call): Change args parameter to vec.  Change
      	all callers.
      	(build_new_method_call): Likewise.
      	* init.c (expand_default_init): Change parms to vec.
      	(build_raw_new_expr): Change placement and init to vecs.  Change
      	all callers.
      	(build_new_1, build_new): Likewise.
      	* class.c (resolve_address_of_overloaded_function): Build array to
      	pass to fn_type_unification.
      	* pt.c (tsubst_copy_and_build): For NEW_EXPR build vecs to pass to
      	build_new.  For CALL_EXPR create a vec rather than a tree_list;
      	expand a pack if necessary.
      	(fn_type_unification): Change args parameter to const tree *.  Add
      	nargs parameter.  Change all callers.
      	(type_unification_real): Likewise.
      	(unify): Build array to pass to type_unification_real.
      	(get_bindings): Build array to pass to fn_type_unification.
      	(any_type_dependent_arguments_p): Change args parameter to a vec.
      	Change all callers.
      	(make_args_non_dependent): Renamed from build_non_dependent_args.
      	Change return type to void.  Change parameter type to vec.  Change
      	all callers.
      	(do_auto_deduction): Pass an array to type_unification_real.
      	* semantics.c (perform_koenig_lookup): Change args to vec.  Change
      	all callers.
      	(finish_call_expr): Change args to vec.  Change all callers.  Call
      	build_op_call instead of passing CALL_EXPR to build_new_op.
      	(cxx_omp_create_clause_info): Allocate vec to pass to
      	build_special_member_call.
      	* decl2.c (build_offset_ref_call_from_tree): Change args parameter
      	to vec.  Change all callers.
      	* name-lookup.c (lookup_function_nonclass): Likewise.
      	(struct arg_lookup): Change args to vec.
      	(arg_assoc_namespace): Handle args as a vec.
      	(arg_assoc_args_vec): New static function.
      	(lookup_arg_dependent): Change args parameter to vec.  Change all
      	callers.
      	* method.c (do_build_assign_ref): Allocate vec to pass to
      	build_special_member_call.
      	* except.c (build_throw): Likewise.
      	* typeck2.c (build_functional_cast): Likewise.
      	* cvt.c (ocp_convert): Likewise.
      	* tree.c (build_min_non_dep_call_vec): Change last parameter to
      	vec.  Change all callers.
      	* cp-tree.h: Update declarations.
      	* name-lookup.h: Update declarations.
      objc/:
      	* objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
      	than NULL_TREE to build_special_member_call.
      
      From-SVN: r147759
      Ian Lance Taylor committed
  28. 11 May, 2009 1 commit
    • basic-block.h (enum profile_status): Break out of struct control_flow_graph. · 24b97832
      ./:	* basic-block.h (enum profile_status): Break out of struct
      	control_flow_graph.
      	* cgraph.h (struct inline_summary): Break out of struct
      	cgraph_local_info.
      	* cgraphunit.c (enum cgraph_order_sort_kind): New enum, broken out
      	of struct cgraph_order_sort.
      	* combine.c (enum undo_kind): New enum, broken out of struct
      	undo.
      	* cse.c (struct branch_path): Break out of struct
      	cse_basic_block_data.
      	* except.h (enum eh_region_type): Break out of struct eh_region.
      	* gcc.c (enum add_del): Break out of struct modify_target.
      	* genrecog.c (enum decision_type): Break out of struct
      	decision_test.
      	* ggc-page.c (struct ggc_pch_ondisk): Break out of struct
      	ggc_pch_data.
      	* matrix-reorg.c (struct free_info): Break out of struct
      	matrix_info.
      	* regmove.c (enum match_use): New enum, broken out of struct
      	match.
      	* sched-int.h (enum post_call_group): New enum, broken out of
      	struct deps.
      	(struct deps_reg): Break out of struct deps.
      	* target.h (struct asm_int_op): Break out of struct gcc_target.
      	* tree-eh.c (struct goto_queue_node): Break out of struct
      	leh_tf_state.
      	* tree-inline.h (enum copy_body_cge_which): Break out of
      	copy_body_data.
      	* tree-pass.h (enum opt_pass_type): Break out of struct opt_pass.
      
      	* c-decl.c (in_struct, struct_types): New static variables.
      	(pushtag): Add loc parameter.  Change all callers.
      	(lookup_tag): Add ploc parameter.  Change all callers.
      	(check_compound_literal_type): New function.
      	(parser_xref_tag): Add loc parameter.  Change all callers.  If
      	-Wc++-compat, warn about struct/union/enum types defined within a
      	struct or union.
      	(start_struct): Add enclosing_in_struct, enclosing_struct_types,
      	and loc parameters.  Change all callers.  Change error calls to
      	error_at, using loc.  For a redefinition, if the location of the
      	original definition is known, report it.  Set in_struct and
      	struct_types.  If -Wc++-compat warn if in sizeof, typeof, or
      	alignof.
      	(finish_struct): Add new parameters enclosing_in_struct and
      	enclosing_struct_types.  Change all callers.  Set
      	C_TYPE_DEFINED_IN_STRUCT for all struct/union/enum types defined
      	in the struct.  If in a struct, add this struct to struct_types.
      	(start_enum): Add loc parameter.  Change all callers.  Use
      	error_at for errors, using loc.  For a redefinition, if the
      	location of the original definition is known, report it.  If in a
      	struct, add this enum type to struct_types.  If -Wc++-compat warn
      	if in sizeof, typeof, or alignof.
      	* c-parser.c (disable_extension_diagnostics): Disable
      	-Wc++-compat.
      	(enable_extension_diagnostics): Reenable -Wc++-compat if
      	appropriate.
      	(c_parser_enum_specifier): Get enum location for start_enum.
      	(c_parser_struct_or_union_specifier): Get struct location for
      	start_struct.  Save in_struct and struct_types status between
      	start_struct and finish_struct.
      	(c_parser_cast_expression): Get location of cast.
      	(c_parser_alignof_expression): Get location of type.
      	(c_parser_postfix_expression): Likewise.
      	(c_parser_postfix_expression_after_paren_type): Add type_loc
      	parameter.  Change all callers.  Call
      	check_compound_literal_type.  Use type_loc for error about
      	variable size type.
      	* c-typeck.c (build_external_ref): If -Wc++-compat, warn about a
      	use of an enum constant from an enum type defined in a struct or
      	union.
      	(c_cast_expr): Add loc parameter.  Change all callers.  If
      	-Wc++-compat, warn about defining a type in a cast.
      	* c-tree.h (C_TYPE_DEFINED_IN_STRUCT): Define.
      	(start_enum, start_struct, finish_struct): Update declarations.
      	(parser_xref_tag, c_cast_expr): Update declarations.
      	(check_compound_literal_type): Declare.
      fortran/:
      	* gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of
      	gfc_omp_clauses.
      	(enum gfc_omp_default_sharing): Likewise.
      	* module.c (enum gfc_rsym_state): New enum, broken out of
      	pointer_info.
      	(enum gfc_wsym_state): Likewise.
      	* parse.c (enum state_order): New enum, broken out of st_state.
      objc/:
      	* objc-act.c (objc_building_struct): New static variable.
      	(objc_in_struct, objc_struct_types): New static variables.
      	(objc_start_struct, objc_finish_struct): New static functions.
      	(generate_struct_by_value_array): Call objc_start_struct instead
      	of start_struct, and call objc_finish_struct instead of
      	finish_struct.
      	(objc_build_struct, build_objc_symtab_template): Likewise.
      	(build_module_descriptor): Likewise.
      	(build_next_objc_exception_stuff): Likewise.
      	(build_protocol_template): Likewise.
      	(build_method_prototype_list_template): Likewise.
      	(build_method_prototype_template): Likewise.
      	(build_category_template, build_selector_template): Likewise.
      	(build_class_template, build_super_template): Likewise.
      	(build_ivar_template, build_ivar_list_template): Likewise.
      	(build_method_list_template): Likewise.
      	(build_method_template): Likewise.
      objcp/:
      	* objcp-decl.h (start_struct): Add three new, ignored, macro
      	parameters.
      	(finish_struct): Add two new, ignored, macro parameters.
      testsuite/:
      	* gcc.dg/Wcxx-compat-7.c: New testcase.
      	* gcc.dg/Wcxx-compat-8.c: New testcase.
      	* gcc.dg/c99-tag-1.c: Recognize new "originally defined here"
      	notes
      	* gcc.dg/pr17188-1.c: Likewise.
      	* gcc.dg/pr39084.c: Likewise.
      
      From-SVN: r147358
      Ian Lance Taylor committed
  29. 10 May, 2009 1 commit
    • pretty-print.h (struct pretty_print_info): Add translate_identifiers. · f41c4af3
      	* pretty-print.h (struct pretty_print_info): Add
      	translate_identifiers.
      	(pp_translate_identifiers): New.
      	(pp_identifier): Only conditionally translate identifier to locale
      	character set.
      	* pretty-print.c (pp_construct): Set pp_translate_identifiers.
      	(pp_base_tree_identifier): Only conditionally translate identifier
      	to locale character set.
      	* c-pretty-print.c (M_): Define.
      	(pp_c_type_specifier, pp_c_primary_expression): Mark English
      	fragments for conditional translation with M_.
      	* tree-pretty-print.c (maybe_init_pretty_print): Disable
      	identifier translation.
      
      cp:
      	* call.c (name_as_c_string): Call type_as_string_translate.
      	Translate identifiers to locale character set.
      	* cp-tree.h (lang_decl_name): Update prototype.
      	(type_as_string_translate, decl_as_string_translate,
      	cxx_printable_name_translate): Declare.
      	* cxx-pretty-print.c (M_): Define.
      	(pp_cxx_unqualified_id, pp_cxx_canonical_template_parameter): Mark
      	English fragments for conditional translation with M_.
      	* decl.c (grokdeclarator): Translate identifiers to locale
      	character set for diagnostics.
      	* error.c (M_): Define.
      	(dump_template_bindings, dump_type, dump_aggr_type,
      	dump_type_prefix, dump_global_iord, dump_simple_decl, dump_decl,
      	dump_function_decl, dump_template_parms, dump_expr,
      	dump_binary_op, op_to_string, assop_to_string): Mark English
      	fragments for conditional translation with M_.
      	(type_as_string): Disable translation of identifiers.
      	(type_as_string_translate): New.
      	(expr_as_string): Disable translation of identifiers.
      	(decl_as_string): Disable translation of identifiers.
      	(decl_as_string_translate): New.
      	(lang_decl_name): Add parameter translate.
      	(args_to_string): Call type_as_string_translate.
      	(cp_print_error_function): Call cxx_printable_name_translate.
      	(print_instantiation_full_context,
      	print_instantiation_partial_context): Call
      	decl_as_string_translate.
      	* parser.c (cp_lexer_get_preprocessor_token): Use %qE for
      	identifier in diagnostic.
      	* tree.c (cxx_printable_name): Change to
      	cxx_printable_name_internal.  Add parameter translate.
      	(cxx_printable_name, cxx_printable_name_translate): New wrappers
      	round cxx_printable_name_internal.
      
      objc:
      	* objc-act.c: Include intl.h.
      	(objc_lookup_protocol): Use complete sentences for diagnostics
      	with %qE for identifiers and translating results of
      	gen_type_name_0 to locale character set.
      	(objc_check_decl, check_protocol_recursively,
      	lookup_and_install_protocols, objc_build_string_object,
      	objc_get_class_reference, objc_declare_alias, objc_declare_class,
      	objc_get_class_ivars, error_with_ivar, check_duplicates,
      	objc_finish_message_expr, objc_build_protocol_expr,
      	objc_build_selector_expr, build_ivar_reference, objc_add_method,
      	add_category, add_instance_variable, objc_is_public,
      	check_methods, check_methods_accessible, check_protocol,
      	start_class, finish_class, start_protocol, really_start_method,
      	get_super_receiver, objc_lookup_ivar): Use %E and %qE for
      	identifiers in diagnostics.  Translate generated text to locale
      	character set as needed.
      	(check_protocol, check_protocols): Change name parameter to type
      	tree.
      	(lang_report_error_function): Remove.
      
      From-SVN: r147333
      Joseph Myers committed
  30. 27 Apr, 2009 1 commit
    • collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. · 81f40b79
      ./:	* collect2.c (is_ctor_dtor): Change type of ret field in struct
      	names to symkind.
      	* dce.c (run_fast_df_dce): Change type of old_flags to int.
      	* df-core.c (df_set_flags): Change return type to int.  Change
      	type of old_flags to int.
      	(df_clear_flags): Likewise.
      	* df-scan.c (df_def_record_1): Change 0 to VOIDmode.
      	(df_get_conditional_uses): Likewise.
      	* df.h (df_set_flags, df_clear_flags): Update declarations.
      	* dwarf2out.c (struct indirect_string_node): Change type of form
      	field to enum dwarf_form.
      	(AT_string_form): Change return type to enum dwarf_form.
      	* fixed-value.c (fixed_compare): Add cast to enum type.
      	* fwprop.c (update_df): Change 0 to VOIDmode.
      	* gensupport.c: Change 0 to UNKNOWN.
      	* gimple.h (gimple_cond_code): Add cast to enum type.
      	* haifa-sched.c (reemit_notes): Add cast to enum type.
      	* hooks.c (hook_int_void_no_regs): Remove function.
      	* hooks.h (hook_int_void_no_regs): Remove declaration.
      	* optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
      	* predict.c (combine_predictions_for_insn): Add casts to enum
      	type.
      	* real.c (real_arithmetic): Add cast to enum type.
      	(real_compare): Likewise.
      	* target.h (struct gcc_target): Change return type of
      	branch_target_register_class to enum reg_class.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
      	default_branch_target_register_class.
      	* targhooks.c (default_branch_target_register_class): New
      	function.
      	* targhooks.h (default_branch_target_register_class): Declare.
      	* tree-data-ref.c (print_direction_vector): Add cast to enum
      	type.
      	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
      	cast to int.
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
      	ERROR_MARK.
      	* tree-vect-slp.c (vect_build_slp_tree): Change 0 to
      	vect_uninitialized_def.  Change 0 to ERROR_MARK.
      	* tree-vect-stmts.c (supportable_widening_operation): Don't
      	initialize icode1 and icode2.
      	* tree-vectorizer.h (enum vect_def_type): Add
      	vect_uninitialized_def.
      	* config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
      	and to STD_C89.
      	(cmn_err_flag_specs): Change 0 to STD_C89.
      	(cmn_err_char_table): Likewise.
      	* config/arm/arm.c (get_arm_condition_code): Change type of code
      	to enum arm_cond_code.
      	(IWMMXT_BUILTIN): Change 0 to UNKNOWN.
      	(IWMMXT_BUILTIN2): Likewise.
      	(neon_builtin_type_bits): Don't define typedef.
      	(neon_builtin_datum): Change type of bits field to int.
      	(arm_expand_neon_args): Add cast to enum type.
      	* config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
      	TLS_MODEL_NONE.
      	* config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN.  Add
      	casts to enum type.
      	* config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
      	MIPS_FP_COND_f.
      	* config/mips/mips.md (jal_macro): Return enum constant.
      	(single_insn): Likewise.
      	* config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
      	CODE_FOR_nothing.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	casts to enum type.
      	* config/s390/s390.c (s390_tune_flags): Change type to int.
      	(s390_arch_flags): Likewise.
      	(s390_handle_arch_option): Change flags field of struct pta to
      	int.
      	* config/s390/s390.h (s390_tune_flags): Update declaration.
      	(s390_arch_flags): Likewise.
      	* config/sh/sh.c (prepare_move_operands): Compare
      	tls_symbolic_operand result with enum constant.
      	(sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
      	(sh_expand_prologue): Add cast to enum type.
      	(sh_expand_epilogue): Likewise.
      	(tls_symbolic_operand): Change return type to enum tls_model.
      	(fpscr_set_from_mem): Add cast to enum type.
      	(legitimize_pic_address): Compare tls_symbolic_operand result with
      	enum constant.
      	(sh_target_reg_class): Change return type to enum reg_class.
      	* config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
      	PROCESSOR_xxx.
      	* config/sh/sh-protos.h (tls_symbolic_operand): Update
      	declaration.
      	* config/sparc/sparc.c (sparc_override_options): Add cast to enum
      	type.
      	* config/sparc/sparc.md (empty_delay_slot): Return enum constant.
      	(pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
      	(delayed_branch, tls_call_delay): Likewise.
      	(eligible_for_sibcall_delay): Likewise.
      	(eligible_for_return_delay): Likewise. 
      	* config/spu/spu.c (expand_builtin_args): Add cast to enum type.
      	(spu_expand_builtin_1): Likewise.
      
      	* c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
      	for all types of conversions.
      	(output_init_element): Issue -Wc++-compat warning if needed when
      	initializing a bitfield with enum type.
      	* c-parser.c (c_parser_expression): Set original_type to
      	original_type of right hand operand of comman operator.
      cp/:
      	* semantics.c (finish_omp_clauses): Change type of c_kind to enum
      	omp_clause_code.
      fortran/:
      	* trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum
      	type.
      	* trans-io.c (st_parameter_field): Add casts to enum type.
      java/:
      	* builtins.c (java_builtins): Add casts to enum type.
      	* verify-impl.c (check_class_constant): Add cast to enum type.
      	(check_constant, check_wide_constant): Likewise.
      objc/:
      	* objc-act.c (objc_gimplify_expr): Add casts to enum type.
      testsuite/:
      	* gcc.dg/Wcxx-compat-5.c: New testcase.
      	* gcc.dg/Wcxx-compat-6.c: New testcase.
      
      From-SVN: r146855
      Ian Lance Taylor committed
  31. 24 Apr, 2009 1 commit
    • combine.c (record_value_for_reg): Change 0 to VOIDmode, twice. · 32e8bb8e
      gcc/:
      	* combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
      	(record_dead_and_set_regs): Likewise.
      	* df.h (struct df_mw_hardreg): Change flags field to int.
      	(struct df_base_ref): Likewise.
      	(struct df): Change changeable_flags field to int.
      	* df-scan.c (df_defs_record): Change clobber_flags to int.
      	* dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
      	constants rather than #define macros.
      	(enum dwarf_attribute, enum dwarf_location_atom): Likewise.
      	(enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
      	(enum dwarf_calling_convention): Likewise.
      	(enum dwarf_line_number_x_ops): Likewise.
      	(enum dwarf_call_frame_info): Likewise.
      	(enum dwarf_source_language): Likewise.
      	* dwarf2out.c (int_loc_descriptor): Add cast to enum type.
      	(add_calling_convention_attribute): Likewise.
      	* fold-const.c (fold_undefer_overflow_warnings): Add cast to enum
      	type.
      	(combine_comparisons): Change compcode to int.  Add cast to enum
      	type.
      	* genrecog.c (maybe_both_true_2): Change c to int.
      	(write_switch): Likewise.  Add cast to enum type.
      	* gimplify.c (gimplify_omp_for): Handle return values from
      	gimplify_expr using MIN rather than bitwise or.
      	(gimplify_expr): Add cast to enum type.
      	* ipa-prop.c (update_jump_functions_after_inlining): Change
      	IPA_BOTTOM to IPA_JF_UNKNOWN.
      	* ira.c (setup_class_subset_and_memory_move_costs): Change mode to
      	int.  Add casts to enum type.
      	(setup_cover_and_important_classes): Change cl to int.  Add casts
      	to enum type.
      	(setup_class_translate): Change cl and mode to int.
      	(ira_init_once): Change mode to int.
      	(free_register_move_costs): Likewise.
      	(setup_prohibited_mode_move_regs): Add casts to enum type.
      	* langhooks.c (add_builtin_function_common): Rework assertion that
      	value fits bitfield.
      	* mcf.c (add_fixup_edge): Change type parameter to edge_type.
      	* omega.c (omega_do_elimination): Avoid math on enum types.
      	* optabs.c (expand_vec_shift_expr): Remove casts to int.
      	* opts.c (set_debug_level): Change 2 to enum constant.  Use new
      	int local to handle integral_argment value.
      	* regmove.c (try_auto_increment): Change PUT_MODE to
      	PUT_REG_NOTE_KIND.
      	* reload.c (push_secondary_reload): Add casts to enum type.
      	(secondary_reload_class, find_valid_class): Likewise.
      	* reload1.c (emit_input_reload_insns): Likewise.
      	* rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
      	* sel-sched.c (init_hard_regs_data): Change cur_mode to int.
      	* sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
      	constant.
      	* tree.c (build_common_builtin_nodes): Add casts to enum type.
      	* tree-complex.c (complex_lattice_t): Typedef to int rather than
      	enum type.
      	(expand_complex_libcall): Add casts to enum type.
      	* tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
      	* tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
      	with ERROR_MARK, not NUM_TREE_CODES.
      	(vect_create_epilog_for_reduction): Likewise.
      	(vectorizable_reduction): Don't initialize epiloc_reduc_code.
      	When not using it, set it to ERROR_MARK rather than
      	NUM_TREE_CODES.
      	* tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
      	enum machine_mode.
      	* tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
      	vect_unused_in_loop.  Change 0 to loop_vect.
      	* tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum
      	type.
      	* var-tracking.c (get_init_value): Change return type to enum
      	var_init_status.
      	* vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
      	* config/arm/arm.c (fp_model_for_fpu): Change to array to enum
      	arm_fp_model.
      	(arm_override_options): Add casts to enum type.
      	(arm_emit_tls_decoration): Likewise.
      	* config/i386/i386.c (ix86_function_specific_restore): Add casts
      	to enum type.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
      	* config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
      	* config/rs6000/rs6000.c (rs6000_override_options): Add casts to
      	enum type.
      	* config/s390/s390.c (code_for_builtin_64): Change to array of
      	enum insn_code.
      	(code_for_builtin_31): Likewise.
      	(s390_expand_builtin): Change code_for_builtin to enum insn_code
      	const *.
      	* config/sparc/sparc.c (sparc_override_options): Change value
      	field in struct code_model to enum cmodel.  In initializer change
      	0 to NULL and add cast to enum type.
      
      	* c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
      	Change all callers.  Issue a -Wc++-compat warning using
      	lhs_origtype if necessary.
      	(convert_for_assignment): Issue -Wc++-compat warnings about
      	invalid conversions to enum type on assignment.
      	* c-common.h (build_modify_expr): Update declaration.
      
      gcc/cp/:
      	* call.c (build_temp): Change 0 to enum constant.
      	* cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum
      	type.
      	* cp-gimplify.c (cp_gimplify_expr): Add cast to enum type.
      	* decl2.c (constrain_visibility): Likewise.
      	* parser.c (cp_lexer_get_preprocessor_token): Likewise.
      	(cp_parser_flags): Typedef to int rather than enum type.
      	(cp_parser_expression_stack_entry): Change prec field to enum
      	cp_parser_prec.
      
      	* typeck.c (build_modify_expr): Add lhs_origtype parameter.
      	Change all callers.
      
      gcc/fortran/:
      	* gfortran.h (enum gfc_symbol_type): New named enum type, broken
      	out of struct gfc_symbol.
      	(struct gfc_symbol): Use enum gfc_symbol_type.
      	(enum gfc_array_ref_dimen_type): New named enum type, broken out
      	of struct gfc_array_ref).
      	(struct gfc_array_ref): Use enum gfc_array_ref_dimen_type.
      	(mod_pointee_as): Update declaration.
      	* decl.c (add_global_entry): Change type to enum gfc_symbol_type.
      	(gfc_mod_pointee_as): Change return type to "match".
      	* module.c (mio_array_ref): Add cast to enum type.
      	(mio_symbol): Likewise.
      	* resolve.c (resolve_global_procedure): Change type to enum
      	gfc_symbol_type.
      	* trans-io.c (gfc_build_st_parameter): Change type to unsigned
      	int.
      
      gcc/java/:
      	* jcf-parse.c (handle_constant): Add cast to enum type.
      
      gcc/objc/:
      	* objc-act.c (get_super_receiver): Update calls to
      	build_modify_expr to pass new argument.
      
      gcc/testsuite/:
      	* gcc.dg/Wcxx-compat-4.c: New testcase.
      
      From-SVN: r146735
      Ian Lance Taylor committed
  32. 22 Apr, 2009 1 commit
    • hashtab.h: Update GTY annotations to new syntax · d1b38208
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* include/hashtab.h: Update GTY annotations to new syntax
      	* include/splay-tree.h: Likewise
      
      
      gcc/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* alias.c: Update GTY annotations to new syntax
      	* basic-block.h: Likewise
      	* bitmap.h: Likewise
      	* c-common.h: Likewise
      	* c-decl.c: Likewise
      	* c-parser.c: Likewise
      	* c-pragma.c: Likewise
      	* c-tree.h: Likewise
      	* cfgloop.h: Likewise
      	* cgraph.h: Likewise
      	* config/alpha/alpha.c: Likewise
      	* config/arm/arm.h: Likewise
      	* config/avr/avr.h: Likewise
      	* config/bfin/bfin.c: Likewise
      	* config/cris/cris.c: Likewise
      	* config/darwin.c: Likewise
      	* config/frv/frv.c: Likewise
      	* config/i386/i386.c: Likewise
      	* config/i386/i386.h: Likewise
      	* config/i386/winnt.c: Likewise
      	* config/ia64/ia64.h: Likewise
      	* config/iq2000/iq2000.c: Likewise
      	* config/mips/mips.c: Likewise
      	* config/mmix/mmix.h: Likewise
      	* config/pa/pa.c: Likewise
      	* config/pa/pa.h: Likewise
      	* config/rs6000/rs6000.c: Likewise
      	* config/s390/s390.c: Likewise
      	* config/sparc/sparc.c: Likewise
      	* config/xtensa/xtensa.c: Likewise
      	* cselib.h: Likewise
      	* dbxout.c: Likewise
      	* dwarf2out.c: Likewise
      	* except.c: Likewise
      	* except.h: Likewise
      	* fixed-value.h: Likewise
      	* function.c: Likewise
      	* function.h: Likewise
      	* gimple.h: Likewise
      	* integrate.c: Likewise
      	* optabs.c: Likewise
      	* output.h: Likewise
      	* real.h: Likewise
      	* rtl.h: Likewise
      	* stringpool.c: Likewise
      	* tree-data-ref.c: Likewise
      	* tree-flow.h: Likewise
      	* tree-scalar-evolution.c: Likewise
      	* tree-ssa-address.c: Likewise
      	* tree-ssa-alias.h: Likewise
      	* tree-ssa-operands.h: Likewise
      	* tree.c: Likewise
      	* tree.h: Likewise
      	* varasm.c: Likewise
      	* varray.h: Likewise
      	* vec.h: Likewise
      	* coretypes.h: Do not define GTY macro if it is already defined
      	* doc/gty.texi: Update GTY documentation to new syntax
      	* gengtype-lex.l: Enforce attribute-like syntax for GTY annotations on structs
      	* gengtype-parse.c: Likewise
      
      
      gcc/ada/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* gcc-interface/ada-tree.h: Update GTY annotations to new syntax
      	* gcc-interface/trans.c: Likewise
      	* gcc-interface/utils.c: Likewise
      
      
      gcc/cp/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* cp-tree.h: Update GTY annotations to new syntax
      	* decl.c: Likewise
      	* mangle.c: Likewise
      	* name-lookup.c: Likewise
      	* name-lookup.h: Likewise
      	* parser.c: Likewise
      	* pt.c: Likewise
      	* rtti.c: Likewise
      	* semantics.c: Likewise
      	* typeck2.c: Likewise
      
      
      gcc/fortran/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* f95-lang.c: Update GTY annotations to new syntax
      	* trans-intrinsic.c: Likewise
      	* trans-io.c: Likewise
      	* trans.h: Likewise
      
      
      gcc/java/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* builtins.c: Update GTY annotations to new syntax
      	* decl.c: Likewise
      	* java-tree.h: Likewise
      	* jcf.h: Likewise
      	* lang.c: Likewise
      
      
      gcc/objc/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* objc-act.c: Update GTY annotations to new syntax
      	* objc-act.h: Likewise
      
      
      libcpp/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* include/cpp-id-data.h: Update GTY annotations to new syntax
      	* include/cpplib.h: Likewise
      	* include/line-map.h: Likewise
      	* include/symtab.h: Likewise
      
      From-SVN: r146607
      Taras Glek committed
  33. 21 Apr, 2009 1 commit
    • ABOUT-GCC-NLS, [...]: Add copyright and license notices. · ad41bd84
      	* ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998,
      	ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
      	ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
      	ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib,
      	ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog,
      	FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4,
      	config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver,
      	config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h,
      	config/alpha/x-vms, config/arc/t-arc,
      	config/arm/README-interworking, config/arm/arm-c.c,
      	config/arm/gentune.sh, config/arm/libgcc-bpabi.ver,
      	config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp,
      	config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi,
      	config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf,
      	config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe,
      	config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver,
      	config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf,
      	config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux,
      	config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris,
      	config/cris/t-elfmulti, config/crx/t-crx,
      	config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def,
      	config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver,
      	config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh,
      	config/h8300/t-h8300, config/i386/athlon.md,
      	config/i386/darwin-libgcc.10.4.ver,
      	config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver,
      	config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc,
      	config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386,
      	config/i386/t-linux64, config/i386/t-nwld,
      	config/i386/t-rtems-i386, config/i386/t-sol2-10,
      	config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h,
      	config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver,
      	config/ia64/libgcc-ia64.ver, config/ia64/linux.h,
      	config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64,
      	config/iq2000/abi, config/iq2000/lib2extra-funcs.c,
      	config/iq2000/t-iq2000, config/libgcc-glibc.ver,
      	config/m32r/libgcc-glibc.ver, config/m32r/t-linux,
      	config/m32r/t-m32r, config/m68hc11/t-m68hc11,
      	config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs,
      	config/m68k/t-uclinux, config/mcore/t-mcore,
      	config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md,
      	config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm,
      	config/mips/crtn.asm, config/mips/irix-crti.asm,
      	config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver,
      	config/mips/mips-dsp.md, config/mips/mips-dspr2.md,
      	config/mips/mips-fixed.md, config/mips/sb1.md,
      	config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast,
      	config/mips/t-iris6, config/mips/t-isa3264,
      	config/mips/t-libgcc-mips16, config/mips/t-linux64,
      	config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems,
      	config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk,
      	config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st,
      	config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix,
      	config/mn10300/t-linux, config/mn10300/t-mn10300,
      	config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux,
      	config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11,
      	config/picochip/libgccExtras/clzsi2.asm,
      	config/picochip/t-picochip, config/rs6000/darwin-ldouble-format,
      	config/rs6000/darwin-libgcc.10.4.ver,
      	config/rs6000/darwin-libgcc.10.5.ver,
      	config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h,
      	config/rs6000/t-aix43, config/rs6000/t-aix52,
      	config/rs6000/t-darwin, config/rs6000/t-fprules,
      	config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64,
      	config/rs6000/t-lynx, config/rs6000/t-netbsd,
      	config/rs6000/t-ppccomm, config/rs6000/t-ppcendian,
      	config/rs6000/t-ppcgas, config/rs6000/t-rs6000,
      	config/rs6000/t-rtems, config/rs6000/t-spe,
      	config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver,
      	config/score/t-score-elf, config/sh/divcost-analysis,
      	config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh,
      	config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian,
      	config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h,
      	config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h,
      	config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2,
      	config/stormy16/stormy-abi, config/stormy16/t-stormy16,
      	config/t-darwin, config/t-libunwind, config/t-libunwind-elf,
      	config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver,
      	config/t-slibgcc-sld, config/t-sol2, config/t-vxworks,
      	config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850,
      	config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def,
      	gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog,
      	java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver,
      	limitx.h, version.c, xcoff.h: Add copyright and license notices.
      	* config/h8300/genmova.sh: Include copyright and license notices
      	in generated output.
      	* config/h8300/mova.md: Regenerate.
      	* doc/install.texi2html: Include word "Copyright" in copyright
      	notice and use name "Free Software Foundation, Inc.".
      	* ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
      	ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
      	ChangeLog-2007, ChangeLog-2008: Correct dates.
      
      ada:
      	* ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
      	license notices.
      
      cp:
      	* ChangeLog, ChangeLog-1993, ChangeLog-1994, ChangeLog-1995,
      	ChangeLog-1996, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999,
      	ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003,
      	ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
      	ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, NEWS,
      	cfns.gperf: Add copyright and license notices.
      	* cfns.h: Regenerate.
      	* ChangeLog, ChangeLog-2004: Correct dates.
      
      fortran:
      	* ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004,
      	ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008,
      	ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add
      	copyright and license notices.
      	* ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
      	ChangeLog-2008: Correct dates.
      
      java:
      	* ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
      	license notices.
      
      objc:
      	* ChangeLog: Add copyright and license notices.
      
      objcp:
      	* ChangeLog: Add copyright and license notices.
      
      po:
      	* ChangeLog, EXCLUDES: Add copyright and license notices.
      
      testsuite:
      	* ChangeLog, ChangeLog-1993-2007, ChangeLog-2008, ChangeLog.ptr,
      	ChangeLog.tree-ssa, README, README.QMTEST, README.compat,
      	README.gcc, g++.dg/README, g++.dg/compat/break/README,
      	g++.dg/gomp/gomp.exp, g++.old-deja/g++.brendan/README,
      	g++.old-deja/g++.oliva/ChangeLog, g++.old-deja/g++.robertl/README,
      	gcc.c-torture/ChangeLog.0,
      	gcc.c-torture/execute/builtins/builtins.exp, gcc.dg/README,
      	gcc.dg/gomp/gomp.exp, gcc.target/frv/frv.exp,
      	gcc.target/i386/math-torture/math-torture.exp,
      	gcc.target/mips/inter/mips16-inter.exp,
      	gcc.target/mips/mips-nonpic/README,
      	gcc.target/x86_64/abi/README.gcc,
      	gcc.target/xstormy16/xstormy16.exp, gcc.test-framework/README,
      	gfortran.dg/g77/README, gfortran.dg/gomp/gomp.exp,
      	gfortran.fortran-torture/ChangeLog.g95: Add copyright and license
      	notices.
      	* ChangeLog-1993-2007, ChangeLog: Correct dates.
      
      From-SVN: r146533
      Joseph Myers committed
  34. 20 Apr, 2009 1 commit
    • Fix enum conversions which are invalid in C++: · bbbbb16a
      gcc/:
      	Fix enum conversions which are invalid in C++:
      	* auto-inc-dec.c (attempt_change): Change 0 to SET in function
      	call.
      	* calls.c (store_one_arg): Change 0 to EXPAND_NORMAL in function
      	call.
      	* cse.c (hash_rtx_cb): Change 0 to VOIDmode in function call.
      	* dbgcnt.c (dbg_cnt_set_limit_by_name): Add cast to enum type.
      	* dbxout.c (dbxout_symbol): Change 0 to VOIDmode in function
      	call.
      	(dbxout_parms): Likewise.
      	* df-core.c (df_set_flags): Change changeable_flags parameter to
      	int.
      	(df_clear_flags): Likewise.
      	* df-problems.c (df_rd_bb_local_compute_process_def): Change
      	top_flag parameter to int.
      	(df_chain_create_bb_process_use): Likewise.
      	(df_chain_add_problem): Change chain_flags parameter to unsigned
      	int.  Remove cast.
      	* df-scan.c (df_ref_create): Change ref_flags parameter to int.
      	(df_ref_create_structure, df_def_record_1): Likewise.
      	(df_defs_record, df_uses_record, df_get_call_refs): Likewise.
      	(df_notes_rescan): Change 0 to VOIDmode in function call.
      	(df_get_call_refs, df_insn_refs_collect): Likewise.
      	(df_bb_regs_collect): Likewise.
      	(df_entry_block_defs_collect): Likewise.
      	(df_exit_block_uses_collect): Likewise.
      	* df.h: Update declarations.
      	* double-int.c (double_int_divmod): Add cast to enum type.
      	* dse.c (replace_inc_dec): Reverse parameters to gen_int_mode.
      	* dwarf2out.c (new_reg_loc_descr): Add casts to enum type.
      	(based_loc_descr): Likewise.
      	(loc_descriptor_from_tree_1): Change first_op and second_op to
      	enum dwarf_location_atom.  Add cast to enum type.
      	* expmed.c (init_expmed): Change 0 to SET in function call.
      	* expr.c (init_expr_target): Change 0 to VOIDmode in function
      	call.
      	(expand_expr_real_1): Change 0 to EXPAND_NORMAL in function call.
      	(do_store_flag): Likewise.
      	* fixed-value.h (struct fixed_value): Change mode to enum
      	machine_mode.
      	* function.c (assign_parms): Change 0 to VOIDmode in function
      	call.
      	* genautomata.c (insert_automaton_decl): Change 1 to INSERT in
      	function call.
      	(insert_insn_decl, insert_decl, insert_state): Likewise.
      	(automata_list_finish): Likewise.
      	* genrecog.c (process_define_predicate): Add cast to enum type.
      	* gensupport.c (init_predicate_table): Add cast to enum type.
      	* gimple.c (gimple_build_return): Change 0 to ERROR_MARK in
      	function call.
      	(gimple_build_call_1, gimple_build_label): Likewise.
      	(gimple_build_goto, gimple_build_asm_1): Likewise.
      	(gimple_build_switch_1, gimple_build_cdt): Likewise.
      	* gimple.h (GIMPLE_CHECK): Change 0 to ERROR_MARK in function
      	call.
      	(enum fallback): Rename from enum fallback_t.
      	(fallback_t): Typedef as int.
      	* gimple-low.c (lower_builtin_setjmp): Change TSI_SAME_STMT to
      	GSI_SAME_STMT in function call.
      	* ira.c (setup_class_subset_and_memory_move_costs): Add casts to
      	enum type.
      	(setup_reg_class_relations): Likewise.
      	(setup_reg_class_nregs): Change cl to int.  Add casts to enum
      	type.
      	(setup_prohibited_class_mode_regs): Add cast to enum type.
      	(setup_prohibited_mode_move_regs): Likewise.
      	* ira-costs.c (record_reg_classes): Change rclass to enum
      	reg_class.
      	(record_address_regs): Change i to enum reg_class.
      	* lists.c (alloc_EXPR_LIST): Add cast to enum type.
      	* machmode.h (GET_MODE_CLASS): Cast value to enum mode_class.
      	(GET_MODE_WIDER_MODE): Cast value to enum machine_mode.
      	(GET_MODE_2XWIDER_MODE): Likewise.
      	(GET_CLASS_NARROWEST_MODE): Likewise.
      	* omp-low.c (expand_omp_for): Add cast to enum type.
      	* optabs.c (debug_optab_libfuncs): Add casts to enum type.
      	* opts.c (enable_warning_as_error): Change kind to diagostic_t.
      	* postreload.c (reload_cse_simplify_operands): Change rclass local
      	to enum reg_class.
      	* predict.c (combine_predictions_for_insn): Change best_predictor
      	and predictor to enum br_predictor.
      	(combine_predictions_for_bb): Likewise.
      	(build_predict_expr): Change assignment to PREDICT_EXPR_OUTCOME to
      	use SET_PREDICT_EXPR_OUTCOME.
      	* real.c (real_arithmetic): Change icode to code in function
      	call.
      	* reginfo.c (init_move_cost): Add casts to enum type.
      	(init_reg_sets_1, init_fake_stack_mems): Likewise.
      	* regmove.c (regclass_compatible_p): Change class0 and class1 to
      	enum reg_class.
      	* reload.c (find_valid_class): Add casts to enum type.
      	(push_reload): Change 0 to NO_REGS in function call.
      	(find_reloads): Change this_alternative to array of enum
      	reg_class.  Remove some now-unnecessary casts.
      	(make_memloc): Change 0 to VOIDmode in function call.
      	* reload1.c (reload): Change 0 to VOIDmode in function call.
      	(eliminate_regs_1, elimination_effects): Likewise.
      	(eliminate_regs_in_insn): Likewise.
      	(emit_input_reload_insns): Add cast to enum type.
      	(delete_output_reload): Change 0 to VOIDmode in function call.
      	* reorg.c (insn_sets_resource_p): Convert include_delayed_effects
      	to enum type in function call.
      	* tree.h (PREDICT_EXPR_OUTCOME): Add cast to enum type.
      	(SET_PREDICT_EXPR_OUTCOME): Define.
      	* tree-dump.c (get_dump_file_info): Change phase parameter to
      	int.
      	(get_dump_file_name, dump_begin, dump_enabled_p): Likewise.
      	(dump_initialized_p, dump_flag_name, dump_end): Likewise.
      	(dump_function): Likewise.
      	* tree-dump.h: Update declarations.
      	* tree-pass.h: Update declarations.
      	* varasm.c (assemble_integer): Change mclass to enum mode_class.
      	* config/arm/arm.c (thumb_legitimize_reload_address): Add cast to
      	enum type.
      	(arm_rtx_costs_1): Correct parenthesization.
      	(arm_rtx_costs): Add casts to enum type.
      	(adjacent_mem_locations): Reverse arguments to const_ok_for_op.
      	(vfp_emit_fstmd): Use add_rg_note.
      	(emit_multi_reg_push, emit_sfm): Likewise.
      	(thumb_set_frame_pointer): Likewise.
      	(arm_expand_prologue): Likewise.
      	(arm_regno_class): Change return type to enum reg_class.
      	(thumb1_expand_prologue): Use add_reg_note.
      	* config/arm/arm-protos.h (arm_regno_class): Update declaration.
      	* config/arm/arm.h (INITIALIZE_TRAMPOLINE): Change 0 to LCT_NORMAL
      	in function call.
      	* config/arm/gentune.sh: Add cast to enum type.
      	* config/arm/arm-tune.md: Rebuild.
      	* config/i386/i386.c (ix86_expand_prologue): Use add_reg_note.
      	(ix86_split_fp_branch, predict_jump): Likewise.
      	(ix86_expand_multi_arg_builtin): Change sub_code from enum
      	insn_code to enum rtx_code.
      	(ix86_builtin_vectorized_function): Add cast to enum type.
      	* config/i386/i386.md (truncdfsf2): Change slot to enum
      	ix86_stack_slot.
      	(truncxf<mode>2, isinf<mode>2): Likewise.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Add cast to
      	enum type.
      	* config/ia64/ia64.c (ia64_split_tmode_move): Use add_reg_note.
      	(spill_restore_mem, do_spill, ia64_expand_prologue): Likewise.
      	(insert_bundle_state): Change 1 to INSERT in function call.
      	(ia64_add_bundle_selector_before): Likewise.
      	* config/ia64/ia64.md (cpu attr): Add cast to enum type.
      	(save_stack_nonlocal): Change 0 to LCT_NORMAL in function call.
      	(restore_stack_nonlocal): Likewise.
      	* config/mips/mips.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in
      	function call.
      	* config/mips/mips.c (mips_binary_cost): Change 0 to SET in
      	function call.
      	(mips_rtx_costs): Likewise.
      	(mips_override_options): Add casts to enum type.
      	* config/mips/sdemtk.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL
      	in function call.
      	* config/pa/pa.c (legitimize_pic_address): Use add_reg_note.
      	(store_reg, set_reg_plus_d): Likewise.
      	(hppa_expand_prologue, hppa_profile_hook): Likewise.
      	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
      	cast to enum type.
      	(altivec_expand_vec_set_builtin): Change 0 to EXPAND_NORMAL in
      	function call.
      	(emit_unlikely_jump): Use add_reg_note.
      	(rs6000_emit_allocate_stack): Likewise.
      	(rs6000_frame_related, rs6000_emit_prologue): Likewise.
      	(output_toc): Change 1 to INSERT in function call.
      	(output_profile_hook): Change 0 to LCT_NORMAL in function call.
      	(rs6000_initialize_trampoline): Likewise.
      	(rs6000_init_dwarf_reg_sizes_extra): Change 0 to EXPAND_NORMAL in
      	function call.
      	* config/s390/s390.c (s390_rtx_costs): Add cast to enum type.
      	(s390_expand_movmem): Change 0 to OPTAB_DIRECT in function call.
      	(s390_expand_setmem, s390_expand_cmpmem): Likewise.
      	(save_gprs): Use add_reg_note.
      	(s390_emit_prologue): Likewise.
      	(s390_expand_builtin): Change 0 to EXPAND_NORMAL in function
      	call.
      	* config/sparc/sparc.c (sparc_expand_prologue): Use add_reg_note.
      	(sparc_fold_builtin): Add cast to enum type.
      	* config/spu/spu.c (spu_emit_branch_or_set): Change ior_code to
      	enum insn_code.
      	(spu_expand_prologue): Use add_reg_note.
      	(expand_builtin_args): Change 0 to EXPAND_NORMAL in function
      	call.
      
      	* c-parser.c (c_parser_attributes): Change VEC back to tree list.
      	(c_parser_postfix_expression_after_primary): Get VEC for list of
      	arguments.  Get original types of arguments.  Call
      	build_function_call_vec.
      	(cached_expr_list_1, cached_expr_list_2): New static variables.
      	(c_parser_expr_list): Change return type to VEC *.  Add
      	p_orig_types parameter.  Change all callers.
      	(c_parser_release_expr): New static function.
      	(c_parser_vec_to_tree_list): New static function.
      	* c-typeck.c (build_function_call): Rewrite to build a VEC and
      	call build_function_call_vec.
      	(build_function_call_vec): New function, based on old
      	build_function_call.
      	(convert_arguments): Remove nargs and argarray parameters.  Change
      	values to a VEC.  Add origtypes parameter.
      	(build_modify_expr): Add rhs_origtype parameter.  Change all
      	callers.
      	(convert_for_assignment): Add origtype parameter.  Change all
      	callers.  If warn_cxx_compat, check for conversion to an enum
      	type when calling a function.
      	(store_init_value): Add origtype parameter.  Change all callers.
      	(digest_init): Likewise.
      	(struct init_node): Add origtype field.
      	(add_pending_init): Add origtype parameter.  Change all callers.
      	(output_init_element): Likewise.
      	(output_pending_init_elements): Pass origtype from init_node to
      	output_init_element.
      	(process_init_elemnt): Pass origtype from c_expr to
      	output_init_element.
      	(c_finish_return): Add origtype parameter.  Change all callers.
      	* c-common.c (sync_resolve_size): Change params to VEC *.  Change
      	caller.
      	(sync_resolve_params): Likewise.
      	(sync_resolve_return): Change params to first_param.  Change
      	caller.
      	(resolve_overloaded_builtins): Change params to VEC *.  Change
      	callers.   Save first parameter around call to
      	build_function_call_vec.
      	* c-decl.c (finish_decl): Add origtype parameter.  Change all
      	callers.  Call build_function_call_vec rather than
      	build_function_call for cleanup.
      	* c-tree.h: Update declarations.
      	* c-common.h: Update declarations.
      	* stub-objc.c (objc_rewrite_function_call): Change parameter from
      	params to first_param.
      	* target.h (struct gcc_target): Change resolve_overloaded_builtin
      	params parameter from tree to void *.
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
      	Change arglist parameter to have type void *, and to be a pointer
      	to a VEC.
      	* config/rs6000/rs6000-protos.h
      	(altivec_resolve_overloaded_builtin): Update declaration.
      	* config/spu/spu-c.c (spu_resolved_overloaded_builtin): Change
      	fnargs parameter to have type void *, and to be a pointer to a
      	VEC.  Call build_function_call_vec instead of
      	build_function_call.
      	* config/spu/spu-protos.h (spu_expand_builtin): Update
      	declaration.
      
      gcc/cp/:
      	* typeck.c (build_function_call_vec): New function.
      	(cp_build_function_call): Only pass first parameter to
      	objc_rewrite_function_call.
      	(build_modify_expr): Add rhs_origtype parameter.  Change all
      	callers.
      	* decl.c (finish_decl): Add origtype parameter.  Change all
      	callers.
      	* semantics.c (finish_call_expr): Pass VEC to
      	resolve_overloaded_builtin.
      
      gcc/objc:
      	* objc-act.c (objc_rewrite_function_call): Change parameter from
      	params to first_param.  Change all callers.
      
      gcc/testsuite:
      	* gcc.dg/Wcxx-compat-3.c: New testcase.
      
      From-SVN: r146451
      Ian Lance Taylor committed