Commit Graph

96910 Commits

Author SHA1 Message Date
Paul Brook 6ed126e6bc invoke.texi: Document ARM VFPv4 based FPUs.
2009-11-16  Paul Brook  <paul@codesourcery.com>

	gcc/
	* doc/invoke.texi: Document ARM VFPv4 based FPUs.
	* config/arm/arm.c (all_fpus): Add VFPv4 entries.

From-SVN: r154207
2009-11-16 17:03:06 +00:00
Jan Hubicka 0d63a7400d cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper ENTRY_BLOCK_PTR.
* cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper ENTRY_BLOCK_PTR.
	* cgraph.c (cgraph_clone_edge): Avoid freq_scale 0 to completely zero out all
	callees.
	* cgraphunit.c (verify_cgraph_node): Verify cgraph nodes for frequency and count match.
	* ipa-inline.c (update_noncloned_frequencies): New function.
	(cgraph_clone_inlined_nodes): Use it.
	* tree-inline.c (copy_bb): Fix frequency scaling; output
	diagnostic on frequency mismatches to dump file.
	(initialize_cfun): Do not scale frequency; fix count scaling;
	initialize entry and exit block frequencies; copy profile
	info.
	(copy_cfg_body): Use frequency_scale as argument;
	fix count scaling.
	(copy_body): Use frequency_scale as argument.
	(expand_call_inline): Compute frequency scale and output diagnostic
	to dump file.
	(delete_unreachable_blocks_update_callgrah): Remove checking that
	has to be done after edge redirection.
	(tree_function_versioning): Update initialize_cfun and copy_body call.

From-SVN: r154205
2009-11-16 16:06:29 +00:00
Paolo Carlini 3cb9d1d59a re PR c++/42055 (ICE with ambiguous template specialization)
cp/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42055
	* pt.c (determine_specialization): Assign to candidates the return
	value of the chainon called before print_candidates.

testsuite/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42055
	* testsuite/g++.dg/template/crash92.C: New.

From-SVN: r154202
2009-11-16 14:58:33 +00:00
Jan Hubicka 0e3776dbee cgraph.c (cgraph_release_function_body): Update use of ipa_transforms_to_apply.
* cgraph.c (cgraph_release_function_body): Update use of
	ipa_transforms_to_apply.
	(cgraph_remove_node): Remove ipa_transforms_to_apply.
	* cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply.
	* cgraphunit.c (save_inline_function_body): Clear ipa_transforms for
	copied body.
	(cgraph_materialize_clone): Remove original if dead.
	* lto-streamer-in.c (lto_read_body): Remove FIXME and
	ipa_transforms_to_apply hack.
	* function.h (struct function): Add ipa_transforms_to_apply.
	* ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals.
	* tree-inline.c (copy_bb): Update sanity check.
	(initialize_cfun): Do not copy ipa_transforms_to_apply.
	(expand_call_inline): remove dead clone originals.
	(tree_function_versioning): Merge transformation queues.
	* passes.c (add_ipa_transform_pass): Remove.
	(execute_one_ipa_transform_pass): Update ipa_transforms_to_apply
	tracking.
	(execute_all_ipa_transforms): Update.
	(execute_one_pass): Update.

	* lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.

From-SVN: r154200
2009-11-16 13:26:40 +00:00
Paolo Carlini 0229b692f4 re PR c++/32056 (Storage classes on template parameters)
cp/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/32056
	* decl.h (enum decl_context): Add TPARM enumerator.
	* decl.c (grokdeclarator): Per 14.1/2, error out if a storage class
	is specified in a template parameter declaration.
	* parser.c (cp_parser_template_parameter): Call grokdeclarator with
	TPARM as third argument.

testsuite/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/32056
	* testsuite/g++.dg/template/error44.C: New.

From-SVN: r154198
2009-11-16 08:31:26 +00:00
Andreas Krebbel 0fc4f703e5 pr41919.c: Mark chars explicitely as signed.
2009-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.c-torture/execute/pr41919.c: Mark chars explicitely as signed.

