Ira Rosen [Mon, 20 Jul 2009 11:59:10 +0000 (11:59 +0000)]
tree-vectorizer.h (vectorizable_condition): Add parameters.
* 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
Uros Bizjak [Mon, 20 Jul 2009 10:38:04 +0000 (12:38 +0200)]
ChangeLog: Remove conflict markers.
* ChangeLog: Remove conflict markers.
* testsuite/ChangeLog: Ditto.
From-SVN: r149805
Christian Bruel [Mon, 20 Jul 2009 07:37:37 +0000 (09:37 +0200)]
SH: resurect -mfmovd
From-SVN: r149803
GCC Administrator [Mon, 20 Jul 2009 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149800
Janne Blomqvist [Sun, 19 Jul 2009 23:26:20 +0000 (02:26 +0300)]
re PR fortran/40714 (Fortran runtime error: Invalid argument)
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
Jan Hubicka [Sun, 19 Jul 2009 22:57:36 +0000 (00:57 +0200)]
tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs when handling SSA name.
* tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs
when handling SSA name.
From-SVN: r149794
Steven G. Kargl [Sun, 19 Jul 2009 15:37:50 +0000 (15:37 +0000)]
re PR fortran/40727 ([4.4] ICE gfc_simplify_dcmplx(): Bad type when passing BT_COMPLEX to cmplx)
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
Thomas Koenig [Sun, 19 Jul 2009 15:07:21 +0000 (15:07 +0000)]
[multiple changes]
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
Jan Hubicka [Sun, 19 Jul 2009 10:27:07 +0000 (12:27 +0200)]
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
GCC Administrator [Sun, 19 Jul 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149785
Paolo Carlini [Sat, 18 Jul 2009 22:58:10 +0000 (22:58 +0000)]
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
Adam Nemet [Sat, 18 Jul 2009 21:55:40 +0000 (21:55 +0000)]
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 [Sat, 18 Jul 2009 21:52:48 +0000 (21:52 +0000)]
combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and OUTER_CONST arguments.
* 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 [Sat, 18 Jul 2009 21:48:19 +0000 (21:48 +0000)]
combine.c (try_widen_shift_mode): Allow widening if the high-order bits are zero.
* combine.c (try_widen_shift_mode) <LSHIFTRT>: Allow widening if the
high-order bits are zero.
From-SVN: r149779
Adam Nemet [Sat, 18 Jul 2009 21:46:01 +0000 (21:46 +0000)]
combine.c (simplify_shift_const_1): Split code to determine shift_mode into ...
* 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
Richard Guenther [Sat, 18 Jul 2009 15:29:21 +0000 (15:29 +0000)]
re PR testsuite/40798 (Revision 149750 failed gcc.dg/tree-ssa/loop-2.c)
2009-07-18 Richard Guenther <rguenther@suse.de>
PR testsuite/40798
* gcc.dg/tree-ssa/loop-2.c: Tighten pattern.
From-SVN: r149774
Arnaud Charlet [Sat, 18 Jul 2009 12:26:41 +0000 (14:26 +0200)]
Fix last entry.
From-SVN: r149772
Richard Guenther [Sat, 18 Jul 2009 11:16:07 +0000 (11:16 +0000)]
re PR c/40787 (ICE: verify_gimple failed in gcc.dg/pr35899.c)
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 Sandiford [Sat, 18 Jul 2009 07:52:53 +0000 (07:52 +0000)]
md.texi: Document the new PowerPC "es" constraint.
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 [Sat, 18 Jul 2009 07:51:19 +0000 (07:51 +0000)]
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
Jerry Quinn [Sat, 18 Jul 2009 03:22:16 +0000 (03:22 +0000)]
directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.
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
GCC Administrator [Sat, 18 Jul 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149762
Janne Blomqvist [Fri, 17 Jul 2009 19:40:23 +0000 (22:40 +0300)]
When finalizing I/O transfer, set current_record to 0 before returning.
PR libfortran/40714
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r149757
Jan Kratochvil [Fri, 17 Jul 2009 19:09:54 +0000 (19:09 +0000)]
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
Anatoly Sokolov [Fri, 17 Jul 2009 18:49:03 +0000 (22:49 +0400)]
avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and atmega32u2 devices.
* config/avr/avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and
atmega32u2 devices.
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
From-SVN: r149755
Richard Guenther [Fri, 17 Jul 2009 15:49:34 +0000 (15:49 +0000)]
re PR c/40401 (ICE: verify_gimple failed)
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
Joseph Myers [Fri, 17 Jul 2009 15:08:36 +0000 (16:08 +0100)]
re PR other/40784 (Revision 149725 caused autoconf warning in libstdc++)
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
Sandra Loosemore [Fri, 17 Jul 2009 13:10:12 +0000 (09:10 -0400)]
service.texi (Service): Restore previously removed link, which isn't broken after all.
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
Richard Guenther [Fri, 17 Jul 2009 12:44:05 +0000 (12:44 +0000)]
re PR tree-optimization/40321 (internal compiler error: in compute_antic, at tree-ssa-pre.c:2501)
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
Jakub Jelinek [Fri, 17 Jul 2009 10:40:09 +0000 (12:40 +0200)]
re PR c++/40780 (ICE in gimplify_conversion)
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
Kai Tietz [Fri, 17 Jul 2009 09:21:25 +0000 (09:21 +0000)]
configure.ac: Add rule for mingw targets to add -DGC_BUILD=1 to cflags.
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
Richard Guenther [Fri, 17 Jul 2009 09:09:11 +0000 (09:09 +0000)]
init.c (build_vec_delete_1): Do not set DECL_REGISTER on the temporary pointer.
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
Sandra Loosemore [Fri, 17 Jul 2009 02:54:17 +0000 (22:54 -0400)]
extend.texi (Nested Functions): Replace broken link with textual reference.
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
H.J. Lu [Fri, 17 Jul 2009 01:03:55 +0000 (01:03 +0000)]
re PR bootstrap/40781 (Revision 149722 failed to bootstrap)
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
GCC Administrator [Fri, 17 Jul 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149731
Benjamin Kosnik [Fri, 17 Jul 2009 00:16:33 +0000 (00:16 +0000)]
testsuite_common_types.h (standard_layout): Activate.
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
Joseph Myers [Thu, 16 Jul 2009 23:18:08 +0000 (00:18 +0100)]
tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when cross-compiling.
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
Aldy Hernandez [Thu, 16 Jul 2009 22:29:52 +0000 (22:29 +0000)]
re PR c/40435 (Revision 148442 caused many regressions on trunk)
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
Jason Merrill [Thu, 16 Jul 2009 20:36:10 +0000 (16:36 -0400)]
re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout)
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
DJ Delorie [Thu, 16 Jul 2009 20:07:46 +0000 (16:07 -0400)]
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
Kaveh R. Ghazi [Thu, 16 Jul 2009 17:46:30 +0000 (17:46 +0000)]
builtins.c (do_mpc_arg2): New.
* 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
Richard Henderson [Thu, 16 Jul 2009 17:08:50 +0000 (10:08 -0700)]
New test
From-SVN: r149715
Phil Muldoon [Thu, 16 Jul 2009 16:33:31 +0000 (16:33 +0000)]
printers.py (StdStringPrinter.to_string): Fetch std::string to the given length.
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
Bingfeng Mei [Thu, 16 Jul 2009 16:20:28 +0000 (16:20 +0000)]
modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule
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
Jakub Jelinek [Thu, 16 Jul 2009 13:19:05 +0000 (15:19 +0200)]
* obj-c++.dg/defs.mm (abort): Make it extern "C".
From-SVN: r149705
Paolo Carlini [Thu, 16 Jul 2009 12:41:03 +0000 (12:41 +0000)]
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
Simon Baldwin [Thu, 16 Jul 2009 11:25:20 +0000 (11:25 +0000)]
gcc.c (option_map): New flag -no-canonical-prefixes.
* gcc.c (option_map): New flag -no-canonical-prefixes.
* (display_help): Print help text for new flag.
* (process_command): Move options translation and language specifics
and handle new flag early. Use it to set a function pointer to a
prefix builder. Replace make_relative_prefix calls with calls to
the function pointed to. Ignore new flag in regular options handling.
* doc/invoke.texi (Overall Options): Documented -no-canonical-prefixes.
From-SVN: r149702
DJ Delorie [Thu, 16 Jul 2009 02:44:40 +0000 (22:44 -0400)]
mep.md (sibcall_internal): Change register to avoid argument registers.
* config/mep/mep.md (sibcall_internal): Change register to avoid
argument registers.
(sibcall_value_internal): Likewise.
From-SVN: r149701
GCC Administrator [Thu, 16 Jul 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149700
Eric Botcazou [Wed, 15 Jul 2009 21:32:46 +0000 (21:32 +0000)]
re PR rtl-optimization/40710 (Linux kernel miscompiled for sh4-linux)
PR rtl-optimization/40710
* resource.c (mark_target_live_regs): Reset DF problem to LR.
From-SVN: r149696
Adam Nemet [Wed, 15 Jul 2009 20:40:02 +0000 (20:40 +0000)]
* config/mips/mips.md (*extenddi_truncate<mode>,
*extendsi_truncate<mode>): Change type attribute to move_type
with shift_shift. Split out code handling exts from here ...
(*extend<GPR:mode>_truncate<SHORT:mode>_exts): ... to this new
pattern.
(*extendhi_truncateqi): Change type attribute to move_type with
shift_shift. Split out code handling exts from here ...
(*extendhi_truncateqi_exts): ... to this new pattern.
From-SVN: r149694
Uros Bizjak [Wed, 15 Jul 2009 15:40:15 +0000 (17:40 +0200)]
sse.md (copysign<mode>3): Use "and-not" SSE instruction instead of "and" with inverted sign bit mask value.
* config/i386/sse.md (copysign<mode>3): Use "and-not" SSE instruction
instead of "and" with inverted sign bit mask value. Use
"nonimmediate_operand" for operand 1 and operand 2 predicate.
Allocate registers only for operand 4 and operand 5.
From-SVN: r149691
Uros Bizjak [Wed, 15 Jul 2009 14:29:39 +0000 (16:29 +0200)]
sse.md (copysign<mode>3): Allocate registers only for operands[5] and operands[6].
* config/i386/sse.md (copysign<mode>3): Allocate registers only for
operands[5] and operands[6].
From-SVN: r149690
Arnaud Charlet [Wed, 15 Jul 2009 13:20:41 +0000 (13:20 +0000)]
Make-lang.in: Update dependencies
* gcc-interface/Make-lang.in: Update dependencies
* gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
From-SVN: r149689
Arnaud Charlet [Wed, 15 Jul 2009 13:06:43 +0000 (15:06 +0200)]
[multiple changes]
2009-07-15 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
N_Label. Remove SCO table entry for entry point (not used).
* par_sco.ads: Remove SCO entry point type (not used)
* switch.adb: Minor code clean up.
2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
* exp_dbug.ads (Base Record Types): Document enhanced encoding.
2009-07-15 Thomas Quinot <quinot@adacore.com>
* gnatls.adb: Minor reformatting
* gnatcmd.adb: Minor code reorganization
2009-07-15 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
determine whether a component of a private type has a composite type.
From-SVN: r149688
Arnaud Charlet [Wed, 15 Jul 2009 12:57:06 +0000 (14:57 +0200)]
[multiple changes]
2009-07-15 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb: Minor reformatting throughout
Minor code reorganization (put nested subprograms in alpha order)
2009-07-15 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Call): Prevent double attachment of the result
when compiling a call to a protected function that returns a controlled
object.
2009-07-15 Hristian Kirtchev <kirtchev@adacore.com>
* sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
one. Add task locking and unlocking around the critical region which
mentions localtime_r and global variable timezone for various targets.
Comment reformatting.
From-SVN: r149686
Robert Dewar [Wed, 15 Jul 2009 12:53:31 +0000 (12:53 +0000)]
gnat_rm.texi: Document s-ststop.ads
2009-07-15 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document s-ststop.ads
* impunit.ad: (Map_Array): New table of alternative names
(Get_Kind_Of_Unit): Return possible suggested alternative name
* impunit.ads (Get_Kind_Of_Unit): Return possible suggested
alternative name.
* sem_ch10.adb (Analalyze_With_Clause): Add name of possible
alternative unit if an implementation unit is with'ed.
From-SVN: r149685
Robert Dewar [Wed, 15 Jul 2009 10:42:12 +0000 (10:42 +0000)]
gnat_ugn.texi: Minor updates.
2009-07-15 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor updates.
* snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
From-SVN: r149680
Arnaud Charlet [Wed, 15 Jul 2009 10:39:11 +0000 (12:39 +0200)]
[multiple changes]
2009-07-15 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
conditions of a derived boolean type.
Minor reformatting
2009-07-15 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb: Initialize SCO tables
* par-load.adb: Call SCO_Record for main unit spec
* par.adb: Make call to SCO_Record for main unit
* par_sco.adb (Unit_Table): Change format to facilitate sort
(Process_Decisions): New procedure with list argument
(Traverse_Generic_Package_Declaration): New procedure
(Initialize): New procedure, replaces Init
(SCO_Output): Sort unit table before output
(SCO_Record): Avoid duplications
(SCO_Record): Handle remaining cases of units
(Traverse_Declarations_Or_Statements): Handle generics
* par_sco.ads (Initialize): New peocedure (replaces Init)
* sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
subunit.
2009-07-15 Arnaud Charlet <charlet@adacore.com>
* debug.adb: Add -gnatd.J switch for now to support scil generation in
parallel. Add missing doc for -gnatd.I and -gnatd.O
From-SVN: r149679
Robert Dewar [Wed, 15 Jul 2009 10:34:59 +0000 (10:34 +0000)]
lib-load.adb: Minor reformatting
2009-07-15 Robert Dewar <dewar@adacore.com>
* lib-load.adb: Minor reformatting
* lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
From-SVN: r149678
Robert Dewar [Wed, 15 Jul 2009 10:25:24 +0000 (10:25 +0000)]
par.adb: Minor reformatting Add ??? comment for possible bad comment
2009-07-15 Robert Dewar <dewar@adacore.com>
* par.adb: Minor reformatting
Add ??? comment for possible bad comment
* par-ch10.adb: Minor reformatting
From-SVN: r149677
Arnaud Charlet [Wed, 15 Jul 2009 10:22:01 +0000 (12:22 +0200)]
Remove -gnatd.O doc
From-SVN: r149676
Jakub Jelinek [Wed, 15 Jul 2009 10:17:54 +0000 (12:17 +0200)]
re PR middle-end/40747 (wrong code for int-is-in-range test at -O1 and above)
PR middle-end/40747
* fold-const.c (fold_cond_expr_with_comparison): When folding
< and <= to MIN, make sure the MIN uses the same type as the
comparison's operands.
* gcc.c-torture/execute/pr40747.c: New test.
From-SVN: r149675
Arnaud Charlet [Wed, 15 Jul 2009 10:15:49 +0000 (12:15 +0200)]
[multiple changes]
2009-07-15 Sergey Rybin <rybin@adacore.com>
* tree_in.ads, output.adb, tree_io.ads: Get rid of pragmas Warnings
Off/On for with clause to System.OS_Lib - not needed any more.
2009-07-15 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
is a literal of a derived boolean type, it appears as an unchecked
conversion. Retrieve actual value from expression of conversion.
2009-07-15 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting
* lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
lib-writ.ads, lib-writ.adb: Minor reformatting.
Fix problem with SCO format in ALI files
From-SVN: r149674
Richard Earnshaw [Wed, 15 Jul 2009 10:12:22 +0000 (10:12 +0000)]
arm.md (ior_xor): New code iterator.
* arm.md (ior_xor): New code iterator.
(split for ior/xor with shift and zero-extend): New split pattern.
* arm/predicates.md (subreg_lowpart_operator): New special predicate.
From-SVN: r149673
Arnaud Charlet [Wed, 15 Jul 2009 10:03:34 +0000 (12:03 +0200)]
[multiple changes]
2009-07-15 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
exp_aggr.adb: Minor code reorganization (better calling sequence for
Make_Temporary).
2009-07-15 Thomas Quinot <quinot@adacore.com>
* opt.ads: Minor comment edits
From-SVN: r149672
Richard Guenther [Wed, 15 Jul 2009 10:01:42 +0000 (10:01 +0000)]
tree-ssa-structalias.c (make_constraint_from_heapvar): Initialize offset member.
2009-07-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (make_constraint_from_heapvar): Initialize
offset member.
From-SVN: r149671
Tristan Gingold [Wed, 15 Jul 2009 10:00:15 +0000 (10:00 +0000)]
Makefile.in: Special rule for seh_init.o no longer needed.
2009-07-15 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in: Special rule for seh_init.o no longer
needed.
From-SVN: r149670
Robert Dewar [Wed, 15 Jul 2009 09:59:16 +0000 (09:59 +0000)]
debug.adb: Add -gnatd.O to output SCO table
2009-07-15 Robert Dewar <dewar@adacore.com>
* debug.adb: Add -gnatd.O to output SCO table
* lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
information.
* lib-writ.ads: Document addition of SCO lines to ALI file
* par_sco.ads, par_sco.adb: New files.
* opt.ads (Generate_SCO): New switch
* par.adb (Par): Call SCO_Record to record SCO information
* sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
* switch-c.adb: Recognize -gnateS to generate SCO information
* usage.adb: Add line for -gnateS
* gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
From-SVN: r149669
Arnaud Charlet [Wed, 15 Jul 2009 09:47:20 +0000 (11:47 +0200)]
[multiple changes]
2009-07-15 Sergey Rybin <rybin@adacore.com>
* tree_in.ads, tree_io.ads: Add pragma Warnings Off/On for with clause
to System.OS_Lib to avoid warnings.
2009-07-15 Robert Dewar <dewar@adacore.com>
* sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
reformatting.
2009-07-15 Thomas Quinot <quinot@adacore.com>
* g-socthi-mingw.adb: Minor comment addition
* g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
From-SVN: r149668
Robert Dewar [Wed, 15 Jul 2009 09:42:04 +0000 (09:42 +0000)]
g-htable.ads, [...]: Minor reformatting
2009-07-15 Robert Dewar <dewar@adacore.com>
* g-htable.ads, s-htable.ads: Minor reformatting
From-SVN: r149667
Robert Dewar [Wed, 15 Jul 2009 09:38:34 +0000 (09:38 +0000)]
switch-c.adb, [...]: Implement new switch -gnatw.g.
2009-07-15 Robert Dewar <dewar@adacore.com>
* switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
new switch -gnatw.g.
(Set_GNAT_Mode_Warnings): New procedure.
* lib-xref.adb: Minor reformatting
From-SVN: r149666
Robert Dewar [Wed, 15 Jul 2009 09:33:38 +0000 (09:33 +0000)]
exp_aggr.adb, [...]: Minor reformatting Minor code reorganization
2009-07-15 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
Minor code reorganization
From-SVN: r149665
Richard Guenther [Wed, 15 Jul 2009 09:25:34 +0000 (09:25 +0000)]
re PR bootstrap/40753 (ICE in refs_may_alias_p_1 for libffi/src/powerpc/ffi.c)
2009-07-15 Richard Guenther <rguenther@suse.de>
PR middle-end/40753
* alias.c (ao_ref_from_mem): Reject FUNCTION_DECL and LABEL_DECL
bases.
* gcc.c-torture/compile/pr40753.c: New testcase.
From-SVN: r149664
Maxim Kuvyrkov [Wed, 15 Jul 2009 08:56:13 +0000 (08:56 +0000)]
linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel.
* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to
handle 2.6.30 kernel.
From-SVN: r149663
Janus Weil [Wed, 15 Jul 2009 08:41:29 +0000 (10:41 +0200)]
re PR fortran/40743 (ICE when compiling iso_varying_string.f95 at revision 149591)
2009-07-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/40743
* resolve.c (resolve_symbol): Don't resolve the formal namespace of a
contained procedure.
2009-07-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/40743
* gfortran.dg/interface_assignment_4.f90: New.
From-SVN: r149662
Gerald Pfeifer [Wed, 15 Jul 2009 08:37:17 +0000 (08:37 +0000)]
builtins-config.h (HAVE_C99_RUNTIME): Do not define for FreeBSD up to and including version 8.
* gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Do not define
for FreeBSD up to and including version 8.
From-SVN: r149661
DJ Delorie [Wed, 15 Jul 2009 04:11:03 +0000 (00:11 -0400)]
mep.md (sibcall_internal): Change register to allow for 24-bit addresses.
* config/mep/mep.md (sibcall_internal): Change register to allow
for 24-bit addresses.
(sibcall_value_internal): Likewise.
From-SVN: r149655
GCC Administrator [Wed, 15 Jul 2009 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149653
Ghassan Shobaki [Tue, 14 Jul 2009 23:47:54 +0000 (23:47 +0000)]
invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by...
2009-07-14 Ghassan Shobaki <ghassan.shobaki@amd.com>
* doc/invoke.texi: Added descriptions of the
scheduling heuristics that are enabled/disabled
by the flags introduced by a previous patch.
From-SVN: r149650
DJ Delorie [Tue, 14 Jul 2009 22:35:01 +0000 (18:35 -0400)]
mep.md (sibcall_internal): Include non-toggling non-jmp case.
* config/mep/mep.md (sibcall_internal): Include non-toggling
non-jmp case.
(sibcall_value_internal): Likewise.
From-SVN: r149649
Taras Glek [Tue, 14 Jul 2009 22:25:23 +0000 (22:25 +0000)]
sourcebuild.texi: Document install-plugin target.
2009-07-14 Taras Glek <tglek@mozilla.com>
Rafael Espindola <espindola@google.com>
* doc/sourcebuild.texi: Document install-plugin target.
* configure.ac: Added install-plugin target to language makefiles.
* configure: Regenerate.
* Makefile.in: (install-plugin): Install more headers,
depend on lang.install-plugin.
ada/ChangeLog
* gcc-interface/Make-lang.in (ada.install-plugin): New target for
installing plugin headers.
cp/ChangeLog
* Make-lang.in: Added CP_PLUGIN_HEADERS and
c.install-target to export cp-tree.h cxx-pretty-print.h
name-lookup.h headers for plugins.
fortran/ChangeLog
* Make-lang.in (fortran.install-plugin): New target for
installing plugin headers.
java/ChangeLog
* Make-lang.in (java.install-plugin): New target for
installing plugin headers.
objc/ChangeLog
* Make-lang.in (objc.install-plugin): New target for
installing plugin headers.
objcp/ChangeLog
* Make-lang.in (obj-c.install-plugin): New target for
installing plugin headers.
Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
From-SVN: r149648
Manuel López-Ibáñez [Tue, 14 Jul 2009 22:21:17 +0000 (22:21 +0000)]
tree-vrp.c (vrp_evaluate_conditional): Mark strings for translation.
2009-07-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
* tree-vrp.c (vrp_evaluate_conditional): Mark strings for
translation.
From-SVN: r149647
DJ Delorie [Tue, 14 Jul 2009 21:46:15 +0000 (17:46 -0400)]
mep.c (mep_vliw_jmp_match): New function.
* config/mep/mep.c (mep_vliw_jmp_match): New function.
* config/mep/mep-protos.h (mep_vliw_jmp_match): Prototype it.
* config/mep/mep.md (sibcall_internal): Change test from
mep_vliw_mode_match to mep_vliw_jmp_match.
(sibcall_value_internal): Likewise.
From-SVN: r149644
Uros Bizjak [Tue, 14 Jul 2009 18:44:59 +0000 (20:44 +0200)]
sse-recip-vec.c: Move arrays out of test function to enable vectorization.
* gcc.target/i386/sse-recip-vec.c: Move arrays out of test
function to enable vectorization.
* gcc.target/i386/sse2-lrint-vec.c: Ditto.
* gcc.target/i386/sse2-lrintf-vec.c: Ditto.
From-SVN: r149641
Uros Bizjak [Tue, 14 Jul 2009 18:33:12 +0000 (20:33 +0200)]
sse.md (copysign<mode>3): New expander.
* config/i386/sse.md (copysign<mode>3): New expander.
* config/i386/i386-protos.h (ix86_build_signbit_mask): New prototype.
* config/i386/i386.c (ix86_build_signbit_mask): Make public.
Use ix86_build_const_vector.
(enum ix86_builtins): Add IX86_BUILTIN_CPYSGNPS and
IX86_BUILTIN_CPYSGNPD.
(builtin_description): Add __builtin_ia32_copysignps and
__builtin_ia32_copysignpd.
(ix86_builtin_vectorized_function): Handle BUILT_IN_COPYSIGN
and BUILT_IN_COPYSIGNF.
testsuite/ChangeLog:
* gcc.target/i386/sse-copysignf-vec.c: New test.
* gcc.target/i386/sse2-copysign-vec.c: Ditto.
From-SVN: r149639
Jason Merrill [Tue, 14 Jul 2009 18:16:03 +0000 (14:16 -0400)]
re PR c++/37276 (Trouble with some (C99?) math builtins and namespace std)
PR c++/37276
* decl.c (decls_match): A non-extern-C declaration doesn't match
a builtin extern-C declaration.
From-SVN: r149638
Jason Merrill [Tue, 14 Jul 2009 18:15:49 +0000 (14:15 -0400)]
name-lookup.c (qualified_lookup_using_namespace): Don't stop looking in used namespaces just because we found something on...
* name-lookup.c (qualified_lookup_using_namespace): Don't stop
looking in used namespaces just because we found something on
another branch.
From-SVN: r149637
Jason Merrill [Tue, 14 Jul 2009 18:15:35 +0000 (14:15 -0400)]
re PR c++/40740 (template-id forgotten with arg-dep lookup)
PR c++/40740
* semantics.c (perform_koenig_lookup): Handle empty template args.
From-SVN: r149636
Jason Merrill [Tue, 14 Jul 2009 18:15:22 +0000 (14:15 -0400)]
builtins.c (can_trust_pointer_alignment): New fn.
* builtins.c (can_trust_pointer_alignment): New fn.
(get_pointer_alignment): Factor it out from here.
* tree.h: Declare it.
* cp/call.c (build_over_call): Use it.
From-SVN: r149635
David Edelsohn [Tue, 14 Jul 2009 16:52:12 +0000 (16:52 +0000)]
predicates.md (offsettable_mem_operand): Test RTX_AUTOINC class.
* config/rs6000/predicates.md (offsettable_mem_operand): Test
RTX_AUTOINC class.
From-SVN: r149632
Jack Howarth [Tue, 14 Jul 2009 16:50:34 +0000 (16:50 +0000)]
20000804-1.c: skip for ilp32 on both i?86-*-darwin* and x86_64-*-darwin*.
2009-07-14 Jack Howarth <howarth@bromo.med.uc.edu>
* testsuite/gcc.c-torture/compile/
20000804-1.c: skip for ilp32 on
both i?86-*-darwin* and x86_64-*-darwin*.
From-SVN: r149631
Joseph Myers [Tue, 14 Jul 2009 15:43:04 +0000 (16:43 +0100)]
pr37843-1.c, [...]: Allow leading underscore on function name.
* gcc.target/i386/pr37843-1.c, gcc.target/i386/pr37843-2.c,
gcc.target/i386/pr37843-3.c: Allow leading underscore on function
name.
From-SVN: r149629
Dodji Seketeli [Tue, 14 Jul 2009 15:01:55 +0000 (15:01 +0000)]
re PR debug/40705 (ICE in gen_type_die_with_usage, at dwarf2out.c:15117)
2009-07-14 Dodji Seketeli <dodji@redhat.com>
gcc/ChangeLog:
PR debug/40705
PR c++/403057
* dwarf2.out.c (gen_type_die_with_usage): Added comment.
gcc/cp/ChangeLog:
PR debug/40705
PR c++/403057
* decl2.c (grokfield): Don't call set_underlying_type on typedef
decls that are type names.
gcc/testsuite/ChangeLog:
PR debug/40705
PR c++/403057
* g++.dg/debug/dwarf2/typedef1.C: New test.
* g++.dg/other/typedef3.C: Likewise.
From-SVN: r149628
Richard Guenther [Tue, 14 Jul 2009 14:08:09 +0000 (14:08 +0000)]
re PR middle-end/40745 (Revision 149624 caused x86-64 failures)
2009-07-14 Richard Guenther <rguenther@suse.de>
PR middle-end/40745
* cfgexpand.c (partition_stack_vars): Do not bother to update
alias information when not optimizing.
From-SVN: r149627
Maxim Kuvyrkov [Tue, 14 Jul 2009 13:37:19 +0000 (13:37 +0000)]
20090709-1.c: Move to a proper place ...
* gcc.dg/
20090709-1.c: Move to a proper place ...
* gcc.target/m68k/
20090709-1.c: ... here.
From-SVN: r149626
Richard Guenther [Tue, 14 Jul 2009 09:59:18 +0000 (09:59 +0000)]
tree-ssa-alias.h (refs_may_alias_p_1): Declare.
2009-07-14 Richard Guenther <rguenther@suse.de>
Andrey Belevantsev <abel@ispras.ru>
* tree-ssa-alias.h (refs_may_alias_p_1): Declare.
(pt_solution_set): Likewise.
* tree-ssa-alias.c (refs_may_alias_p_1): Export.
* tree-ssa-structalias.c (pt_solution_set): New function.
* final.c (rest_of_clean_state): Free SSA data structures.
* print-rtl.c (print_decl_name): Remove.
(print_mem_expr): Implement in terms of print_generic_expr.
* alias.c (ao_ref_from_mem): New function.
(rtx_refs_may_alias_p): Likewise.
(true_dependence): Query alias-export info.
(canon_true_dependence): Likewise.
(write_dependence_p): Likewise.
* tree-dfa.c (get_ref_base_and_extent): For void types leave
size unknown.
* emit-rtl.c (component_ref_for_mem_expr): Remove.
(mem_expr_equal_p): Use operand_equal_p.
(set_mem_attributes_minus_bitpos): Do not use
component_ref_for_mem_expr.
* cfgexpand.c (add_partitioned_vars_to_ptset): New function.
(update_alias_info_with_stack_vars): Likewise.
(partition_stack_vars): Call update_alias_info_with_stack_vars.
* tree-ssa.c (delete_tree_ssa): Do not release SSA names
explicitly nor clear stmt operands.
Free the decl-to-pointer map.
* tree-optimize.c (execute_free_datastructures): Do not free
SSA data structures here.
* tree-flow.h (struct gimple_df): Add decls_to_pointers member.
* Makefile.in (emit-rtl.o): Add pointer-set.h dependency.
(alias.o): Add tree-ssa-alias.h, pointer-set.h and $(TREE_FLOW_H)
dependencies.
(print-rtl.o): Add $(DIAGNOSTIC_H) dependency.
Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
From-SVN: r149624
DJ Delorie [Tue, 14 Jul 2009 01:53:07 +0000 (21:53 -0400)]
mep.h (CC1_SPEC): Tweak parameters to trigger unrolling at the right iteration count.
* config/mep/mep.h (CC1_SPEC): Tweak parameters to trigger
unrolling at the right iteration count.
From-SVN: r149614
DJ Delorie [Tue, 14 Jul 2009 00:45:59 +0000 (20:45 -0400)]
mep.c (mep_expand_prologue): Fix frame pointer calculations.
* config/mep/mep.c (mep_expand_prologue): Fix frame pointer
calculations.
From-SVN: r149612
GCC Administrator [Tue, 14 Jul 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149611