Commit Graph

90249 Commits

Author SHA1 Message Date
Paolo Carlini
d051e2e7e6 forward_list.h (forward_list<>::insert_after): Minor cosmetic changes.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::insert_after): Minor
	cosmetic changes.

From-SVN: r141190
2008-10-17 08:37:02 +00:00
Edward Smith-Rowland
e73d6fe828 forward_list.h: Factor list construction to dispatch routines.
2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/forward_list.h: Factor list construction to dispatch
	routines.
	* include/bits/forward_list.tcc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/2.cc:

From-SVN: r141189
2008-10-17 08:08:03 +00:00
GCC Administrator
c0cccb86ff Daily bump.
From-SVN: r141185
2008-10-17 00:16:39 +00:00
Daniel Berlin
de278246dc tree-ssa-pre.c (phi_translate_set): Add constants to phi translation cache.
2008-10-16  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (phi_translate_set): Add constants to phi
	translation cache.

From-SVN: r141182
2008-10-16 23:04:03 +00:00
Thomas Koenig
afab92d840 file_pos.c (unformatted_backspace): Normal case is GFC_CONVERT_NATIVE.
2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* io/file_pos.c (unformatted_backspace): Normal case is
	GFC_CONVERT_NATIVE.
	* io/transfer.c (read_sf):  Mark paths leading to generate_error()
	as unlikely.
	(readl_block_form):  Likewise.
	(read_block_direct):  Likewise.
	(write_block):  Likewise.
	(write_buf):  Likewise.
	(us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
	(next_record_w_unf):  Mark paths leading to generate_error()
	as unlikely.

From-SVN: r141179
2008-10-16 18:23:25 +00:00
Alexander Monakov
74e8018e67 re PR target/37381 (ICE in ia64_speculate_insn, at config/ia64/ia64.c:6902)
2008-10-16  Alexander Monakov  <amonakov@ispras.ru>

        PR target/37381
        * gcc.c-torture/compile/pr37381.c: New test.

From-SVN: r141177
2008-10-16 21:30:06 +04:00
Joseph Myers
bbe67e7ccf re PR c/33192 (__imag operator drops side effects in subexpr)
PR c/33192
	* c-typeck.c (build_unary_op): Use omit_one_operand for
	IMAGPART_EXPR of real argument.

testsuite:
	* gcc.dg/imag-1.c: New test.

From-SVN: r141176
2008-10-16 18:05:57 +01:00
Daniel Kraft
dd9315ded0 resolve.c (resolve_elemental_actual): Handle calls to intrinsic subroutines correctly.
2008-10-16  Daniel Kraft  <d@domob.eu>

	* resolve.c (resolve_elemental_actual): Handle calls to intrinsic
	subroutines correctly.

2008-10-16  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/elemental_intrinsic_1.f03: New test.

From-SVN: r141175
2008-10-16 18:28:23 +02:00
Paolo Carlini
919e5c5edf forward_list.tcc (operator==): Use auto.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (operator==): Use auto.

From-SVN: r141173
2008-10-16 14:04:28 +00:00
Jakub Jelinek
a39562d944 re PR tree-optimization/37664 (ice in remove_range_assertions, at tree-vrp.c:5116)
PR tree-optimization/37664
	* fold-const.c (fold_binary): When optimizing comparison with
	highest or lowest type's value, don't consider TREE_OVERFLOW.

	* gcc.c-torture/compile/pr37664.c: New test.

From-SVN: r141171
2008-10-16 14:32:01 +02:00
David Edelsohn
5773a50f41 re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)
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
2008-10-16 07:57:26 -04:00
Paolo Carlini
2a7ee2f989 forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak to return _Fwd_list_node_base*.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
	Move out of line, tweak to return _Fwd_list_node_base*.
	(forward_list<>::insert_after(const_iterator, const _Tp&),
	forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
	Define.

	* include/bits/forward_list.h (forward_list<>): Consistently qualify
	calls of base class functions with this->.
	* include/bits/forward_list.tcc (forward_list<>): Likewise.

	* include/bits/forward_list.h: Move some functions out of line...
	* include/bits/forward_list.tcc: ... here.

	* include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.

From-SVN: r141168
2008-10-16 10:23:00 +00:00
Thomas Koenig
e311490551 re PR libfortran/34670 (bounds checking for array intrinsics)
2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34670
	* generated/spread_r4.c: Regenerated.

From-SVN: r141167
2008-10-16 10:16:38 +00:00
Richard Biener
bd4a51ab34 re PR middle-end/37418 (error: type mismatch in address expression, verify_gimple failed)
2008-10-16  Joseph Myers  <joseph@codesourcery.com>
        Richard Guenther  <rguenther@suse.de>

	PR middle-end/37418
	* tree-ssa.c (useless_type_conversion_p_1): Do not treat
	volatile qualified functions or methods as relevant.

	* gcc.c-torture/compile/pr37418-1.c,
	gcc.c-torture/compile/pr37418-2.c,
	gcc.c-torture/compile/pr37418-3.c,
	gcc.c-torture/compile/pr37418-4.c: New tests.

From-SVN: r141165
2008-10-16 08:19:49 +00:00
Jakub Jelinek
5b429886c5 re PR tree-optimization/37525 (IVOPTS difference causing 20% degradation in 173.applu benchmark)
PR tree-optimization/37525
	* tree.c (int_fits_type_p): Rewrite using double_int.  Zero extend
	sizetype unsigned constants, both in the case of C and bounds.

From-SVN: r141164
2008-10-16 08:50:30 +02:00
Jan Hubicka
c39a4ad7a8 ira-emit.c (change_regs): Return false when replacing reg by itself.
2008-10-15  Jan Hubicka  <jh@suse.cz>

	* ira-emit.c (change_regs): Return false when replacing reg by
	itself.

From-SVN: r141163
2008-10-15 18:29:14 -07:00
Vladimir Makarov
aac375ddfb re PR target/37633 (wrong register use on sh64)
2008-10-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/37633
	* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Check
	HARD_REGNO_CALL_PART_CLOBBERED.

From-SVN: r141161
2008-10-16 00:52:59 +00:00
Vladimir Makarov
22c02455bf re PR middle-end/37535 (gcc/libgcc2.c:404: internal compiler error: Floating point exception)
2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/37535
	* ira-lives.c (mark_early_clobbers): Remove.
	(make_pseudo_conflict, check_and_make_def_use_conflicts,
	check_and_make_def_conflicts,
	make_early_clobber_and_input_conflicts,
	mark_hard_reg_early_clobbers): New functions.
	(process_bb_node_lives): Call
	make_early_clobber_and_input_conflicts and
	mark_hard_reg_early_clobbers.  Make hard register inputs live
	again.

	* doc/rtl.texi (clobber): Change descriotion of RA behaviour for
	early clobbers of pseudo-registers.

From-SVN: r141160
2008-10-16 00:51:34 +00:00
Vladimir Makarov
0ca9fa56e9 re PR middle-end/37674 (Bootstrap failure due to miscompilation of genattrtab)
2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/37674
	* ira-build.c (ira_flattening): Recalculate
	ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
	from the scratch instead of the propagation.

From-SVN: r141159
2008-10-16 00:22:13 +00:00
GCC Administrator
77d74bc7ca Daily bump.
From-SVN: r141157
2008-10-16 00:16:33 +00:00
David Edelsohn
9fb59895c3 Commit omitted ChangeLog from r141134
From-SVN: r141154
2008-10-15 20:12:13 -04:00
Paolo Carlini
6bb7603486 forward_list.h: Remove pointless const qualifiers in const_casts.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h: Remove pointless const qualifiers in
	const_casts.
	* include/bits/forward_list.tcc: Likewise.

	* include/bits/forward_list.h (forward_list<>::pointer,
	const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: Likewise.

From-SVN: r141153
2008-10-15 23:37:54 +00:00
Paolo Carlini
8f47a7f6d8 forward_list.h (forward_list<>::max_size): Use Node_allocator; minor cosmetic changes.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::max_size): Use
	Node_allocator; minor cosmetic changes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r141151
2008-10-15 22:08:09 +00:00
Richard Sandiford
bf52069846 rtl.texi (const_double): Remove the "addr" operand.
gcc/
	* doc/rtl.texi (const_double): Remove the "addr" operand.
	Describe CONST_DOUBLE_* macros under const_double rather
	than const_vector.
	(const_fixed): Fix the operand description.
	(const): Add an @findex directive.
	(CONST0_RTX, CONST1_RTX, CONST2_RTX): Move description
	after the constant rtl table.
	(fix): Combine floating-point and fixed-point descriptions.
	Fix hyphenation.
	* sched-deps.c (sched_analyze_2): Remove reference to
	CONST_DOUBLE_CHAIN.

From-SVN: r141149
2008-10-15 18:33:23 +00:00
Richard Sandiford
d4e2d7d2d6 mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTSYM_OFFs.
gcc/
	* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle
	UNSPEC_GOTSYM_OFFs.
	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Return true
	for UNSPEC_GOTSYM_OFFs.
	* config/mn10300/mn10300.md (UNSPEC_GOTSYM_OFF): New unspec.
	(add_GOT_to_pic_reg): Use it.
	* config/mn10300/constraints.md (S): Allow UNSPEC_GOTSYM_OFF.

From-SVN: r141148
2008-10-15 18:31:45 +00:00
Edward Smith-Rowland
3a63c9cdfc forward_list: New.
2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/forward_list: New.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/precompiled/stdc++.h: Modified to include forward_list.
	* include/Makefile.am: Add forward_list, forward_list.h, and
	forward_list.tcc.
	* include/Makefile.in: Regenerate.
	* testsuite/23_containers/forward_list/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
	* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
	* testsuite/23_containers/forward_list/comparable.cc: Likewise.
	* testsuite/23_containers/forward_list/moveable.cc: Likewise.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
	* testsuite/17_intro/headers/c++200x/all: Likewise.

From-SVN: r141146
2008-10-15 16:48:13 +00:00
Thomas Koenig
21c74256c3 re PR libfortran/34670 (bounds checking for array intrinsics)
2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34670
	* intrinsics/reshape_generic.c:  Add bounds checking.
	* m4/reshape.m4:  Likewise.
        * generated/reshape_c10.c: Regenerated.
        * generated/reshape_c16.c: Regenerated.
        * generated/reshape_c4.c: Regenerated.
        * generated/reshape_c8.c: Regenerated.
        * generated/reshape_i16.c: Regenerated.
        * generated/reshape_i4.c: Regenerated.
        * generated/reshape_i8.c: Regenerated.
        * generated/reshape_r10.c: Regenerated.
        * generated/reshape_r16.c: Regenerated.
        * generated/reshape_r4.c: Regenerated.
        * generated/reshape_r8.c: Regenerated.
        * generated/spread_r4.c: Regenerated.

2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34670
	* gfortran.dg/reshape_3.f90:  New test.
	* gfortran.dg/reshape_4.f90:  New test.
	* gfortran.dg/reshape_order_1.f90:  Use correct shape.
	* gfortran.dg/reshape_order_2.f90:  Likewise.
	* gfortran.dg/reshape_order_3.f90:  Likewise.
	* gfortran.dg/reshape_order_4.f90:  Likewise.

From-SVN: r141144
2008-10-15 16:27:58 +00:00
Sebastian Pop
2c7a7f46d8 [multiple changes]
2008-10-15  Jan Sjodin  <jan.sjodin@amd.com>
    	    Harsha Jagasia  <harsha.jagasia@amd.com>

	PR tree-optimization/37485
	* graphite.c (gmp_cst_to_tree): Moved.
	(iv_stack_entry_is_constant): New.
	(iv_stack_entry_is_iv): New.
	(loop_iv_stack_push): Renamed to loop_iv_stack_push_iv.
	(loop_iv_stack_insert_constant): New.
	(loop_iv_stack_pop): Use new datatpype.
	(loop_iv_stack_get_iv): Same.
	(loop_iv_stack_get_iv_from_name): Same.
	(loop_iv_stack_debug): Renamed to debug_loop_iv_stack.
	(loop_iv_stack_patch_for_consts): New.
	(loop_iv_stack_remove_constants): New.
	(graphite_create_new_loop): Use loop_iv_stack_push_iv.
	(translate_clast): Call loop_iv_stack_patch_for_consts and
	loop_iv_stack_remove_constants.
	(gloog): Use new datatype.  Redirect construction edge to end
	block to avoid accidental deletion.
	* graphite.h (enum iv_stack_entry_kind): New.  Tag for data in
	iv stack entry.
	(union iv_stack_entry_data): New.  Data in iv stack entry.
	(struct iv_stack_entry): New.  Datatype for iv stack entries.

2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (stmt_simple_memref_p): Fix memleak.
	* graphite.c (free_scop): Same.
	(build_scops): Same.
	(free_scattering): New.
	(build_cloog_prog): Call free_scattering.
	(patch_phis_for_virtual_defs): Fix memleak.
	(graphite_trans_bb_strip_mine): Same.
	(limit_scops): Same.

From-SVN: r141143
2008-10-15 16:24:15 +00:00
Sebastian Pop
575da9be0d re PR middle-end/37828 ([graphite] ICE in expand_scalar_variables_expr, at graphite.c:3421 with -floop-block)
2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>
    	    Harsha Jagasia  <harsha.jagasia@amd.com>

	PR tree-optimization/37828
	* testsuite/gcc.dg/graphite/pr37828.c: New.
	* graphite.c (graphite_trans_loop_block): Do not loop block
	single nested loops.


Co-Authored-By: Harsha Jagasia <harsha.jagasia@amd.com>

From-SVN: r141142
2008-10-15 16:17:45 +00:00
Sebastian Pop
36174c82ee re PR tree-optimization/37686 (Building of CPU2000's bzip2 with peak flags with -mcpu=power4 fails with an ICE.)
2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/37686
	* testsuite/gcc.dg/tree-ssa/pr37686.c: New.
	* tree-loop-linear.c (linear_transform_loops): Build a
	loop nest vector.  Pass it to lambda_compute_access_matrices.
	* tree-data-ref.h (struct access_matrix): Store the loop nest
	relative to which it encodes the information.
	(AM_LOOP_NEST_NUM): Renamed AM_LOOP_NEST.
	(am_vector_index_for_loop): Reimplemented: iterate over the
	loop nest for finding the loop index in the access matrix.
	(lambda_compute_access_matrices): Update declaration.
	* lambda-code.c (build_access_matrix): Pass the loop nest and
	record it.
	(lambda_compute_access_matrices): Same.

From-SVN: r141141
2008-10-15 16:13:33 +00:00
Andreas Krebbel
fb06824788 s390.h: (TARGET_DFP): This requires TARGET_HARD_FLOAT.
2008-10-15  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.h: (TARGET_DFP): This requires TARGET_HARD_FLOAT.
	* config/s390/s390.md: Replace "TARGET_HARD_FLOAT &&
	TARGET_(HARD_)DFP" with only TARGET_(HARD_)DFP since this
	already implies hard float.  Also fix several insn condition
	with TARGET_DFP which shall require TARGET_HARD_DFP instead.

From-SVN: r141138
2008-10-15 15:20:25 +00:00
Paolo Bonzini
61b74e12e5 fix ChangeLog entry to mention correct PR number
From-SVN: r141136
2008-10-15 12:41:56 +00:00
Paolo Bonzini
269f1d98b8 re PR tree-optimization/37717 (verify_ssa failed for legal C++ with -O2)
2008-10-15  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/37717
	* Makefile.in (LIBCFLAGS): Remove.
	(FLAGS_TO_PASS): Don't mention it.
	(COMPILE.c, MULTIOSDIR): Replace it with CFLAGS.

From-SVN: r141135
2008-10-15 12:40:05 +00:00
David Edelsohn
ee06c6a59e re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)
PR target/35483
        Based on patches by Laurent Vivier.
        * xcoffout.h (DBX_FINISH_STABS): Translate dollar sign to underscore.
        * config/rs6000/rs6000-protos.h (rs6000_xcoff_strip_dollar): Declare.
        * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Translate
        dollar sign to underscore.
        (ASM_OUTPUT_EXTERNAL): Same.
        (ASM_OUTPUT_LABELREF): New.
        * config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): New.

        * config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Define.
        * config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Define.
        * config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Define.
        * config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Define.

