1. 07 Jul, 2010 16 commits
  2. 06 Jul, 2010 22 commits
    • re PR rtl-optimization/44787 (internal compiler error: in… · 325d7997
      re PR rtl-optimization/44787 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:395)
      
      	PR rtl-optimization/44787
      	* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
      	* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
      
      testsuite/
      	PR rtl-optimization/44787
      	* gcc.c-torture/compile/pr44788.c: New test.
      	* gcc.target/arm/pr44788.c: New test.
      
      From-SVN: r161893
      Bernd Schmidt committed
    • status_cxx200x.xml: Add some missing features. · 604b9124
      2010-07-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* doc/xml/manual/status_cxx200x.xml: Add some missing features.
      	* doc/html/*: Regenerate.
      
      From-SVN: r161892
      Jonathan Wakely committed
    • ppu-intrinsics.c: Add -Wno-unused-but-set-variable to dg-options. · 0f5700a7
      	* gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
      	to dg-options.
      
      From-SVN: r161890
      Peter Bergner committed
    • re PR fortran/44742 (ICE in gfc_conv_array_initializer) · 928f0490
      2010-07-06  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44742
              * array.c (gfc_expand_constructor): Add optional diagnostic.
              * gfortran.h (gfc_expand_constructor): Update prototype.
              * expr.c (gfc_simplify_expr, check_init_expr,
              gfc_reduce_init_expr): Update gfc_expand_constructor call.
              * resolve.c (gfc_resolve_expr): Ditto.
      
      2010-07-06  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44742
              * gfortran.dg/parameter_array_init_6.f90: New.
              * gfortran.dg/initialization_20.f90: Update dg-error.
              * gfortran.dg/initialization_24.f90: Ditto.
      
      From-SVN: r161888
      Tobias Burnus committed
    • trans-decl.c: Include diagnostic-core.h besides toplev.h. · c829d016
      2010-07-06  Tobias Burnus  <burnus@net-b.de>
      
              * trans-decl.c: Include diagnostic-core.h besides toplev.h.
              * trans-intrinsic.c: Ditto.
              * trans-types.c: Ditto.
              * convert.c: Include diagnostic-core.h instead of toplev.h.
              * options.c: Ditto.
              * trans-array.c: Ditto.
              * trans-const.c: Ditto.
              * trans-expr.c: Ditto.
              * trans-io.c: Ditto.
              * trans-openmp.c: Ditto.
              * trans.c: Ditto.
      
      From-SVN: r161885
      Tobias Burnus committed
    • PR fortran/PR44693 · 7114ab45
      2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/PR44693
      	* check.c (dim_rank_check):  Also check intrinsic functions.
      	Adjust permissible rank for functions which reduce the rank of
      	their argument.  Spread is an exception, where DIM can
      	be one larger than the rank of array.
      
      2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	PR fortran/PR44693
      	* gfortran.dg/dim_range_1.f90:  New test.
      	* gfortran.dg/minmaxloc_4.f90:  Remove invalid test.
      
      From-SVN: r161884
      Thomas Koenig committed
    • re PR c++/44703 ([C++0x] List initialization fail if parameter is typedef name… · 0060a10a
      re PR c++/44703 ([C++0x] List initialization fail if parameter is typedef name for the std::initializer_list)
      
      	PR c++/44703
      	* call.c (is_std_init_list): Look through typedefs.
      
      From-SVN: r161880
      Jason Merrill committed
    • re PR c++/44778 (? Behaviour change with pointers to members) · 627bc938
      	PR c++/44778
      	* init.c (build_offset_ref): If scope isn't dependent,
      	don't exit early.  Look at TYPE_MAIN_VARIANT.
      	* pt.c (tsubst_copy) [OFFSET_REF]: Do substitution.
      
      From-SVN: r161879
      Jason Merrill committed
    • lto-symtab.c (lto_cgraph_replace_node): Handle aliases. · e10aaec0
      
      	* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
      	(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
      	with body can prevail.
      	(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
      	(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
      	* cgraph.c (cgraph_get_node_or_alias): New function.
      	* cgraph.h (cgraph_get_node_or_alias): Declare.
      
      From-SVN: r161877
      Jan Hubicka committed
    • i386.c (ix86_function_ms_hook_prologue): Enable x64 support. · 4bbf141c
      2010-07-06  Kai Tietz  <kai.tietz@onevision.com>
      
              * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
              support.
              (ix86_expand_prologue): Likewise.
              (ix86_handle_fndecl_attribute): Likewise.
              (ix86_asm_declare_function_name): New function for
              ASM_DECLARE_FUNCTION_NAME.
              * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
              * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
              (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
              * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
              * doc/extend.texi: Adjust documentation about ms_hook_prologue
              attribute.
      
      From-SVN: r161876
      Kai Tietz committed
    • ms_hook_prologue.c: Add x64 ms_hook_prologue support. · 15a1f8c5
      2010-07-06  Kai Tietz  <kai.tietz@onevision.com>
      
              * gcc.target/i386/ms_hook_prologue.c: Add x64 ms_hook_prologue
              support.
              * gcc.target/i386/i386.exp: Likewise.
      
      From-SVN: r161875
      Kai Tietz committed
    • re PR lto/44195 (gcc.dg/lto/20100518 c_lto_20100518_0.o) · 6b0bcc9b
      	PR testsuite/44195
      	* gcc.dg/lto/20100518_0.c: Limit to x86.
      
      From-SVN: r161872
      Peter Bergner committed
    • i386.md (immediate_operand): New mode attribute. · 9aa5922d
      2010-07-06  Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/i386.md (immediate_operand): New mode attribute.
      	
      	(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
      	pro_epilogue_adjust_stack  and pro_epilogue_adjust_stack_rex64
      	using P mode iterator.
      	(pro_epilogue_adjust_stack_di_2): Rename from
      	pro_epilogue_adjust_stack_rex64_2.
      
      	* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
      
      2010-07-06  Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
      	through gen_mov_insv_1 function pointer.
      	(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
      	gen_truncxf<mode>2 through gen_truncxf function pointer.
      	(remainder<mode>3): Ditto.
      	(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
      	(allocate_stack): Call gen_allocate_stack_worker_64 or
      	gen_allocate_stack_worker_32 through gen_allocate_stack_worker
      	function pointer.
      	(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
      	function pointer.
      
      2010-07-06  Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
      	operand constraint instead of <r><i>m.
      
      From-SVN: r161870
      Uros Bizjak committed
    • re PR c/44828 (possible integer wrong code bug) · dfb88126
      2010-07-06  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/44828
      	* convert.c (convert_to_integer): Watch out for overflowing
      	MULT_EXPR as well.
      
      	* gcc.c-torture/execute/pr44828.c: New testcase.
      
      From-SVN: r161869
      Richard Guenther committed
    • lto-streamer.c (write_symbol_vec): Rename to ... · c5d1f058
      
      	* lto-streamer.c (write_symbol_vec): Rename to ...
      	(write_symbol) ... this one; write only symbol given and when
      	present in cache. Sanity check that what is defined is present
      	in cgraph/varpool with body/finalized decl.
      	(write_symbols_of_kind): Remove.
      	(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
      	pairs to produce symtab.
      	(produce_asm_for_decls): Update call of produce_symtab; don't do so
      	when doing WPA streaming.
      
      From-SVN: r161868
      Jan Hubicka committed
    • floatformat.h (floatformat_ieee_half_big): Add declaration. · d414dde9
      include/ChangeLog:
      
      2010-07-06  Ken Werner  <ken.werner@de.ibm.com>
      
      	* floatformat.h (floatformat_ieee_half_big): Add declaration.
      	(floatformat_ieee_half_little): Likewise.
      
      libiberty/ChangeLog:
      
      2010-07-06  Ken Werner  <ken.werner@de.ibm.com>
      
      	* floatformat.c (floatformat_ieee_half_big): New variable.
      	(floatformat_ieee_half_little): Likewise.
      
      From-SVN: r161867
      Ken Werner committed
    • gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that function is… · 6e4da084
      gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that function is still available to fold into.
      
      	* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
      	function is still available to fold into.
      
      From-SVN: r161866
      Jan Hubicka committed
    • cp-tree.h (impl_conv_void): New type. · ebeb2c24
      /cp
      2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>
      
              * cp-tree.h (impl_conv_void): New type.
              (convert_to_void): Adjust prototype.
              * cvt.c (convert_to_void): Use impl_conv_void, emit and adjust the
              diagnostic for easy translation. Change caller.
              * typeck.c: Update call to convert_to_void.
              * semantics.c: Likewise.
              * init.c: Likewise.
      
      /testsuite
      2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>
      
              * g++.dg/warn/noeffect2.C: Adjust expected warning.
              * g++.dg/warn/volatile1.C: Likewise.
              * g++.dg/template/warn1.C: Likewise.
      
      From-SVN: r161863
      Shujing Zhao committed
    • vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro. · c021f10b
      gcc/
      	* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
      	* function.h (struct_function): Change type of local_decls field
      	to a VEC.
      	(add_local_decl): New function.
      	(FOR_EACH_LOCAL_DECL): New macro.
      	* cfgexpand.c (init_vars_expansion): Adjust for new type of
      	cfun->local_decls.
      	(estimated_stack_frame_size): Likewise.
      	(expand_used_vars): Likewise.
      	* cgraphbuild.c (build_cgraph_edges): Likewise.
      	* function.c (instantiate_decls_1): Likewise.
      	* ipa-struct-reorg.c (build_data_structure): Likewise.
      	* ipa-type-escape.c (analyze_function): Likewise.
      	* lto-streamer-in.c (input_function): Likewise.
      	* lto-streamer-out.c (output_function): Likewise.
      	* tree-ssa-live.c (remove_unused_locals): Likewise.
      	* tree.c (free_lang_data_in_decl): Likewise.
      	(find_decls_types_in_node): Likewise.
      	* omp-low.c (remove_exit_barrier): Likewise.
      	(expand_omp_taskreg): Likewise.
      	(list2chain): Rename to...
      	(vec2chain): ...this.  Adjust.
      	* cgraphunit.c (assemble_thunk): Call add_local_decl.
      	* tree-cfg.c (replace_by_duplicate_decl): Likewise.
      	* gimple-low.c (record_vars_into): Likewise.
      	* tree-inline.c (remap_decls): Likewise.
      	(declare_return_variable): Likewise.
      	(declare_inline_vars): Likewise.
      	(copy_forbidden): Adjust for new type of cfun->local_decls.
      	(add_local_variables): New function.
      	(expand_call_inline): Call it.
      	(tree_function_versioning): Likewise.
      
      gcc/cp/
      	* decl.c (cp_finish_decl): Call add_local_decl.
      	* optimize.c (clone_body): Adjust for new type of cfun->local_decls.
      
      From-SVN: r161862
      Nathan Froyd committed
    • Daily bump. · 979cc399
      From-SVN: r161861
      GCC Administrator committed
  3. 05 Jul, 2010 2 commits
    • re PR bootstrap/44825 (Failed to bootstrap) · 77641ca3
      	PR bootstrap/44825
      	* class.c (make_class_data): Cast result of VEC_length calls to int.
      
      From-SVN: r161856
      Nathan Froyd committed
    • Support AVX Programming Reference (June, 2010). · 4ee89d5f
      gcc/
      
      2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	AVX Programming Reference (June, 2010)
      	* config/i386/cpuid.h (bit_F16C): New.
      	(bit_RDRND): Likewise.
      	(bit_FSGSBASE): Likewise.
      
      	* config/i386/i386-builtin-types.def: Add
      	"DEF_FUNCTION_TYPE (UINT16)", function types for
      	float16 <-> float conversions and
      	"DEF_FUNCTION_TYPE (VOID, UINT64)".
      
      	* config/i386/i386-c.c (ix86_target_macros_internal): Support
      	OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
      	OPTION_MASK_ISA_F16C.
      
      	* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
      	(OPTION_MASK_ISA_RDRND_SET): Likewise.
      	(OPTION_MASK_ISA_F16C_SET): Likewise.
      	(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
      	(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
      	(OPTION_MASK_ISA_F16C_UNSET): Likewise.
      	(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
      	(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and
      	OPT_mf16c.
      	(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
      	(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
      	(override_options): Handle them.
      	(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd
      	and f16c.
      	(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
      	IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
      	IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
      	IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
      	IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
      	IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
      	IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
      	IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
      	(bdesc_args): Likewise.
      	(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
      	V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
      	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
      	VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
      	Handle non-memory store.
      
      	* config/i386/i386.h (TARGET_FSGSBASE): New.
      	(TARGET_RDRND): Likewise.
      	(TARGET_F12C): Likewise.
      
      	* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
      	(UNSPEC_VCVTPS2PH): Likewise.
      	(UNSPECV_RDFSBASE): Likewise.
      	(UNSPECV_RDGSBASE): Likewise.
      	(UNSPECV_WRFSBASE): Likewise.
      	(UNSPECV_WRGSBASE): Likewise.
      	(UNSPECV_RDRAND): Likewise.
      	(rdfsbase<mode>): Likewise.
      	(rdgsbase<mode>): Likewise.
      	(wrfsbase<mode>): Likewise.
      	(wrgsbase<mode>): Likewise.
      	(rdrand<mode>): Likewise.
      
      	* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
      
      	* config/i386/immintrin.h (_rdrand_u16): New.
      	(_rdrand_u32): Likewise.
      	(_readfsbase_u32): Likewise.
      	(_readfsbase_u64): Likewise.
      	(_readgsbase_u32): Likewise.
      	(_readgsbase_u64): Likewise.
      	(_writefsbase_u32): Likewise.
      	(_writefsbase_u64): Likewise.
      	(_writegsbase_u32): Likewise.
      	(_writegsbase_u64): Likewise.
      	(_rdrand_u64): Likewise.
      	(_cvtsh_ss): Likewise.
      	(_mm_cvtph_ps): Likewise.
      	(_mm256_cvtph_ps): Likewise.
      	(_cvtss_sh): Likewise.
      	(_mm_cvtps_ph): Likewise.
      	(_mm256_cvtps_ph): Likewise.
      
      	* config/i386/sse.md (vcvtph2ps): New.
      	(*vcvtph2ps_load): Likewise.
      	(vcvtph2ps256): Likewise.
      	(vcvtps2ph): Likewise.
      	(*vcvtps2ph): Likewise.
      	(*vcvtps2ph_store): Likewise.
      	(vcvtps2ph256): Likewise.
      
      	* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
      
      	* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
      
      gcc/testsuite/
      
      2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	AVX Programming Reference (June, 2010)
      	* g++.dg/other/i386-2.C: Add -mfsgsbase -mrdrnd -mf16c.
      	* g++.dg/other/i386-3.C: Likewise.
      	* gcc.target/i386/sse-12.c: Likewise.
      
      	* gcc.target/i386/f16c-check.h: New.
      	* gcc.target/i386/rdfsbase-1.c: Likewise.
      	* gcc.target/i386/rdfsbase-2.c: Likewise.
      	* gcc.target/i386/rdgsbase-1.c: Likewise.
      	* gcc.target/i386/rdgsbase-2.c: Likewise.
      	* gcc.target/i386/rdrand-1.c: Likewise.
      	* gcc.target/i386/rdrand-2.c: Likewise.
      	* gcc.target/i386/rdrand-3.c: Likewise.
      	* gcc.target/i386/vcvtph2ps-1.c: Likewise.
      	* gcc.target/i386/vcvtph2ps-2.c: Likewise.
      	* gcc.target/i386/vcvtph2ps-3.c: Likewise.
      	* gcc.target/i386/vcvtps2ph-1.c: Likewise.
      	* gcc.target/i386/vcvtps2ph-2.c: Likewise.
      	* gcc.target/i386/vcvtps2ph-3.c: Likewise.
      	* gcc.target/i386/wrfsbase-1.c: Likewise.
      	* gcc.target/i386/wrfsbase-2.c: Likewise.
      	* gcc.target/i386/wrgsbase-1.c: Likewise.
      	* gcc.target/i386/wrgsbase-2.c: Likewise.
      
      	* gcc.target/i386/sse-13.c: Add -mfsgsbase -mrdrnd -mf16c.
      	(__builtin_ia32_vcvtps2ph): New.
      	(__builtin_ia32_vcvtps2ph256): Likewise.
      
      	* gcc.target/i386/sse-14.c: Add -mfsgsbase -mrdrnd -mf16c.
      	Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
      
      	* gcc.target/i386/sse-22.c: Add fsgsbase,rdrnd,f16c.
      	Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
      
      	* gcc.target/i386/sse-23.c (__builtin_ia32_vcvtps2ph): New.
      	(__builtin_ia32_vcvtps2ph256): Likewise.
      	Add fsgsbase,rdrnd,f16c.
      
      	* lib/target-supports.exp (check_effective_target_f16c): New.
      
      From-SVN: r161855
      H.J. Lu committed