From-SVN: r154197
2009-11-16 07:59:25 +00:00
GCC Administrator f47c263663 Daily bump.
From-SVN: r154195
2009-11-16 00:16:49 +00:00
Steve Ward ceaaa5ce51 cxxabi.h (__cxa_demangle): Fix typo in comment.
2009-11-15  Steve Ward  <planet36@gmail.com>

	* libsupc++/cxxabi.h (__cxa_demangle): Fix typo in comment.

From-SVN: r154191
2009-11-15 20:59:55 +00:00
Janus Weil bd09b73784 re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
2009-11-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	* match.c (gfc_match_call): If we're inside a function with derived
	type return value, allow calling a TBP of the result variable.


2009-11-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	* gfortran.dg/typebound_call_11.f03: New test.

From-SVN: r154190
2009-11-15 15:54:05 +01:00
Hans-Peter Nilsson 4b12152c8f lto.exp: For non-lto, bail out before calling init functions.
* gcc.dg/lto/lto.exp: For non-lto, bail out before calling
	init functions.

From-SVN: r154189
2009-11-15 14:49:07 +00:00
Andy Hutchinson a212a5d408 PR target/21078, 21080
PR target/21078, 21080
* config/avr/avr.c (avr_return_addr_rtx): New function for
builtin_return_address.
(expand_prologue): Calculate stack usage.
(avr_asm_function_end_prologue): Output stack size and offset label.
* config/avr/avr.h (RETURN_ADDR_RTX): Replace.
(machine_function): Add stack_usage.
* config/avr/avr-protos.h (avr_return_addr_rtx): New function.

From-SVN: r154188
2009-11-15 04:10:20 +00:00
GCC Administrator de8caa8cf8 Daily bump.
From-SVN: r154187
2009-11-15 00:16:48 +00:00
Anatoly Sokolov 7ae6223791 iq2000.c (iq2000_function_value): Make static, add new 'outgoing' argument.
* config/iq2000/iq2000.c (iq2000_function_value): Make static, add
	new 'outgoing' argument.
	(iq2000_libcall_value, iq2000_function_value_regno_p): New functions.
	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
	* config/iq2000/iq2000.h: (FUNCTION_VALUE_REGNO_P): Redefine, use
	iq2000_function_value_regno_p.
	(FUNCTION_VALUE, LIBCALL_VALUE): Remove.
	* config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p):
	Declare.