From-SVN: r141134
2008-10-15 08:23:55 -04:00
Andrew Haley
307233c206 constants.c (build_constant_data_ref): Make sure we only build one copy of the decl for the constant pool.
2008-10-14  Andrew Haley  <aph@redhat.com>

        * constants.c (build_constant_data_ref): Make sure we only build
        one copy of the decl for the constant pool.

From-SVN: r141133
2008-10-15 12:16:35 +00:00
Jakub Jelinek
f6e6e9904c re PR tree-optimization/36881 (Creating runtime relocations for code which does not need it)
PR tree-optimization/36881
	* tree-switch-conversion.c (check_final_bb): For flag_pic, check
	that each value doesn't need runtime relocations, for !flag_pic
	check that each value is just a valid initializer constant.

	* gcc.dg/tree-ssa/pr36881.c: New test.

From-SVN: r141129
2008-10-15 08:43:19 +02:00
Jakub Jelinek
e3bc2fa7e6 Revert unintended commit.
From-SVN: r141128
2008-10-15 08:42:00 +02:00
GCC Administrator
cb6064f505 Daily bump.
From-SVN: r141126
2008-10-15 00:16:30 +00:00
Jakub Jelinek
d767aebf70 re PR c++/37819 (ice for bitfield code)
PR c++/37819
	* cp-gimplify.c (cp_genericize_r): Only fold_convert COND_EXPR
	arguments if they don't already have COND_EXPR's type.

	* g++.dg/expr/bitfield11.C: New test.

