Commit Graph

101728 Commits

Author SHA1 Message Date
Richard Guenther
8b4c365c56 re PR rtl-optimization/44941 (ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189)
2010-07-19  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44941
	* expr.c (emit_block_move_hints): Move zero size check first.
	Move asserts to more useful places.
	* calls.c (load_register_parameters): Check for zero size.

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

From-SVN: r162308
2010-07-19 15:39:51 +00:00
Jason Merrill
ab73eba8bf re PR c++/44969 ([C++0x] <type_traits> std::is_constructible broken for fundamental types.)
PR c++/44969
	* tree.c (cp_tree_equal): Compare type of *CAST_EXPR.
	* pt.c (iterative_hash_template_arg): Hash type of *CAST_EXPR.

From-SVN: r162307
2010-07-19 10:50:52 -04:00
Richard Henderson
157be8f67b Reliably change cgraph_state to SSA form.
From-SVN: r162306
2010-07-19 07:42:50 -07:00
H.J. Lu
ca90e7f6c1 Remove gfortran.dg/data_implied_do_2.f90.
2010-07-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR fortran/44353
	* gfortran.dg/data_implied_do_2.f90: Removed.

From-SVN: r162305
2010-07-19 06:35:19 -07:00
Jerry DeLisle
746e63273f re PR fortran/44953 (FAIL: gfortran.dg/char4_iunit_1.f03 * execution test)
2010-07-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/44953
	* io/unix.c (mem_alloc_w4): Return gfc_char4_t instead of char type
	pointer. (mem_write4): Remove cast to gfc_char4_t.
	* io/transfer.c (write_block): Use a gfc_char4_t pointer.
	(memset4): New helper function. (next_record_w): Use new helper
	function rather than sset for internal units.  Don't attempt to pad
	with spaces if it is not needed.
	* io/unix.h: Update prototype for mem_alloc_w4.
	* io/write.c (memset4): Use gfc_char4_t pointer and chracter type.
	Don't use multiply by 4 to compute offset. (memcpy4): Likewise.
	(write_default_char4): Use a gfc_char4_t pointer and update memset4
	and memcpy calls. (write_a): Likewise. (write_l): Likewise.
	(write_boz): Likewise. (write_decimal): Likewise. (write_x): Likewise.
	(write_char): Add support for character(kind=4) internal units that
	was previously missed. (write_integer): Use a gfc_char4_t pointer and
	update memset4 and memcpy calls. (write_character): Likewise.
	(write_separator): Add support for character(kind=4) internal units
	that was previously missed.
	* write_float.def (output_float): Use a gfc_char4_t pointer and
	update memset4 and memcpy calls. (write_infnan): Likewise.
	(output_float_FMT_G_): Likewise.

From-SVN: r162304
2010-07-19 13:11:54 +00:00
Paolo Carlini
d555b1c77d re PR c++/44969 ([C++0x] <type_traits> std::is_constructible broken for fundamental types.)
/cp
2010-07-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44969
	* typeck.c (build_x_compound_expr_from_list): Add tsubst_flags_t
	parameter.
	* cp-tree.h: Adjust declaration.
	* init.c (perform_member_init): Adjust caller.
	* decl.c (grok_reference_init, cp_finish_decl): Likewise.
	* typeck2.c (store_init_value): Likewise.
	(build_functional_cast): Pass complain argument to
	build_x_compound_expr_from_list.

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

	PR c++/44969
	* g++.dg/template/sfinae23.C: New.

From-SVN: r162303
2010-07-19 10:27:58 +00:00
Bernd Schmidt
b1d5eee8c1 postreload.c (reload_combine_closest_single_use): Ignore the number of uses for DEBUG_INSNs.
* postreload.c (reload_combine_closest_single_use): Ignore the
	number of uses for DEBUG_INSNs.
	(fixup_debug_insns): New static function.
	(reload_combine_recognize_const_pattern): Use it.  Don't let the
	main loop be affected by DEBUG_INSNs.
	Really disallow moving adds past a jump insn.
	(reload_combine_recognize_pattern): Don't update use_ruid here.
	(reload_combine_note_use): Do it here.
	(reload_combine): Use control_flow_insn_p rather than JUMP_P.