From-SVN: r154184
2009-11-15 00:07:23 +03:00
Richard Earnshaw 282cac16ce re PR target/42031 (Thumb2 ICE - spill failure.)
PR target/42031
	* arm.md (adddi_sesidi_di): Place tied contraint first.
	(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
	(subdi_zesidi_di, subdi_sesidi_di): Likewise.
	(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
	(mulsi3addsi, mulsi3addsi_compare0): Likewise.
	(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
	(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
	(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
	(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
	(arm_lshrdi3_1bit, one_cmpldi2): Likewise.

From-SVN: r154182
2009-11-14 18:17:21 +00:00
Richard Earnshaw cfc25c74f1 arm.md (adddi_sesidi_di): Place tied contraint first.
* arm.md (adddi_sesidi_di): Place tied contraint first.
	(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
	(subdi_zesidi_di, subdi_sesidi_di): Likewise.
	(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
	(mulsi3addsi, mulsi3addsi_compare0): Likewise.
	(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
	(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
	(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
	(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
	(arm_lshrdi3_1bit, one_cmpldi2): Likewise.

From-SVN: r154181
2009-11-14 18:16:18 +00:00
Uros Bizjak 618cc62edb predicates.md (call_register_no_elim_operand): New predicate.
* config/i386/predicates.md (call_register_no_elim_operand):
	New predicate.  Reject stack register as valid call operand
	for 32bit targets.
	(call_insn_operand): Use call_register_no_elim_operand.

From-SVN: r154178
2009-11-14 15:31:13 +01:00
GCC Administrator 2622268e44 Daily bump.
From-SVN: r154177
2009-11-14 00:16:43 +00:00
Paolo Carlini 33913cfa99 forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::erase_after):
	Change signature per N2988, return void; simplify.
	(_Fwd_list_base<>::_M_erase_after): Likewise return void.
	(forward_list<>::~forward_list): Do not call _M_erase_after
	unnecessarily, the base class destructor already does it.
	(forward_list<>::splice_after(const_iterator position,
	forward_list&&, const_iterator i): Check position != i and
	position != ++i.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::
	_M_erase_after(typename _Node_base::_Pointer): Simplify.
	(_Fwd_list_base<>::_M_erase_after(typename _Node_base::_Pointer,
	typename _Node_base::_Pointer): Fix (remove the correct range
	of element) and simplify (update __pos->_M_next at the end).
	* testsuite/23_containers/forward_list/modifiers/3.cc: Adjust
	and extend.
	* testsuite/23_containers/forward_list/ext_pointer/
	modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Tweak dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r154174
2009-11-13 22:41:49 +00:00
Jan Hubicka 870875e66e * objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
From-SVN: r154173
2009-11-13 20:05:56 +00:00
Richard Henderson 08d4cc3365 function.c (stack_protect_prologue): Don't bypass expand_expr for stack_protect_guard and guard_decl.
* function.c (stack_protect_prologue): Don't bypass expand_expr
        for stack_protect_guard and guard_decl.
        (stack_protect_epilogue): Likewise.

From-SVN: r154168
2009-11-13 11:10:45 -08:00
Jan Hubicka 589520b621 ipa.c (function_and_variable_visibility): Clear COMDAT on functions when to PUBLIC is set.
* ipa.c (function_and_variable_visibility): Clear COMDAT on functions
	when to PUBLIC is set.

From-SVN: r154167
2009-11-13 18:55:07 +00:00
Jason Merrill 5b6dad5d8f re PR c++/27425 (ICE with invalid template-template-parameter)
PR c++/27425
	PR c++/34274
	* pt.c (expand_template_argument_pack): Handle null arg gracefully.
	(convert_template_argument): Use %T for type.

From-SVN: r154164
2009-11-13 13:46:47 -05:00
Jason Merrill 9dd90d8e35 re PR c++/29363 (ICE throwing undeclared object)
PR c++/29363
	* decl.c (create_implicit_typedef): Set TYPE_STUB_DECL here.
	(cxx_init_decl_processing): Not here.
	* name-lookup.c (pushtag): Or here.
	* pt.c (lookup_template_class): Or here.

From-SVN: r154163
2009-11-13 13:46:39 -05:00
Jakub Jelinek 2b32c27d98 re PR middle-end/42029 (ICE with complex data type and openmp for reduction clause)
PR middle-end/42029
	* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
	tmp_load if needed.

	* libgomp.c/pr42029.c: New test.

From-SVN: r154161
2009-11-13 19:38:36 +01:00
Uros Bizjak 8410737add re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)
2009-11-13  Uros Bizjak  <ubizjak@gmail.com>

	PR target/41900
	(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
	as operand 1 constraint.
	* config/i386/predicates.md (call_insn_operand): Depend on
	index_register_operand to avoid %esp register.

2009-11-13  Uros Bizjak  <ubizjak@gmail.com>

	Revert:
	2009-11-03  Uros Bizjak  <ubizjak@gmail.com>

	PR target/41900
	* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
	(TARGET_CALL_ESP): New define.
	* config/i386/i386.c (initial_ix86_tune_features): Initialize
	X86_ARCH_CALL_ESP.
	* config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
	*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
	*call_1, *call_value_pop_1 and *call_value_1.  Depend on
	TARGET_CALL_ESP.
	(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
	New patterns, use "lsm" as operand 1 constraint.
	* config/i386/predicates.md (call_insn_operand): Depend on
	index_register_operand for !TARGET_CALL_ESP to avoid %esp register.

From-SVN: r154160
2009-11-13 19:33:37 +01:00
Eric Botcazou 0761b46229 * exception.cc (PERSONALITY_FUNCTION): Fix oversight.
From-SVN: r154159
2009-11-13 18:05:20 +00:00
Jason Merrill d7f1df66b2 re PR c++/26965 (Unnecessary debug info for unused consts in C++)
PR debug/26965
	* dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT.
	Don't emit a second declaration at any scope.

From-SVN: r154157
2009-11-13 12:59:26 -05:00
Dodji Seketeli a3119b91dc Forgot to add gcc/ChangeLog entry for debug/41065
From-SVN: r154154
2009-11-13 16:57:14 +01:00
Paolo Carlini 8ad7097c11 algorithm: Include <utility>, per UK-300.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/algorithm: Include <utility>, per UK-300.
	* include/bits/stl_algobase.h: Don't do it here.

From-SVN: r154152
2009-11-13 15:06:28 +00:00
Jason Merrill a38f55dbfd re PR c++/35075 (ICE with references in templates)
PR c++/35075
	* pt.c (convert_nontype_argument): Give helpful error about
	reference variable argument to reference template parameter.

From-SVN: r154151
2009-11-13 09:40:32 -05:00
Jason Merrill ab11c13ff3 PR c++/21008, DR 515
PR c++/21008, DR 515
	* semantics.c (finish_non_static_data_member): Don't check
	derivation in a template.

From-SVN: r154150
2009-11-13 09:40:22 -05:00
Jason Merrill fc1e08468e re PR c++/11987 (Accepts-invalid with inherited nested type)
PR c++/11987
	* parser.c (cp_parser_direct_declarator): Give helpful error about
	trying to define member of a dependent typedef.
	* pt.c (resolve_typename_type): Don't resolve a typedef typename.
	* tree.c (typedef_variant_p): New.
	* cp-tree.h: Declare it.

From-SVN: r154149
2009-11-13 09:40:13 -05:00
Andrey Belevantsev 268bab853d re PR rtl-optimization/41697 (ICE on gcc.c-torture/compile/20090917-1.c)
PR rtl-optimization/41697
        * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with
        a conditional jump has a single successor.

From-SVN: r154148
2009-11-13 17:32:52 +03:00
Andrey Belevantsev bcf3377540 sched-deps.c (init_deps): New parameter lazy_reg_last.
2009-11-13  Andrey Belevantsev  <abel@ispras.ru>

        * sched-deps.c (init_deps): New parameter lazy_reg_last.  Don't
        allocate reg_last when in case lazy_reg_last is true.
        (init_deps_reg_last): New.
        (free_deps): When max_reg is 0, this context is already freed.
        * sched-int.h (init_deps_reg_last): Export.
        (init_deps): Update prototype.
        * sched-ebb.c (schedule_ebb): Update the call to init_deps.
        * sched-rgn.c (sched_rgn_compute_dependencies): Likewise.
        * ddg.c (build_intra_loop_deps): Likewise.
        * sel-sched-ir.c (copy_deps_context, create_deps_context,
        reset_deps_context, deps_init_id): Likewise.
        (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT.
        (free_data_for_scheduled_insn): New, break down from ...
        (free_first_time_insn_data): ... here.
        (has_dependence_p): Allocate reg_last now, when it is needed.
        (extend_insn_data): When maximal LUID is big enough, allocate
        per-insn data in smaller chunks.
        * sel-sched-ir.h (free_data_for_scheduled_insn): Export.
        * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT
        in scheduled insn.

From-SVN: r154147
2009-11-13 17:27:13 +03:00
Uros Bizjak ba0dc4bed6 re PR testsuite/42001 (LTO tests fail with non multilib targets (but still not --disable-multilib ))
PR testsuite/42001
	* g++.dg/lto/lto.exp: Pass no-mathlib to lto_init.  Call
	lto_finish at the end.
	* gfortran.dg/lto/lto.exp: Ditto.

From-SVN: r154145
2009-11-13 10:05:18 +01:00
Uros Bizjak 0f032845fc i386.md (call_value): Fix comment.
* config/i386/i386.md (call_value): Fix comment.
	(sibcall_value): Ditto.

From-SVN: r154143
2009-11-13 08:59:22 +01:00
Eric Botcazou 9feed21624 Fix nits
From-SVN: r154142
2009-11-13 07:46:06 +00:00
Eric Botcazou eca9d807a1 linux-unwind.h (x86_frob_update_context): New function.
* config/i386/linux-unwind.h (x86_frob_update_context): New function.
	(MD_FROB_UPDATE_CONTEXT): Define.

From-SVN: r154141
2009-11-13 06:58:12 +00:00
Paolo Carlini 7274deff73 type_traits (declval): Add, per DR 1255.
2009-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (declval): Add, per DR 1255.
	(__is_convertible_helper, common_type): Use it.
	* include/bits/move.h: Mention std::declval.
	* testsuite/20_util/declval/requirements/1.cc: New.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/common_type/requirements/
	explicit_instantiation.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r154140
2009-11-13 02:25:12 +00:00
Jason Merrill 3791ce90f6 re PR c++/27078 (Duplicate error message for ambiguous enum)
PR c++/27078
	* parser.c (cp_parser_primary_expression): Don't give a duplicate
	ambiguity error.

From-SVN: r154139
2009-11-12 21:20:41 -05:00
GCC Administrator 2c312924d5 Daily bump.
From-SVN: r154138
2009-11-13 00:16:41 +00:00
Jason Merrill f208b76886 re PR c++/39560 (Erroneous warnings 'unused variable' in a templated class method with union)
PR c++/39560
	* decl2.c (build_anon_union_vars): Set DECL_ARTIFICIAL.

From-SVN: r154133
2009-11-12 18:21:33 -05:00
Eric Botcazou 3a2f6fac4d linux-unwind.h (sparc64_fallback_frame_state): Tidy.
* config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy.
	Do not schedule an %sp restore.  Compensate for RETURN_ADDR_OFFSET.
	(sparc_fallback_frame_state): Tidy.  Compensate for RETURN_ADDR_OFFSET.
ada/
	* init.c (GNU/Linux Section): Enable for all architectures.

From-SVN: r154132
2009-11-12 23:14:19 +00:00
Jason Merrill 7b3ad9f900 re PR c++/37037 (ICE on template class member function definition after explicit template class instantation)
PR c++/37037
	* decl.c (grokdeclarator): Don't generate a void PARM_DECL.

From-SVN: r154131
2009-11-12 17:49:59 -05:00
Jason Merrill d6c057abd6 re PR c++/42013 (cv-qualification of conditional expression type depending on the value of its first expression?!?)
PR c++/42013
	* call.c (build_conditional_expr): Check specifically for folding
	to CALL_EXPR rather than TREE_SIDE_EFFECTS.

From-SVN: r154129
2009-11-12 15:26:36 -05:00
Jan Hubicka c8f59bc81c ipa.c (function_and_variable_visibility): Fix my accidentail commit and clear DECL_COMMON on localized declarations.
* ipa.c (function_and_variable_visibility): Fix my accidentail commit and
	clear DECL_COMMON on localized declarations.

From-SVN: r154128
2009-11-12 19:13:17 +00:00
Jan Kratochvil 0ccb5970ed * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r154127
2009-11-12 19:09:12 +00:00
Paolo Carlini 03b2a9a5ac stl_algobase.h: Include the full <utility>, per UK-300.
2009-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h: Include the full <utility>, per
	UK-300.
	* include/bits/stl_algo.h: Tweak includes.

From-SVN: r154126
2009-11-12 18:45:23 +00:00
Jason Merrill 36c37128fe typeck.c (cv_qualified_p): New fn.
* typeck.c (cv_qualified_p): New fn.
	(decay_conversion): Use it.
	* cp-tree.h: Declare it.
	* tree.c (rvalue): Use it and cv_unqualified.
	* init.c (build_aggr_init): Likewise.

From-SVN: r154125
2009-11-12 13:25:51 -05:00
Jason Merrill f33e4dd77a re PR c++/42013 (cv-qualification of conditional expression type depending on the value of its first expression?!?)
PR c++/42013
	* call.c (build_conditional_expr): Don't fold a TREE_SIDE_EFFECTS
	COND_EXPR in unevaluated context.

From-SVN: r154124
2009-11-12 13:25:42 -05:00