From-SVN: r141118
2008-10-14 23:57:44 +02:00
Richard Sandiford
5c0a2e3ac5 mips.h (reg_class): Remove HI_AND_GR_REGS...
gcc/
	* config/mips/mips.h (reg_class): Remove HI_AND_GR_REGS,
	LO_AND_GR_REGS, HI_AND_FP_REGS, COP0_AND_GR_REGS, COP2_AND_GR_REGS,
	COP3_AND_GR_REGS, ALL_COP_REGS and ALL_COP_AND_GR_REGS.
	Add GR_AND_MD0_REGS, GR_AND_MD1_REGS, GR_AND_MD_REGS and
	GR_AND_ACC_REGS.
	(REG_CLASS_NAMES): Update accordingly.
	(REG_CLASS_CONTENTS): Likewise.  Use the class name in the comments,
	rather than an unpredictable descriptive string.
	* config/mips/mips.c (mips_register_move_cost): Remove comment.
	(mips_register_move_cost): Check for specific COP*_REGS classes,
	instead of ALL_COP_AND_GR_REGS.
	(mips_ira_cover_classes): New function.
	(mips_secondary_reload_class): Remove MTLO and MTHI workarounds.
	(TARGET_IRA_COVER_CLASSES): Define.

From-SVN: r141117
2008-10-14 18:39:03 +00:00
Paolo Carlini
b17c40be65 re PR c++/37650 (ICE with broken default template parameter)
/cp
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/37650
	* pt.c (push_template_decl_real): Check that current_template_parms
	is not null.
	(process_partial_specialization): Assert current_template_parms not
	null.