From-SVN: r162301
2010-07-19 09:56:07 +00:00
Bingfeng Mei
0be955e737 ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes of a loop.
2010-07-19  Bingfeng Mei  <bmei@broadcom.com>
	* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
        of a loop.
        * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.

From-SVN: r162300
2010-07-19 09:18:14 +00:00
Iain Sandoe
9005471b83 allow darwin branch island control depening on system version
* config/i386/darwin.h: Define darwin_emit_branch_islands.
	(TARGET_MACHO_BRANCH_ISLANDS): New.
	(FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
	* config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
	default value.
	* config/i386/i386.c (output_pic_addr_const): Do not emit
	branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
	(x86_output_mi_thunk): Adjust symbol creation.
	* config/rs6000/darwin.h: Define darwin_emit_branch_islands.
	Remove out of date comment.
	* config/rs6000/rs6000.c (print_operand): Adjust symbol.
	DARWIN_LINKER_GENERATES_ISLANDS: Remove.
	DARWIN_GENERATE_ISLANDS: Ditto.
	(output_call):  Do not emit branch islands unless
	darwin_emit_branch_islands is set.
	* config/darwin.c: Declare darwin_emit_branch_islands.
	(machopic_indirect_data_reference): Do not emit unless
	darwin_emit_branch_islands is set.
	(darwin_override_options): Set darwin_emit_branch_islands
	where it is needed.
	* config/darwin9.h
	DARWIN_LINKER_GENERATES_ISLANDS: Remove.

From-SVN: r162299
2010-07-19 09:11:12 +00:00
Rainer Orth
39354b3b99 sourcebuild.texi (Effective-Target Keywords): Document sse_runtime, sse2_runtime.
gcc:
	* doc/sourcebuild.texi (Effective-Target Keywords): Document
	sse_runtime, sse2_runtime.

	gcc/testsuite:
	* lib/target-supports.exp (check_sse_os_support_available): New
	proc.
	(check_sse_hw_available): New proc.
	(check_effective_target_sse_runtime): New proc.
	(check_effective_target_sse2_runtime): New proc.
	* lib/fortran-torture.exp (get-fortran-torture-options): Only add
	-msse2 if check_sse_os_support_available.
	* g++.dg/vect/vect.exp: Only run -msse2 tests if
	check_sse_os_support_available.
	* gcc.dg/vect/vect.exp: Likewise.
	* gfortran.dg/vect/vect.exp: Likewise.
	* gcc.target/i386/sol2-check: Renamed to ...
	* gcc.target/i386/sse-os-support.h: ... this.
	(sol2_check): Renamed to ...
	(sse_os_support): ... this.
	Only test movss with xmm registers.
	* gcc.target/i386/sse-check.h: Reflect new header and function names.
	Removed ILL_INSN, ILL_INSN_LEN.
	* gcc.target/i386/sse2-check.h: Likewise.
	* gcc.target/i386/sse3-check.h: Likewise.
	* gcc.dg/pr40550.c: Use dg-require-effective-target sse_runtime.
	Removed cpuid.h, __get_cpuid test.
	* g++.dg/other/i386-1.C: Use dg-require-effective-target sse2_runtime.
	Removed cpuid.h, __get_cpuid test.
	* g++.dg/other/pr40446.C: Likewise.
	* gcc.dg/compat/union-m128-1_main.c: Likewise.
	* gcc.dg/compat/vector-1a_main.c: Likewise.
	* gcc.dg/compat/vector-2a_main.c: Likewise.
	* gcc.dg/pr36584.c: Likewise.
	* gcc.dg/pr37544.c: Likewise.
	* gcc.dg/torture/pr16104-1.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-2.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
	* gcc.dg/torture/stackalign/push-1.c: Likewise.
	* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
	* gcc.dg/torture/pr35771.h: Removed cpuid.h, __get_cpuid test.
	* gcc.dg/torture/pr35771-1.c: Use dg-require-effective-target
	sse2_runtime.
	* gcc.dg/torture/pr35771-2.c: Likewise.
	* gcc.dg/torture/pr35771-3.c: Likewise.
	* gcc.target/i386/pr39315-2.c: Likewise.
	* gcc.target/i386/pr39315-4.c: Likewise.
	* gcc.target/i386/vperm-v2df.c: Likewise.
	* gcc.target/i386/vperm-v2di.c: Likewise.
	* gcc.target/i386/vperm-v4si-1.c: Likewise.
	* gcc.target/i386/vperm-v4sf-1.c: Use dg-require-effective-target
	sse_runtime.

From-SVN: r162295
2010-07-19 08:20:59 +00:00
Paul Thomas
44c9c01f8f re PR fortran/44353 (rejects legal fortran)
2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44353
	* match.c (gfc_match_iterator): Revert.

2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44353
	* gfortran.dg/data_implied_do_2.f03 : Remove.

From-SVN: r162294
2010-07-19 05:05:23 +00:00
GCC Administrator
3b05770fed Daily bump.
From-SVN: r162291
2010-07-19 00:16:54 +00:00
Paul Thomas
91e2faaf66 re PR fortran/44353 (rejects legal fortran)
2010-07-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44353
	* match.c (gfc_match_iterator): Remove error that iterator
	cannot be INTENT(IN).

2010-07-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44353
	* gfortran.dg/data_implied_do_2.f03 : New test.

From-SVN: r162286
2010-07-18 16:15:43 +00:00
Richard Sandiford
18fcbc9a69 cache-1.c: Allow 0 instead of 0x0.
gcc/testsuite/
	* gcc.target/mips/cache-1.c: Allow 0 instead of 0x0.

From-SVN: r162285
2010-07-18 12:20:16 +00:00
Richard Sandiford
769e6b9f84 mips.exp (mips_option_groups): Add -mflip-mips16 to the "mips16" group.
gcc/testsuite/
	* gcc.target/mips/mips.exp (mips_option_groups): Add -mflip-mips16
	to the "mips16" group.
	(mips_using_mips16_p): New procedure.
	(mips-dg-options): Use it.

From-SVN: r162284
2010-07-18 12:16:36 +00:00
Richard Sandiford
93f63c6860 mips.c (mips16_build_call_stub): Zero-extend the low half of a single-register SCmode return value before ORing...
gcc/
	* config/mips/mips.c (mips16_build_call_stub): Zero-extend the
	low half of a single-register SCmode return value before ORing
	it with the high half.
	* config/mips/mips16.S (MERGE_GPRf): Likewise.

gcc/testsuite/
	* gcc.target/mips/mips16-attributes-4.c: New test.

From-SVN: r162283
2010-07-18 12:14:26 +00:00
GCC Administrator
0e789461b0 Daily bump.
From-SVN: r162282
2010-07-18 00:17:13 +00:00
John David Anglin
84aa7cea8f re PR target/44805 (FAIL: gcc.c-torture/execute/builtins/strpcpy-2.c execution, at -O1 and above)
PR target/44805
	* config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
	on all targets.

From-SVN: r162278
2010-07-17 22:51:34 +00:00
Iain Sandoe
fbd4785962 re PR testsuite/44418 (FAIL: gcc.target/powerpc/recip-[123].c on powerpc-apple-darwin9)
PR testsuite/44418
	* gcc.target/powerpc/recip-1.c: Do not run for powerpc*-apple-darwin*
	* gcc.target/powerpc/recip-2.c: Ditto.
	* gcc.target/powerpc/recip-3.c: Ditto.

From-SVN: r162277
2010-07-17 14:51:20 +00:00
Mikael Morin
9157ccb29f trans-array.c (gfc_free_ss): Don't free beyond ss rank.
2010-07-17  Mikael Morin  <mikael@gcc.gnu.org>

	* trans-array.c (gfc_free_ss): Don't free beyond ss rank.
	Access subscript through the "dim" field index.
	(gfc_trans_create_temp_array): Access ss info through the "dim" field
	index.
	(gfc_conv_array_index_offset): Ditto.
	(gfc_conv_loop_setup): Ditto.
	(gfc_conv_expr_descriptor): Ditto.
	(gfc_conv_ss_startstride): Ditto.  Update call to
	gfc_conv_section_startstride.
	(gfc_conv_section_startstride): Set values along the array dimension.
	Get array dimension directly from the argument.

From-SVN: r162276
2010-07-17 09:57:19 +00:00
Jack Howarth
77198d71e1 re PR target/44862 (bootstrap with --enable-build-with-cxx and --with-libiconv-prefix fails)
2010-07-17  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR target/44862
	* Makefile.tpl (POSTSTAGE1_CXX_EXPORT):
	Provide -B option to allow for link spec %s substitutions for
	libstdc++.a on darwin.
	* Makefile.in: Regenerate.

From-SVN: r162275
2010-07-17 08:22:09 +00:00
GCC Administrator
57e9cdba05 Daily bump.
From-SVN: r162274
2010-07-17 00:17:13 +00:00
Bernd Schmidt
dc0d5a5739 re PR target/42235 (redundant memory move from parameter space to spill space)
PR target/42235
	* postreload.c (reload_cse_move2add): Return bool, true if anything.
	changed.  All callers changed.
	(move2add_use_add2_insn): Likewise.
	(move2add_use_add3_insn): Likewise.
	(reload_cse_regs): If reload_cse_move2add changed anything, rerun
	reload_combine.
	(RELOAD_COMBINE_MAX_USES): Bump to 16.
	(last_jump_ruid): New static variable.
	(struct reg_use): New members CONTAINING_MEM and RUID.
	(reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
	(reload_combine_split_one_ruid, reload_combine_split_ruids,
	reload_combine_purge_insn_uses, reload_combine_closest_single_use
	reload_combine_purge_reg_uses_after_ruid,
	reload_combine_recognize_const_pattern): New static functions.
	(reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
	is true for our reg and that we have available index regs.
	(reload_combine_note_use): New args RUID and CONTAINING_MEM.  All
	callers changed.  Use them to initialize fields in struct reg_use.
	(reload_combine): Initialize last_jump_ruid.  Be careful when to
	take PREV_INSN of the scanned insn.  Update REAL_STORE_RUID fields.
	Call reload_combine_recognize_const_pattern.
	(reload_combine_note_store): Update REAL_STORE_RUID field.

	* gcc.target/arm/pr42235.c: New test.

From-SVN: r162270
2010-07-16 23:47:46 +00:00
Jason Merrill
ebc258f1b3 re PR c++/32505 (Partial specialization halfway accepted after instantiation)
PR c++/32505
	* pt.c (process_partial_specialization): Diagnose partial
	specialization after instantiation.
	(most_specialized_class): Add complain parm.

From-SVN: r162269
2010-07-16 17:05:16 -04:00
Jason Merrill
f25669da4a * ptree.c (cxx_print_xnode): Handle TEMPLATE_INFO.
From-SVN: r162268
2010-07-16 17:05:07 -04:00
Jason Merrill
d4404feead * Makefile.in (opts-common.o): Depend on options.h.
From-SVN: r162267
2010-07-16 17:04:55 -04:00
Jakub Jelinek
8b26599cef guality.exp: Run also c-c++-common/guality/ tests.
* gcc.dg/guality/guality.exp: Run also c-c++-common/guality/ tests.
	* gcc.dg/guality/guality.h: Include unistd.h.  Make the header usable
	in C++.
	(gualcvt): New overloaded inline.
	(GUALCVT): Use it for C++.
	* g++.dg/guality/guality.exp: New.
	* g++.dg/guality/guality.h: New.
	* g++.dg/guality/redeclaration1.C: New test.
	* g++.dg/dg.exp: Prune also guality/* tests.
	* gcc.dg/guality/pr43141.c: Moved to...
	* c-c++-common/guality/pr43141.c: ... here.

From-SVN: r162266
2010-07-16 22:35:16 +02:00
Nathan Froyd
6a4825bda1 tree.c (build_common_builtin_nodes): Use build_function_type_list instead of build_function_type.
* tree.c (build_common_builtin_nodes): Use build_function_type_list
	instead of build_function_type.
	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.

From-SVN: r162264
2010-07-16 17:51:56 +00:00
Nathan Froyd
c5af628dbe rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove do all the work.
* config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
	do all the work.
	(rs6000_emit_int_cmove): Use function pointers for insn generation.
	Don't force values into registers unnecessarily.
	(output_isel): Assert that we're not given conditions we can't handle.
	Delete corresponding code.
	* config/rs6000/rs6000.md (isel_signed_<mode>): Use
	scc_comparison_operator constraint.  Permit 0 for the consequent
	operand.  Permit any GPR for the alternative operand.
	(isel_unsigned_<mode>): Likewise.

From-SVN: r162263
2010-07-16 15:25:43 +00:00
Jerry DeLisle
8d63d4055e re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4)
2010-07-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37077
	* gfortran.dg/char4_iunit_2.f03: New test.

From-SVN: r162261
2010-07-16 14:21:10 +00:00
Jerry DeLisle
74db2a472a re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4)
2010-07-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37077
	* io/read.c (read_default_char4): Add support for reading into a
	kind-4 character variable from a character(kind=4) internal unit.
	* io/io.h (read_block_form4): Add prototype.
	* io/unit.c (get_internal_unit): Add call to fbuf_init.
	(free_internal_unit): Add call to fbuf_destroy. (get_unit): Fix
	whitespace.
	* io/transfer.c (read_sf_internal): Use fbuf_alloc to allocate a string
	to recieve the wide characters translated to single byte chracters.
	(read_block_form): Fix whitespace. (read_block_form4): New function to
	read from a character(kind=4) internal unit into a character(kind=4)
	variable. (read_block_direct): Fix whitespace. (write_block): Fix
	whitespace. (formatted_transfer_scalar_read): Likewise.
	(formatted_transfer_scalar_write): Likewise.
	* io/write.c (write_character): Add support for list directed write of
	a kind=1 character string to a character(kind=4) internal unit.

From-SVN: r162260
2010-07-16 14:16:04 +00:00
Iain Sandoe
4b1b0ac1cf plugin-support.exp (plugin-test-execute): Add ${gcc_objdir}/intl to includes.
* lib/plugin-support.exp (plugin-test-execute):
	Add ${gcc_objdir}/intl to includes.

From-SVN: r162259
2010-07-16 10:41:36 +00:00
Jakub Jelinek
88ad03c2cb re PR target/44942 (Bug in argument passing of long double)
PR target/44942
	* config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
	argument to const_tree.
	* config/i386/i386.c (function_arg_advance): If padding needs to be
	inserted before argument, increment cum->words by number of padding
	words as well.
	(contains_aligned_value_p): Change argument to const_tree.
	(ix86_function_arg_boundary): Change second argument to const_tree.

	* gcc.c-torture/execute/pr44942.c: New test.
	* gcc.target/i386/pr44942.c: New test.

From-SVN: r162255
2010-07-16 11:06:02 +02:00
Jack Howarth
ba2dc63db7 re PR testsuite/42843 (--enable-build-with-cxx plugin tests fail)
2010-07-16  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR testsuite/42843
	* gcc.dg/plugin/selfassign.c: Include diagnostic.h.
	* gcc.dg/plugin/ggcplug.c: Likewise.
	* g++.dg/plugin/selfassign.c: Likewise.
	* g++.dg/plugin/attribute_plugin.c: Likewise.
	* g++.dg/plugin/dumb_plugin.c: Likewise.
	* g++.dg/plugin/pragma_plugin.c: Likewise.

From-SVN: r162254
2010-07-16 08:39:37 +00:00
Nathan Froyd
6998c7ede7 init.c (build_new_1): Use cp_build_function_call_nary instead of cp_build_function_call.
* init.c (build_new_1): Use cp_build_function_call_nary instead of
	cp_build_function_call.

From-SVN: r162241
2010-07-16 02:37:10 +00:00
Bernd Schmidt
71008de4b3 re PR target/42235 (redundant memory move from parameter space to spill space)
PR target/42235
	* function.c (record_hard_reg_sets): New static function.
	(assign_parm_setup_reg): If an optab for extending exists and the
	generated code clobbbers no hard regs, emit the insn directly and
	create a REG_EQUIV note.

From-SVN: r162240
2010-07-16 02:09:03 +00:00
Nathan Froyd
f7587ed0d8 c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of TREE_CHAIN.
* c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
	TREE_CHAIN.
	* c-typeck.c (push_init_level): Likewise.
	(process_init_element): Likewise.

From-SVN: r162239
2010-07-16 01:30:32 +00:00
GCC Administrator
f0cd14a7ed Daily bump.
From-SVN: r162238
2010-07-16 00:17:09 +00:00
Jason Merrill
10746f3715 re PR c++/44909 ([C++0x] Copy constructors implicitly deleted)
PR c++/44909
	* call.c (add_function_candidate): If we're working on an implicit
	declaration, don't consider candidates that won't match.
	* typeck.c (same_type_ignoring_top_level_qualifiers_p): Now a fn.
	* cp-tree.h (same_type_ignoring_top_level_qualifiers_p): Adjust.

	Revert:
	* cp-tree.h (struct lang_type_class): Add has_user_opeq.
	(TYPE_HAS_USER_OPEQ): New.
	* decl.c (grok_special_member_properties): Set it.
	* class.c (add_implicitly_declared_members): Don't lazily declare
	constructors/operator= if a base or member has a user-declared one.
	(check_bases_and_members, check_bases): Adjust.
	(check_field_decls, check_field_decl): Adjust.

From-SVN: r162233
2010-07-15 16:45:35 -04:00
Ulrich Weigand
8e7af53e4a Disable float tests for __SPU__ targets due to lack of signed zero:
* c-c++-common/torture/complex-sign-add.c (check_add_float).
	* c-c++-common/torture/complex-sign-sub.c (check_sub_float).
	* c-c++-common/torture/complex-sign-mul.c (check_mul_float).
	* c-c++-common/torture/complex-sign-mul-one.c (check_mul_float).
	* c-c++-common/torture/complex-sign-mul-minus-one.c (check_mul_float).
	* c-c++-common/torture/complex-sign-mixed-add.c (check_add_float).
	* c-c++-common/torture/complex-sign-mixed-sub.c (check_sub_float).
	* c-c++-common/torture/complex-sign-mixed-mul.c (check_mul_float).
	* c-c++-common/torture/complex-sign-mixed-div.c (check_div_float).

From-SVN: r162232
2010-07-15 19:32:37 +00:00
Anatoly Sokolov
9a9d280e02 tree.h (enum tree_index): Add TI_INTEGER_THREE.
* tree.h (enum tree_index): Add TI_INTEGER_THREE.
	(integer_three_node): Add.
	* tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
	NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
	* builtins.c (expand_builtin_prefetch): Use common tree nodes instead
	of call build_int_cst.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
	* tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
	(find_interesting_uses_address): Ditto.
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
	* tree-eh.c (lower_eh_constructs_2): Ditto.
	* tree-vect-loop.c (get_initial_def_for_induction): Ditto.
	* c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
	* expmed.c (expand_divmod): Ditto.
	* tree-mudflap.c (mx_register_decls): Ditto.
	* varasm.c (array_size_for_constructor): Ditto.
	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
	* c-parser.c (c_parser_postfix_expression): Ditto.
	
/cp
	* decl.c (integer_three_node): Remove.
	(cxx_init_decl_processing): Do not initialize the integer_three_node.
	* cp-tree.h (integer_three_node): Remove.

From-SVN: r162230
2010-07-15 22:47:23 +04:00
Bernd Schmidt
67bb020619 postreload.c (last_label_ruid, [...]): New static variables.
* postreload.c (last_label_ruid, first_index_reg, last_index_reg):
	New static variables.
	(reload_combine_recognize_pattern): New static function, broken out
	of reload_combine.
	(reload_combine): Use it.  Only initialize first_index_reg and
	last_index_reg once.

From-SVN: r162228
2010-07-15 17:07:17 +00:00
Richard Henderson
c5f77dcb78 Finish zeroing out the current function status after building cdtor.
From-SVN: r162227
2010-07-15 09:38:16 -07:00
Jakub Jelinek
d2886bc744 trans.h (gfc_string_to_single_character): New prototype.
* trans.h (gfc_string_to_single_character): New prototype.
	* trans-expr.c (string_to_single_character): Renamed to ...
	(gfc_string_to_single_character): ... this.  No longer static.
	(gfc_conv_scalar_char_value, gfc_build_compare_string,
	gfc_trans_string_copy): Adjust callers.
	* config-lang.in (gtfiles): Add fortran/trans-stmt.c.
	* trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
	(select_struct): Move to toplevel, add GTY(()).
	(gfc_trans_character_select): Optimize SELECT CASE
	with character length 1.

	* gfortran.dg/select_char_2.f90: New test.

From-SVN: r162226
2010-07-15 18:09:48 +02:00
Jan Hubicka
ef8fc6c2ef lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling comdats for broken gold.
* lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling comdats
	for broken gold.
	(lto_sy	mtab_merge_decls_1): Set used_from_object_file correctly.

From-SVN: r162225
2010-07-15 16:01:33 +00:00
Nathan Froyd
3d894a8eaf * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
From-SVN: r162224
2010-07-15 15:57:23 +00:00
Nathan Froyd
910ad8dee5 tree.h (DECL_CHAIN): Define.
gcc/
	* tree.h (DECL_CHAIN): Define.
	* alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* c-decl.c: Likewise.
	* c-parser.c: Likewise.
	* c-typeck.c: Likewise.
	* cfgexpand.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* combine.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/winnt-cxx.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/pa/som.h: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/symbian-cxx.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/vxworks.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.
	* coverage.c: Likewise.
	* dbxout.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* expr.c: Likewise.
	* function.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimplify.c: Likewise.
	* integrate.c: Likewise.
	* ipa-inline.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-struct-reorg.c: Likewise.
	* ipa-type-escape.c: Likewise.
	* langhooks.c: Likewise.
	* lto-cgraph.c: Likewise.
	* omp-low.c: Likewise.
	* stor-layout.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-dump.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-mudflap.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* var-tracking.c: Likewise.
	* varasm.c: Likewise.

gcc/ada/
	* gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.
	* gcc-interface/utils2.c: Likewise.

gcc/c-family/
	* c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* c-format.c: Likewise.

gcc/cp/
	* cp-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* call.c: Likewise.
	* class.c: Likewise.
	* cp-gimplify.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* init.c: Likewise.
	* mangle.c: Likewise.
	* name-lookup.c: Likewise.
	* optimize.c: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* rtti.c: Likewise.
	* search.c: Likewise.
	* semantics.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.

gcc/fortran/
	* f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* trans-common.c: Likewise.
	* trans-decl.c: Likewise.
	* trans-types.c: Likewise.
	* trans.c: Likewise.

gcc/java/
	* java-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
	* boehm.c: Likewise.
	* class.c: Likewise.
	* decl.c: Likewise.
	* expr.c: Likewise.
	* jcf-parse.c: Likewise.
	* typeck.c: Likewise.
	* verify-glue.c: Likewise.

gcc/objc/
	* objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.

gcc/testsuite/
	* g++.dg/plugin/attribute_plugin.c: Carefully replace TREE_CHAIN
	with DECL_CHAIN.

From-SVN: r162223
2010-07-15 14:31:28 +00:00
Jerry DeLisle
b05027be0c Fix ChangeLog to mention last commit to transfer.c
From-SVN: r162222
2010-07-15 13:39:11 +00:00
Janus Weil
ab7306ed7c re PR fortran/44936 ([OOP] Generic TBP not resolved correctly at compile time)
2010-07-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44936
	* resolve.c (resolve_typebound_generic_call): Resolve generic
	non-polymorphic type-bound procedure calls to the correct specific
	procedure.
	(resolve_typebound_subroutine): Remove superfluous code.


2010-07-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44936
	* gfortran.dg/typebound_generic_9.f03: New.

From-SVN: r162221
2010-07-15 15:36:28 +02:00
Ulrich Weigand
643afedb71 re PR target/44877 (C++ compiler can no longer compile dealII for VSX/Altivec vectorization)
PR target/44877
	* config/spu/spu.c (spu_expand_builtin_1): Allow references
	(as well as pointers) as argument to mask_for_load builtins.

From-SVN: r162220
2010-07-15 12:37:03 +00:00