1. 19 Jul, 2009 4 commits
    • re PR fortran/40727 ([4.4] ICE gfc_simplify_dcmplx(): Bad type when passing BT_COMPLEX to cmplx) · 20562de4
      2009-07-18  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/40727
      	* fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
      	the optional second argument isn't of COMPLEX type.
      
      2009-07-18  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/40727
      	* gfortran.dg/intrinsic_cmplx.f90: New test.
      
      From-SVN: r149793
      Steven G. Kargl committed
    • [multiple changes] · 16bff921
      2009-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/34670
      	PR libfortran/36874
      	* Makefile.am:  Add bounds.c
      	* libgfortran.h (bounds_equal_extents):  Add prototype.
      	(bounds_iforeach_return):  Likewise.
      	(bounds_ifunction_return):  Likewise.
      	(bounds_reduced_extents):  Likewise.
      	* runtime/bounds.c:  New file.
      	(bounds_iforeach_return):  New function; correct typo in
      	error message.
      	(bounds_ifunction_return):  New function.
      	(bounds_equal_extents):  New function.
      	(bounds_reduced_extents):  Likewise.
      	* intrinsics/cshift0.c (cshift0):  Use new functions
      	for bounds checking.
      	* intrinsics/eoshift0.c (eoshift0):  Likewise.
      	* intrinsics/eoshift2.c (eoshift2):  Likewise.
      	* m4/iforeach.m4:  Likewise.
      	* m4/eoshift1.m4:  Likewise.
      	* m4/eoshift3.m4:  Likewise.
      	* m4/cshift1.m4:  Likewise.
      	* m4/ifunction.m4:  Likewise.
      	* Makefile.in:  Regenerated.
      	* generated/cshift1_16.c: Regenerated.
      	* generated/cshift1_4.c: Regenerated.
      	* generated/cshift1_8.c: Regenerated.
      	* generated/eoshift1_16.c: Regenerated.
      	* generated/eoshift1_4.c: Regenerated.
      	* generated/eoshift1_8.c: Regenerated.
      	* generated/eoshift3_16.c: Regenerated.
      	* generated/eoshift3_4.c: Regenerated.
      	* generated/eoshift3_8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      2009-07-19   Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/34670
      	PR libfortran/36874
      	* gfortran.dg/cshift_bounds_1.f90:  New test.
      	* gfortran.dg/cshift_bounds_2.f90:  New test.
      	* gfortran.dg/cshift_bounds_3.f90:  New test.
      	* gfortran.dg/cshift_bounds_4.f90:  New test.
      	* gfortran.dg/eoshift_bounds_1.f90:  New test.
      	* gfortran.dg/maxloc_bounds_4.f90:  Correct typo in error message.
      	* gfortran.dg/maxloc_bounds_5.f90:  Correct typo in error message.
      	* gfortran.dg/maxloc_bounds_7.f90:  Correct typo in error message.
      
      From-SVN: r149792
      Thomas Koenig committed
    • re PR tree-optimization/40676 (internal compiler error: verify_ssa error:… · a915ab00
      re PR tree-optimization/40676 (internal compiler error: verify_ssa error: definition in block 5 does not dominate use in block 7)
      
      	PR tree-optimization/40676
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Do renaming on all
      	virtual PHIs in empty BBs.
      
      	* gcc.c-torture/compile/pr40676.c: New testcase.
      
      From-SVN: r149789
      Jan Hubicka committed
    • Daily bump. · 9d43fad9
      From-SVN: r149785
      GCC Administrator committed
  2. 18 Jul, 2009 12 commits
    • re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can… · af90c8c9
      re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
      
      2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/40712
      	* config/locale/gnu/numeric_members.cc (numpunct<>::
      	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
      	and copy the langinfo data into it.
      	(numpunct<>::~numpunct): Free the allocated memory.
      	* config/locale/gnu/monetary_members.cc (moneypunct<>::
      	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
      	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
      	_M_data->_M_curr_symbol.
      	(moneypunct<>::~moneypunct): Free the allocated memory.
      	* testsuite/22_locale/moneypunct/40712.cc: New.
      
      	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
      	Do not leak memory if new throws.
      	* include/bits/locale_facets_nonio.tcc
      	(__moneypunct_cache<>::_M_cache): Likewise.
      
      From-SVN: r149782
      Paolo Carlini committed
    • combine.c (make_compound_operation): If force_to_mode re-expanded the compound… · 827f4079
      combine.c (make_compound_operation): If force_to_mode re-expanded the compound use gen_lowpart instead to convert to...
      
      	* combine.c (make_compound_operation) <SUBREG>: If force_to_mode
      	re-expanded the compound use gen_lowpart instead to convert to the
      	desired mode.
      
      testsuite/
      	* gcc.target/mips/ext-2.c: New test.
      
      From-SVN: r149781
      Adam Nemet committed
    • combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and OUTER_CONST arguments. · f3ce1088
      	* combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and
      	OUTER_CONST arguments.
      	<LSHIFTRT>: Use them to allow widening if the bits shifted in from
      	the new wider mode will be masked off.
      	(simplify_shift_const_1): Adjust calls to try_widen_shift_mode.
      
      From-SVN: r149780
      Adam Nemet committed
    • combine.c (try_widen_shift_mode): Allow widening if the high-order bits are zero. · 3e63dd3a
      	* combine.c (try_widen_shift_mode) <LSHIFTRT>: Allow widening if the
      	high-order bits are zero.
      
      From-SVN: r149779
      Adam Nemet committed
    • combine.c (simplify_shift_const_1): Split code to determine shift_mode into ... · b641d7fc
      	* combine.c (simplify_shift_const_1): Split code to determine
      	shift_mode into ...
      	(try_widen_shift_mode): ... here.  Allow widening for ASHIFTRT if the
      	new bits shifted in are identical to the old sign bit.
      
      testsuite/
      	* gcc.target/mips/octeon-exts-7.c: New test.
      	* gcc.target/mips/octeon-exts-2.c: Revert previous change.
      	* gcc.target/mips/octeon-exts-5.c: Likewise.
      
      From-SVN: r149778
      Adam Nemet committed
    • re PR testsuite/40798 (Revision 149750 failed gcc.dg/tree-ssa/loop-2.c) · b95d6ac9
      2009-07-18  Richard Guenther  <rguenther@suse.de>
      
      	PR testsuite/40798
      	* gcc.dg/tree-ssa/loop-2.c: Tighten pattern.
      
      From-SVN: r149774
      Richard Guenther committed
    • Fix last entry. · 1f55686a
      From-SVN: r149772
      Arnaud Charlet committed
    • re PR c/40787 (ICE: verify_gimple failed in gcc.dg/pr35899.c) · 33922890
      2009-07-18  Richard Guenther  <rguenther@suse.de>
      
      	PR c/40787
      	* gimplify.c (gimplify_call_expr): Reject code using results from
      	functions returning void.
      
      	* gcc.dg/pr35899.c: Adjust.
      
      From-SVN: r149770
      Richard Guenther committed
    • md.texi: Document the new PowerPC "es" constraint. · 1d447995
      gcc/
      	* doc/md.texi: Document the new PowerPC "es" constraint.
      	Document that "m" can include automodified addresses on this target,
      	and explain how %U must be used.  Extend the "Q" and "Z" documentation
      	to suggest "es" as well as "m".
      	* config/rs6000/constraints.md (es): New memory constraint.
      	(Q, Z): Update strings to match new documentation.
      
      gcc/testsuite/
      	* gcc.target/powerpc/asm-es-1.c: New test.
      	* gcc.target/powerpc/asm-es-2.c: Likewise.
      
      From-SVN: r149766
      Richard Sandiford committed
    • rs6000.c (rs6000_mode_dependent_address): Allow any offset from… · 406d1650
      rs6000.c (rs6000_mode_dependent_address): Allow any offset from virtual_stack_vars_rtx and arg_pointer_rtx.
      
      gcc/
      	* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Allow any
      	offset from virtual_stack_vars_rtx and arg_pointer_rtx.
      	* config/rs6000/predicates.md (volatile_mem_operand): Use
      	offsettable_nonstrict_memref_p.
      	* config/rs6000/rs6000.md (*floatsidf2_internal): Remove split check.
      	(*floatunssidf2_internal): Likewise.
      	(*fix_truncdfsi2_internal): Likewise.
      	(*fix_trunctfsi2_internal): Likewise.
      
      From-SVN: r149765
      Richard Sandiford committed
    • directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value. · f1bf410c
      2009-07-17  Jerry Quinn  <jlquinn@optonline.net>
      
      	* directives.c (do_linemarker, do_line): Use CPP_STRING for
      	ignored enum value.
      	* files.c (find_file_in_dir): Add cast from void* to char*.
      	* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
      	* Makefile.in: (WARN_CFLAGS): Use general and C-specific
      	warnings.
      	(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
      	ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
      	COMPILER_FLAGS): New.
      	(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
      	(COMPILE.base): Use COMPILER instead of CC.  Use COMPILER_FLAGS
      	instead of ALL_CFLAGS.
      	* configure.ac: Invoke AC_PROG_CXX.  Separate C-specific warnings
      	from other warnings.  Add -Wc++-compat to C-specific warnings.
      	Check for --enable-build-with-cxx.  Set and substitute
      	ENABLE_BUILD_WITH_CXX.  Invoke ZW_PROG_COMPILER_DEPENDENCIES
      	according to ENABLE_BUILD_WITH_CXX.  Invoke AC_LANG before
      	AC_CHECK_HEADERS.
      	* configure: Rebuild.
      	* include/cpp-id-data.h: Remove extern "C".
      	* include/line-map.h: Likewise.
      	* include/mkdeps.h: Likewise.
      	* include/symtab.h: Likewise.
      	* internal.h: Likewise.
      
      From-SVN: r149763
      Jerry Quinn committed
    • Daily bump. · 4f589751
      From-SVN: r149762
      GCC Administrator committed
  3. 17 Jul, 2009 14 commits
    • When finalizing I/O transfer, set current_record to 0 before returning. · 217c4f53
      PR libfortran/40714
      
      Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
      
      From-SVN: r149757
      Janne Blomqvist committed
    • demangle.h (enum demangle_component_type… · 23b1a789
      demangle.h (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>): New.
      
      include
      2009-07-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* demangle.h
      	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>):
      	New.
      libiberty
      2009-07-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* cp-demangle.c (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(d_print_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
      	(d_make_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(d_make_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
      	(d_demangle_callback): The variable type is now declared as enum.
      	Replace parser of _GLOBAL_ symbols by a d_make_comp call.
      
      From-SVN: r149756
      Jan Kratochvil committed
    • avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and atmega32u2 devices. · a0ce0e6e
      	* config/avr/avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and
      	atmega32u2 devices.
      	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
      
      From-SVN: r149755
      Anatoly Sokolov committed
    • re PR c/40401 (ICE: verify_gimple failed) · a406865a
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	PR c/40401
      	* tree-pass.h (pass_diagnose_omp_blocks): Declare.
      	(pass_warn_unused_result): Likewise.
      	(TODO_set_props): Remove.
      	* omp-low.c (diagnose_omp_structured_block_errors): Change to
      	run as a pass.
      	(pass_diagnose_omp_blocks): Define.
      	* c-decl.c (pop_file_scope): Do not finalize the CU here.
      	(c_gimple_diagnostics_recursively): Remove.
      	(finish_function): Do not call it.
      	(c_write_global_declarations): Continue after errors.
      	Finalize the CU here.
      	* c-gimplify.c (c_genericize): Do not gimplify here.
      	* c-common.c (c_warn_unused_result): Move ...
      	* tree-cfg.c (do_warn_unused_result): ... here.
      	(run_warn_unused_result): New function.
      	(gate_warn_unused_result): New function.
      	(pass_warn_unused_result): New pass.
      	* c-common.h (c_warn_unused_result): Remove.
      	* flags.h (flag_warn_unused_result): Declare.
      	* c-opts.c (c_common_init_options): Enable flag_warn_unused_result.
      	* opts.c (flag_warn_unused_result): Initialize to false.
      
      	* toplev.c (compile_file): Add comment.
      	* omp-low.c (create_omp_child_function): Do not register
      	the function with the frontend.
      	(diagnose_omp_structured_block_errors): Prepare to be
      	called as optimization pass.
      	(gate_diagnose_omp_blocks): New function.
      	(pass_diagnose_omp_blocks): New pass.
      	* cgraph.h (cgraph_optimize): Remove.
      	(cgraph_analyze_function): Likewise.
      	* cgraph.c (cgraph_add_new_function): Gimplify C++ thunks.
      	* cgraphunit.c (cgraph_lower_function): Lower nested functions
      	before their parents here.
      	(cgraph_finalize_function): Not here.
      	(cgraph_analyze_function): Gimplify functions here.
      	(cgraph_finalize_compilation_unit): Continue after errors.
      	Optimize the callgraph from here.
      	(cgraph_optimize): Make static.
      	* langhooks.c (write_global_declarations): Finalize the CU.
      	* gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors.
      	(gimplify_function_tree): Assert we gimplify only once.
      	Set PROP_gimple_any property.
      	* tree-nested.c (gimplify_all_functions): New function.
      	(lower_nested_functions): Gimplify all nested functions.
      	* gimple.h (diagnose_omp_structured_block_errors): Remove.
      	* passes.c (init_optimization_passes): Add pass_warn_unused_result
      	and pass_diagnose_omp_blocks after gimplification.  Do not
      	set TODO_set_props on all_lowering_passes.
      	(execute_one_pass): Do not handle TODO_set_props.
      	* Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency.
      	(gimplify.o): Add tree-pass.h dependency.
      	* tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST.
      	(copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR.
      	(unsave_r): Likewise.
      	* c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the
      	temporary variable.
      
      	cp/
      	* decl.c (finish_function): Do not emit unused result warnings
      	from here.
      	* cp-objcp-common.h (LANG_HOOKS_POST_GIMPLIFY_PASS): Use
      	c_warn_unused_result_pass.
      	* semantics.c (expand_or_defer_fn): Adjust assertion about IL status.
      	* optimize.c (clone_body): Clone in GENERIC.
      	(maybe_clone_body): Do not clear DECL_SAVED_TREE.
      	* decl2.c (cp_write_global_declarations): Fix body test.
      	Do not call cgraph_optimize.
      	* Make-lang.in (optimize.o): Add tree-iterator.h dependency.
      	* method.c (use_thunk): Register thunk with
      	cgraph_finalize_function.
      	* error.c (function_category): Guard access of DECL_LANG_SPECIFIC.
      
      	java/
      	* java-gimplify.c (java_genericize): Do not gimplify here.
      	But replace all local references.
      	(java_gimplify_expr): Do not replace local references here.
      	(java_gimplify_modify_expr): Likewise.
      	* jcf-parse.c (java_parse_file): Do not finalize the CU or
      	optimize the cgraph here.
      	* decl.c (java_replace_reference): Make static.
      	(java_replace_references): New function.
      	(end_java_method): Clear base_decl_map.
      	* java-tree.h (java_replace_references): Declare.
      	(java_replace_reference): Remove.
      
      	ada/
      	* utils.c (end_subprog_body): Revert to pre-tuples state.  Remove
      	unused parameter.
      	(gnat_gimplify_function): Do not gimplify here.
      	Fold into its only caller and remove.
      	(gnat_builtin_function): Adjust for end_subprog_body signature change.
      	(gnat_write_global_declarations): Also finalize the CU.
      	* misc.c (gnat_parse_file): Do not finalize the CU here.
      	* trans.c (gigi): Revert to pre-tuples state.
      	(Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
      	change.
      	* gigi.h (end_subprog_body): Remove unused parameter.
      
      	fortran/
      	* f95-lang.c (gfc_be_parse_file): Do not finalize the CU here.
      	* trans-decl.c (gfc_gimplify_function): Remove.
      	(build_entry_thunks): Do not gimplify here.
      	(create_main_function): Likewise.
      	(gfc_generate_function_code): Likewise.
      
      	* g++.dg/rtti/crash4.C: New testcase.
      	* g++.dg/torture/20090706-1.C: Likewise.
      	* gcc.dg/redecl-17.c: Likewise.
      
      	* gfortran.dg/missing_optional_dummy_5.f90: Adjust pattern.
      	* gcc.dg/declspec-9.c: Expect extra error.
      	* gcc.dg/declspec-10.c: Likewise.
      	* gcc.dg/declspec-11.c: Likewise.
      	* gcc.dg/redecl-10.c: Expect extra warnings.
      	* gcc.target/i386/pr39082-1.c: Adjust diagnostic location.
      	* gcc.target/i386/pr39545-1.c: Likewise.
      	* g++.dg/ext/asm3.C: Expect more errors.
      	* g++.dg/gomp/block-1.C: Likewise.
      	* g++.dg/gomp/block-2.C: Likewise.
      	* g++.dg/gomp/block-3.C: Likewise.
      	* g++.dg/gomp/block-5.C: Likewise.
      	* g++.old-deja/g++.jason/report.C: Expect extra warnings.
      	* g++.dg/warn/unused-result1.C: XFAIL.
      
      From-SVN: r149750
      Richard Guenther committed
    • re PR other/40784 (Revision 149725 caused autoconf warning in libstdc++) · e7d5b5b9
      	PR other/40784
      config:
      	* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
      	AC_LINK_IFELSE.
      
      libjava:
      	* configure: Regenerate.
      
      libstdc++-v3:
      	* configure: Regenerate.
      
      From-SVN: r149748
      Joseph Myers committed
    • service.texi (Service): Restore previously removed link, which isn't broken after all. · 2e687c2c
      2009-07-17  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/service.texi (Service): Restore previously removed link,
      	which isn't broken after all.
      
      From-SVN: r149746
      Sandra Loosemore committed
    • re PR tree-optimization/40321 (internal compiler error: in compute_antic, at tree-ssa-pre.c:2501) · 7763473e
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/40321
      	* tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
      	PHI nodes to the maximal set.
      	(make_values_for_phi): Add PHI arguments to the maximal set.
      	(execute_pre): Dump PHI_GEN and the maximal set.
      
      	* gcc.c-torture/compile/pr40321.c: New testcase.
      	* g++.dg/torture/pr40321.C: Likewise.
      
      From-SVN: r149744
      Richard Guenther committed
    • re PR c++/40780 (ICE in gimplify_conversion) · 4f934809
      	PR c++/40780
      	* gimplify.c (gimplify_conversion): Don't change non-conversions into
      	VIEW_CONVERT_EXPR.
      
      	* g++.dg/template/ptrmem19.C: New test.
      
      From-SVN: r149740
      Jakub Jelinek committed
    • configure.ac: Add rule for mingw targets to add -DGC_BUILD=1 to cflags. · e59be1b1
      2009-07-17  Kai Tietz  <kai.tietz@onevision.com>
      
              * configure.ac: Add rule for mingw targets to add -DGC_BUILD=1 to
              cflags.
              * configure: Regenerated.
      
      From-SVN: r149737
      Kai Tietz committed
    • init.c (build_vec_delete_1): Do not set DECL_REGISTER on the temporary pointer. · 182bf21f
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	* init.c (build_vec_delete_1): Do not set DECL_REGISTER on the
      	temporary pointer.
      
      From-SVN: r149736
      Richard Guenther committed
    • extend.texi (Nested Functions): Replace broken link with textual reference. · 63a26b78
      2009-07-16  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/extend.texi (Nested Functions): Replace broken link with
      	textual reference.
      	* doc/service.texi (Service): Remove broken link.
      
      From-SVN: r149734
      Sandra Loosemore committed
    • re PR bootstrap/40781 (Revision 149722 failed to bootstrap) · 3ac337c3
      2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR bootstrap/40781
      	* builtins.c (expand_builtin_memcmp): Use loc instead of
      	EXPR_LOCATION (exp).
      	(expand_builtin_strncmp): Likewise.
      
      From-SVN: r149733
      H.J. Lu committed
    • Daily bump. · 184d85bd
      From-SVN: r149731
      GCC Administrator committed
    • testsuite_common_types.h (standard_layout): Activate. · 596cf1cc
      2009-07-16  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/util/testsuite_common_types.h (standard_layout): Activate.
      	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
      	line numbers.
      	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
      	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
      
      From-SVN: r149730
      Benjamin Kosnik committed
  4. 16 Jul, 2009 10 commits
    • tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when cross-compiling. · 396b7fa4
      config:
      	* tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when
      	cross-compiling.
      
      libgomp:
      	* configure: Regenerate.
      
      libjava:
      	* configure: Regenerate.
      
      libmudflap:
      	* configure: Regenerate.
      
      libstdc++-v3:
      	* configure: Regenerate.
      
      From-SVN: r149725
      Joseph Myers committed
    • re PR c/40435 (Revision 148442 caused many regressions on trunk) · db3927fb
      2009-07-17  Aldy Hernandez  <aldyh@redhat.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR 40435 
      	* tree-complex.c, tree-loop-distribution.c,
      	tree.c, tree.h, builtins.c, fold-const.c, omp-low.c,
      	cgraphunit.c, tree-ssa-ccp.c, tree-ssa-dom.c,
      	gimple-low.c, expr.c, tree-ssa-ifcombine.c, c-decl.c,
      	stor-layout.c, tree-if-conv.c, c-typeck.c,
      	gimplify.c, calls.c, tree-sra.c, tree-mudflap.c,
      	tree-ssa-copy.c, tree-ssa-forwprop.c, c-convert.c, c-omp.c,
      	varasm.c, tree-inline.c, c-common.c,
      	c-common.h, gimple.c, tree-switch-conversion.c, gimple.h,
      	tree-cfg.c, c-parser.c, convert.c: Add location
      	argument to fold_{unary,binary,ternary}, fold_build[123],
      	build_call_expr, build_size_arg, build_fold_addr_expr,
      	build_call_array, non_lvalue, size_diffop,
      	fold_build1_initializer, fold_build2_initializer,
      	fold_build3_initializer, fold_build_call_array,
      	fold_build_call_array_initializer, fold_single_bit_test,
      	omit_one_operand, omit_two_operands, invert_truthvalue,
      	fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref,
      	combine_comparisons, fold_builtin_*, fold_call_expr,
      	build_range_check, maybe_fold_offset_to_address, round_up,
      	round_down.
      objc/
      	* objc-act.c: Add location argument to all calls to
      	build_fold_addr_expr.
      testsuite/
      	* gcc.dg/pr36902.c: Add column info.
      	* g++.dg/gcov/gcov-2.C: Change count for definition.
      cp/
      	* typeck.c, init.c, class.c, method.c, rtti.c, except.c, error.c,
      	tree.c, cp-gimplify.c, cxx-pretty-print.c, pt.c, semantics.c,
      	call.c, cvt.c, mangle.c: Add location argument to
      	fold_{unary,binary,ternary}, fold_build[123], build_call_expr,
      	build_size_arg, build_fold_addr_expr, build_call_array,
      	non_lvalue, size_diffop, fold_build1_initializer,
      	fold_build2_initializer, fold_build3_initializer,
      	fold_build_call_array, fold_build_call_array_initializer,
      	fold_single_bit_test, omit_one_operand, omit_two_operands,
      	invert_truthvalue, fold_truth_not_expr, build_fold_indirect_ref,
      	fold_indirect_ref, combine_comparisons, fold_builtin_*,
      	fold_call_expr, build_range_check, maybe_fold_offset_to_address,
      	round_up, round_down.
      fortran/
      	* trans-expr.c, trans-array.c, trans-openmp.c, trans-stmt.c,
      	trans.c, trans-io.c, trans-decl.c, trans-intrinsic.c: Add location
      	argument to fold_{unary,binary,ternary}, fold_build[123],
      	build_call_expr, build_size_arg, build_fold_addr_expr,
      	build_call_array, non_lvalue, size_diffop,
      	fold_build1_initializer, fold_build2_initializer,
      	fold_build3_initializer, fold_build_call_array,
      	fold_build_call_array_initializer, fold_single_bit_test,
      	omit_one_operand, omit_two_operands, invert_truthvalue,
      	fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref,
      	combine_comparisons, fold_builtin_*, fold_call_expr,
      	build_range_check, maybe_fold_offset_to_address, round_up,
      	round_down.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r149722
      Aldy Hernandez committed
    • re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout) · c32097d8
      	PR libstdc++/37907
      	Support std::is_standard_layout and std::is_trivial traits,
      	change POD to C++0x version (except for layout).
      	* gcc/c-common.c (c_common_reswords): Add __is_standard_layout
      	and __is_trivial.
      	* gcc/c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL.
      	* gcc/cp/cp-tree.h (enum cp_trait_kind): Add CPTK_IS_STD_LAYOUT,
      	CPTK_IS_TRIVIAL.
      	(struct lang_type_class): Add non_std_layout.
      	(CLASSTYPE_NON_STD_LAYOUT): New.
      	* gcc/cp/class.c (check_bases): Set it.
      	(check_field_decls): Likewise.
      	(check_bases_and_members): Likewise.
      	* gcc/cp/parser.c (cp_parser_primary_expression): Handle RID_IS_STD_LAYOUT,
      	RID_IS_TRIVIAL.
      	(cp_parser_trait_expr): Likewise.
      	* gcc/cp/semantics.c (trait_expr_value): Handle CPTK_IS_STD_LAYOUT,
      	CPTK_IS_TRIVIAL.
      	(finish_trait_expr): Likewise.
      	* gcc/cp/tree.c (scalarish_type_p, trivial_type_p, std_layout_type_p): New.
      	(pod_type_p): Use them.
      	* gcc/cp/typeck.c (build_class_member_access_expr): Check
      	CLASSTYPE_NON_STD_LAYOUT rather than CLASSTYPE_NON_POD_P.
      	* libstdc++-v3/include/std/type_traits: Add is_standard_layout, is_trivial.
      
      From-SVN: r149721
      Jason Merrill committed
    • m32c.c (m32c_compare_redundant): Avoid removing compares that may be indirectly… · b3c5a409
      m32c.c (m32c_compare_redundant): Avoid removing compares that may be indirectly affected by previous instructions.
      
      * config/m32c/m32c.c (m32c_compare_redundant): Avoid removing
      compares that may be indirectly affected by previous instructions.
      
      From-SVN: r149719
      DJ Delorie committed
    • builtins.c (do_mpc_arg2): New. · a41d064d
      	* builtins.c (do_mpc_arg2): New.
      	(fold_builtin_2): Fold builtin cpow.
      	* real.h (HAVE_mpc_pow): New.
      
      testsuite:
      	* gcc.dg/torture/builtin-math-5.c: Add more cases.
      	* gcc.dg/torture/builtin-math-6.c: Likewise.  Depend on
      	effective target "mpc_pow".
      	* lib/target-supports.exp (check_effective_target_mpc_pow): New.
      
      From-SVN: r149716
      Kaveh R. Ghazi committed
    • New test · d19cb53b
      From-SVN: r149715
      Richard Henderson committed
    • printers.py (StdStringPrinter.to_string): Fetch std::string to the given length. · 271167f1
      2009-07-16  Phil Muldoon <pmuldoon@redhat.com>
      	    Tom Tromey <tromey@redhat.com>
      
      	* python/libstdcxx/v6/printers.py (StdStringPrinter.to_string):
      	Fetch std::string to the given length.
      
      Co-Authored-By: Tom Tromey <tromey@redhat.com>
      
      From-SVN: r149714
      Phil Muldoon committed
    • modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule · db87b56d
      2009-07-16  Bingfeng Mei  <bmei@broadcom.com>
      
      	* modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison
              to skip unprofitable schedule
      
      From-SVN: r149712
      Bingfeng Mei committed
    • * obj-c++.dg/defs.mm (abort): Make it extern "C". · a4452ba2
      From-SVN: r149705
      Jakub Jelinek committed
    • istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution… · 6f0398bb
      istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt.
      
      2009-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/istream.tcc (basic_istream<>::operator>>(short&),
      	basic_istream<>::operator>>(int&)): Implement resolution of DR 696,
      	[Ready] in Frankfurt.
      	* include/tr1_impl/regex (regex_traits<>::value): Adjust.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
      	New.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc:
      	Likewise.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
      	Adjust.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
      	Likewise.
      	* doc/xml/manual/intro.xml: Add an entry for DR 696.
      
      	* include/bits/istream.tcc: Minor clean-up to the initializers of the
      	__err locals.
      	* include/bits/ostream.tcc: Likewise.
      	* src/compatibility.cc: Likewise.
      	* src/istream.cc: Likewise.
      
      From-SVN: r149704
      Paolo Carlini committed