1. 20 Jul, 2009 4 commits
    • tree-vectorizer.h (vectorizable_condition): Add parameters. · 4bbe8262
      
      	* tree-vectorizer.h (vectorizable_condition): Add parameters.
      	* tree-vect-loop.c (vect_is_simple_reduction): Support COND_EXPR.
      	(get_initial_def_for_reduction): Likewise.
      	(vectorizable_reduction): Skip the check of first operand in case
      	of COND_EXPR. Add check that it is outer loop vectorization if
      	nested cycle was detected. Call vectorizable_condition() for 
      	COND_EXPR. If reduction epilogue cannot be created do not fail for
      	nested cycles (if it is not double reduction). Assert that there
      	is only one type in the loop in case of COND_EXPR. Call
      	vectorizable_condition() to vectorize COND_EXPR.
      	* tree-vect-stmts.c (vectorizable_condition): Update comment.
      	Add parameters. Allow nested cycles if called from 
      	vectorizable_reduction(). Use reduction vector variable if provided.
      	(vect_analyze_stmt): Call vectorizable_reduction() before
      	vectorizable_condition().
      	(vect_transform_stmt): Update call to vectorizable_condition().
      
      From-SVN: r149806
      Ira Rosen committed
    • ChangeLog: Remove conflict markers. · 9e7c935a
      	* ChangeLog: Remove conflict markers.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r149805
      Uros Bizjak committed
    • SH: resurect -mfmovd · 6a799f6e
      From-SVN: r149803
      Christian Bruel committed
    • Daily bump. · 94b219ec
      From-SVN: r149800
      GCC Administrator committed
  2. 19 Jul, 2009 6 commits
    • re PR fortran/40714 (Fortran runtime error: Invalid argument) · d2b00a89
      2009-07-19  Janne Blomqvist  <jb@gcc.gnu.org>
      	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/40714
      	* gfortran.dg/eof_3.f90: New test.
      
      Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
      
      From-SVN: r149797
      Janne Blomqvist committed
    • tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs when handling SSA name. · eab09a51
      	* tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs
      	when handling SSA name.
      
      From-SVN: r149794
      Jan Hubicka committed
    • 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
  3. 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
  4. 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
  5. 16 Jul, 2009 4 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