Commit Graph

101324 Commits

Author SHA1 Message Date
Jan Hubicka
556e9ba028 ipa-split.c (split_function): For aggregate values set return_slot_opt...
* ipa-split.c (split_function): For aggregate values set return_slot_opt;
	when passing DECL_BY_REFERENCE produce *<retval> = fncall.part ()
	(execute_split_functions): Do not care about DECL_BY_REFERENCE.

From-SVN: r161756
2010-07-02 23:38:19 +00:00
Sandra Loosemore
b3b7bbce43 neon.md (UNSPEC_VAND): Delete.
2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/neon.md (UNSPEC_VAND): Delete.
	(UNSPEC_VBIC): Delete.
	(UNSPEC_VCLZ): Delete.
	(UNSPEC_VCNT): Delete.
	(UNSPEC_VEOR): Delete.
	(UNSPEC_VORN): Delete.
	(UNSPEC_VORR): Delete.
	(iordi3_neon): Rewrite RTL without unspec.  Add alternatives to handle
	core registers too.
	(anddi3_neon): Likewise.
	(orndi3_neon): Likewise.
	(bicdi3_neon): Likewise.
	(xordi3_neon): Likewise.
	(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
	rid of unspec and handle unused operand.
	(neon_vcnt<mode>): Similarly, with popcount<mode>2.
	* config/arm/predicates.md (imm_for_neon_logic_operand):
	Require TARGET_NEON.
	(imm_for_neon_inv_logic_operand): Likewise.
	* config/arm/arm.md (define_split for logical_binary_operator): 
	Disable for NEON registers.
	(anddi3): Add new define_expand, and rename the insn.  Disable
	this insn for NEON, where anddi3_neon now applies.
	(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
	(iordi3): As for anddi3.
	(xordi3): Likewise.
	* config/arm/neon.ml (Vand): Split DImode variants and mark them
	as No_op to disable testing for exact instruction match.
	(Vorr): Likewise.
	(Veor): Likewise.
	(Vbic): Likewise.
	(Vorn): Likewise.
	* config/arm/arm_neon.h: Regenerated.
	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon-vands64.c: New.
	* gcc.target/arm/neon-vandu64.c: New.
	* gcc.target/arm/neon-vbics64.c: New.
	* gcc.target/arm/neon-vbicu64.c: New.
	* gcc.target/arm/neon-veors64.c: New.
	* gcc.target/arm/neon-veoru64.c: New.
	* gcc.target/arm/neon-vorns64.c: New.
	* gcc.target/arm/neon-vornu64.c: New.
	* gcc.target/arm/neon-vorrs64.c: New.
	* gcc.target/arm/neon-vorru64.c: New.
	* gcc.target/arm/neon/vands64.c: Regenerated.
	* gcc.target/arm/neon/vandu64.c: Regenerated.
	* gcc.target/arm/neon/vbics64.c: Regenerated.
	* gcc.target/arm/neon/vbicu64.c: Regenerated.
	* gcc.target/arm/neon/veors64.c: Regenerated.
	* gcc.target/arm/neon/veoru64.c: Regenerated.
	* gcc.target/arm/neon/vorns64.c: Regenerated.
	* gcc.target/arm/neon/vornu64.c: Regenerated.
	* gcc.target/arm/neon/vorrs64.c: Regenerated.
	* gcc.target/arm/neon/vorru64.c: Regenerated.

From-SVN: r161755
2010-07-02 19:16:35 -04:00
Eric Botcazou
f4a4b582ca Minor fixes
From-SVN: r161751
2010-07-02 21:38:40 +00:00
Eric Botcazou
260c8ba389 expr.h (emit_stack_probe): Declare.
* expr.h (emit_stack_probe): Declare.
	* explow.c (emit_stack_probe): Make global.
	(anti_adjust_stack_and_probe): Fix comments.
	* config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
	* config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/sparc/sparc.c: Include except.h.
	(sparc_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
	built-in stack checking is enabled.
	* config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
	* config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
	(probe_stack_range): New insn.

From-SVN: r161749
2010-07-02 21:25:28 +00:00
Jerry DeLisle
8c54dc55ef runtime_warning_1.f90: Remove extra dg line.
2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.

From-SVN: r161747
2010-07-02 20:57:08 +00:00
Richard Guenther
e4f1aef136 re PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")
PR target/43958
	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
	for argument alignment.

From-SVN: r161746
2010-07-02 20:51:58 +00:00
Jerry DeLisle
1b9d45ed41 runtime_warning_1.f90: Fix dg syntax.
2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/runtime_warning_1.f90: Fix dg syntax.
	* gfortran.dg/intent_out_5.f90: Same.
	* gfortran.dg/ltrans-7.f90: Same.
	* gfortran.dg/char_bounds_check_fail_1.f90: Same.

From-SVN: r161745
2010-07-02 20:51:50 +00:00
Jan Hubicka
2094f1fcd6 ipa-split.c (verify_non_ssa_vars): Break out from ......
* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
	backwards from entry_bb to check only those basic block of header
	that might lead to execution of split part.
	(consider_split) ... here.
	(find_return_bb): Allow assignment in return BB.
	(find_retval): New.
	(split_function): Fix name of cloned function; take care of updating return
	value in return_bb containing move.

	* gcc.dg/tree-ssa/ipa-split-5.c: New function.

From-SVN: r161744
2010-07-02 20:45:00 +00:00
Iain Sandoe
c21ae2bfce Object1.h: Correct Line endings.
* objc-obj-c++-shared/Object1.h: Correct Line endings.

From-SVN: r161743
2010-07-02 20:34:27 +00:00
Jakub Jelinek
416f380b0d re PR c++/44780 (Bogus set-but-not-used variable warning)
PR c++/44780
	* typeck.c (convert_for_assignment): When converting a convertible
	vector type or objc++ types, call mark_rvalue_use.
	* typeck2.c (build_m_component_ref): Use return values from
	mark_rvalue_use or mark_lvalue_use.
	* class.c (build_base_path): Likewise.
	* call.c (build_conditional_expr): Likewise.

	* c-c++-common/Wunused-var-12.c: New test.

From-SVN: r161742
2010-07-02 22:22:32 +02:00
Andreas Schwab
2dc8bd762e re PR target/44771 (m68k_expand_prologue: variable set but not used)
PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.

From-SVN: r161741
2010-07-02 20:15:59 +00:00
Mikael Morin
ff5b6492be re PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typebound_call_4.f03)
2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/44662
	* decl.c (match_procedure_in_type): Clear structure before using.
	(gfc_match_generic): Ditto.

From-SVN: r161739
2010-07-02 20:01:05 +00:00
Nathan Froyd
dfd6ece2cb trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
	* trans-types.c (gfc_add_field_to_struct_1): New function, most
	of which comes from...
	(gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
	(gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
	building fields.
	(gfc_get_array_descriptor_base): Likewise.
	(gfc_get_mixed_entry_union): Likewise.
	(gfc_get_derived_type): Add extra chain parameter for
	gfc_add_field_to_struct.
	* trans-stmt.c (gfc_trans_character_select): Likewise.
	* trans-io.c (gfc_build_st_parameter): Likewise.

From-SVN: r161738
2010-07-02 19:53:24 +00:00
Eric Botcazou
0acba2b4cc implicit-zee.c (combine_reaching_defs): Fix long lines.
* implicit-zee.c (combine_reaching_defs): Fix long lines.
	(is_set_with_extension_DI): Delete.
	(struct zero_extend_info): New structure.
	(add_removable_zero_extend ): New function.
	(find_removable_zero_extends): Use note_stores to find SETs.
	(find_and_remove_ze): Fix long line, remove superfluous parentheses.

From-SVN: r161736
2010-07-02 19:25:30 +00:00
Tobias Burnus
7a0208b791 re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * list_read.c (parse_real): Do not pass (..) on for NAN(..).
        * read.c (convert_real): Fix comment about NAN/INF.

From-SVN: r161735
2010-07-02 21:07:30 +02:00
Jakub Jelinek
f0ee5e3e2a Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
	* Makefile.in: Regenerated.

From-SVN: r161731
2010-07-02 18:52:38 +02:00
Sebastian Pop
f3e3b4762b Script to check patches violating the GNU style.
2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: New.

From-SVN: r161729
2010-07-02 16:34:55 +00:00
Changpeng Fang
14e444c392 Reduce the cost in miss rate computation.
2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

	* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
	is_miss_rate_acceptable. Pull total_positions computation
	out of the loops.  Early return if miss_positions exceeds
	the acceptable threshold.
	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
	is_miss_rate_acceptable after renaming of compute_miss_rate.

From-SVN: r161728
2010-07-02 16:34:38 +00:00
Changpeng Fang
a245c04bcc PR 44576: miss rate computation improvement for prefetching loop arrays.
2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

	PR middle-end/44576
	* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
	of 1000) for miss rate if the address diference is greater than or
	equal to the cache line size (the two reference will never hit the
	same cache line).

From-SVN: r161727
2010-07-02 16:34:29 +00:00
Bernd Schmidt
e4c6a07ab5 re PR tree-optimization/42172 (inefficient bit fields assignments)
PR target/42172
	* config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
	and ZERO_EXTEND.
	(arm_rtx_costs_1): Likewise.
	(arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
	* config/arm/arm.md (is_arch6): New attribute.
	(zero_extendhisi2, zero_extendqisi2, extendhisi2,
	extendqisi2): Tighten the code somewhat, avoiding invalid
	RTL to occur in the expander patterns.
	(thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
	(thumb1_zero_extendhisi2_v6): Delete.
	(thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
	(thumb1_extendhisi2_v6): Delete.
	(thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
	(thumb1_extendqisi2_v6): Delete.
	(zero_extendhisi2 for register input splitter): New.
	(zero_extendqisi2 for register input splitter): New.
	(thumb1_extendhisi2 for register input splitter): New.
	(extendhisi2 for register input splitter): New.
	(extendqisi2 for register input splitter): New.
	(TARGET_THUMB1 extendqisi2 for memory input splitter): New.
	(arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
	and add support for a register alternative requiring a split.
	(thumb1_zero_extendqisi2): Likewise.
	(arm_zero_extendqisi2): Likewise.
	(arm_extendhisi2): Likewise.
	(arm_extendqisi2): Likewise.

testsuite/
	PR target/42172
	* gcc.target/arm/pr42172-1.c: New test.

From-SVN: r161726
2010-07-02 16:25:59 +00:00
Bernd Schmidt
18e8200f70 re PR rtl-optimization/42835 (Missed merging common code sequence at the end of two basic blocks)
PR target/42835
	* config/arm/arm-modes.def (CC_NOTB): New mode.
	* config/arm/arm.c (get_arm_condition_code): Handle it.
	* config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
	* config/arm/arm.md (subsi3_compare0_c): New pattern.
	(compare_scc): Now a define_and_split.  Add a number of extra
	splitters before it.

testsuite/
	PR target/42835
	* gcc.target/arm/pr42835.c: New test.

From-SVN: r161725
2010-07-02 16:22:33 +00:00
Rainer Orth
faeb4ee3aa configure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on Solaris 2.
libgfortran:
	* configure.ac (gfortran_use_symver): Only check for Sun-style symbol
	versioning on Solaris 2.
	* configure: Regenerate.

	libssp:
	* configure.ac (ssp_use_symver): Only check for Sun-style symbol
	versioning on Solaris 2.
	* configure: Regenerate.

From-SVN: r161724
2010-07-02 16:17:04 +00:00
Paolo Carlini
1fa29c8462 crash101.C: Remove stray // from dg-error comment.
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/template/crash101.C: Remove stray // from dg-error comment.

From-SVN: r161722
2010-07-02 15:17:10 +00:00
Sandra Loosemore
a277dd9b1a arm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec.
2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
	instead of an unspec.
	(neon_expand_vector_init): Likewise.
	* config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
	(UNSPEC_VDUP_LANE): Delete.
	(UNSPEC VDUP_N): Delete.
	(UNSPEC_VGET_HIGH): Delete.
	(UNSPEC_VGET_LANE): Delete.
	(UNSPEC_VGET_LOW): Delete.
	(UNSPEC_VMVN): Delete.
	(UNSPEC_VSET_LANE): Delete.
	(V_double_vector_mode): New.
	(vec_set<mode>_internal): Make code emitted match that for the
	corresponding intrinsics.
	(vec_setv2di_internal): Likewise.
	(neon_vget_lanedi): Rewrite to expand into emit_move_insn.
	(neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
	(neon_vset_lane<mode>): Combine double and quad patterns and
	expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
	(neon_vset_lanedi): Rewrite to expand into emit_move_insn.
	(neon_vdup_n<mode>): Rewrite RTL without unspec.
	(neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
	(neon_vdup_nv2di): Rewrite RTL without unspec and merge with
	with neon_vdup_lanev2di, adjusting the pattern from the latter
	to be predicable for consistency.
	(neon_vdup_lane<mode>_internal): New.
	(neon_vdup_lane<mode>): Turn into a define_expand and rewrite
	to avoid using an unspec.
	(neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
	(neon_vdup_lanev2di): Turn into a define_expand.
	(neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
	(neon_vget_high<mode>): Replace with....
	(neon_vget_highv16qi): New pattern using canonical RTL.
	(neon_vget_highv8hi): Likewise.
	(neon_vget_highv4si): Likewise.
	(neon_vget_highv4sf): Likewise.
	(neon_vget_highv2di): Likewise.
	(neon_vget_low<mode>): Replace with....
	(neon_vget_lowv16qi): New pattern using canonical RTL.
	(neon_vget_lowv8hi): Likewise.
	(neon_vget_lowv4si): Likewise.
	(neon_vget_lowv4sf): Likewise.
	(neon_vget_lowv2di): Likewise.

	* config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
	test for this emitting vmov.
	(Vset_lane): Likewise.
	(Vdup_n): Likewise.
	(Vmov_n): Likewise.

	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon/vdup_ns64.c: Regenerated.
	* gcc.target/arm/neon/vdup_nu64.c: Regenerated.
	* gcc.target/arm/neon/vdupQ_ns64.c: Regenerated.
	* gcc.target/arm/neon/vdupQ_nu64.c: Regenerated.
	* gcc.target/arm/neon/vmov_ns64.c: Regenerated.
	* gcc.target/arm/neon/vmov_nu64.c: Regenerated.
	* gcc.target/arm/neon/vmovQ_ns64.c: Regenerated.
	* gcc.target/arm/neon/vmovQ_nu64.c: Regenerated.
	* gcc.target/arm/neon/vget_lanes64.c: Regenerated.
	* gcc.target/arm/neon/vget_laneu64.c: Regenerated.
	* gcc.target/arm/neon/vset_lanes64.c: Regenerated.
	* gcc.target/arm/neon/vset_laneu64.c: Regenerated.
	* gcc.target/arm/neon-vdup_ns64.c: New.
	* gcc.target/arm/neon-vdup_nu64.c: New.
	* gcc.target/arm/neon-vdupQ_ns64.c: New.
	* gcc.target/arm/neon-vdupQ_nu64.c: New.
	* gcc.target/arm/neon-vdupQ_lanes64.c: New.
	* gcc.target/arm/neon-vdupQ_laneu64.c: New.
	* gcc.target/arm/neon-vmov_ns64.c: New.
	* gcc.target/arm/neon-vmov_nu64.c: New.
	* gcc.target/arm/neon-vmovQ_ns64.c: New.
	* gcc.target/arm/neon-vmovQ_nu64.c: New.
	* gcc.target/arm/neon-vget_lanes64.c: New.
	* gcc.target/arm/neon-vget_laneu64.c: New.
	* gcc.target/arm/neon-vset_lanes64.c: New.
	* gcc.target/arm/neon-vset_laneu64.c: New.

From-SVN: r161720
2010-07-02 10:48:04 -04:00
Sandra Loosemore
8c98c2a6cc neon.md (vec_extractv2di): Correct error in register numbering to reconcile with neon_vget_lanev2di.
2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/neon.md (vec_extractv2di): Correct error in register
	numbering to reconcile with neon_vget_lanev2di.

From-SVN: r161719
2010-07-02 10:43:26 -04:00
Richard Guenther
90fa9e17bf tree-ssa-structalias.c (pt_solution_set_var): New function.
2010-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (pt_solution_set_var): New function.
	* tree-ssa-alias.h (pt_solution_set_var): Declare.
	* tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
	points-to information.

From-SVN: r161716
2010-07-02 13:25:23 +00:00
Christian Borntraeger
c3ac3ddf84 s390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arrays as a tristate.
2010-07-02  Christian Borntraeger  <borntraeger@de.ibm.com>
 
	* config/s390/s390.c (override_options): Adopt prefetching
	at -O3 to handle flag_prefetch_loop_arrays as a tristate.

From-SVN: r161709
2010-07-02 12:43:00 +00:00
Jan Hubicka
b144ba9d4d df-problems.c (df_kill_notes): Do not collect dead notes.
* df-problems.c (df_kill_notes): Do not collect dead  notes.
	(df_set_note): Just call add_reg_note.
	(df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
	df_create_unused_note): Do not deal with lists of old notes.
	(df_note_bb_compute): Likewise.

From-SVN: r161708
2010-07-02 12:30:38 +00:00
Richard Guenther
fca821b51c tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR.
2010-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (find_func_aliases): Handle
	pointer alignment via BIT_AND_EXPR.
	* tree-vrp.c (extract_range_from_binary_expr): Likewise.

From-SVN: r161707
2010-07-02 12:28:54 +00:00
Rainer Orth
8198d54181 acinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of...
2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (symvers_renaming): Define
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of
	_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
	Fix syntax error.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r161706
2010-07-02 12:09:29 +00:00
Richard Guenther
1936833358 tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly.
2010-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-data-ref.c (initialize_data_dependence_relation): Handle
	mismatching number of dimensions properly.

	* g++.dg/torture/20100702-1.C: New testcase.

From-SVN: r161705
2010-07-02 12:05:59 +00:00
Eric Botcazou
2334baf490 misc.c (gnat_handle_option): Do not populate gnat_argv.
* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
	(gnat_handle_option): Allocate only one element for gnat_argv.
	(gnat_init): Do not populate gnat_argv.

From-SVN: r161704
2010-07-02 11:52:30 +00:00
Ulrich Weigand
1a4fc49d7f re PR target/44707 (operand requires impossible reload)
ChangeLog:

	PR target/44707
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
	(lo_sum (high ...) ...) patterns generated by earlier passes.

testsuite/ChangeLog:

	PR target/44707
	* gcc.c-torture/compile/pr44707.c: New test.

From-SVN: r161703
2010-07-02 11:48:30 +00:00
Matthias Klose
d1f736a2d7 - Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
left over from testing.

From-SVN: r161702
2010-07-02 10:55:51 +00:00
Rainer Orth
1e0859a29e Missed in last commit.
From-SVN: r161701
2010-07-02 10:26:12 +00:00
Rainer Orth
ca6d1176f7 configure.ac: Check for Sun symbol versioning.
* configure.ac: Check for Sun symbol versioning.
	Check for memmove.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* Makefile.am [LIBSSP_USE_SYMVER]: Protect version_arg,
	version_dep with LIBSSP_USE_SYMVER_GNU.
	[LIBSSP_USE_SYMVER_SUN]: Handle Sun symbol versioning.
	* Makefile.in: Regenerate.

	* ssp.map: Reformat.

	* memmove-chk.c: Change guard to HAVE_MEMMOVE.

From-SVN: r161699
2010-07-02 10:15:09 +00:00
Paolo Carlini
baf7c318bb re PR c++/44039 (ICE: Segmentation fault on error recovery)
/cp
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44039
	* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
	returns NULL_TREE.

/testsuite
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44039
	* g++.dg/template/crash101.C: New.

From-SVN: r161698
2010-07-02 10:13:21 +00:00
Rainer Orth
49ea7a0ef9 configure.ac: Check for Sun symbol versioning.
* configure.ac: Check for Sun symbol versioning.
	* configure: Regenerate.

	* Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
	LIBGFOR_USE_SYMVER_GNU.
	Add version_dep.
	[LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
	[!LIBGFOR_USE_SYMVER]: Add version_dep.
	(libgfortran_la_DEPENDENCIES): Set to $(version_dep).
	* Makefile.in: Regenerate.

From-SVN: r161697
2010-07-02 10:12:34 +00:00
Rainer Orth
c18dc5ccea gc++filt.m4: New file.
config:
	* gc++filt.m4: New file.

	contrib:
	* make_sunver.pl: New file.

	libstdc++v3:
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
	Require GCC_PROG_GNU_CXXFILT.
	(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
	unless targetting solaris2*.
	Include ../config/gc++filt.m4.
	* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
	(sparc-*-solaris2*): Likewise.
	* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
	New variables.
	(libstdc++-symbols.ver-sun): New target.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* python/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
	_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	* src/compatibility.cc: Likewise.
	* testsuite/Makefile.am (baseline_subdir): Define.
	(baseline_symbols): Use it.
	(new-abi-baseline): Likewise.
	* testsuite/Makefile.in: Regenerate.

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
	#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	(GLIBCXX_3.4.6): Likewise.

	* doc/xml/manual/configure.xml (--enable-symvers): Document sun
	style.

	* doc/xml/manual/abi.xml: Fix grammar.
	(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
	(Incremental bumping of a library pre-defined macro): Fix
	c++config path.
	(Incremental bumping of a library pre-defined macro,
	_GLIBCPP_VERSION): Likewise.
	(Matching each specific C++ compiler release to a specific set of
	C++ include files): Fix acinclude.m4 path.
	(Prerequisites): Allow for Sun linker on Solaris 2.5+.
	Use proper link to Configuring.
	Fix acinclude.m4 path.
	(Checking Active): Allow for additional symbol versioning styles.
	Provide Solaris 2 example with pvs -r.
	(Bibliography): Update Linker and Libraries Guide, C++ Migration
	Guide entries.

	gcc:
	* doc/install.texi (Prerequisites): Document Perl requirement on
	Solaris 2.
	(Specific, *-*-solaris2*): Document GNU c++filt requirement.

From-SVN: r161696
2010-07-02 10:05:49 +00:00
Richard Guenther
7dd536f1bc re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c)
2010-07-02  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44777
	* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.

From-SVN: r161694
2010-07-02 09:57:12 +00:00
Iain Sandoe
84c2219af1 restore cxx-ivar-3 test functionality
* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4.
	Use the ABI-0 accessors and fail it for m64.

From-SVN: r161692
2010-07-02 09:49:53 +00:00
Jan Hubicka
450997efe0 re PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)
PR middle-end/44706
	* predict.c (predict_paths_for_bb): Handle case when control dependence
	BB has only abnormal edges.
	* g++.dg/tree-ssa/pr44706.C: New testcase.

From-SVN: r161691
2010-07-02 09:39:54 +00:00
Richard Guenther
3fa3983166 re PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at fold-const.c:1548)
2010-07-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44748
	* tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
	the embedded conversion in MEM_REFs.

	* gcc.dg/tree-ssa/ssa-ccp-29.c: New testcase.

From-SVN: r161689
2010-07-02 09:14:03 +00:00
Iain Sandoe
8c7481f253 restore darwin8 objc/c++ test functionality.
* objc-obj-c++-shared/next-abi.h: Remove dependency on system
	headers.  Add clause to reflect that, pre-10.5, ABI is always 0.
	* objc/execute/forward-1.m: Depend only on __NEXT_RUNTIME__ for
	the method types to forward:.

From-SVN: r161687
2010-07-02 09:04:55 +00:00
Iain Sandoe
9a082684df fix darwin8 bootstrap issue
* compare-debug (Darwin): Remove '-x' flag from ld-based object
       stripping.  Add a comment as to why we do it this way.

From-SVN: r161686
2010-07-02 08:56:04 +00:00
GCC Administrator
25db7f5997 Daily bump.
From-SVN: r161685
2010-07-02 00:17:05 +00:00
Jason Merrill
cba58ef486 nullptr04.C: Use __INTPTR_TYPE__.
* g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__.
	* g++.dg/other/pr25632.C: Likewise.

From-SVN: r161673
2010-07-01 10:37:22 -04:00
Manuel López-Ibáñez
5a5bd694f7 reload.c: Include toplev.h.
* reload.c: Include toplev.h.
	* recog.c:  Likewise.
	* Makefile.in: Adjust dependencies.

From-SVN: r161671
2010-07-01 13:47:36 +00:00
Jakub Jelinek
45ea4dfe22 re PR tree-optimization/40421 (Revision 148352 failed 416.gamess in SPEC CPU 2006)
PR tree-optimization/40421
	* gfortran.fortran-torture/compile/pr40421.f90: New test.

From-SVN: r161669
2010-07-01 14:53:44 +02:00
Joern Rennecke
c21fc18136 * config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.
From-SVN: r161667
2010-07-01 13:35:37 +01:00