/testsuite
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/37650
	* g++.dg/template/crash83.C: New.

From-SVN: r141115
2008-10-14 17:51:55 +00:00
Paolo Carlini
c841843f9e stl_list.h (_List_node<>::_List_node<>(_Args&&...)): Add in C++0x mode.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
	Add in C++0x mode.
	(list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
	(list<>::_M_erase(iterator): Likewise, in C++0x mode.
	* include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r141113
2008-10-14 17:14:49 +00:00
Douglas Gregor
9c88061824 re PR c++/37553 (ICE in build_c_cast)
2008-10-14  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/37553
       * tree.c (build_type_attribute_qual_variant): Hash on the
       unqualified type, and don't overwrite an existing
       (type_hash_eq): Make the TYPE_NAME of the types significant, to
       allow distinguishing between wchar_t and its underlying type. This
       also means that we'll retain a little more typedef information.

2008-10-14  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/37553
       * g++.dg/ext/alias-canon2.C: New.

From-SVN: r141111
2008-10-14 15:03:51 +00:00
Paolo Carlini
1fea874e7a stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator for improved accuracy.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
	for improved accuracy.
	* include/bits/stl_list.h (list<>::max_size): Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.

From-SVN: r141110
2008-10-14 15:02:45 +00:00
Andrey Belevantsev
388092d5b4 target.h (struct gcc_target): Update prototypes of needs_block_p and gen_spec_check.
2008-10-14  Andrey Belevantsev  <abel@ispras.ru>
	    Dmitry Melnik  <dm@ispras.ru>
	    Dmitry Zhurikhin  <zhur@ispras.ru>
	    Alexander Monakov  <amonakov@ispras.ru>
	    Maxim Kuvyrkov  <maxim@codesourcery.com>

	* target.h (struct gcc_target): Update prototypes of needs_block_p
	and gen_spec_check.
	* haifa-sched.c (create_check_block_twin): Update calls to the above.
	* sel-sched.c (create_speculation_check): Likewise.
	* doc/tm.texi: Provide documentation for new target hooks.
		
	* config/ia64/ia64.c: Include sel-sched.h.  Rewrite speculation hooks.
	(ia64_gen_spec_insn): Removed.
	(get_spec_check_gen_function, insn_can_be_in_speculative_p,
	ia64_gen_spec_check): New static functions.
	(ia64_alloc_sched_context, ia64_init_sched_context, 
	ia64_set_sched_context, ia64_clear_sched_context, 
	ia64_free_sched_context, ia64_get_insn_spec_ds, 
	ia64_get_insn_checked_ds, ia64_skip_rtx_p): Declare functions.
	(ia64_needs_block_p): Change prototype.
	(ia64_gen_check): Rename to ia64_gen_spec_check.
	(ia64_adjust_cost): Rename to ia64_adjust_cost_2.  Add new parameter 
	into declaration, add special memory dependencies handling.
	(TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT,
	TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
	TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_SPEC_DS,
	TARGET_SCHED_GET_INSN_CHECKED_DS, TARGET_SCHED_SKIP_RTX_P): 
	Define new target hooks.
	(TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK.
	(ia64_optimization_options): Turn on selective scheduling with -O3, 
	disable -fauto-inc-dec. Set mflag_sched_control_spec to true by default
	with selective scheduling.
	(ia64_override_options): Initialize align_loops and align_functions 
	to 32 and 64, respectively.  Set global selective scheduling flags 
	according to target-dependent flags.
	(rtx_needs_barrier): Support UNSPEC_LDS_A.
	(group_barrier_needed): Use new mstop-bit-before-check flag. 
	Add heuristic.
	(dfa_state_size): Make global.
	(spec_check_no, max_uid): Remove.
        (mem_ops_in_group, current_cycle): New variables.
	(ia64_sched_init): Disable checks for !SCHED_GROUP_P after reload.
        Initialize new variables.
        (is_load_p, record_memory_reference): New functions.
        (ia64_dfa_sched_reorder): Lower priority of loads when limit is
        reached.
	(ia64_variable_issue): Change use of current_sched_info to 
	sched_deps_info.  Update comment.  Note if a load or a store is issued.
        (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Require a cycle
        advance if maximal number of loads or stores was issued on current 
        cycle.
	(scheduled_good_insn): New static helper function.
        (ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when 
        a group barrier is needed.  Fix vertical spacing.  Guard the code
        doing state transition with last_scheduled_insn check.                
        Mark that a stop bit should be before current insn if there was a 
        cycle advance.  Update current_cycle and mem_ops_in_group.
	(ia64_h_i_d_extended): Change use of current_sched_info to
        sched_deps_info. Reallocate stops_p by larger chunks.
	(struct _ia64_sched_context): New structure.
	(ia64_sched_context_t): New typedef.
	(ia64_alloc_sched_context, ia64_init_sched_context, 
	ia64_set_sched_context, ia64_clear_sched_context,
	ia64_free_sched_context): New static functions.
	(gen_func_t): New typedef.
	(get_spec_load_gen_function): New function.
	(SPEC_GEN_EXTEND_OFFSET): Declare.	
	(ia64_set_sched_flags): Check common_sched_info instead of *flags.
	(get_mode_no_for_insn): Change the condition that prevents use of 
	special hardware registers so it can now handle pseudos.
	(get_spec_unspec_code): New function.
	(ia64_skip_rtx_p, get_insn_spec_code, ia64_get_insn_spec_ds,
	ia64_get_insn_checked_ds, ia64_gen_spec_load): New static functions.
	(ia64_speculate_insn, ia64_needs_block_p): Support branchy checks
	during selective scheduling.
	(ia64_speculate_insn): Use ds_get_speculation_types when 
	determining whether we need to change the pattern.
	(SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): Declare.
	(ia64_spec_check_src_p): Support new speculation/check codes.
	(struct bundle_state): New field.
	(issue_nops_and_insn): Initialize it.
	(insert_bundle_state): Minimize mid-bundle stop bits.
	(important_for_bundling_p): New function.
	(get_next_important_insn): Use important_for_bundling_p.
	(bundling): When shifting TImode from unimportant insns, ignore 
	also group barriers.  Assert that best state is found before 
	the backward bundling pass.  Print number of mid-bundle stop bits.  
	Minimize mid-bundle stop bits.  Check correct calculation of 
	mid-bundle stop bits.
	(ia64_sched_finish, final_emit_insn_group_barriers): Fix formatting.
	(final_emit_insn_group_barriers): Emit stop bits before insns starting
	a new cycle.
	(sel2_run): New variable.
	(ia64_reorg): When flag_selective_scheduling2 is set, run the selective 
	scheduling pass instead of schedule_ebbs.  
	
	* config/ia64/ia64.md (speculable1, speculable2): New attributes.
	(UNSPEC_LDS_A): New UNSPEC.
	(movqi_internal, movhi_internal, movsi_internal, movdi_internal, 
	movti_internal, movsf_internal, movdf_internal, 
	movxf_internal): Make visible.  Add speculable* attributes.
	(output_c_nc): New mode attribute.
	(mov<mode>_speculative_a, zero_extend<mode>di2_speculative_a,
	mov<mode>_nc, zero_extend<mode>di2_nc, 
	advanced_load_check_nc_<mode>): New insns.
	(zero_extend*): Add speculable* attributes.

	* config/ia64/ia64.opt (msched_fp_mem_deps_zero_cost): New option.
	(msched-stop-bits-after-every-cycle): Likewise.
	(msched-max-memory-insns,
        msched-max-memory-insns-hard-limit): Likewise.
	(msched-spec-verbose): Remove.
	(msched-prefer-non-data-spec-insns,
        msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path,
	msel-sched-dont-check-control-spec): Use Target 
        Report Var instead of Common Report Var.

	* config/ia64/itanium2.md: Remove incorrect bypass.
	
	* config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h.

Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
Co-Authored-By: Dmitry Melnik <dm@ispras.ru>
Co-Authored-By: Dmitry Zhurikhin <zhur@ispras.ru>
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r141108
2008-10-14 16:52:19 +04:00
Jakub Jelinek
847e63465e re PR middle-end/37805 (gcc --help=separate)
PR middle-end/37805
	* opts.c (common_handle_option): Don't ICE on -fhelp=joined
	and -fhelp=separate.

From-SVN: r141106
2008-10-14 14:00:19 +02:00
Antoniu Pop
e0bda97e5b MAINTAINERS (Write After Approval): Added myself.
2008-10-14  Antoniu Pop	<antoniu.pop@gmail.com>

	* MAINTAINERS (Write After Approval): Added myself.

From-SVN: r141105
2008-10-14 10:04:19 +01:00
Ben Elliston
f8f49aeaad * config/rs6000/rs6000.md (cell_micro): Fix formatting.
From-SVN: r141103
2008-10-14 16:15:35 +11:00
Jerry DeLisle
88de9dd023 re PR fortran/37083 (Formatted read of line without trailing new-line fails)
2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org

	PR libfortran/37083
	* gfortran.dg/list_read_9.f90: New test.
	* gfortran.dg/arrayio_8.f90: Fix some typos.

From-SVN: r141102
2008-10-14 01:53:35 +00:00
Jerry DeLisle
724cdffe5c re PR fortran/37083 (Formatted read of line without trailing new-line fails)
2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org

	PR libfortran/37083
	* io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
	(finish_list_read): Add EOF check.

From-SVN: r141101
2008-10-14 01:49:51 +00:00