Michael Meissner [Tue, 11 Oct 2011 19:55:09 +0000 (19:55 +0000)]
Convert standard builtin functions from being arrays to using a functional interface
From-SVN: r179820
Bill Schmidt [Tue, 11 Oct 2011 18:39:51 +0000 (18:39 +0000)]
tree.h (copy_ref_info): Expose existing function.
2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree.h (copy_ref_info): Expose existing function.
* tree-ssa-loop-ivopts.c (copy_ref_info): Move function to...
* tree-ssa-address.c (copy_ref_info): ...here, and remove static token.
From-SVN: r179818
Georg-Johann Lay [Tue, 11 Oct 2011 18:34:16 +0000 (18:34 +0000)]
avr-protos.h (avr_mode_code_base_reg_class): New prototype.
* config/avr/avr-protos.h (avr_mode_code_base_reg_class): New prototype.
(avr_regno_mode_code_ok_for_base_p): New prototype.
* config/avr/avr.h (BASE_REG_CLASS): Remove.
(REGNO_OK_FOR_BASE_P): Remove.
(REG_OK_FOR_BASE_NOSTRICT_P): Remove.
(REG_OK_FOR_BASE_STRICT_P): Remove.
(MODE_CODE_BASE_REG_CLASS): New define.
(REGNO_MODE_CODE_OK_FOR_BASE_P): New define.
* config/avr/avr.c (avr_mode_code_base_reg_class): New function.
(avr_regno_mode_code_ok_for_base_p): New function.
(avr_reg_ok_for_addr_p): New static function.
(avr_legitimate_address_p): Use it. Beautify.
From-SVN: r179817
Georg-Johann Lay [Tue, 11 Oct 2011 18:28:49 +0000 (18:28 +0000)]
re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
PR target/50447
* config/avr/avr.md (cc): Add out_plus attribute alternative.
(addsi3): Use it. Adapt avr_out_plus to new prototype. Use
avr_out_plus for all CONST_INT addends.
* config/avr/avr-protos.h (avr_out_plus): Change prototype.
* config/avr/avr.c (notice_update_cc): Call avr_out_plus on
CC_OUT_PLUS.
(avr_out_plus_1): Change prototype and report effect on cc0.
(avr_out_plus): Ditto.
(adjust_insn_length): Adapt call to avr_out_plus to new prototype.
From-SVN: r179816
Jason Merrill [Tue, 11 Oct 2011 17:53:07 +0000 (13:53 -0400)]
re PR c++/49855 (internal compiler error: in fold_convert_const_int_from_real)
PR c++/49855
PR c++/49896
* cp-tree.def (IMPLICIT_CONV_EXPR): New.
* call.c (perform_implicit_conversion_flags): Build it
instead of NOP_EXPR.
* cp-objcp-common.c (cp_common_init_ts): It's typed.
* cxx-pretty-print.c (pp_cxx_cast_expression): Handle it.
(pp_cxx_expression): Likewise.
* error.c (dump_expr): Likewise.
* semantics.c (potential_constant_expression_1): Likewise.
* tree.c (cp_tree_equal): Likewise.
(cp_walk_subtrees): Likewise.
* pt.c (iterative_hash_template_arg): Likewise.
(for_each_template_parm_r): Likewise.
(type_dependent_expression_p): Likewise.
(tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR
and CONVERT_EXPR.
* cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New.
From-SVN: r179813
H.J. Lu [Tue, 11 Oct 2011 17:25:07 +0000 (17:25 +0000)]
Remove the extra break.
2011-10-11 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_special_args_builtin): Remove
the extra break.
From-SVN: r179812
Artjoms Sinkarovs [Tue, 11 Oct 2011 16:10:59 +0000 (16:10 +0000)]
New warning -Wvector-operation-performance.
From-SVN: r179807
Andreas Krebbel [Tue, 11 Oct 2011 14:11:50 +0000 (14:11 +0000)]
pr49994-3.c: Add -mbackchain for s390 and s390x.
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/pr49994-3.c: Add -mbackchain for s390 and s390x.
From-SVN: r179805
Paolo Carlini [Tue, 11 Oct 2011 13:07:52 +0000 (13:07 +0000)]
re PR c++/50611 (Error reporting routines re-entered)
2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50611
* pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
do not call unqualified_name_lookup_error.
From-SVN: r179802
Emil Wojak [Tue, 11 Oct 2011 12:39:18 +0000 (12:39 +0000)]
re PR libstdc++/50661 (std::equal should use more efficient version for arrays of pointers)
2011-10-11 Emil Wojak <emil@wojak.eu>
PR c++/50661
* include/bits/stl_algobase.h (equal): Compare arrays of pointers
too with memcmp.
From-SVN: r179801
Richard Guenther [Tue, 11 Oct 2011 11:57:23 +0000 (11:57 +0000)]
re PR tree-optimization/50204 (Missed fully redundant load found in crafty (SPEC 2k))
2011-10-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50204
* tree-ssa-alias.c (get_continuation_for_phi_1): Split out
two argument handling from ...
(get_continuation_for_phi): ... here. Handle arbitrary number
of PHI args.
* gcc.dg/tree-ssa/ssa-fre-36.c: New testcase.
From-SVN: r179799
Andreas Krebbel [Tue, 11 Oct 2011 10:59:26 +0000 (10:59 +0000)]
20090223-1.c: Add -Wno-attributes.
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/
20090223-1.c: Add -Wno-attributes.
From-SVN: r179798
Paolo Carlini [Tue, 11 Oct 2011 10:57:40 +0000 (10:57 +0000)]
re PR c++/33067 (Awkward long decimal expansion for double literal in error.)
2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33067
* c-family/c-pretty-print.c (pp_c_floating_constant): Output
max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
From-SVN: r179797
Kirill Yukhin [Tue, 11 Oct 2011 10:18:48 +0000 (10:18 +0000)]
fma_double_1.c: Add -mfpmath=sse.
* gcc.target/i386/fma_double_1.c: Add -mfpmath=sse.
* gcc.target/i386/fma_double_2.c: Ditto.
* gcc.target/i386/fma_double_3.c: Ditto.
* gcc.target/i386/fma_double_4.c: Ditto.
* gcc.target/i386/fma_double_5.c: Ditto.
* gcc.target/i386/fma_double_6.c: Ditto.
* gcc.target/i386/fma_float_1.c: Ditto.
* gcc.target/i386/fma_float_2.c: Ditto.
* gcc.target/i386/fma_float_3.c: Ditto.
* gcc.target/i386/fma_float_4.c: Ditto.
* gcc.target/i386/fma_float_5.c: Ditto.
* gcc.target/i386/fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
* gcc.target/i386/l_fma_float_1.c: Ditto.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_run_double_1.c: Ditto.
* gcc.target/i386/l_fma_run_double_2.c: Ditto.
* gcc.target/i386/l_fma_run_double_3.c: Ditto.
* gcc.target/i386/l_fma_run_double_4.c: Ditto.
* gcc.target/i386/l_fma_run_double_5.c: Ditto.
* gcc.target/i386/l_fma_run_double_6.c: Ditto.
* gcc.target/i386/l_fma_run_float_1.c: Ditto.
* gcc.target/i386/l_fma_run_float_2.c: Ditto.
* gcc.target/i386/l_fma_run_float_3.c: Ditto.
* gcc.target/i386/l_fma_run_float_4.c: Ditto.
* gcc.target/i386/l_fma_run_float_5.c: Ditto.
* gcc.target/i386/l_fma_run_float_6.c: Ditto.
From-SVN: r179796
Richard Sandiford [Tue, 11 Oct 2011 08:17:26 +0000 (08:17 +0000)]
modulo-sched.c: Fix comment typo.
gcc/
* modulo-sched.c: Fix comment typo. Mention the possibility
of using scheduling windows of II+1 cycles.
From-SVN: r179788
Tristan Gingold [Tue, 11 Oct 2011 07:13:59 +0000 (07:13 +0000)]
c.opt: (fallow-parameterless-variadic-functions): New.
c-family/ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* c.opt: (fallow-parameterless-variadic-functions): New.
ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* doc/invoke.texi (C Dialect Options): Document
-fallow-parameterless-variadic-functions.
* c-parser.c (c_parser_parms_list_declarator): Handle it.
testsuite/ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* gcc.dg/va-arg-4.c: New test.
* gcc.dg/va-arg-5.c: Ditto.
From-SVN: r179786
Tobias Burnus [Tue, 11 Oct 2011 07:12:14 +0000 (09:12 +0200)]
ChangeLog: Fix PR number.
2011-10-11 Tobias Burnus <burnus@net-b.de>
* gcc/fortran/ChangeLog: Fix PR number.
* gcc/testsuite/ChangeLog: Ditto.
From-SVN: r179785
Paolo Carlini [Tue, 11 Oct 2011 01:28:34 +0000 (01:28 +0000)]
re PR c++/50660 (warning about pass NULL to non pointer argument happens twice)
2011-10-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50660
* call.c (conversion_null_warnings): Don't look through references.
From-SVN: r179779
GCC Administrator [Tue, 11 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179778
Uros Bizjak [Mon, 10 Oct 2011 22:24:21 +0000 (00:24 +0200)]
target-supports.exp (check_effective_target_fd_truncate): Close and unlink test file before exit.
* lib/target-supports.exp (check_effective_target_fd_truncate):
Close and unlink test file before exit.
From-SVN: r179774
Ian Lance Taylor [Mon, 10 Oct 2011 20:34:20 +0000 (20:34 +0000)]
re PR c++/48665 (type of const member function)
PR c++/48665
* cp-demangle.c (d_cv_qualifiers): If qualifiers are applied to a
function type, change them to apply to the "this" parameter.
* testsuite/demangle-expected: Add test case.
From-SVN: r179772
Matthias Klose [Mon, 10 Oct 2011 19:27:31 +0000 (19:27 +0000)]
posix95: Remove empty directory.
2011-10-10 Matthias Klose <doko@ubuntu.com>
* config/posix95: Remove empty directory.
From-SVN: r179771
Thomas Koenig [Mon, 10 Oct 2011 19:07:35 +0000 (19:07 +0000)]
re PR fortran/50564 (Front-end optimization - ICE with FORALL)
2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50564
* frontend-passes (forall_level): New variable.
(cfe_register_funcs): Don't register functions if we
are within a forall loop.
(optimize_namespace): Set forall_level to 0 before entry.
(gfc_code_walker): Increase/decrease forall_level.
2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50564
* gfortran.dg/forall_15.f90: New test case.
From-SVN: r179770
Benjamin Kosnik [Mon, 10 Oct 2011 19:03:39 +0000 (19:03 +0000)]
re PR libstdc++/49818 (libsupc++ does not export __cxa_get_globals or related functions)
2011-10-10 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/49818
* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
* testsuite/util/testsuite_abi.cc: Same.
* libsupc++/unwind-cxx.h: Move required eh API...
* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
Use _GLIBCXX_NOTHROW.
* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
* libsupc++/eh_catch.cc: Same.
* libsupc++/eh_globals.cc: Same.
* libsupc++/eh_type.cc: Same.
From-SVN: r179769
Aldy Hernandez [Mon, 10 Oct 2011 18:32:07 +0000 (18:32 +0000)]
simulate-thread.gdb: Call wrappers for *other_threads() and *final_verify().
* gcc.dg/simulate-thread/simulate-thread.gdb: Call
wrappers for *other_threads() and *final_verify().
* gcc.dg/simulate-thread/simulate-thread.h
(simulate_thread_wrapper_other_threads): New.
(simulate_thread_wrapper_final_verify): New.
Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
From-SVN: r179768
Uros Bizjak [Mon, 10 Oct 2011 18:23:30 +0000 (20:23 +0200)]
gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
* lib/gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
From-SVN: r179767
Georg-Johann Lay [Mon, 10 Oct 2011 17:25:48 +0000 (17:25 +0000)]
avr.c (avr_option_override): Set flag_omit_frame_pointer to 0 if frame pointer is needed for unwinding.
* config/avr/avr.c (avr_option_override): Set
flag_omit_frame_pointer to 0 if frame pointer is needed for
unwinding.
From-SVN: r179765
Uros Bizjak [Mon, 10 Oct 2011 17:07:56 +0000 (19:07 +0200)]
* ChangeLog: Add PR number.
From-SVN: r179764
Uros Bizjak [Mon, 10 Oct 2011 17:04:41 +0000 (19:04 +0200)]
re PR bootstrap/50665 (Bootstrap failure)
PR bootstrap/50665
* optabs.h (DOI_vec_perm): Rename from OTI_vec_perm. Move from enum
optab_index to enum direct_optab_index.
(vec_perm_optab): Update.
From-SVN: r179763
Janis Johnson [Mon, 10 Oct 2011 16:41:12 +0000 (16:41 +0000)]
* gcc.dg/graphite/id-pr46845.c: Include powerpc for warning options.
From-SVN: r179762
Anatoly Sokolov [Mon, 10 Oct 2011 16:39:26 +0000 (20:39 +0400)]
cris.c (cris_preferred_reload_class): New function.
* config/cris/cris.c (cris_preferred_reload_class): New function.
(TARGET_PREFERRED_RELOAD_CLASS): Define.
* config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
From-SVN: r179761
Georg-Johann Lay [Mon, 10 Oct 2011 16:31:22 +0000 (16:31 +0000)]
avr.md (*tablejump_rjmp): Change insn condition to !AVR_HAVE_JMP_CALL.
* config/avr/avr.md (*tablejump_rjmp): Change insn condition to
!AVR_HAVE_JMP_CALL.
(*tablejump_lib): Change insn condition to AVR_HAVE_JMP_CALL.
(*tablejump_enh, *tablejump): Remove insns.
* config/avr/libgcc.S (__tablejump__): Use RET instead of EIND +
EIJMP for indirect jump. Use LPM Z+ where available.
From-SVN: r179760
Richard Henderson [Mon, 10 Oct 2011 16:22:21 +0000 (09:22 -0700)]
* doc/md.texi (vec_perm_const): Fix typo in cindex.
From-SVN: r179759
Kirill Yukhin [Mon, 10 Oct 2011 16:07:15 +0000 (16:07 +0000)]
Fix a typo in x86 FMA.
gcc/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.
gcc/testsuite/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* gcc.target/i386/fma_1.h: New file.
* gcc.target/i386/fma_2.h: Likewise.
* gcc.target/i386/fma_3.h: Likewise.
* gcc.target/i386/fma_4.h: Likewise.
* gcc.target/i386/fma_5.h: Likewise.
* gcc.target/i386/fma_6.h: Likewise.
* gcc.target/i386/fma_double_1.c: Likewise.
* gcc.target/i386/fma_double_2.c: Likewise.
* gcc.target/i386/fma_double_3.c: Likewise.
* gcc.target/i386/fma_double_4.c: Likewise.
* gcc.target/i386/fma_double_5.c: Likewise.
* gcc.target/i386/fma_double_6.c: Likewise.
* gcc.target/i386/fma_float_1.c: Likewise.
* gcc.target/i386/fma_float_2.c: Likewise.
* gcc.target/i386/fma_float_3.c: Likewise.
* gcc.target/i386/fma_float_4.c: Likewise.
* gcc.target/i386/fma_float_5.c: Likewise.
* gcc.target/i386/fma_float_6.c: Likewise.
* gcc.target/i386/fma_main.h: Likewise.
* gcc.target/i386/fma_run_double_1.c: Likewise.
* gcc.target/i386/fma_run_double_2.c: Likewise.
* gcc.target/i386/fma_run_double_3.c: Likewise.
* gcc.target/i386/fma_run_double_4.c: Likewise.
* gcc.target/i386/fma_run_double_5.c: Likewise.
* gcc.target/i386/fma_run_double_6.c: Likewise.
* gcc.target/i386/fma_run_double_results_1.h: Likewise.
* gcc.target/i386/fma_run_double_results_2.h: Likewise.
* gcc.target/i386/fma_run_double_results_3.h: Likewise.
* gcc.target/i386/fma_run_double_results_4.h: Likewise.
* gcc.target/i386/fma_run_double_results_5.h: Likewise.
* gcc.target/i386/fma_run_double_results_6.h: Likewise.
* gcc.target/i386/fma_run_float_1.c: Likewise.
* gcc.target/i386/fma_run_float_2.c: Likewise.
* gcc.target/i386/fma_run_float_3.c: Likewise.
* gcc.target/i386/fma_run_float_4.c: Likewise.
* gcc.target/i386/fma_run_float_5.c: Likewise.
* gcc.target/i386/fma_run_float_6.c: Likewise.
* gcc.target/i386/fma_run_float_results_1.h: Likewise.
* gcc.target/i386/fma_run_float_results_2.h: Likewise.
* gcc.target/i386/fma_run_float_results_3.h: Likewise.
* gcc.target/i386/fma_run_float_results_4.h: Likewise.
* gcc.target/i386/fma_run_float_results_5.h: Likewise.
* gcc.target/i386/fma_run_float_results_6.h: Likewise.
* gcc.target/i386/l_fma_1.h: Likewise.
* gcc.target/i386/l_fma_2.h: Likewise.
* gcc.target/i386/l_fma_3.h: Likewise.
* gcc.target/i386/l_fma_4.h: Likewise.
* gcc.target/i386/l_fma_5.h: Likewise.
* gcc.target/i386/l_fma_6.h: Likewise.
* gcc.target/i386/l_fma_double_1.c: Likewise.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
* gcc.target/i386/l_fma_main.h: Likewise.
* gcc.target/i386/l_fma_run_double_1.c: Likewise.
* gcc.target/i386/l_fma_run_double_2.c: Likewise.
* gcc.target/i386/l_fma_run_double_3.c: Likewise.
* gcc.target/i386/l_fma_run_double_4.c: Likewise.
* gcc.target/i386/l_fma_run_double_5.c: Likewise.
* gcc.target/i386/l_fma_run_double_6.c: Likewise.
* gcc.target/i386/l_fma_run_float_1.c: Likewise.
* gcc.target/i386/l_fma_run_float_2.c: Likewise.
* gcc.target/i386/l_fma_run_float_3.c: Likewise.
* gcc.target/i386/l_fma_run_float_4.c: Likewise.
* gcc.target/i386/l_fma_run_float_5.c: Likewise.
* gcc.target/i386/l_fma_run_float_6.c: Likewise.
Co-Authored-By: Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
From-SVN: r179758
Richard Guenther [Mon, 10 Oct 2011 15:45:53 +0000 (15:45 +0000)]
re PR tree-optimization/50389 (ICE: in execute_todo, at passes.c:1730 with -O -freorder-blocks -ftracer and __builtin___memcpy_chk())
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50389
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
mark symbols for renaming. Append the VUSE to all statements
that possibly can have one.
* gcc.dg/torture/pr50389.c: New testcase.
From-SVN: r179757
Richard Guenther [Mon, 10 Oct 2011 15:42:28 +0000 (15:42 +0000)]
ipa-split.c (pass_split_functions): Add verification TODOs.
2011-10-10 Richard Guenther <rguenther@suse.de>
* ipa-split.c (pass_split_functions): Add verification TODOs.
(pass_feedback_split_functions): Likewise.
From-SVN: r179756
Richard Guenther [Mon, 10 Oct 2011 14:25:34 +0000 (14:25 +0000)]
re PR middle-end/50195 (Linking time error with -fast-math -O0)
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50195
* fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
only when optimizing.
* gcc.dg/builtins-47.c: Optimize.
From-SVN: r179752
Aldy Hernandez [Mon, 10 Oct 2011 13:42:41 +0000 (13:42 +0000)]
gcc-simulate-thread.exp: New.
* lib/gcc-simulate-thread.exp: New.
* gcc.dg/simulate-thread/guality.h: New.
* gcc.dg/simulate-thread/simulate-thread.h: New.
* gcc.dg/simulate-thread/simulate-thread.exp: New.
* gcc.dg/simulate-thread/simulate-thread.gdb: New.
* gcc.dg/simulate-thread/README: New.
* g++.dg/simulate-thread/guality.h: New.
* g++.dg/simulate-thread/simulate-thread.h: New.
* g++.dg/simulate-thread/simulate-thread.exp: New.
* g++.dg/simulate-thread/simulate-thread.gdb: New.
* c-c++-common/cxxbitfields-2.c: Remove.
* c-c++-common/cxxbitfields.c: Remove.
* c-c++-common/cxxbitfields-4.c: Remove.
* c-c++-common/cxxbitfields-5.c: Remove.
* c-c++-common/simulate-thread/bitfields-1.c: New.
* c-c++-common/simulate-thread/bitfields-2.c: New.
* c-c++-common/simulate-thread/bitfields-3.c: New.
* c-c++-common/simulate-thread/bitfields-4.c: New.
From-SVN: r179751
Nick Clifton [Mon, 10 Oct 2011 13:31:03 +0000 (13:31 +0000)]
re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REGNUM and checking enabled in rx backend)
PR middle-end/49801
* compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
df_get_live_out instead of accessing the bitmaps directly.
(execute_compare_elim_after_reload): Remove calls to df_set_flags,
df_live_add_problem and df_analyze.
From-SVN: r179749
Michael Matz [Mon, 10 Oct 2011 11:59:29 +0000 (11:59 +0000)]
re PR middle-end/50638 (emulated TLS fails)
PR middle-end/50638
* tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
From-SVN: r179745
Richard Sandiford [Mon, 10 Oct 2011 11:42:55 +0000 (11:42 +0000)]
modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
gcc/
* modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
(SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
(node_sched_params): Remove first_reg_move and nreg_moves.
(ps_num_consecutive_stages, extend_node_sched_params): New functions.
(update_node_sched_params): Move up file.
(print_node_sched_params): Print the stage. Don't dump info related
to first_reg_move and nreg_moves.
(set_columns_for_row): New function.
(set_columns_for_ps): Move up file and use set_columns_for_row.
(schedule_reg_move): New function.
(schedule_reg_moves): Call extend_node_sched_params and
schedule_reg_move. Extend size of uses bitmap. Initialize
num_consecutive_stages. Return false if a move could not be
scheduled.
(apply_reg_moves): Don't emit moves here.
(permute_partial_schedule): Handle register moves.
(duplicate_insns_of_cycles): Remove for_prolog. Emit moves according
to the same stage-count test as ddg nodes.
(generate_prolog_epilog): Update calls accordingly.
(sms_schedule): Allow move-scheduling to add a new first stage.
From-SVN: r179744
Richard Sandiford [Mon, 10 Oct 2011 11:42:38 +0000 (11:42 +0000)]
modulo-sched.c (ps_insn): Adjust comment.
gcc/
* modulo-sched.c (ps_insn): Adjust comment.
(ps_reg_move_info): New structure.
(partial_schedule): Add reg_moves field.
(SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
(node_sched_params): Turn first_reg_move into an identifier.
(ps_reg_move): New function.
(ps_rtl_insn): Cope with register moves.
(ps_first_note): Adjust comment and assert that the instruction
isn't a register move.
(node_sched_params): Replace with...
(node_sched_param_vec): ...this vector.
(set_node_sched_params): Adjust accordingly.
(print_node_sched_params): Take a partial schedule instead of a ddg.
Use ps_rtl_insn and ps_reg_move.
(generate_reg_moves): Rename to...
(schedule_reg_moves): ...this. Remove rescan parameter. Record each
move in the partial schedule, but don't emit it here. Don't perform
register substitutions here either.
(apply_reg_moves): New function.
(duplicate_insns_of_cycles): Use register indices directly,
rather than finding instructions using PREV_INSN. Use ps_reg_move.
(sms_schedule): Call schedule_reg_moves before committing to
a partial schedule. Try the next ii if the schedule fails.
Use apply_reg_moves instead of generate_reg_moves. Adjust
call to print_node_sched_params. Free node_sched_param_vec
instead of node_sched_params.
(create_partial_schedule): Initialize reg_moves.
(free_partial_schedule): Free reg_moves.
From-SVN: r179743
Richard Sandiford [Mon, 10 Oct 2011 11:42:21 +0000 (11:42 +0000)]
modulo-sched.c (ps_insn): Replace node field with an identifier.
gcc/
* modulo-sched.c (ps_insn): Replace node field with an identifier.
(SCHED_ASAP): Replace with..
(NODE_ASAP): ...this macro.
(SCHED_PARAMS): New macro.
(SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
(SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
(node_sched_params): Remove asap.
(ps_rtl_insn, ps_first_note): New functions.
(set_node_sched_params): Use XCNEWVEC. Don't copy across the
asap values.
(print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
(generate_reg_moves): Pass ids to the SCHED_* macros.
(update_node_sched_params): Take a ps insn identifier rather than
a node as parameter. Use ps_rtl_insn.
(set_columns_for_ps): Update for above field and SCHED_* macro changes.
(permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
(optimize_sc): Update for above field and SCHED_* macro changes.
Update calls to try_scheduling_node_in_cycle and
update_node_sched_params.
(duplicate_insns_of_cycles): Adjust for above field and SCHED_*
macro changes. Use ps_rtl_insn and ps_first_note.
(sms_schedule): Pass ids to the SCHED_* macros.
(get_sched_window): Adjust for above field and SCHED_* macro changes.
Use NODE_ASAP instead of SCHED_ASAP.
(try_scheduling_node_in_cycle): Remove node parameter. Update
call to ps_add_node_check_conflicts. Pass ids to the SCHED_*
macros.
(sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
(ps_insert_empty_row): Adjust for above field changes.
(compute_split_row): Use ids rather than nodes.
(verify_partial_schedule): Adjust for above field changes.
(print_partial_schedule): Use ps_rtl_insn.
(create_ps_insn): Take an id rather than a node.
(ps_insn_find_column): Adjust for above field changes.
Use ps_rtl_insn.
(ps_insn_advance_column): Adjust for above field changes.
(add_node_to_ps): Remove node parameter. Update call to
create_ps_insn.
(ps_has_conflicts): Use ps_rtl_insn.
(ps_add_node_check_conflicts): Replace node parameter than an id.
From-SVN: r179742
Richard Sandiford [Mon, 10 Oct 2011 11:41:55 +0000 (11:41 +0000)]
modulo-sched.c (undo_replace_buff_elem): Delete.
gcc/
* modulo-sched.c (undo_replace_buff_elem): Delete.
(generate_reg_moves): Don't build and return an undo list.
(free_undo_replace_buff): Delete.
(sms_schedule): Adjust call to generate_reg_moves.
Don't call free_undo_replace_buff.
From-SVN: r179741
Matthias Klose [Mon, 10 Oct 2011 11:25:54 +0000 (11:25 +0000)]
m32c: Remove empty directory.
2011-10-10 Matthias Klose <doko@ubuntu.com>
* common/config/m32c: Remove empty directory.
From-SVN: r179740
Georg-Johann Lay [Mon, 10 Oct 2011 09:57:02 +0000 (09:57 +0000)]
avr.md (*mulhi3_enh): Treat squaring smarter.
* config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
From-SVN: r179739
Georg-Johann Lay [Mon, 10 Oct 2011 08:32:15 +0000 (08:32 +0000)]
re PR target/50652 ([avr] Incorrect data start value for atmega164a)
PR target/50652
* config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
atmega164a to 0x100.
From-SVN: r179737
GCC Administrator [Mon, 10 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179735
Paolo Carlini [Sun, 9 Oct 2011 23:20:39 +0000 (23:20 +0000)]
re PR c++/38980 (missing -Wformat warning on const char format string)
/cp
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* init.c (constant_value_1): Add bool parameter.
(decl_constant_value_safe): Add.
(integral_constant_value): Adjust.
(decl_constant_value): Adjust.
* cp-tree.h (decl_constant_value_safe): Declare.
* typeck.c (decay_conversion): Use decl_constant_value_safe.
* call.c (convert_like_real): Likewise.
/testsuite
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* g++.dg/warn/format5.C: New.
From-SVN: r179731
Eric Botcazou [Sun, 9 Oct 2011 21:39:12 +0000 (21:39 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make the replacement if the conversion to the LHS type is not useless.
* tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
the replacement if the conversion to the LHS type is not useless.
From-SVN: r179730
Tobias Burnus [Sun, 9 Oct 2011 19:37:47 +0000 (21:37 +0200)]
re PR fortran/45044 (Different named COMMON block size: No warning)
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* trans-common.c (translate_common): Fix -Walign-commons
check.
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
* gfortran.dg/common_16.f90: New.
From-SVN: r179729
Mikael Morin [Sun, 9 Oct 2011 16:59:42 +0000 (16:59 +0000)]
Fix dead e-mail address in ChangeLogs
From-SVN: r179728
Mikael Morin [Sun, 9 Oct 2011 16:48:25 +0000 (16:48 +0000)]
Fix bogus e-mail address in ChangeLogs
From-SVN: r179727
Mikael Morin [Sun, 9 Oct 2011 16:19:06 +0000 (18:19 +0200)]
interface.c (check_dummy_characteristics): Count dimensions starting from one in diagnostic.
* interface.c (check_dummy_characteristics): Count dimensions starting
from one in diagnostic.
From-SVN: r179726
Tobias Burnus [Sun, 9 Oct 2011 15:36:18 +0000 (17:36 +0200)]
Make-lang.in (F95_PARSER_OBJS, [...]): Add dependency on iso-c-binding.def and iso-fortran-env.def.
2011-10-09 Tobias Burnus <burnus@net-b.de>
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
dependency on iso-c-binding.def and iso-fortran-env.def.
* module.c (import_iso_c_binding_module): Add error when
explicitly importing a nonstandard symbol; extend standard-
depending loading.
* iso-c-binding.def: Add c_float128 and c_float128_complex
integer parameters (for -std=gnu).
* intrinsic.texi (ISO_C_Binding): Document them.
* symbol.c (generate_isocbinding_symbol): Change macros
to ignore GFC_STD_* data.
* trans-types.c (gfc_init_c_interop_kinds): Ditto; make
nonstatic and renamed from "init_c_interop_kinds".
(gfc_init_kinds): Don't call it
* trans-types.h (gfc_init_c_interop_kinds): Add prototype.
* f95-lang.c (gfc_init_decl_processing): Call it.
2011-10-09 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/iso_c_binding_param_1.f90: New.
* gfortran.dg/iso_c_binding_param_2.f90: New.
* gfortran.dg/c_sizeof_2.f90: Update dg-error.
From-SVN: r179725
Ira Rosen [Sun, 9 Oct 2011 15:09:00 +0000 (15:09 +0000)]
re PR tree-optimization/50635 (ICE on valid: segfault in vectorize_loops)
PR tree-optimization/50635
* tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
DEF_STMT to the list of statements to be replaced by the
pattern statements.
(vect_handle_widen_mult_by_const): Don't check TYPE_OUT.
From-SVN: r179724
Janus Weil [Sun, 9 Oct 2011 11:34:21 +0000 (13:34 +0200)]
re PR fortran/50659 ([F03] ICE with PROCEDURE statement)
2011-10-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/50659
* expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
2011-10-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/50659
* gfortran.dg/proc_decl_27.f90: New.
From-SVN: r179723
Anatoly Sokolov [Sun, 9 Oct 2011 11:09:59 +0000 (15:09 +0400)]
system.h: Commit forgotten hunk in previous patch.
* system.h: Commit forgotten hunk in previous patch.
(OUTPUT_ADDR_CONST_EXTRA): Poison.
From-SVN: r179722
Nicola Pero [Sun, 9 Oct 2011 10:29:50 +0000 (10:29 +0000)]
In libobjc/: 2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/49883
* init.c (__objc_exec_class): Work around a bug in clang's code
generation. Clang sets the class->info field to values different
from 0x1 or 0x2 (the only allowed values in the traditional GNU
Objective-C runtime ABI) to store some additional information, but
this breaks backwards compatibility. Wipe out all the bits in the
fields other than the first two upon loading a class.
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
* class.c (objc_lookup_class): Added back for compatibility with
clang which seems to emit calls to it.
From-SVN: r179721
Jakub Jelinek [Sun, 9 Oct 2011 09:35:23 +0000 (11:35 +0200)]
pt.c (reregister_specialization): Use htab_find instead of htab_find_slot with INSERT.
* pt.c (reregister_specialization): Use htab_find instead of
htab_find_slot with INSERT.
(maybe_process_partial_specialization, lookup_template_class_1): Change
slot variable type to void ** to avoid aliasing problems.
(register_specialization): Likewise. Use slot != NULL instead of
more expensive !optimize_specialization_lookup_p (tmpl) test.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r179719
Paolo Carlini [Sun, 9 Oct 2011 00:21:37 +0000 (00:21 +0000)]
re PR c++/34927 (Duplicate error message about abstract class)
2011-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34927
* typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
inform messages in case of cloned destructor.
From-SVN: r179718
GCC Administrator [Sun, 9 Oct 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r179717
Gerald Pfeifer [Sat, 8 Oct 2011 19:10:09 +0000 (19:10 +0000)]
Fix ChangeLog format for revision 177233.
From-SVN: r179712
Nicola Pero [Sat, 8 Oct 2011 17:52:06 +0000 (17:52 +0000)]
In libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-10-08 Richard Frith-Macdonald <rfm@gnu.org>
Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* sendmsg.c (__objc_send_initialize): If a class does not have an
+initialize method, search for an +initialize method in the
superclass and in the ancestor classes and execute the first one
that is found. This makes the GNU runtime behave in the same way
as the Apple/NeXT runtime with respect to +initialize methods and
subclassing.
In gcc/:
2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* doc/objc.texi (Garbage Collection): Updated example to protect
+initialize against execution in subclasses.
In gcc/testsuite/:
2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* objc/execute/initialize-1.m: New test.
From-SVN: r179711
Paul Thomas [Sat, 8 Oct 2011 10:18:51 +0000 (10:18 +0000)]
re PR fortran/47844 (Array stride ignored for pointer-valued function results)
2011-10-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47844
* trans-array.c (gfc_conv_array_index_offset): Use descriptor
stride for pointer function results.
2011-10-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47844
* gfortran.dg/pointer_function_result_1.f90 : New test.
From-SVN: r179710
GCC Administrator [Sat, 8 Oct 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r179707
Ian Lance Taylor [Fri, 7 Oct 2011 22:52:28 +0000 (22:52 +0000)]
* generic-morestack-thread.c: #include <errno.h>.
From-SVN: r179703
Ian Lance Taylor [Fri, 7 Oct 2011 22:51:11 +0000 (22:51 +0000)]
re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
PR target/46093
* generic-morestack.c (__generic_morestack): Make sure the segment
is large enough for both the stack frame and the copied
parameters.
From-SVN: r179702
Richard Henderson [Fri, 7 Oct 2011 22:41:48 +0000 (15:41 -0700)]
Rename vshuffle/vec_shuffle to vec_perm.
* doc/extend.texi (__builtin_shuffle): Improve the description to
include the modulus of the selector. Mention OpenCL.
* doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
* tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
* genopinit.c (optabs): Rename vshuffle to vec_perm.
* c-typeck.c (c_build_vec_perm_expr): Rename from
c_build_vec_shuffle_expr. Update for name changes.
* optabs.c (expand_vec_perm_expr_p): Rename from
expand_vec_shuffle_expr_p.
(expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
* optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
(vec_perm_optab): Rename from vshuffle_optab.
* expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
* config/i386/i386.c (ix86_expand_vec_perm): Rename from
ix86_expand_vshuffle.
* config/i386/i386-protos.h: Update.
* config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
(vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
From-SVN: r179701
Richard Henderson [Fri, 7 Oct 2011 22:12:18 +0000 (15:12 -0700)]
i386: Fixup last pblendw change.
Missed changing one predicate to AVX2. Add parenthesis
to avoid bootstrap -Werror.
From-SVN: r179700
Richard Henderson [Fri, 7 Oct 2011 21:07:10 +0000 (14:07 -0700)]
i386: Fix representation of 256-bit vpblendw.
From-SVN: r179697
Mikael Morin [Fri, 7 Oct 2011 20:56:31 +0000 (22:56 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
* trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
From-SVN: r179695
Mikael Morin [Fri, 7 Oct 2011 20:35:47 +0000 (22:35 +0200)]
trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
* trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
From-SVN: r179694
Mikael Morin [Fri, 7 Oct 2011 20:32:37 +0000 (22:32 +0200)]
trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
Remove conditions on coarray.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
From-SVN: r179693
Mikael Morin [Fri, 7 Oct 2011 20:29:27 +0000 (22:29 +0200)]
trans-array.c (gfc_conv_section_startstride): Remove coarray_last argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray_last
argument. Remove condition on coarray_last.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto.
From-SVN: r179692
Mikael Morin [Fri, 7 Oct 2011 20:26:11 +0000 (22:26 +0200)]
trans-array.c (gfc_walk_variable_expr): Remove scalar coarray handling.
* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
handling. Don't reset array ref's corank and codimensions' types
in the full array ref case. Update loop upper limit.
Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.
From-SVN: r179691
Mikael Morin [Fri, 7 Oct 2011 20:22:50 +0000 (22:22 +0200)]
trans.h (gfc_ss_info): Remove codimen field.
* trans.h (gfc_ss_info): Remove codimen field.
* trans-array.c (gfc_get_array_ss): Don't set codimen field.
(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
(gfc_trans_constant_array_constructor): Update loop upper limit.
(gfc_conv_ss_startstride): Don't set codimen field.
Don't get descriptor's cobounds.
(gfc_walk_variable_expr): Update dimension index.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Don't set codimen field
From-SVN: r179690
Mikael Morin [Fri, 7 Oct 2011 20:14:44 +0000 (22:14 +0200)]
trans.h (gfc_loopinfo): Remove codimen field.
* trans.h (gfc_loopinfo): Remove codimen field.
* trans-array.c (gfc_set_vector_loop_bounds,
gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
limit.
(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
codimension.
(gfc_start_scalarized_body): Update loop lower limit.
(gfc_conv_ss_startstride): Don't set loop's codimen field.
(gfc_conv_loop_setup): Remove unnecessary condition.
(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
From-SVN: r179689
Mikael Morin [Fri, 7 Oct 2011 20:05:35 +0000 (22:05 +0200)]
trans.h (gfc_ss): Remove data.temp.codimen field.
* trans.h (gfc_ss): Remove data.temp.codimen field.
* trans-array.c (gfc_conv_resolve_dependencies,
gfc_conv_expr_descriptor): Don't set temp's codimen field.
From-SVN: r179686
Mikael Morin [Fri, 7 Oct 2011 19:56:11 +0000 (21:56 +0200)]
resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array...
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
associated dimen_type) in the full array ref case.
From-SVN: r179685
Mikael Morin [Fri, 7 Oct 2011 19:52:34 +0000 (21:52 +0200)]
trans-intrinsic.c (walk_coarray): New function.
* trans-intrinsic.c (walk_coarray): New function.
(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
(trans-this_image, trans_image_index, conv_intrinsic_cobound):
Use walk_coarray.
From-SVN: r179684
Mikael Morin [Fri, 7 Oct 2011 19:47:07 +0000 (21:47 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
cobounds evaluation.
From-SVN: r179683
Mikael Morin [Fri, 7 Oct 2011 19:43:21 +0000 (21:43 +0200)]
trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
From-SVN: r179682
Mikael Morin [Fri, 7 Oct 2011 19:39:22 +0000 (21:39 +0200)]
trans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound.
* trans-array.c (gfc_conv_section_startstride): Move code to
evaluate_bound. Use evaluate_bound.
(evaluate_bound): New function.
From-SVN: r179681
Mikael Morin [Fri, 7 Oct 2011 19:36:20 +0000 (21:36 +0200)]
trans-array.c (gfc_conv_section_startstride): Update assertion to also accept coarrays.
* trans-array.c (gfc_conv_section_startstride): Update assertion to
also accept coarrays.
From-SVN: r179680
Mikael Morin [Fri, 7 Oct 2011 19:33:10 +0000 (21:33 +0200)]
trans-array.c (gfc_conv_section_startstride): Factor common array ref references.
* trans-array.c (gfc_conv_section_startstride): Factor common
array ref references.
From-SVN: r179679
Mikael Morin [Fri, 7 Oct 2011 19:28:55 +0000 (21:28 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen as argument to gfc_get_array_type_bounds.
* trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
loop.codimen as argument to gfc_get_array_type_bounds.
From-SVN: r179677
Mikael Morin [Fri, 7 Oct 2011 19:24:07 +0000 (21:24 +0200)]
trans-array.h (struct gfc_se): New flag want_coarray.
* trans-array.h (struct gfc_se): New flag want_coarray.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Set want_coarray.
* trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
earlier and without relying on the scalarizer.
From-SVN: r179676
Mikael Morin [Fri, 7 Oct 2011 19:14:07 +0000 (21:14 +0200)]
expr.c (gfc_get_corank): Return 0 if input expression is not a coarray.
* expr.c (gfc_get_corank): Return 0 if input expression is not a
coarray.
From-SVN: r179675
Mikael Morin [Fri, 7 Oct 2011 19:11:01 +0000 (21:11 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code.
* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
descriptor setup code.
From-SVN: r179674
Mikael Morin [Fri, 7 Oct 2011 19:07:04 +0000 (21:07 +0200)]
resolve.c (compare_spec_to_ref): Move coarray ref initialization code...
* resolve.c (compare_spec_to_ref): Move coarray ref initialization
code...
(resolve_array_ref): ... here.
From-SVN: r179672
Mikael Morin [Fri, 7 Oct 2011 19:02:36 +0000 (21:02 +0200)]
check.c (is_coarray): Remove.
* check.c (is_coarray): Remove.
(coarray_check): Use gfc_is_coarray.
From-SVN: r179671
Richard Henderson [Fri, 7 Oct 2011 18:19:50 +0000 (11:19 -0700)]
Delete incorrect representations of avx2 shifts.
* config/i386/i386.c (bdesc_args): Update code for
__builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256,
and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
(ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
* config/i386/sse.md (mode iterator V16): Add V2TI.
(mode iterator SSESCALARMODE): Use V2TI not V4DI.
(mode attr ssse3_avx2): Add V2TI.
(avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.
From-SVN: r179668
David S. Miller [Fri, 7 Oct 2011 17:23:47 +0000 (10:23 -0700)]
Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.
gcc/
PR 50655
* configure.ac: Add .register directives to VIS3 test.
* configure: Regenerate.
gcc/testsuite/
PR 50655
* gcc.target/sparc/sparc.exp: Add vis3 target test.
* gcc.target/sparc/cmask.c: Use it.
* gcc.target/sparc/fhalve.c: Likewise.
* gcc.target/sparc/fnegop.c: Likewise.
* gcc.target/sparc/fpadds.c: Likewise.
* gcc.target/sparc/fshift.c: Likewise.
* gcc.target/sparc/fucmp.c: Likewise.
* gcc.target/sparc/lzd.c: Likewise.
* gcc.target/sparc/vis3misc.c: Likewise.
* gcc.target/sparc/xmul.c: Likewise.
From-SVN: r179667
Richard Henderson [Fri, 7 Oct 2011 17:01:43 +0000 (10:01 -0700)]
Fix avx256 test cases for AVX2.
From-SVN: r179666
Jonathan Wakely [Fri, 7 Oct 2011 16:20:31 +0000 (16:20 +0000)]
testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.
2011-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
propagate_on_container_swap typedef for C++0x testing.
From-SVN: r179665
Richard Henderson [Fri, 7 Oct 2011 15:43:12 +0000 (08:43 -0700)]
* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
From-SVN: r179664
Richard Henderson [Fri, 7 Oct 2011 15:35:49 +0000 (08:35 -0700)]
re PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in fold-const.c, can't build with `--enable-checking=fold')
PR 49752
* fold-const.c (fold_checksum_tree): Remove out-of-date assert.
From-SVN: r179663
Andrew Stubbs [Fri, 7 Oct 2011 15:00:06 +0000 (15:00 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
From-SVN: r179662
Andrew Stubbs [Fri, 7 Oct 2011 14:59:37 +0000 (14:59 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
From-SVN: r179661