1. 20 Jul, 2010 10 commits
  2. 19 Jul, 2010 17 commits
    • config.gcc (LIBC_GLIBC, [...]): Move constants to top level. · 2c8f43e6
      	* config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
      	to top level.
      	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
      	definitions ...
      	* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
      	New macro.
      	* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
      
      From-SVN: r162315
      Maxim Kuvyrkov committed
    • gengtype.c (start_root_entry): New function, split out from write_root. · b08e0339
      gcc/
      	* gengtype.c (start_root_entry): New function, split out from
      	write_root.  Check whether V is null and raise an error if so.
      	(write_field_root): Check for V being null.  Don't raise an error here;
      	set V to null instead.
      	(write_root): Update comment above function.  Use start_root_entry.
      
      From-SVN: r162314
      Richard Sandiford committed
    • re PR fortran/42385 ([OOP] poylmorphic operators do not work) · 974df0f8
      2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/42385
      	* interface.c (matching_typebound_op): Add argument for the
      	return of the generic name for the procedure.
      	(build_compcall_for_operator): Add an argument for the generic
      	name of an operator procedure and supply it to the expression.
      	(gfc_extend_expr, gfc_extend_assign): Use the generic name in
      	calls to the above procedures.
      	* resolve.c (resolve_typebound_function): Catch procedure
      	component calls for CLASS objects, check that the vtable is
      	complete and insert the $vptr and procedure components, to make
      	the call.
      	(resolve_typebound_function): The same.
      	* trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
      	an allocatable scalar if it is a result.
      
      
      2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/42385
      	* gfortran.dg/class_defined_operator_1.f03 : New test.
      
      From-SVN: r162313
      Paul Thomas committed
    • slp-perm-1.c (main): Make sure loops aren't vectorized. · be30e7b2
      	* gcc.dg/vect/slp-perm-1.c (main): Make sure loops aren't vectorized.
      	* gcc.dg/vect/slp-perm-2.c (main): Likewise.
      	* gcc.dg/vect/slp-perm-3.c (main): Likewise.  Fix loop limit.
      	* gcc.dg/vect/slp-perm-4.c (main): Fix loop limit.
      
      From-SVN: r162311
      Peter Bergner committed
    • Fix PR44932 · e74780a3
      From-SVN: r162310
      Xinliang David Li committed
    • re PR rtl-optimization/44941 (ICE: RTL check: expected code 'mem', have 'reg' in… · 8b4c365c
      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
      Richard Guenther committed
    • re PR c++/44969 ([C++0x] <type_traits> std::is_constructible broken for fundamental types.) · ab73eba8
      	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
      Jason Merrill committed
    • Reliably change cgraph_state to SSA form. · 157be8f6
      From-SVN: r162306
      Richard Henderson committed
    • Remove gfortran.dg/data_implied_do_2.f90. · ca90e7f6
      2010-07-19  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR fortran/44353
      	* gfortran.dg/data_implied_do_2.f90: Removed.
      
      From-SVN: r162305
      H.J. Lu committed
    • re PR fortran/44953 (FAIL: gfortran.dg/char4_iunit_1.f03 * execution test) · 746e6327
      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
      Jerry DeLisle committed
    • re PR c++/44969 ([C++0x] <type_traits> std::is_constructible broken for fundamental types.) · d555b1c7
      /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
      Paolo Carlini committed
    • postreload.c (reload_combine_closest_single_use): Ignore the number of uses for DEBUG_INSNs. · b1d5eee8
      	* 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
      Bernd Schmidt committed
    • ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes of a loop. · 0be955e7
      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
      Bingfeng Mei committed
    • allow darwin branch island control depening on system version · 9005471b
      	* 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
      Iain Sandoe committed
    • sourcebuild.texi (Effective-Target Keywords): Document sse_runtime, sse2_runtime. · 39354b3b
      	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
      Rainer Orth committed
    • re PR fortran/44353 (rejects legal fortran) · 44c9c01f
      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
      Paul Thomas committed
    • Daily bump. · 3b05770f
      From-SVN: r162291
      GCC Administrator committed
  3. 18 Jul, 2010 5 commits
  4. 17 Jul, 2010 5 commits
  5. 16 Jul, 2010 3 commits
    • re PR target/42235 (redundant memory move from parameter space to spill space) · dc0d5a57
      	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
      Bernd Schmidt committed
    • re PR c++/32505 (Partial specialization halfway accepted after instantiation) · ebc258f1
      	PR c++/32505
      	* pt.c (process_partial_specialization): Diagnose partial
      	specialization after instantiation.
      	(most_specialized_class): Add complain parm.
      
      From-SVN: r162269
      Jason Merrill committed
    • * ptree.c (cxx_print_xnode): Handle TEMPLATE_INFO. · f25669da
      From-SVN: r162268
      Jason Merrill committed