Commit Graph

89892 Commits

Author SHA1 Message Date
Paolo Carlini
c78a2119d8 shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (__shared_count<>::
	__shared_count(_Ptr, _Deleter), __shared_count<>::
	__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
	__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
	Qualify new with ::.

From-SVN: r140469
2008-09-18 18:55:55 +00:00
Jan Hubicka
e7f8819332 re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140465
2008-09-18 18:16:45 +00:00
Martin Jambor
be95e2b925 ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
2008-09-18  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.

	* ipa-prop.c: Correct comments.
	* ipa-prop.h: Likewise.

From-SVN: r140464
2008-09-18 19:57:05 +02:00
Jan Hubicka
e2c9111c0e re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140463
2008-09-18 17:28:40 +00:00
Steve Ellcey
52d1bfd8cd * MAINTAINERS: Add myself as ia64 maintainer.
From-SVN: r140462
2008-09-18 16:24:37 +00:00
Simon Baldwin
c047ce9383 cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined.
* include/cpplib.h (struct cpp_options): Add new boolean flag
	warn_builtin_macro_redefined.
	* init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
	* (struct builtin_operator): Split out from previous struct builtin,
	enhance extra const correctness.
	* (struct builtin_macro): Split out from previous struct builtin, add
	new always_warn_if_redefined flag, enhance const correctness.
	* (mark_named_operators): Use struct builtin_operator.
	* (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
	to builtins selectively.
	* macro.c (warn_of_redefinition): Return false if a builtin macro
	is not flagged with NODE_WARN.

	* c-opts.c (c_common_handle_option): Add handling for
	-Wbuiltin-macro-redefined command line option.
	* c.opt: Added builtin-macro-redefined option.
	* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
	documentation.

	* gcc.dg/builtin-redefine.c: New.

From-SVN: r140461
2008-09-18 15:39:08 +00:00
Richard Guenther
1d29588628 re PR tree-optimization/37258 (ice in simplify_subreg, at simplify-rtx.c:4957)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37258
	* tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
	and signedness for integral types.
	(vn_phi_eq): Require compatible types.

	* gcc.c-torture/compile/pr37258.c: New testcase.

From-SVN: r140460
2008-09-18 15:27:21 +00:00
Jakub Jelinek
802e9f8e7c re PR debug/34037 (Bounds for VLAs not emitted into debuginfo)
PR debug/34037
	* gimplify.c (gimplify_type_sizes): When not optimizing, ensure
	TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P
	VAR_DECL.
	* cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL
	!DECL_IGNORED_P vars in local_decls list for instantiate_decls,
	ggc_free other TREE_LIST nodes from that chain.
	* function.c (instantiate_decls): Instantiate also DECL_RTL
	of vars in cfun->local_decls, free that list afterwards.

From-SVN: r140459
2008-09-18 17:17:10 +02:00
Eric Botcazou
a2cd689a68 sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
* config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
	* config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here.

From-SVN: r140458
2008-09-18 14:25:39 +00:00
Andrew MacLeod
4b756989b3 Fix comments and formatrting
From-SVN: r140457
2008-09-18 14:13:54 +00:00
Andrew Macleod
a38df783a2 Correct the formatting
From-SVN: r140456
2008-09-18 14:07:35 +00:00
Andrew MacLeod
ffd327a731 fix PR 37102 by having out of ssa remove dead PHI nodes.
From-SVN: r140455
2008-09-18 13:58:55 +00:00
Richard Guenther
3d9fbb9abd re PR middle-end/37284 (ICE on valid code with -fstrict-aliasing)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37284
	* tree-cfg.c (remove_useless_stmts_1): Remove
	GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing.

	* g++.dg/tree-ssa/pr37284.C: New testcase.

From-SVN: r140453
2008-09-18 12:52:31 +00:00
Nick Clifton
35f2d8efd6 frv.h (IRA_COVER_CLASSES): Define.
* config/frv/frv.h (IRA_COVER_CLASSES): Define.
  (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call
  to frv_secondary_reload_class.
  (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
  * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define.
  (frv_secondary_reload_class): Omit unused parameter.
  (frv_secondary_reload): New function.  Handle the case when
  secondary_reload_class() is called before the reload_(in|out)
  _optabs have been initialised.
  * config/frv/frv-protos.h (frv_secondary_reload_class): Omit
  unused parameter.
  * config/frv/frv.md: Define an exclusion set between fr550_m0
  and fr550_f0.

From-SVN: r140452
2008-09-18 12:04:46 +00:00
Daniel Kraft
f25a62a5f3 re PR fortran/37507 (Print location in (DE)ALLOCATION errors)
2008-09-18  Daniel Kraft  <d@domob.eu>

	PR fortran/37507
	* trans.h (gfc_trans_runtime_error): New method.
	(gfc_trans_runtime_error_vararg): New method.
	(gfc_allocate_array_with_status): New argument `expr' for locus/varname.
	(gfc_deallocate_array_with_status): Ditto.
	* trans-array.h (gfc_array_deallocate): Ditto.
	* trans.c (gfc_trans_runtime_error): New method.
	(gfc_trans_runtime_error_vararg): New method, moved parts of the code
	from gfc_trans_runtime_check here.
	(gfc_trans_runtime_error_check): Moved code partly to new method.
	(gfc_call_malloc): Fix tab-indentation.
	(gfc_allocate_array_with_status): New argument `expr' and call
	gfc_trans_runtime_error for error reporting to include locus.
	(gfc_deallocate_with_status): Ditto.
	* trans-stmt.c (gfc_trans_deallocate): Pass expr as new argument.
	* trans-array.c (gfc_array_allocate): Ditto.
	(gfc_array_deallocate): New argument `expr', passed on.
	(gfc_trans_dealloc_allocated): Pass NULL for expr.
	* trans-openmp.c (gfc_omp_clause_default): Ditto.

2008-09-18  Daniel Kraft  <d@domob.eu>

	PR fortran/37507
	* gfortran.dg/allocate_error_1.f90: New test.
	* gfortran.dg/deallocate_error_1.f90: New test.
	* gfortran.dg/deallocate_error_2.f90: New test.

From-SVN: r140451
2008-09-18 14:02:50 +02:00
Richard Guenther
e7089ecf1c re PR middle-end/37456 (ICE: verify_flow_info failed: control flow in the middle of basic block)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37456
	* tree-ssa-reassoc.c (build_and_add_sum): If the stmt we
	want to insert after ends a BB insert on the single fallthru
	outgoing edge.

	* testsuite/g++.dg/torture/pr37456.C: New testcase.

From-SVN: r140449
2008-09-18 11:28:18 +00:00
Andreas Krebbel
59a1bff3e2 invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
2008-09-18  Andreas Krebbel  <krebbel1@de.ibm.com>

	* doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
	Mention -march=z9-109, z9-ec and z10.

From-SVN: r140447
2008-09-18 11:07:03 +00:00
Uros Bizjak
02bb8bce3b re PR rtl-optimization/37544 (Conversion double -> unsigned long long -> unsigned -> double gives wrong results)
PR rtl-optimization/37544
	* regrename.c (maybe_mode_change): Exit early when copy_mode
	is narrower than orig_mode and narrower than new_mode.

testsuite/ChangeLog:

	PR rtl-optimization/37544
	* gcc.dg/pr37544.c: New test.

From-SVN: r140446
2008-09-18 12:17:42 +02:00
Alexander Monakov
d9e74dfcc1 re PR middle-end/37499 (Scheduling pass 2 time increases by order of magnitude)
2008-09-18  Alexander Monakov  <amonakov@ispras.ru>

	PR middle-end/37499
	* sched-int.h (struct _haifa_insn_data): Remove unused field
	ref_count.

	* sched-rgn.c (ref_counts): Remove.
	(insn_referenced): New static variable.
	(INSN_REF_COUNT): Remove.
	(sched_run_compute_dependencies): Use insn_referenced instead of
	INSN_REF_COUNT.
	(add_branch_dependences): Likewise.  Delete dead assignment.

From-SVN: r140445
2008-09-18 12:29:48 +04:00
Adam Nemet
078a70a15e haifa-sched.c (dep_cost_1): Recognize the producer even if the consumer is an asm.
* haifa-sched.c (dep_cost_1): Recognize the producer even if the
	consumer is an asm.  Add comment why this is important.
	(choose_ready): Add comment to the "INSN_CODE (insn) >= 0 ||
	recog_memoized (insn) < 0" assert.  Put ENABLE_CHECKING around
	it.

From-SVN: r140444
2008-09-18 05:24:57 +00:00
Joseph Myers
38c4df0b85 expr.c (emit_group_store): Do not shift before moving via a stack slot.
* expr.c (emit_group_store): Do not shift before moving via a
	stack slot.

From-SVN: r140442
2008-09-18 02:09:40 +01:00
GCC Administrator
2acafa84bd Daily bump.
From-SVN: r140440
2008-09-18 00:16:44 +00:00
Janis Johnson
c95ef33cc6 re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
	* g++.old-deja/g++.brendan/crash7.C: Remove "error" or "warning" from
	message for dg-error/dg-warning.
	* g++.old-deja/g++.jason/crash11.C: Ditto.
	* g++.old-deja/g++.oliva/template1.C: Ditto.
	* g++.old-deja/g++.benjamin/tem03.C: Ditto.
	* g++.dg/rtti/no-rtti.C: Ditto.
	* g++.dg/cpp/pedantic-errors.C: Ditto.
	* g++.dg/cpp/string-2.C: Ditto.
	* g++.dg/ext/fpreg1.C: Ditto.
	* g++.dg/ext/altivec-types-1.C: Ditto.
	* g++.dg/warn/write-strings-default.C: Ditto.
	* g++.dg/warn/Wvla-2.C: Ditto.
	* g++.dg/warn/register-var-1.C: Ditto.
	* g++.dg/warn/deprecated-3.C: Ditto.
	* g++.dg/warn/pr30551-2.C: Ditto.
	* g++.dg/warn/overflow-warn-1.C: Ditto.
	* g++.dg/warn/pr30551.C: Ditto.
	* g++.dg/warn/pointer-integer-comparison.C: Ditto.
	* g++.dg/warn/pr12242.C: Ditto.
	* g++.dg/warn/write-strings.C: Ditto.
	* g++.dg/warn/overflow-warn-3.C: Ditto.
	* g++.dg/warn/overflow-warn-4.C: Ditto.
	* g++.dg/warn/overflow-warn-6.C: Ditto.
	* g++.dg/parse/crash43.C: Ditto.
	* g++.dg/parse/crash44.C: Ditto.
	* g++.dg/parse/offsetof8.C: Ditto.
	* g++.dg/gomp/pr35158.C: Ditto.
	* g++.dg/template/crash81.C: Ditto.

From-SVN: r140437
2008-09-17 23:23:11 +00:00
Paolo Carlini
116a365bd4 re PR libstdc++/37547 ([c++0x] minmax with initializer_list gives incorrect results)
2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37547
	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Fix return type.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
	3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/max/37547.cc: New.
	* testsuite/25_algorithms/min/37547.cc: Likewise.
	* testsuite/25_algorithms/minmax/37547.cc: Likewise.

From-SVN: r140435
2008-09-17 22:58:38 +00:00
Paul Thomas
0b4e2af765 re PR fortran/37274 ([Regression on 4.3?] error: type name is ambiguous.)
2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37274
	PR fortran/36374
	* module.c (check_for_ambiguous): New function to test loaded
	symbol for ambiguity with fixup symbol.
	(read_module): Call check_for_ambiguous.
	(write_symtree): Do not write the symtree for symbols coming
	from an interface body.

	PR fortran/36374
	* resolve.c (count_specific_procs ): New function to count the
	number of specific procedures with the same name as the generic
	and emit appropriate errors for and actual argument reference.
	(resolve_assumed_size_actual): Add new argument no_formal_args.
	Correct logic around passing generic procedures as arguments.
	Call count_specific_procs from two locations.
	(resolve_function): Evaluate and pass no_formal_args.
	(resolve call): The same and clean up a bit by using csym more
	widely.

	PR fortran/36454
	* symbol.c (gfc_add_access): Access can be updated if use
	associated and not private.

2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37274
	* gfortran.dg/used_types_22.f90: New test.
	* gfortran.dg/used_types_23.f90: New test.

	PR fortran/36374
	* gfortran.dg/generic_17.f90: New test.
	* gfortran.dg/ambiguous_specific_2.f90: New test.
	* gfortran.dg/generic_actual_arg.f90: Add test for case that is
	not ambiguous.

	PR fortran/36454
	* gfortran.dg/access_spec_3.f90: New test.

From-SVN: r140434
2008-09-17 22:23:51 +00:00
Jakub Jelinek
c0b290997f re PR fortran/37536 (a mfcr is produced instead of branches for DO loops)
PR fortran/37536
	* trans-stmt.c (gfc_trans_do): Optimize integer type non-simple
	do loop initialization.

From-SVN: r140433
2008-09-17 23:51:50 +02:00
Eric Botcazou
1a8c909ebd varasm.c (initializer_constant_valid_p): Forbid view-conversions from aggregate to non-aggregate type if...
* varasm.c (initializer_constant_valid_p): Forbid view-conversions
	from aggregate to non-aggregate type if the bit pattern is not fully
	preserved afterwards.

From-SVN: r140432
2008-09-17 21:48:08 +00:00
Richard Guenther
9f509004fc tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
2008-09-17  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
	(verify_gimple_assign): ... this.  Split into ...
	(verify_gimple_assign_unary): ... this,
	(verify_gimple_assign_binary): ... that,
	(verify_gimple_assign_single): ... and this.
	(verify_types_in_gimple_stmt): Call verify_gimple_assign.
	Fix GIMPLE_CHANGE_DYNAMIC_TYPE handling.
	(verify_types_in_gimple_min_lval): Handle TARGET_MEM_REF.
	(verify_types_in_gimple_reference): Be forgiving with
	VIEW_CONVERT_EXPRs.
	(verify_gimple_phi): Deal with virtual operands.

	* tree.def (PREDICT_EXPR): Change to tcc_expression.

From-SVN: r140431
2008-09-17 21:42:55 +00:00
Andrew Pinski
2700cb8675 re PR objc/37460 (NeXT runtime ICEs)
2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * tree.c (get_callee_fndecl): Don't call the language hook.
        * langhooks.h (lang_hooks): Remove lang_get_callee_fndecl.
        * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill.
        (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL.


2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR objc/37460
        * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
        * objc-act.h (objc_get_callee_fndecl): Remove prototype.
        * objc-act.c (objc_get_callee_fndecl): Kill.

2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
        (java_get_callee_fndecl): Kill.

2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR objc/37460
        * objcp-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.

From-SVN: r140430
2008-09-17 14:39:13 -07:00
Jakub Jelinek
6847a7549c tree.c (protected_set_expr_location): Don't unnecessarily check for error_mark_node.
* tree.c (protected_set_expr_location): Don't unnecessarily
	check for error_mark_node.

From-SVN: r140429
2008-09-17 23:26:45 +02:00
Richard Guenther
c74147d2a9 re PR c++/22374 (C++ front-end produces mis-match types in MODIFY_EXPR (dynamic_cast))
2008-09-17  Richard Guenther  <rguenther@suse.de>

	PR c++/22374
	* rtti.c (build_dynamic_cast_1): Convert the COND_EXPR
	result to the correct type.

From-SVN: r140427
2008-09-17 19:07:27 +00:00
H.J. Lu
52a764acf7 re PR c++/37450 (C++ FE times out on duplicated parameter)
2008-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/37450
	* name-lookup.c (pushdecl_maybe_friend): Don't return the old
	parameter for duplicate.

From-SVN: r140425
2008-09-17 10:57:24 -07:00
Jason Merrill
118dde55d8 re PR c++/37558 (rev 140120 changes the accessibility of a friend decl.)
PR c++/37588
        * name-lookup.c (lookup_type_scope): Look through sk_function_parms.

From-SVN: r140424
2008-09-17 13:31:08 -04:00
Jakub Jelinek
8aff539b68 re PR c++/37552 (ICE with invalid array access)
PR c++/37552
	* typeck.c (build_array_ref): Use protected_set_expr_location instead
	of SET_EXPR_LOCATION when ret might not be an expression.

	* g++.dg/parse/crash49.C: New test.

From-SVN: r140422
2008-09-17 18:07:08 +02:00
Jakub Jelinek
1b829d45a8 re PR preprocessor/37324 (FAIL: gcc.dg/utf-array.c (test for errors))
PR preprocessor/37324
	* lib/target-supports.exp
	(check_effective_target_wchar_t_char16_t_compatible,
	check_effective_target_wchar_t_char32_t_compatible): New.
	* gcc.dg/utf-array.c: Use __CHAR{16,32}_TYPE__ macros in typedefs.
	Only require from incompatible errors for char{16,32}_t vs. wchar_t
	initializations if those types are indeed incompatible.

From-SVN: r140421
2008-09-17 18:05:11 +02:00
Art Haas
71b1071304 ipa-reference.c (analyze_function): Declare step only if ENABLE_CHECKING is defined.
2008-09-17  Art Haas  <ahaas@impactweather.com>

	* ipa-reference.c (analyze_function): Declare step only if
	ENABLE_CHECKING is defined.

From-SVN: r140420
2008-09-17 08:46:03 -07:00
Jan Hubicka
0494626aae re PR middle-end/18071 (-Winline does not respect -fno-default-inline)
PR c++/18071
	* tree.h (DECL_INLINE): remove.
	(DECL_DECLARED_INLINE_P): Update docs.
	(DECL_NO_INLINE_WARNING_P): new.
	(tree_function_decl): Replace inline_flag by no_inline_warning_flag.
	* tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P.

	Java:
	* class.c (add_method_1): Do not initialize DECL_INLINE.
	(make_local_function_alias): Likewise.
	* expr.c (rewrite_arglist_getcaller): Set DECL_UNINLINABLE.
	* lang.c (java_decl_ok_for_sibcall): Use DECL_UNINLINABLE.

	Objc:
	* objc/objc-act.c (objc_finish_method_definition): Do not set DECL_INLINE.
	
	C++:
	* cp/decl.c (start_method): Set DECL_NO_INLINE_WARNING_P.

From-SVN: r140418
2008-09-17 15:00:59 +00:00
Jakub Jelinek
1c1b0507d4 re PR bootstrap/37441 (dwarf2 unwind info patches produce undefined symbols)
PR bootstrap/37441
	* dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return
	false.

Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r140417
2008-09-17 12:26:43 +00:00
Jan Hubicka
ebcf9dc823 ipa-reference.c (ipa_obstack): Remove.
* ipa-reference.c (ipa_obstack): Remove.
	(local_info_obstack, global_info_obstack): New.
	(add_static_var): We now handle variables only.
	(mark_address_taken, mark_load, mark_store): New functions based on ...
	(check_operand): ... remove.
	(get_asm_stmt_operands): Rename to ...
	(check_asm_memory_clobber): ... this. Look only for memory clobber.
	(scan_stmt_for_static_refs): Rewrite.
	(scan_op_for_static_refs): Rename to ...
	(scan_initializer_for_static_refs): do not look for VAR_DECL
	initializers; stop recursion on types and decls.
	(ipa_init): Use proper obstacks.
	(analyze_variable): Use scan_initializer_for_static_refs.
	(init_function_info): Use local obstack.
	(analyze_function): Simplify.
	(add_new_function): We don't need visited_nodes obstack.
	(generate_summary): Use proper obstacks; cleanup after propagation.

From-SVN: r140415
2008-09-17 12:02:42 +00:00
Richard Guenther
791f17147f re PR middle-end/37385 (ICE in set_mem_alias_set with the vectorizer and function pointers)
2008-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37385
	PR tree-optimization/37491
	* alias.c (get_alias_set): Use the canonical type.
	* tree-vect-transform.c (vectorizable_store): Use the type of
	the lhs for the vector type.  Adjust checking.
	(vectorizable_load): Adjust checking.

From-SVN: r140412
2008-09-17 11:42:11 +00:00
Pascal Rigaux
03e7411856 re PR ada/21327 (gnat_ugn.texi invalid @direntry)
2008-09-17  Pascal Rigaux  <pixel@mandriva.com>

    gcc/ada/
	PR ada/21327
	* gnat_ugn.texi: Use proper format in direntry.

From-SVN: r140411
2008-09-17 07:58:12 +00:00
GCC Administrator
29440527d4 Daily bump.
From-SVN: r140408
2008-09-17 00:16:35 +00:00
Janis Johnson
d0488d176b re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
	* testsuite/g++.dg/charset/attribute2.c: Replace dg-error with
	dg-warning or vice versa.
	* testsuite/g++.dg/conversion/dr195.C: Ditto.
	* testsuite/g++.dg/cpp0x/variadic60.C: Ditto.
	* testsuite/g++.dg/expr/cast2.C: Ditto.
	* testsuite/g++.dg/ext/anon-struct4.C: Ditto.
	* testsuite/g++.dg/ext/member-attr.C: Ditto.
	* testsuite/g++.dg/ext/utf-array.C: Ditto.
	* testsuite/g++.dg/ext/utf-array-short-wchar.C: Ditto.
	* testsuite/g++.dg/ext/utf-typedef-cxx0x.C: Ditto.
	* testsuite/g++.dg/ext/visibility/redecl1.C: Ditto.
	* testsuite/g++.dg/ext/visibility/warn4.C: Ditto.
	* testsuite/g++.dg/parse/defarg11.C: Ditto.
	* testsuite/g++.dg/template/error17.C: Ditto.
	* testsuite/g++.dg/warn/pedantic2.C: Ditto.
	* testsuite/g++.dg/warn/pr21983.C: Ditto.
	* testsuite/g++.dg/warn/return-reference2.C: Ditto.
	* testsuite/g++.old-deja/g++.bob/inherit1.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/crash13.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/crash17.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/crash52.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/crash55.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/enum7.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/operators4.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/template17.C: Ditto.
	* testsuite/g++.old-deja/g++.brendan/warnings1.C: Ditto.
	* testsuite/g++.old-deja/g++.bugs/900205_03.C: Ditto.
	* testsuite/g++.old-deja/g++.bugs/900227_01.C: Ditto.
	* testsuite/g++.old-deja/g++.ext/arrnew.C: Ditto.
	* testsuite/g++.old-deja/g++.ext/attrib4.C: Ditto.
	* testsuite/g++.old-deja/g++.jason/cond.C: Ditto.
	* testsuite/g++.old-deja/g++.jason/operator.C: Ditto.
	* testsuite/g++.old-deja/g++.jason/report.C: Ditto.
	* testsuite/g++.old-deja/g++.law/friend5.C: Ditto.
	* testsuite/g++.old-deja/g++.law/temps1.C: Ditto.
	* testsuite/g++.old-deja/g++.law/union4.C: Ditto.
	* testsuite/g++.old-deja/g++.martin/pure1.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/empty.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/for2.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/misc9.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/p10769b.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/p2855.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/p3060c.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/p700.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/p9732c.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/pmf6.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/warn1.C: Ditto.
	* testsuite/g++.old-deja/g++.mike/warn5.C: Ditto.
	* testsuite/g++.old-deja/g++.niklas/t141.C: Ditto.
	* testsuite/g++.old-deja/g++.other/cast6.C: Ditto.
	* testsuite/g++.old-deja/g++.other/cond5.C: Ditto.
	* testsuite/g++.old-deja/g++.other/conv8.C: Ditto.
	* testsuite/g++.old-deja/g++.other/decl5.C: Ditto.
	* testsuite/g++.old-deja/g++.other/delete2.C: Ditto.
	* testsuite/g++.old-deja/g++.other/delete4.C: Ditto.
	* testsuite/g++.old-deja/g++.other/linkage1.C: Ditto.
	* testsuite/g++.old-deja/g++.other/ptrmem8.C: Ditto.
	* testsuite/g++.old-deja/g++.other/typename1.C: Ditto.
	* testsuite/g++.old-deja/g++.pt/typename14.C: Ditto.
	* testsuite/g++.old-deja/g++.pt/typename4.C: Ditto.
	* testsuite/g++.old-deja/g++.pt/typename5.C: Ditto.
	* testsuite/g++.old-deja/g++.pt/typename7.C: Ditto.

From-SVN: r140405
2008-09-17 00:06:57 +00:00
Paolo Carlini
1edd1a8317 [multiple changes]
2008-09-16  Chris Fairles  <chris.fairles@gmail.com>

        * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        New.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/min/3.cc: Likewise.
        * testsuite/25_algorithms/min/4.cc: Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/max/3.cc: Likewise.
        * testsuite/25_algorithms/max/4.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/minmax/2.cc: Likewise.
        * testsuite/25_algorithms/minmax/3.cc: Likewise.

2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.

From-SVN: r140404
2008-09-16 23:17:09 +00:00
Jakub Jelinek
b5fb36eecd re PR rtl-optimization/37483 (Segfault in noce_try_sign_mask (ifcvt.c): b_unconditional)
PR rtl-optimization/37483
	* ifcvt.c (noce_try_sign_mask): Use if_info->test_bb instead of
	if_info->insn_b's bb as argument to optimize_bb_for_speed_p.
	Rearrange code to better match the original comment.  Check
	t_unconditional first.  Improve comment.

testsuite/
	* gcc.c-torture/compile/pr37483.c: New test.
	* gcc.c-torture/compile/pr37395.c: New test.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>

From-SVN: r140403
2008-09-16 22:15:49 +00:00
Jakub Jelinek
8c50b49502 re PR c/37529 (ICE with invalid goto)
PR c/37529
	* gimplify.c (gimplify_expr) <case GOTO_EXPR>: If gimplification of
	GOTO_DESTINATION failed, don't create GIMPLE_GOTO.

	* gcc.dg/pr37529.c: New test.

From-SVN: r140402
2008-09-17 00:08:01 +02:00
Jakub Jelinek
cc8b343d26 re PR c++/37530 (ICE with invalid catch)
PR c++/37530
	* gimplify.c (gimplify_expr) <case TRY_CATCH_EXPR>: Don't create
	GIMPLE_TRY if cleanup sequence is empty.

	* g++.dg/parse/crash48.C: New test.

From-SVN: r140401
2008-09-17 00:06:28 +02:00
Jakub Jelinek
326a4d4ef1 re PR c++/37531 (ICE with invalid array initialization)
PR c++/37531
	* semantics.c (finish_compound_literal): Return error_mark_node if
	type is errorneous.

	* g++.dg/parse/crash47.C: New test.

From-SVN: r140400
2008-09-17 00:05:15 +02:00
Jakub Jelinek
08222495cc re PR c++/37532 (ICE with decimal floating point data types)
PR c++/37532
	* lex.c (init_reswords): Don't populate ridpointers for D_CONLY
	reserved words.

	* g++.dg/parse/crash46.C: New test.

From-SVN: r140399
2008-09-17 00:03:57 +02:00
Jakub Jelinek
a8d0ab1d24 re PR testsuite/36889 (gfortran.fortran-torture/execute/execute.exp tries to run sse2 execute tests without checking for host support)
PR testsuite/36889
	* lib/fortran-torture.exp (get-fortran-torture-options): Only
	set test_tree_vectorize on i?86/x86_64 resp. sparc* if sse2 resp.
	ultrasparc hw is available.

From-SVN: r140398
2008-09-17 00:02:37 +02:00