1. 14 Sep, 2009 1 commit
  2. 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
  3. 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
  4. 01 Sep, 2009 2 commits
    • boehm.c (mark_reference_fields): Compute % in HOST_WIDE_INT type. · 437926c0
      	* boehm.c (mark_reference_fields): Compute % in HOST_WIDE_INT
      	type.
      
      	* gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
      	POINTER_SIZE to HOST_WIDE_INT.
      
      From-SVN: r151263
      Jakub Jelinek committed
    • tree-flow.h (mark_addressable): Move declaration ... · 58f986ca
      2009-09-01  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow.h (mark_addressable): Move declaration ...
      	* tree.h (mark_addressable): ... here.
      	* stmt.c (expand_asm_operands): Use mark_addressable, not
      	lang_hooks.mark_addressable.
      	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
      	LANG_HOOKS_MARK_ADDRESSABLE.
      	* langhooks.h (struct lang_hooks): Remove mark_addressable langhook.
      
      	* c-objc-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
      
      	ada/
      	* gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
      
      	cp/
      	* cp-objcp-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
      
      	fortran/
      	* f95-lang.c (gfc_mark_addressable): Remove.
      	(LANG_HOOKS_MARK_ADDRESSABLE): Likewise.
      
      	java/
      	* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
      	* java-tree.h (java_mark_addressable): Likewise.
      	* typeck.c (java_mark_addressable): Likewise.
      
      From-SVN: r151260
      Richard Guenther committed
  5. 17 Aug, 2009 1 commit
  6. 12 Aug, 2009 1 commit
  7. 11 Aug, 2009 1 commit
  8. 03 Aug, 2009 1 commit
    • re PR middle-end/40867 (FAIL: StackTrace2 output - source compiled test) · 239bca9d
      2009-07-31  Andrew Haley  <aph@redhat.com>
      
      	PR java/40867
      	* decl.c (java_replace_references): Set EXPR_LOCATION on all
      	generated expressions.
      	(binding_level.loc): new field.
      	(clear_binding_level): Initialize loc.
      	(set_input_location): New function.
      	(pushlevel): Set new binding_level.loc.
      	(poplevel): Set EXPR_LOCATION on the new BIND_EXPR_BODY.
      	(start_java_method): Set DECL_SOURCE_LOCATION of this new method.
      	(java_add_stmt): Set the EXPR_LOCATION on all subtrees of new_stmt.
      
      From-SVN: r150376
      Andrew Haley committed
  9. 17 Jul, 2009 1 commit
    • re PR c/40401 (ICE: verify_gimple failed) · a406865a
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	PR c/40401
      	* tree-pass.h (pass_diagnose_omp_blocks): Declare.
      	(pass_warn_unused_result): Likewise.
      	(TODO_set_props): Remove.
      	* omp-low.c (diagnose_omp_structured_block_errors): Change to
      	run as a pass.
      	(pass_diagnose_omp_blocks): Define.
      	* c-decl.c (pop_file_scope): Do not finalize the CU here.
      	(c_gimple_diagnostics_recursively): Remove.
      	(finish_function): Do not call it.
      	(c_write_global_declarations): Continue after errors.
      	Finalize the CU here.
      	* c-gimplify.c (c_genericize): Do not gimplify here.
      	* c-common.c (c_warn_unused_result): Move ...
      	* tree-cfg.c (do_warn_unused_result): ... here.
      	(run_warn_unused_result): New function.
      	(gate_warn_unused_result): New function.
      	(pass_warn_unused_result): New pass.
      	* c-common.h (c_warn_unused_result): Remove.
      	* flags.h (flag_warn_unused_result): Declare.
      	* c-opts.c (c_common_init_options): Enable flag_warn_unused_result.
      	* opts.c (flag_warn_unused_result): Initialize to false.
      
      	* toplev.c (compile_file): Add comment.
      	* omp-low.c (create_omp_child_function): Do not register
      	the function with the frontend.
      	(diagnose_omp_structured_block_errors): Prepare to be
      	called as optimization pass.
      	(gate_diagnose_omp_blocks): New function.
      	(pass_diagnose_omp_blocks): New pass.
      	* cgraph.h (cgraph_optimize): Remove.
      	(cgraph_analyze_function): Likewise.
      	* cgraph.c (cgraph_add_new_function): Gimplify C++ thunks.
      	* cgraphunit.c (cgraph_lower_function): Lower nested functions
      	before their parents here.
      	(cgraph_finalize_function): Not here.
      	(cgraph_analyze_function): Gimplify functions here.
      	(cgraph_finalize_compilation_unit): Continue after errors.
      	Optimize the callgraph from here.
      	(cgraph_optimize): Make static.
      	* langhooks.c (write_global_declarations): Finalize the CU.
      	* gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors.
      	(gimplify_function_tree): Assert we gimplify only once.
      	Set PROP_gimple_any property.
      	* tree-nested.c (gimplify_all_functions): New function.
      	(lower_nested_functions): Gimplify all nested functions.
      	* gimple.h (diagnose_omp_structured_block_errors): Remove.
      	* passes.c (init_optimization_passes): Add pass_warn_unused_result
      	and pass_diagnose_omp_blocks after gimplification.  Do not
      	set TODO_set_props on all_lowering_passes.
      	(execute_one_pass): Do not handle TODO_set_props.
      	* Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency.
      	(gimplify.o): Add tree-pass.h dependency.
      	* tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST.
      	(copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR.
      	(unsave_r): Likewise.
      	* c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the
      	temporary variable.
      
      	cp/
      	* decl.c (finish_function): Do not emit unused result warnings
      	from here.
      	* cp-objcp-common.h (LANG_HOOKS_POST_GIMPLIFY_PASS): Use
      	c_warn_unused_result_pass.
      	* semantics.c (expand_or_defer_fn): Adjust assertion about IL status.
      	* optimize.c (clone_body): Clone in GENERIC.
      	(maybe_clone_body): Do not clear DECL_SAVED_TREE.
      	* decl2.c (cp_write_global_declarations): Fix body test.
      	Do not call cgraph_optimize.
      	* Make-lang.in (optimize.o): Add tree-iterator.h dependency.
      	* method.c (use_thunk): Register thunk with
      	cgraph_finalize_function.
      	* error.c (function_category): Guard access of DECL_LANG_SPECIFIC.
      
      	java/
      	* java-gimplify.c (java_genericize): Do not gimplify here.
      	But replace all local references.
      	(java_gimplify_expr): Do not replace local references here.
      	(java_gimplify_modify_expr): Likewise.
      	* jcf-parse.c (java_parse_file): Do not finalize the CU or
      	optimize the cgraph here.
      	* decl.c (java_replace_reference): Make static.
      	(java_replace_references): New function.
      	(end_java_method): Clear base_decl_map.
      	* java-tree.h (java_replace_references): Declare.
      	(java_replace_reference): Remove.
      
      	ada/
      	* utils.c (end_subprog_body): Revert to pre-tuples state.  Remove
      	unused parameter.
      	(gnat_gimplify_function): Do not gimplify here.
      	Fold into its only caller and remove.
      	(gnat_builtin_function): Adjust for end_subprog_body signature change.
      	(gnat_write_global_declarations): Also finalize the CU.
      	* misc.c (gnat_parse_file): Do not finalize the CU here.
      	* trans.c (gigi): Revert to pre-tuples state.
      	(Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
      	change.
      	* gigi.h (end_subprog_body): Remove unused parameter.
      
      	fortran/
      	* f95-lang.c (gfc_be_parse_file): Do not finalize the CU here.
      	* trans-decl.c (gfc_gimplify_function): Remove.
      	(build_entry_thunks): Do not gimplify here.
      	(create_main_function): Likewise.
      	(gfc_generate_function_code): Likewise.
      
      	* g++.dg/rtti/crash4.C: New testcase.
      	* g++.dg/torture/20090706-1.C: Likewise.
      	* gcc.dg/redecl-17.c: Likewise.
      
      	* gfortran.dg/missing_optional_dummy_5.f90: Adjust pattern.
      	* gcc.dg/declspec-9.c: Expect extra error.
      	* gcc.dg/declspec-10.c: Likewise.
      	* gcc.dg/declspec-11.c: Likewise.
      	* gcc.dg/redecl-10.c: Expect extra warnings.
      	* gcc.target/i386/pr39082-1.c: Adjust diagnostic location.
      	* gcc.target/i386/pr39545-1.c: Likewise.
      	* g++.dg/ext/asm3.C: Expect more errors.
      	* g++.dg/gomp/block-1.C: Likewise.
      	* g++.dg/gomp/block-2.C: Likewise.
      	* g++.dg/gomp/block-3.C: Likewise.
      	* g++.dg/gomp/block-5.C: Likewise.
      	* g++.old-deja/g++.jason/report.C: Expect extra warnings.
      	* g++.dg/warn/unused-result1.C: XFAIL.
      
      From-SVN: r149750
      Richard Guenther committed
  10. 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
  11. 07 Jul, 2009 2 commits
    • 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
  12. 29 Jun, 2009 1 commit
    • re PR java/40590 (namespace namespace broken in CNI) · 3ad1aba1
      2009-06-29  Andrew Haley  <aph@redhat.com>
      
      	PR java/40590	
      	* tools/gnu/classpath/tools/javah/FieldHelper.java (print):
      	Use printName().
      	* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
      	Use printName().
      	* tools/gnu/classpath/tools/javah/CniStubPrinter.java (printDecl):
      	Use printName().
      	* tools/gnu/classpath/tools/javah/Keywords.java (words): Replace
      	with keywords list from  gcc/java/mangle.c.
      	* tools/gnu/classpath/tools/javah/ClassWrapper.java (printMethods):
      	Don't pre-convert a C++ keyword.
      	(print(CniPrintStream)): Call CniPrintStream.printName().
      	(printContents): Likewise.
      	* tools/gnu/classpath/tools/javah/CniPrintStream.java
      	(getClassName): Don't call replaceAll("/", "::").
      	(print(Type)): Add ""::" befor name, " *" after.  Use printName(), not
      	print.
      	(printName(PrintStream, String), printName(String), printlnName):
      	New methods.
      	(moveToPackage): Use printName().
      
      2009-06-29  Andrew Haley  <aph@redhat.com>
      
      	PR java/40590
      	* java-tree.h (cxx_keyword_p): New declaration.
      	* mangle_name.c (utf8_cmp): Move here from mangle.c.
      	(cxx_keywords): Likewise.
      	(cxx_keyword_p): Likewise.
      	(MANGLE_CXX_KEYWORDS): New macro.
      	(append_gpp_mangled_name): Use MANGLE_CXX_KEYWORDS.
      	(append_gpp_mangled_name): Likewise.
      	* mangle.c: Move code to mangle_name.c.
      	(mangle_member_name): Don't call cxx_keyword_p.
      
      From-SVN: r149059
      Andrew Haley committed
  13. 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
  14. 10 Jun, 2009 1 commit
  15. 08 Jun, 2009 1 commit
    • dwarf2.h (enum dwarf_location_atom): Add INTERNAL_DW_OP_tls_addr. · cdb88468
      ./:	* dwarf2.h (enum dwarf_location_atom): Add
      	INTERNAL_DW_OP_tls_addr.
      	* dwarf2out.c (INTERNAL_DW_OP_tls_addr): Don't #define.
      
      	* c-common.c (c_do_switch_warnings): Don't exit early for -Wswitch
      	with no default node.  Change warning with %H to warning_at.
      	Don't clear warn_switch around case checking.
      	* doc/invoke.texi (Warning Options): Clarify distinction between
      	-Wswitch and -Wswitch-enum.
      java/:
      	* jcf-parse.c (handle_constant): Change local variable 'kind' to
      	unsigned int.
      testsuite/:
      	* g++.dg/warn/Wswitch-3.C: New testcase.
      	* gcc.dg/Wswitch.c: Adjust for -Wswitch change.
      	* gcc.dg/Wswitch-enum-error.c: Likewise.
      	* gcc.dg/Wswitch-error.c: Likewise.
      
      From-SVN: r148270
      Ian Lance Taylor committed
  16. 01 Jun, 2009 1 commit
    • attribs.c (register_attribute): Use CONST_CAST. · 67165eb3
      ./:	* attribs.c (register_attribute): Use CONST_CAST.
      	* collect2.c (main): Use CONST_CAST2.
      	(scan_prog_file): Likewise.
      	* gcc.c (process_command, main): Likewise.
      	* toplev.c (toplev_main): Likewise.
      
      	* c-typeck.c (handle_warn_cast_qual): New static function,
      	partially broken out of build_c_cast.
      	(build_c_cast): Call handle_warn_cast_qual.
      	* doc/invoke.texi (Warning Options): Document new effect of
      	-Wcast-qual.
      ./java:	* jcf-io.c (find_class): Use CONST_CAST.
      ./testsuite:	* gcc.dg/cast-qual-3.c: New testcase.
      	* g++.dg/warn/Wcast-qual2.C: New testcase.
      
      From-SVN: r148053
      Ian Lance Taylor committed
  17. 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
  18. 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
  19. 12 May, 2009 1 commit
    • re PR target/37137 (unrecognized command line option "-minterlink-mips16") · 4a4a4e99
      ChangeLog:
      PR target/37137
      * Makefile.def (flags_to_pass): Remove redundant and incomplete
      STAGE1_CFLAGS, STAGE2_CFLAGS, STAGE3_CFLAGS, and STAGE4_CFLAGS.
      Add FLAGS_FOR_TARGET and BUILD_CONFIG.
      (bootstrap_stage): Remove bootstrap-debug custom stages.  Turn
      stage_configureflags, stage_cflags and stage_libcflags into
      explicit Makefile macros.
      * Makefile.tpl (HOST_EXPORTS, EXTRA_HOST_FLAGS): Pass GCJ and
      GFORTRAN.
      (POSTSTAGE1_HOST_EXPORTS): Add XGCC_FLAGS_FOR_TARGET and TFLAGS to
      CC.  Set CC_FOR_BUILD from CC.
      (BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS,
      NORMAL_TARGET_EXPORTS): Move SYSROOT_CFLAGS_FOR_TARGET and
      DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS and CXXFLAGS to
      XGCC_FLAGS_FOR_TARGET.  Add it along with TFLAGS to CC, CXX, GCJ,
      and GFORTRAN.
      (TFLAGS, STAGE_CFLAGS, STAGE_TFLAGS, STAGE_CONFIGURE_FLAGS): New.
      (_LIBCFLAGS): Renamed to _TFLAGS.
      (do-compare-debug, do-compare3-debug): Drop.
      (CC, GCC_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET,
      GCJ_FOR_TARGET, GFORTRAN_FOR_TARGET): Remove FLAGS_FOR_TARGET.
      (FLAGS_FOR_TARGET, SYSROOT_CFLAGS_FOR_TARGET,
      DEBUG_PREFIX_CFLAGS_FOR_TARGET): Move down.
      (XGCC_FLAGS_FOR_TARGET): New.
      (BASE_FLAGS_TO_PASS): Pass STAGEid_CFLAGS, STAGEid_TFLAGS and TFLAGS.
      (EXTRA_HOST_FLAGS): Pass GCJ and GFORTRAN.
      (POSTSTAGE1_FLAGS_TO_PASS): Move SYSROOT_CFLAGS_FOR_TARGET and
      DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS, CXXFLAGS, LIBCFLAGS,
      LIBCXXFLAGS to XGCC_FLAGS_FOR_TARGET.    Add it along with TFLAGS
      to CC, CXX, GCJ, and GFORTRAN.  Pass XGCC_FLAGS_FOR_TARGET and
      TFLAGS.
      (BUILD_CONFIG): Include if requested.
      (all): Set TFLAGS on bootstrap.
      (configure-stageid-prefixmodule): Pass TFLAGS, adjust FLAGS.
      (all-stageid-prefixmodule): Likewise.
      (do-clean, distclean-stageid): Set TFLAGS.
      (restrap): Fix whitespace.
      * Makefile.in: Rebuilt.
      config/ChangeLog:
      * multi.m4: Save CXX, GFORTRAN and GCJ in config.status.
      * mt-gnu (CXXFLAGS_FOR_TARGET): Adjust.
      * bootstrap-O1.mk: New.
      * bootstrap-O3.mk: New.
      * bootstrap-debug.mk: New.
      gcc/ChangeLog:
      PR target/37137
      * doc/install.texi (STAGE1_TFLAGS, BUILD_CONFIG): Document.
      gcc/java/ChangeLog:
      * Make-lang.in (GCJ): Renamed to...
      (XGCJ): ... this.
      libjava/ChangeLog:
      * configure.ac: Insert libgcjdir in the GCJ passed in the
      environment, rather than overriding completely.
      * configure: Rebuilt.
      
      From-SVN: r147415
      Alexandre Oliva committed
  20. 27 Apr, 2009 2 commits
    • 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
    • re PR java/38374 (constant pool references have wrong types in ADDR_EXPR) · 211ca15c
      2009-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
      	(verify_stmts): Dispatch to gimple/type verification code.
      	* tree-inline.c (remap_gimple_op_r): Work around C++ FE
      	issue with call argument types.
      
      	java/
      	PR java/38374
      	* constants.c (build_constants_constructor): Retain the old
      	pointer type as valid TYPE_POINTER_TO after patching the
      	type of the constant pool decl.
      
      From-SVN: r146831
      Richard Guenther committed
  21. 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
  22. 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
  23. 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
  24. 20 Apr, 2009 1 commit
  25. 09 Apr, 2009 1 commit
    • i386.md (cmpcc): New. · 4a77c72b
      2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
      
              * config/i386/i386.md (cmpcc): New.
              * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
              (sync_compare_and_swap_cc*): Delete.
      
              * config/s390/s390.c (s390_compare_emitted): Remove.
              (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
              s390_compare_emitted used to be handled.  Assert that modes match.
              (s390_emit_compare_and_swap): Use s390_emit_compare, do not
              refer to sync_compare_and_swap_ccsi.
              * config/s390/s390.h (s390_compare_emitted): Remove.
              * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
              instead of s390_compare_emitted.
              (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
              instead of s390_compare_emitted.
              * config/s390/s390.md (cmpcc): New.
              (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
              CC_REGNUM, do not pretend it's set.
              (sync_compare_and_swap_cc*): Delete.
              * config/s390/predicates.md (cc_reg_operand): New.
      
              * expr.c (sync_compare_and_swap_cc): Delete.
              * optabs.h (sync_compare_and_swap_cc): Delete.
              * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
              is being used with can_compare_p.
              (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
              (find_cc_set): New.
              (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
              look for a MODE_CC set instead.  Use emit_store_flag.
              (expand_compare_and_swap_loop): Likewise, with some additional
              complication to avoid a force_reg when useless.  Use
              emit_cmp_and_jump_insns.
              * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
              * doc/md.texi (sync_compare_and_swap_cc): Merge with
              sync_compare_and_swap documentation.
      
      java:
      2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
      
              * builtins.c (compareAndSwapLong_builtin,
              compareAndSwapInt_builtin, compareAndSwapObject_builtin,
              VMSupportsCS8_builtin): Do not look at sync_compare_and_swap_cc.
      
      From-SVN: r145825
      Paolo Bonzini committed
  26. 31 Mar, 2009 1 commit
    • re PR middle-end/23401 (Gimplifier produces too many temporaries) · ba4d8f9d
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/23401
      	PR middle-end/27810
      	* tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
      	(struct tree_decl_with_vis): Remove gimple_formal_temp member.
      	* tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
      	a separate statement.
      	* gimplify.c (pop_gimplify_context): Remove formal temp handling.
      	(lookup_tmp_var): Likewise.
      	(is_gimple_formal_tmp_or_call_rhs): Remove.
      	(is_gimple_reg_or_call_rhs): Rename to ...
      	(is_gimple_reg_rhs_or_call): ... this.
      	(is_gimple_mem_or_call_rhs): Rename to ...
      	(is_gimple_mem_rhs_or_call): ... this.
      	(internal_get_tmp_var): Use is_gimple_reg_rhs_or_call.  Set
      	DECL_GIMPLE_REG_P only if is_formal is true.
      	(gimplify_compound_lval): Use is_gimple_reg.  Remove workaround
      	for non-proper post-modify expression gimplification.
      	(gimplify_self_mod_expr): For post-modify expressions gimplify
      	the lvalue to a minimal lvalue.
      	(rhs_predicate_for): Remove formal temp case.
      	(gimplify_modify_expr_rhs): Likewise.
      	(gimplify_addr_expr): Use is_gimple_reg.
      	(gimplify_expr): Remove formal temp cases.
      	(gimple_regimplify_operands): Likewise.
      	* tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
      	and FILTER_EXPR like constants.
      	* gimple.c (walk_gimple_op): Fix val_only initialization, use
      	is_gimple_reg.
      	(is_gimple_formal_tmp_rhs): Remove.
      	(is_gimple_reg_rhs): Remove special casing.
      	(is_gimple_mem_rhs): Fix.
      	(is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
      	(is_gimple_formal_tmp_var): Remove.
      	(is_gimple_formal_tmp_reg): Likewise.
      	(is_gimple_min_lval): Allow invariant component ref parts.
      	* gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
      	is_gimple_formal_tmp_reg): Remove declarations.
      	* tree-cfg.c (verify_expr): Verify that variables with address
      	taken do not have DECL_GIMPLE_REG_P set.
      	* tree-mudflap.c (mf_build_check_statement_for): Use
      	force_gimple_operand instead of gimplify_expr.
      
      	java/
      	* java-gimplify.c (java_gimplify_expr): Do not manually gimplify
      	the first operand of binary and comaprison expressions.
      
      	* gcc.dg/tree-ssa/pr23401.c: New testcase.
      	* gcc.dg/tree-ssa/pr27810.c: Likewise.
      
      From-SVN: r145338
      Richard Guenther committed
  27. 30 Mar, 2009 1 commit
    • re PR middle-end/323 (optimized code gives strange floating point results) · 8ce94e44
      	PR rtl-optimization/323
      	* c-common.c (c_fully_fold, convert_and_check,
      	c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
      	(c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
      	* c-common.def (EXCESS_PRECISION_EXPR): New.
      	* c-cppbuiltin.c (builtin_define_float_constants): Define
      	constants with enough digits for long double.
      	* c-lex.c (interpret_float): Interpret constant with excess
      	precision where appropriate.
      	* c-opts.c (c_common_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for C++ for processors where the
      	option is significant.
      	* c-parser.c (c_parser_conditional_expression): Handle excess
      	precision in condition.
      	* c-typeck.c (convert_arguments): Handle arguments with excess
      	precision.
      	(build_unary_op): Move excess precision outside operation.
      	(build_conditional_expr): Likewise.
      	(build_compound_expr): Likewise.
      	(build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
      	(build_modify_expr): Handle excess precision in RHS.
      	(convert_for_assignment): Handle excess precision in converted
      	value.
      	(digest_init, output_init_element, process_init_element): Handle
      	excess precision in initializer.
      	(c_finish_return): Handle excess precision in return value.
      	(build_binary_op): Handle excess precision in operands and add
      	excess precision as needed for operation.
      	* common.opt (-fexcess-precision=): New option.
      	* config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
      	* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
      	For standard excess precision, output explicit conversion to and
      	truncation from XFmode.
      	(*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
      	define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
      	define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
      	floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
      	divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
      	*fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
      	*fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
      	define_splits, sqrt<mode>2): Disable where appropriate for
      	standard excess precision.
      	* convert.c (convert_to_real): Do not shorten arithmetic to type
      	for which excess precision would be used.
      	* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
      	* doc/invoke.texi (-fexcess-precision=): Document option.
      	(-mfpmath=): Correct index entry.
      	* flags.h (enum excess_precision, flag_excess_precision_cmdline,
      	flag_excess_precision): New.
      	* langhooks.c (lhd_post_options): Set
      	flag_excess_precision_cmdline.
      	* opts.c (common_handle_option): Handle -fexcess-precision=.
      	* toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
      	init_excess_precision): New.
      	(lang_dependent_init_target): Call init_excess_precision.
      	* tree.c (excess_precision_type): New.
      	* tree.h (excess_precision_type): Declare.
      
      ada:
      	* gcc-interface/misc.c (gnat_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      fortran:
      	* options.c (gfc_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      java:
      	* lang.c (java_post_options): Set flag_excess_precision_cmdline.
      	Give an error for -fexcess-precision=standard for processors where
      	the option is significant.
      
      testsuite:
      	* gcc.target/i386/excess-precision-1.c,
      	gcc.target/i386/excess-precision-2.c,
      	gcc.target/i386/excess-precision-3.c,
      	gcc.target/i386/excess-precision-4.c,
      	gcc.target/i386/excess-precision-5.c,
      	gcc.target/i386/excess-precision-6.c: New tests.
      
      From-SVN: r145272
      Joseph Myers committed
  28. 18 Mar, 2009 1 commit
  29. 20 Feb, 2009 1 commit
  30. 03 Feb, 2009 1 commit
    • gcc.c (process_command): Update copyright notice dates. · d4f4bc84
      	* gcc.c (process_command): Update copyright notice dates.
      	* gcov.c (print_version): Likewise.
      	* gcov-dump.c (print_version): Likewise.
      	* mips-tfile.c (main): Likewise.
      	* mips-tdump.c (main): Likewise.
      
      	* gfortranspec.c (lang_specific_driver): Update copyright notice
      	dates.
      
      	* jcf-dump.c (version): Update copyright notice dates.
      
      	* mf-runtime.c (__mf_usage): Update copyright notice dates.
      
      	* gnu/gcj/convert/Convert.java (version): Update copyright notice
      	dates.
      	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
      
      	* gnu/java/rmi/registry/RegistryImpl.java (version): Update
      	copyright notice dates.
      	* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
      
      From-SVN: r143907
      Jakub Jelinek committed
  31. 16 Jan, 2009 1 commit
    • re PR tree-optimization/38835 (field-insensitive PTA causes libstdc++ miscompiles) · 786ce82d
      2009-01-16  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/38835
      	PR middle-end/36227
      	* fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
      	and INT + PTR -> (INT)(PTR p+ INT) folding.
      	* tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
      
      	java/
      	* builtins.c (build_addr_sum): Use POINTER_PLUS_EXPR.
      
      	* gcc.c-torture/execute/pr36227.c: New testcase.
      	* gcc.dg/tree-ssa/foldaddr-1.c: XFAIL.
      	* g++.dg/init/const7.C: Likewise.
      
      From-SVN: r143442
      Richard Guenther committed
  32. 05 Dec, 2008 3 commits
  33. 05 Nov, 2008 1 commit
  34. 24 Oct, 2008 1 commit
    • dg-extract-results.sh: New file. · 7134e605
      contrib/
      	* dg-extract-results.sh: New file.
      gcc/
      	* Makefile.in (lang_checks_parallelized, check_gcc_parallelize,
      	check_p_tool, check_p_vars, check_p_subno, check_p_comma,
      	check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs):
      	New variables.
      	(check-subtargets, check-%-subtargets, check-parallel-%): New
      	targets.
      	(check-%): For test targets listed in lang_checks_parallelized
      	if -j is used and RUNTESTFLAGS doesn't specify tests to execute,
      	run the testing in multiple make goals, possibly parallel, and
      	afterwards run dg-extract-results.sh to merge the sum and log files.
      gcc/cp/
      	* Make-lang.in (check-c++-subtargets): New alias for
      	check-g++-subtargets.
      	(lang_checks_parallelized): Add check-g++.
      	(check_g++_parallelize): New variable.
      gcc/fortran/
      	* Make-lang.in (check-f95-subtargets, check-fortran-subtargets): New
      	aliases for check-gfortran-subtargets.
      	(lang_checks_parallelized): Add check-gfortran.
      	(check_gfortran_parallelize): New variable.
      gcc/ada/
      	* gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
      	check-acats-subtargets and check-gnat-subtargets.
      	(check_acats_targets): New variable.
      	(check-acats-subtargets, check-acats%): New targets.
      	(check-acats): If -j is used and CHAPTERS is empty, run the testing
      	in multiple make goals, possibly parallel, and afterwards run
      	dg-extract-results.sh to merge the sum and log files.
      gcc/java/
      	* Make-lang.in (check-java-subtargets): New target.
      libstdc++-v3/
      	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
      	(RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
      	variables.
      	(%/site.exp, check-DEJAGNU%): New targets.
      	(check-am): Run $(MAKE) check-DEJAGNU.
      	* testsuite/Makefile.in: Regenerated.
      
      From-SVN: r141337
      Jakub Jelinek committed
  35. 16 Oct, 2008 1 commit
    • re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.) · 5773a50f
      gcc/
              PR target/35483
              * Makefile.in (coverage.o): Depend on $(TM_P_H).
              * coverage.c: Include tm_p.h.
              * config/rs6000/x-aix (jc1): Override LDFLAGS.
              * config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip
              dollar signs from PREFIX.
              * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
              instead of manual strip_name_encoding.
      
      java/
              PR target/35483
              * Make-lang.in (class.o): Depend on $(TM_P_H).
              (expr.o): Same.
              * class.c: Include tm_p.h.
              * expr.c: Include tm_p.h.
      
      From-SVN: r141170
      David Edelsohn committed