1. 25 Jul, 2009 7 commits
    • * nl.po: Update. · 2a9de349
      From-SVN: r150083
      Joseph Myers committed
    • target-supports.exp (check_effective_target_static): New procedure. · 011a3198
      	* lib/target-supports.exp (check_effective_target_static): New
      	procedure.
      	* gcc.dg/special/gcsec-1.c (dg-options): Use -static only when
      	supported.
      	* g++.old-deja/g++.law/weak.C: Require static effective target.
      
      From-SVN: r150080
      Uros Bizjak committed
    • re PR fortran/40005 (segfault in gt_ggc_mx_lang_tree_node) · 9618fb3c
      2009-07-25  Richard Guenther  <rguenther@suse.de>
      
      	PR fortran/40005
      	* trans-types.c (gfc_get_array_type_bounds): Use
      	build_distinct_type_copy with a proper TYPE_CANONICAL and
      	re-use the type-decl of the original type.
      	* trans-decl.c (build_entry_thunks): Signal cgraph we may not
      	garbage collect.
      	(create_main_function): Likewise.
      	(gfc_generate_function_code): Likewise.
      	* trans-expr.c (gfc_trans_subcomponent_assign): Do not use
      	fold_convert on record types.
      
      From-SVN: r150079
      Richard Guenther committed
    • re PR fortran/39630 ([F03] Procedure Pointer Components) · 90661f26
      2009-07-25  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39630
      	* decl.c (match_ppc_decl): Implement the PASS attribute for procedure
      	pointer components.
      	(match_binding_attributes): Ditto.
      	* gfortran.h (gfc_component): Add member 'tb'.
      	(gfc_typebound_proc): Add member 'ppc' and make 'pass_arg' const.
      	* module.c (MOD_VERSION): Bump module version.
      	(binding_ppc): New string constants.
      	(mio_component): Only use formal args if component is a procedure
      	pointer and add 'tb' member.
      	(mio_typebound_proc): Include pass_arg and take care of procedure
      	pointer components.
      	* resolve.c (update_arglist_pass): Add argument 'name' and take care of
      	optional arguments.
      	(extract_ppc_passed_object): New function, analogous to
      	extract_compcall_passed_object, but for procedure pointer components.
      	(update_ppc_arglist): New function, analogous to
      	update_compcall_arglist, but for procedure pointer components.
      	(resolve_typebound_generic_call): Added argument to update_arglist_pass.
      	(resolve_ppc_call, resolve_expr_ppc): Take care of PASS attribute.
      	(resolve_fl_derived): Check the PASS argument for procedure pointer
      	components.
      	* symbol.c (verify_bind_c_derived_type): Reject procedure pointer
      	components in BIND(C) types.
      
      2009-07-25  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39630
      	* gfortran.dg/proc_ptr_comp_3.f90: Modified.
      	* gfortran.dg/proc_ptr_comp_pass_1.f90: New.
      	* gfortran.dg/proc_ptr_comp_pass_2.f90: New.
      	* gfortran.dg/proc_ptr_comp_pass_3.f90: New.
      	* gfortran.dg/proc_ptr_comp_pass_4.f90: New.
      	* gfortran.dg/proc_ptr_comp_pass_5.f90: New.
      	* gfortran.dg/typebound_call_10.f03: New.
      
      From-SVN: r150078
      Janus Weil committed
    • re PR bootstrap/40854 (Conflicting crc32 functions in libiberty and zlib) · 330b922f
      include/:
      	PR bootstrap/40854
      	* libiberty.h (xcrc32): Rename from crc32.
      libiberty/:
      	PR bootstrap/40854
      	* crc32.c (xcrc32): Rename from crc32.
      
      From-SVN: r150075
      Ian Lance Taylor committed
    • Core issue 901 · 67a6e816
      	Core issue 901
      	* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Handle NULL
      	dealloc.
      	* call.c (build_op_delete_call): If this is for a new-expression
      	and the op delete is deleted, do nothing.
      
      From-SVN: r150073
      Jason Merrill committed
    • Daily bump. · 05b5c4e8
      From-SVN: r150072
      GCC Administrator committed
  2. 24 Jul, 2009 20 commits
    • re PR rtl-optimization/34999 (Incorrect FDE entries with hot/cold code section… · 0cf856b7
      re PR rtl-optimization/34999 (Incorrect FDE entries with hot/cold code section splitting (partition_hot_cold_basic_blocks))
      
      	PR rtl-optimization/34999
      	* dwarf2out.c (struct dw_fde_struct): Add dw_fde_switch_cfi
      	and dw_fde_switched_cold_to_hot fields.
      	(output_cfi_p): New function.
      	(output_call_frame_info): If fde->dw_fde_switched_sections,
      	output 2 FDEs instead of one with corrupted header.
      	(dwarf2out_do_cfi_startproc): New function.
      	(dwarf2out_begin_prologue): Use it.  Initialize fde->dw_fde_switch_cfi
      	and fde->dw_fde_switched_cold_to_hot.
      	(dwarf2out_switch_text_section): Compute
      	fde->dw_fde_switched_cold_to_hot.  Switch to new text section here.
      	If dwarf2out_do_cfi_asm, emit .cfi_endproc before it and call
      	dwarf2out_do_cfi_startproc plus emit again currently active CFI insns.
      	Otherwise, compute fde->dw_fde_switch_cfi.
      
      From-SVN: r150069
      Jakub Jelinek committed
    • crc32.c: New file. · b524249c
      libiberty/:
      	* crc32.c: New file.
      	* Makefile.in: Rebuild dependencies.
      	(CFILES): Add crc32.c.
      	(REQUIRED_OFILES): Add ./crc32.o.
      	* functions.texi: Rebuild.
      include/:
      	* libiberty.h (crc32): Declare.
      
      From-SVN: r150067
      Ian Lance Taylor committed
    • cfghooks.c (split_block): Copy discriminator to new block. · cbea518e
      	* cfghooks.c (split_block): Copy discriminator to new block.
      	* tree-cfg.c (assign_discriminator): Check location of last
      	instruction in block as well as first.
      
      From-SVN: r150065
      Cary Coutant committed
    • cwchar (swprintf, vswprintf): Do not use if _GLIBCXX_HAVE_BROKEN_VSWPRINTF. · 2e0814c8
      	* include/c_global/cwchar (swprintf, vswprintf): Do not use if
      	_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
      	* testsuite/lib/libstdc++.exp (check_v3_target_swprintf): New.
      	* testsuite/lib/dg-options.exp (dg-require-swprintf): New.
      	* testsuite/21_strings/headers/cwchar/functions_std.cc,
      	testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc,
      	testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
      	Use dg-require-swprintf.
      
      From-SVN: r150063
      Joseph Myers committed
    • linux.c: Use fputs or putc instead of fprintf where appropriate. · 87da3843
      	* config/i386/linux.c: Use fputs or putc instead of fprintf
      	where appropriate.
      	* config/i386/gas.h: Ditto.
      	* config/i386/x86-64.h: Ditto.
      	* config/i386/att.h: Ditto.
      
      From-SVN: r150062
      Uros Bizjak committed
    • dr630-2.cc: Extend. · fcbaa582
      2009-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* testsuite/26_numerics/valarray/dr630-2.cc: Extend.
      
      From-SVN: r150060
      Paolo Carlini committed
    • Core issue 702 · 50ea39ff
      	Core issue 702
      	* call.c (compare_ics): Give list-initialization of std::init_list
      	priority over conversion to scalar, too.
      
      From-SVN: r150059
      Jason Merrill committed
    • expmed.c (emit_store_flag): Use a recursive call to optimize the xor case. · a22fb74c
      2009-07-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* expmed.c (emit_store_flag): Use a recursive call to optimize the
      	xor case.
      
      From-SVN: r150054
      Andreas Krebbel committed
    • ipa-prop.h (struct ipa_node_params): New flag node_enqued. · 5b9633c8
      2009-07-24  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (struct ipa_node_params): New flag node_enqued.
      	(ipa_push_func_to_list_1): Declare.
      	(ipa_push_func_to_list): New function.
      
      	* ipa-prop.c (ipa_push_func_to_list_1): New function.
      	(ipa_init_func_list): Call ipa_push_func_to_list_1.
      	(ipa_push_func_to_list): Removed.
      	(ipa_pop_func_from_list): Clear node_enqueued flag.
      
      From-SVN: r150053
      Martin Jambor committed
    • s390.c (override_options): Default max-unrolled-insns to 100 for z10 tuning. · ff5b964d
      2009-07-24  Andreas Krebbel  <krebbel1@de.ibm.com>
      	
      	* config/s390/s390.c (override_options): Default
      	max-unrolled-insns to 100 for z10 tuning.
      
      From-SVN: r150051
      Andreas Krebbel committed
    • Add missing name of file changed. · 1e0b18db
      From-SVN: r150049
      Richard Earnshaw committed
    • natVMSecureRandomWin32.cc: New Win32 specific implementation. · 727f2e3a
      2009-07-24  Kai Tietz  <kai.tietz@onevision.com>
      
              * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: New Win32
              specific implementation.
      
      From-SVN: r150048
      Kai Tietz committed
    • re PR fortran/40822 (Internal compiler error when Fortran intrinsic LEN… · bfce226c
      re PR fortran/40822 (Internal compiler error when Fortran intrinsic LEN referenced before explicit declaration)
      
      2009-07-24  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40822
      	* array.c (gfc_resolve_character_array_constructor): Use new function
      	gfc_new_charlen.
      	* decl.c (add_init_expr_to_sym,variable_decl,match_char_spec,
      	gfc_match_implicit): Ditto.
      	* expr.c (gfc_simplify_expr): Ditto.
      	* gfortran.h (gfc_new_charlen): New prototype.
      	* iresolve.c (check_charlen_present,gfc_resolve_char_achar): Use new
      	function gfc_new_charlen.
      	* module.c (mio_charlen): Ditto.
      	* resolve.c (gfc_resolve_substring_charlen,
      	gfc_resolve_character_operator,fixup_charlen,resolve_fl_derived,
      	resolve_symbol): Ditto.
      	* symbol.c (gfc_new_charlen): New function to create a new gfc_charlen
      	structure and add it to a namespace.
      	(gfc_copy_formal_args_intr): Make sure ts.cl is present
      	for CHARACTER variables.
      
      
      2009-07-24  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40822
      	* gfortran.dg/char_length_16.f90: New.
      
      From-SVN: r150047
      Janus Weil committed
    • Makefile.in (TREE_DATA_REF_H, [...]): Cleanup use of SCEV_H and TREE_DATA_REF_H. · 223cf84d
      2009-07-24  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	* Makefile.in (TREE_DATA_REF_H, tree-vrp.o, tree-cfg.o, tree-if-conv.o
      	tree-ssa-loop.o, tree-ssa-loop-niter.o, tree-ssa-loop-ivcanon.o,
      	tree-ssa-loop-prefetch.o, tree-predcom.o, tree-affine.o,
      	tree-scalar-evolution.o, tree-data-ref.o, tree-vect-loop.o,
      	tree-vect-data-refs.o, tree-loop-linear.o, tree-loop-distribution.o
      	tree-parloops.o, tree-pretty-printer.o, fold-const.o, tree-ssa-dce.o,
      	lambda-code.o, params.o): Cleanup use of SCEV_H and TREE_DATA_REF_H.
      
      From-SVN: r150045
      Tobias Grosser committed
    • re PR libffi/40807 (libffi.call/return_sc.c) · 723512ba
      	PR libffi/40807
      	* src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
      	return types for X86_WIN32.
      	* src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
      	(_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
      	_ffi_closure_STDCALL): Likewise.
      
      	* src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
      	(dlmmap, dlmunmap): Also use these functions on Cygwin.
      
      From-SVN: r150042
      Dave Korn committed
    • re PR fortran/40643 (maxloc/minloc: Wrong result for NaN at position 1) · 80927a56
      	PR fortran/40643
      	PR fortran/31067
      	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
      	gfc_conv_intrinsic_minmaxval): Handle Infinities and NaNs properly,
      	optimize.
      	* trans-array.c (gfc_trans_scalarized_loop_end): No longer static.
      	* trans-array.h (gfc_trans_scalarized_loop_end): New prototype.
      
      	* libgfortran.h (GFC_REAL_4_INFINITY, GFC_REAL_8_INFINITY,
      	GFC_REAL_10_INFINITY, GFC_REAL_16_INFINITY, GFC_REAL_4_QUIET_NAN,
      	GFC_REAL_8_QUIET_NAN, GFC_REAL_10_QUIET_NAN, GFC_REAL_16_QUIET_NAN):
      	Define.
      	* m4/iparm.m4 (atype_inf, atype_nan): Define.
      	* m4/ifunction.m4: Formatting.
      	* m4/iforeach.m4: Likewise.
      	(START_FOREACH_FUNCTION): Initialize dest to all 1s, not all 0s.
      	(START_FOREACH_BLOCK, FINISH_FOREACH_FUNCTION,
      	FINISH_MASKED_FOREACH_FUNCTION): Run foreach block inside a loop
      	until count[0] == extent[0].
      	* m4/minval.m4: Formatting.  Handle NaNs and infinities.  Optimize.
      	* m4/maxval.m4: Likewise.
      	* m4/minloc0.m4: Likewise.
      	* m4/maxloc0.m4: Likewise.
      	* m4/minloc1.m4: Likewise.
      	* m4/maxloc1.m4: Likewise.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Likewise.
      	* generated/maxloc0_16_i2.c: Likewise.
      	* generated/maxloc0_16_i4.c: Likewise.
      	* generated/maxloc0_16_i8.c: Likewise.
      	* generated/maxloc0_16_r10.c: Likewise.
      	* generated/maxloc0_16_r16.c: Likewise.
      	* generated/maxloc0_16_r4.c: Likewise.
      	* generated/maxloc0_16_r8.c: Likewise.
      	* generated/maxloc0_4_i16.c: Likewise.
      	* generated/maxloc0_4_i1.c: Likewise.
      	* generated/maxloc0_4_i2.c: Likewise.
      	* generated/maxloc0_4_i4.c: Likewise.
      	* generated/maxloc0_4_i8.c: Likewise.
      	* generated/maxloc0_4_r10.c: Likewise.
      	* generated/maxloc0_4_r16.c: Likewise.
      	* generated/maxloc0_4_r4.c: Likewise.
      	* generated/maxloc0_4_r8.c: Likewise.
      	* generated/maxloc0_8_i16.c: Likewise.
      	* generated/maxloc0_8_i1.c: Likewise.
      	* generated/maxloc0_8_i2.c: Likewise.
      	* generated/maxloc0_8_i4.c: Likewise.
      	* generated/maxloc0_8_i8.c: Likewise.
      	* generated/maxloc0_8_r10.c: Likewise.
      	* generated/maxloc0_8_r16.c: Likewise.
      	* generated/maxloc0_8_r4.c: Likewise.
      	* generated/maxloc0_8_r8.c: Likewise.
      	* generated/maxloc1_16_i16.c: Likewise.
      	* generated/maxloc1_16_i1.c: Likewise.
      	* generated/maxloc1_16_i2.c: Likewise.
      	* generated/maxloc1_16_i4.c: Likewise.
      	* generated/maxloc1_16_i8.c: Likewise.
      	* generated/maxloc1_16_r10.c: Likewise.
      	* generated/maxloc1_16_r16.c: Likewise.
      	* generated/maxloc1_16_r4.c: Likewise.
      	* generated/maxloc1_16_r8.c: Likewise.
      	* generated/maxloc1_4_i16.c: Likewise.
      	* generated/maxloc1_4_i1.c: Likewise.
      	* generated/maxloc1_4_i2.c: Likewise.
      	* generated/maxloc1_4_i4.c: Likewise.
      	* generated/maxloc1_4_i8.c: Likewise.
      	* generated/maxloc1_4_r10.c: Likewise.
      	* generated/maxloc1_4_r16.c: Likewise.
      	* generated/maxloc1_4_r4.c: Likewise.
      	* generated/maxloc1_4_r8.c: Likewise.
      	* generated/maxloc1_8_i16.c: Likewise.
      	* generated/maxloc1_8_i1.c: Likewise.
      	* generated/maxloc1_8_i2.c: Likewise.
      	* generated/maxloc1_8_i4.c: Likewise.
      	* generated/maxloc1_8_i8.c: Likewise.
      	* generated/maxloc1_8_r10.c: Likewise.
      	* generated/maxloc1_8_r16.c: Likewise.
      	* generated/maxloc1_8_r4.c: Likewise.
      	* generated/maxloc1_8_r8.c: Likewise.
      	* generated/maxval_i16.c: Likewise.
      	* generated/maxval_i1.c: Likewise.
      	* generated/maxval_i2.c: Likewise.
      	* generated/maxval_i4.c: Likewise.
      	* generated/maxval_i8.c: Likewise.
      	* generated/maxval_r10.c: Likewise.
      	* generated/maxval_r16.c: Likewise.
      	* generated/maxval_r4.c: Likewise.
      	* generated/maxval_r8.c: Likewise.
      	* generated/minloc0_16_i16.c: Likewise.
      	* generated/minloc0_16_i1.c: Likewise.
      	* generated/minloc0_16_i2.c: Likewise.
      	* generated/minloc0_16_i4.c: Likewise.
      	* generated/minloc0_16_i8.c: Likewise.
      	* generated/minloc0_16_r10.c: Likewise.
      	* generated/minloc0_16_r16.c: Likewise.
      	* generated/minloc0_16_r4.c: Likewise.
      	* generated/minloc0_16_r8.c: Likewise.
      	* generated/minloc0_4_i16.c: Likewise.
      	* generated/minloc0_4_i1.c: Likewise.
      	* generated/minloc0_4_i2.c: Likewise.
      	* generated/minloc0_4_i4.c: Likewise.
      	* generated/minloc0_4_i8.c: Likewise.
      	* generated/minloc0_4_r10.c: Likewise.
      	* generated/minloc0_4_r16.c: Likewise.
      	* generated/minloc0_4_r4.c: Likewise.
      	* generated/minloc0_4_r8.c: Likewise.
      	* generated/minloc0_8_i16.c: Likewise.
      	* generated/minloc0_8_i1.c: Likewise.
      	* generated/minloc0_8_i2.c: Likewise.
      	* generated/minloc0_8_i4.c: Likewise.
      	* generated/minloc0_8_i8.c: Likewise.
      	* generated/minloc0_8_r10.c: Likewise.
      	* generated/minloc0_8_r16.c: Likewise.
      	* generated/minloc0_8_r4.c: Likewise.
      	* generated/minloc0_8_r8.c: Likewise.
      	* generated/minloc1_16_i16.c: Likewise.
      	* generated/minloc1_16_i1.c: Likewise.
      	* generated/minloc1_16_i2.c: Likewise.
      	* generated/minloc1_16_i4.c: Likewise.
      	* generated/minloc1_16_i8.c: Likewise.
      	* generated/minloc1_16_r10.c: Likewise.
      	* generated/minloc1_16_r16.c: Likewise.
      	* generated/minloc1_16_r4.c: Likewise.
      	* generated/minloc1_16_r8.c: Likewise.
      	* generated/minloc1_4_i16.c: Likewise.
      	* generated/minloc1_4_i1.c: Likewise.
      	* generated/minloc1_4_i2.c: Likewise.
      	* generated/minloc1_4_i4.c: Likewise.
      	* generated/minloc1_4_i8.c: Likewise.
      	* generated/minloc1_4_r10.c: Likewise.
      	* generated/minloc1_4_r16.c: Likewise.
      	* generated/minloc1_4_r4.c: Likewise.
      	* generated/minloc1_4_r8.c: Likewise.
      	* generated/minloc1_8_i16.c: Likewise.
      	* generated/minloc1_8_i1.c: Likewise.
      	* generated/minloc1_8_i2.c: Likewise.
      	* generated/minloc1_8_i4.c: Likewise.
      	* generated/minloc1_8_i8.c: Likewise.
      	* generated/minloc1_8_r10.c: Likewise.
      	* generated/minloc1_8_r16.c: Likewise.
      	* generated/minloc1_8_r4.c: Likewise.
      	* generated/minloc1_8_r8.c: Likewise.
      	* generated/minval_i16.c: Likewise.
      	* generated/minval_i1.c: Likewise.
      	* generated/minval_i2.c: Likewise.
      	* generated/minval_i4.c: Likewise.
      	* generated/minval_i8.c: Likewise.
      	* generated/minval_r10.c: Likewise.
      	* generated/minval_r16.c: Likewise.
      	* generated/minval_r4.c: Likewise.
      	* generated/minval_r8.c: Likewise.
      	* generated/product_c10.c: Likewise.
      	* generated/product_c16.c: Likewise.
      	* generated/product_c4.c: Likewise.
      	* generated/product_c8.c: Likewise.
      	* generated/product_i16.c: Likewise.
      	* generated/product_i1.c: Likewise.
      	* generated/product_i2.c: Likewise.
      	* generated/product_i4.c: Likewise.
      	* generated/product_i8.c: Likewise.
      	* generated/product_r10.c: Likewise.
      	* generated/product_r16.c: Likewise.
      	* generated/product_r4.c: Likewise.
      	* generated/product_r8.c: Likewise.
      	* generated/sum_c10.c: Likewise.
      	* generated/sum_c16.c: Likewise.
      	* generated/sum_c4.c: Likewise.
      	* generated/sum_c8.c: Likewise.
      	* generated/sum_i16.c: Likewise.
      	* generated/sum_i1.c: Likewise.
      	* generated/sum_i2.c: Likewise.
      	* generated/sum_i4.c: Likewise.
      	* generated/sum_i8.c: Likewise.
      	* generated/sum_r10.c: Likewise.
      	* generated/sum_r16.c: Likewise.
      	* generated/sum_r4.c: Likewise.
      	* generated/sum_r8.c: Likewise.
      
      	* gfortran.dg/maxlocval_2.f90: New test.
      	* gfortran.dg/maxlocval_3.f90: New test.
      	* gfortran.dg/maxlocval_4.f90: New test.
      	* gfortran.dg/minlocval_1.f90: New test.
      	* gfortran.dg/minlocval_2.f90: New test.
      	* gfortran.dg/minlocval_3.f90: New test.
      	* gfortran.dg/minlocval_4.f90: New test.
      
      From-SVN: r150041
      Jakub Jelinek committed
    • mingw-w64.h (STANDARD_INCLUDE_DIR): Remove and use default set in mingw32.h header. · 3a802a9e
      2009-07-24  Kai Tietz  <kai.tietz@onevision.com>
      
              * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR): Remove and
              use default set in mingw32.h header.
              * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Use for 32-bit and
              64-bit /mingw/include path.
              (STANDARD_STARTFILE_PREFIX_1): Use for 32-bit and 64-bit /mingw/lib
              path.
      
      From-SVN: r150040
      Kai Tietz committed
    • re PR rtl-optimization/40209 (ICE in iv_analyze_def caused by stale REG_UNUSED note) · c580edc8
      	PR rtl-optimization/40209
      	* loop-iv.c (iv_analysis_loop_init): Call df_note_add_problem.
      
      From-SVN: r150038
      Neil Vachharajani committed
    • Daily bump. · a7796c74
      From-SVN: r150035
      GCC Administrator committed
  3. 23 Jul, 2009 13 commits