]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 30 Jul 2016 18:18:49 +0000 (18:18 +0000)] 
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/70006
* io.c (gfc_resolve_dt): Use correct locus.
* resolve.c (resolve_branch): Ditto.

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/70006
* gfortran.dg/pr70006.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238905 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 30 Jul 2016 16:19:14 +0000 (16:19 +0000)] 
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71730
* decl.c (char_len_param_value): Check return value of
gfc_reduce_init_expr().

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71730
* gfortran.dg/pr71730.f90: New test.
* gfortran.dg/bounds_check_strlen_2.f90: Fix invalid code.
* gfortran.dg/array_constructor_27.f03: Update dg-error message.
* gfortran.dg/array_constructor_26.f03: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238904 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 30 Jul 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238902 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 29 Jul 2016 20:15:54 +0000 (20:15 +0000)] 
2016-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/_divkc3.c: Add copyright/license boilerplate.
* config/rs6000/_mulkc3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238894 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Implement C++17 variable templates for type traits.
ville [Fri, 29 Jul 2016 19:01:39 +0000 (19:01 +0000)] 
Implement C++17 variable templates for type traits.
* include/std/chrono (treat_as_floating_point_v): New.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v)
(ratio_less_v, ratio_less_equal_v, ratio_greater_v)
(ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v): Likewise.
* type_traits (conjunction_v, disjunction_v, negation_v)
(is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
(is_array_v, is_pointer_v, is_lvalue_reference_v)
(is_rvalue_reference_v, is_member_object_pointer_v)
(is_member_function_pointer_v, is_enum_v, is_union_v)
(is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
(is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
(is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
(is_trivially_copyable_v, is_standard_layout_v)
(is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
(is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
(is_constructible_v, is_default_constructible_v)
(is_copy_constructible_v, is_move_constructible_v)
(is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
(is_destructible_v, is_trivially_constructible_v)
(is_trivially_default_constructible_v)
  (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
(is_trivially_assignable_v, is_trivially_copy_assignable_v)
(is_trivially_move_assignable_v, is_trivially_destructible_v)
(is_nothrow_constructible_v, is_nothrow_default_constructible_v)
(is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
(is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
(is_nothrow_move_assignable_v, is_nothrow_destructible_v)
(has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
(is_same_v, is_base_of_v, is_convertible_v): Likewise.
* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
Likewise.
* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
* testsuite/20_util/variable_templates_for_traits.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238892 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 29 Jul 2016 18:29:01 +0000 (18:29 +0000)] 
2016-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* g++.dg/pr70098.C: Remove XFAIL for powerpc64_no_dm.
* gcc.target/powerpc/pr71763.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238891 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71926
mpolacek [Fri, 29 Jul 2016 17:39:39 +0000 (17:39 +0000)] 
PR c/71926
* c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
parentheses warning.

* semantics.c (maybe_convert_cond): Use the location of COND for the
parentheses warning.

* g++.dg/warn/Wparentheses-30.C: New test.
* gcc.dg/Wparentheses-14.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238886 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71573
mpolacek [Fri, 29 Jul 2016 17:36:46 +0000 (17:36 +0000)] 
PR c/71573
* c-decl.c (implicitly_declare): Return decl early not only for
error_mark_nodes, but for anything that is not a FUNCTION_DECL.

* gcc.dg/noncompile/pr71573.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238885 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71853
mpolacek [Fri, 29 Jul 2016 17:34:55 +0000 (17:34 +0000)] 
PR c/71853
* c-parser.c (c_parser_switch_statement): Initialize ce.original_type
to error node for invalid code.

* gcc.dg/noncompile/pr71853.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238884 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71742
mpolacek [Fri, 29 Jul 2016 17:32:27 +0000 (17:32 +0000)] 
PR c/71742
* c-decl.c (finish_struct): Rephrase an error message.

* gcc.dg/940510-1.c: Adjust dg-error.
* gcc.dg/c99-flex-array-1.c: Likewise.
* gcc.dg/c99-flex-array-typedef-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238883 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoinclude/
aldyh [Fri, 29 Jul 2016 16:40:55 +0000 (16:40 +0000)] 
include/
* libiberty.h (MAX_ALLOCA_SIZE): New macro.

libiberty/
* make-relative-prefix.c (make_relative_prefix_1): Fall back to
malloc if alloca argument is greater than MAX_ALLOCA_SIZE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238880 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
gjl [Fri, 29 Jul 2016 16:09:39 +0000 (16:09 +0000)] 
* config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
when testing for compares against constants of the form 0xabab.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238879 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/pr59833.c: Use dg-add-options ieee.
uros [Fri, 29 Jul 2016 16:07:09 +0000 (16:07 +0000)] 
* gcc.dg/pr59833.c: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238878 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/57558
amker [Fri, 29 Jul 2016 15:48:25 +0000 (15:48 +0000)] 
PR tree-optimization/57558
* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
function.
(vect_loop_versioning): Support versioning with niter assumptions.
* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
(vect_get_loop_niters): New parameter.  Reimplement to support
assumptions in loop niter info.
(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
Support loop versioning for niters.
* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
(vect_free_loop_info_assumptions): New function.
(vectorize_loops): Free loop niter info for loops with flag
LOOP_F_ASSUMPTIONS set if vectorization failed.
* tree-vectorizer.h (struct _loop_vec_info): New field
num_iters_assumptions.
(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
(LOOP_REQUIRES_VERSIONING): New macro.
(vect_free_loop_info_assumptions): New decl.

gcc/testsuite
PR tree-optimization/57558
* gcc.dg/vect/pr57558-1.c: New test.
* gcc.dg/vect/pr57558-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238877 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * cfgloop.h (struct loop): New field constraints.
amker [Fri, 29 Jul 2016 15:44:00 +0000 (15:44 +0000)] 
* cfgloop.h (struct loop): New field constraints.
(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
functions.
* cfgloop.c (alloc_loop): Initialize new field.
* cfgloopmanip.c (copy_loop_info): Copy constraints.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Adjust niter analysis wrto loop constraints.
* doc/loop.texi (@node Number of iterations): Add description for loop
constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238876 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Fri, 29 Jul 2016 15:37:23 +0000 (15:37 +0000)] 
2016-07-29  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

testsuite/
gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump
to scan forwprop1 dump pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238874 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * decl.c (build_enumerator): Tweak diagnostic.
jason [Fri, 29 Jul 2016 15:10:58 +0000 (15:10 +0000)] 
* decl.c (build_enumerator): Tweak diagnostic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238873 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/avr.md: Fix " in comment.
gjl [Fri, 29 Jul 2016 14:54:04 +0000 (14:54 +0000)] 
* config/avr/avr.md: Fix " in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238871 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Jul 2016 14:49:03 +0000 (14:49 +0000)] 
2016-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51488
* g++.dg/template/pr51488.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238870 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/72457 - ICE with list-value-initialized base.
jason [Fri, 29 Jul 2016 14:03:26 +0000 (14:03 +0000)] 
PR c++/72457 - ICE with list-value-initialized base.

* init.c (expand_aggr_init_1): Only handle value-init of bases.
* constexpr.c (build_data_member_initialization): Handle multiple
initializers for the same field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238867 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/7652
mpolacek [Fri, 29 Jul 2016 12:39:25 +0000 (12:39 +0000)] 
PR c/7652
* config/i386/i386.c (ix86_expand_args_builtin): Add break.
(ix86_expand_round_builtin): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238864 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Fri, 29 Jul 2016 12:34:21 +0000 (12:34 +0000)] 
gcc/
PR rtl-optimization/71976
* combine.c (get_last_value): Return 0 if the argument for which
the function is called has a wider mode than the recorded value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238863 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71969
mpolacek [Fri, 29 Jul 2016 12:00:43 +0000 (12:00 +0000)] 
PR c/71969
* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
on GNU extern inline functions.

* gcc.dg/alias-11.c (add_cfi, new_cfi): Change __inline__ to
static __inline__.
* gcc.dg/pr71969-1.c: New test.
* gcc.dg/pr71969-2.c: New test.
* gcc.dg/pr71969-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238862 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71583
mpolacek [Fri, 29 Jul 2016 11:48:36 +0000 (11:48 +0000)] 
PR c/71583
* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
check expr.value.

* gcc.dg/noncompile/pr71583.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238861 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUpdate libstdc++ baseline symbols for aarch64, ia64, m68k
schwab [Fri, 29 Jul 2016 11:41:05 +0000 (11:41 +0000)] 
Update libstdc++ baseline symbols for aarch64, ia64, m68k

* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238860 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71574
mpolacek [Fri, 29 Jul 2016 11:28:57 +0000 (11:28 +0000)] 
PR c/71574
* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.

* c-c++-common/pr71574.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238859 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/7652
mpolacek [Fri, 29 Jul 2016 11:16:20 +0000 (11:16 +0000)] 
PR c/7652
* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238856 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUpdate libstdc++ docs for library version history
redi [Fri, 29 Jul 2016 10:55:03 +0000 (10:55 +0000)] 
Update libstdc++ docs for library version history

* doc/xml/manual/abi.xml: Document 6.0.22 library version.
* doc/html/manual/abi.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238855 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoNew libstdc++ symbol version for new basic_string symbols
redi [Fri, 29 Jul 2016 10:42:17 +0000 (10:42 +0000)] 
New libstdc++ symbol version for new basic_string symbols

* acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
* config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
symbols.
* configure: Regenerate.
* testsuite/util/testsuite_abi.cc: Add new symbol version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238853 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUpdate libstdc++ baseline symbols for x86 and ppc
redi [Fri, 29 Jul 2016 10:42:06 +0000 (10:42 +0000)] 
Update libstdc++ baseline symbols for x86 and ppc

* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
Likewise.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238852 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
gjl [Fri, 29 Jul 2016 09:26:52 +0000 (09:26 +0000)] 
* config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
introduced in r238381.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238851 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear
gjl [Fri, 29 Jul 2016 09:14:02 +0000 (09:14 +0000)] 
* config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear
zero_reg as previous call to __umulhisi3 already cleared it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238850 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogfortran: Fix allocation of diagnostig string (was too small).
krebbel [Fri, 29 Jul 2016 08:04:01 +0000 (08:04 +0000)] 
gfortran: Fix allocation of diagnostig string (was too small).

The attached patch fixes an out of bound write to memory allocated
with alloca() on the stack.  This rarely ever happened because on
one hand -fbounds-check needs to be enabled, and on the other hand
alloca() used to allocate a few bytes extra most of the time so
most of the time the excess write did no harm.

gcc/fortran/ChangeLog:

* trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
message (was too small).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238849 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/ChangeLog:
kugan [Fri, 29 Jul 2016 00:35:23 +0000 (00:35 +0000)] 
gcc/ChangeLog:

2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/68217
* tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
& sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].

gcc/testsuite/ChangeLog:

2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/68217
* gcc.dg/pr68217.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238846 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 29 Jul 2016 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238845 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Thu, 28 Jul 2016 23:12:23 +0000 (23:12 +0000)] 
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71067
* decl.c (match_data_constant): On error, set 'result' to NULL.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71067
* gfortran.dg/pr71067_1.f90: New test.
* gfortran.dg/pr71067_2.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238842 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * sv.po: Update.
jsm28 [Thu, 28 Jul 2016 21:15:06 +0000 (21:15 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238839 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Thu, 28 Jul 2016 21:02:06 +0000 (21:02 +0000)] 
[gcc]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
New declaration.
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Add support for vec_extract of vector double or vector long having
a variable element number on 64-bit ISA 2.07 systems or newer.
* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
Likewise.
(rs6000_split_vec_extract_var): New function to split a
vec_extract built-in function with variable element number.
(rtx_is_swappable_p): Variable vec_extracts and shifts are not
swappable.
* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
(UNSPEC_VSX_EXTRACT): Likewise.
(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
direct move instructions to be generated on 64-bit ISA 2.07
systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
instruction.
(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
arguments for vec_extract variable element.
(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
vec_extract with variable element on V2DFmode and V2DImode
vectors.
* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
-mupper-regs-df requirement, since it isn't needed.
(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
do direct moves on 64-bit systems, which allows optimization of
vec_extract on 64-bit ISA 2.07 systems and newer.

[gcc/testsuite]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-extract-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238838 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix DR 438 container tests to pass in C++98 mode
redi [Thu, 28 Jul 2016 21:00:45 +0000 (21:00 +0000)] 
Fix DR 438 container tests to pass in C++98 mode

* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-prune-output pattern for error in C++98 mode.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238837 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix std::vector test to pass in C++98 mode
redi [Thu, 28 Jul 2016 21:00:39 +0000 (21:00 +0000)] 
Fix std::vector test to pass in C++98 mode

* testsuite/23_containers/vector/check_construct_destroy.cc: Account
for different construct/destroy counts in C++98 mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse dg-additional-options in libstdc++ tests
redi [Thu, 28 Jul 2016 21:00:34 +0000 (21:00 +0000)] 
Use dg-additional-options in libstdc++ tests

* testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
dg-options to dg-additional-options so that default options are used.
* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
Likewise.
* testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
Likewise.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Use dg-additional-options instead of repeating the common options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238835 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix invalid dg-do directives in libstdc++ tests
redi [Thu, 28 Jul 2016 21:00:19 +0000 (21:00 +0000)] 
Fix invalid dg-do directives in libstdc++ tests

* testsuite/22_locale/conversions/string/1.cc: Remove unintended
dg-do compile directive.
* testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
dg-do directive.
* testsuite/26_numerics/valarray/const_bracket.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238834 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Thu, 28 Jul 2016 19:04:12 +0000 (19:04 +0000)] 
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71799
* resolve.c(gfc_resolve_iterator): Failure of type conversion need
not ICE.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71799
* gfortran.dg/pr71799.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238830 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Thu, 28 Jul 2016 18:43:29 +0000 (18:43 +0000)] 
/cp
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71665
* decl.c (build_enumerator): Check the type of the enumerator before
calling cxx_constant_value.

/testsuite
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71665
* g++.dg/cpp0x/pr71665-1.C: New.
* g++.dg/cpp0x/pr71665-2.C: Likewise.
* g++.dg/cpp0x/enum29.C: Adjust dg-error string.
* g++.dg/ext/label10.C: Likewise.
* g++.dg/parse/constant5.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238828 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Thu, 28 Jul 2016 17:48:54 +0000 (17:48 +0000)] 
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71859
* check.c(numeric_check): Prevent ICE.  Issue error for invalid
subroutine as an actual argument when numeric argument is expected.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71859
* gfortran.dg/pr71859.f90: New test.
* gfortran.dg/intrinsic_numeric_arg.f: Update error message.
* gfortran.dg/coarray_collectives_1.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238825 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/7652
mpolacek [Thu, 28 Jul 2016 15:46:07 +0000 (15:46 +0000)] 
PR c/7652
* jcf-dump.c (print_constant): Add break.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238824 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Implement std::string_view and P0254r2,
ville [Thu, 28 Jul 2016 15:15:26 +0000 (15:15 +0000)] 
Implement std::string_view and P0254r2,
Integrating std::string_view and std::string.
* include/Makefile.am: Add string_view and string_view.tcc
to the exported headers.
* include/Makefile.in: Likewise.
* include/bits/basic_string.h: Include <string_view> in C++17 mode.
(__sv_type): New.
(basic_string(__sv_type, const _Alloc&)): Likewise.
(operator=(__sv_type)): Likewise.
(operator __sv_type()): Likewise.
(operator+=(__sv_type)): Likewise.
(append(__sv_type __sv)): Likewise.
(append(__sv_type, size_type, size_type)): Likewise.
(assign(__sv_type)): Likewise.
(assign(__sv_type, size_type, size_type)): Likewise.
(insert(size_type, __sv_type)): Likewise.
(insert(size_type, __sv_type, size_type, size_type)): Likewise.
(replace(size_type, size_type, __sv_type)): Likewise.
(replace(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
(replace(const_iterator, const_iterator, __sv_type)): Likewise.
(find(__sv_type, size_type)): Likewise.
(rfind(__sv_type, size_type)): Likewise.
(find_first_of(__sv_type, size_type)): Likewise.
(find_last_of(__sv_type, size_type)): Likewise.
(find_first_not_of(__sv_type, size_type)): Likewise.
(find_last_not_of(__sv_type, size_type)): Likewise.
(compare(__sv_type)): Likewise.
(compare(size_type, size_type, __sv_type)): Likewise.
(compare(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
* include/bits/string_view.tcc: New.
* include/std/string_view: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/include.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238823 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
pault [Thu, 28 Jul 2016 14:47:02 +0000 (14:47 +0000)] 
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
    Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71883
* frontend-passes.c (gfc_run_passes): Bail out if there are any
errors.
* error.c (gfc_internal_error): If there are any errors in the
buffer, exit with EXIT_FAILURE.

2016-07-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/71883
* gfortran.dg/pr71883.f90 : New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238822 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoOn AArch64 the UXTB and UXTH instructions are aliases of UBFM,
wilco [Thu, 28 Jul 2016 14:34:41 +0000 (14:34 +0000)] 
On AArch64 the UXTB and UXTH instructions are aliases of UBFM,
which does a shift as part of its operation. An AND immediate is a
simpler operation, and might be faster on some implementations, so
it is better to emit this this instead of UBFM.

Benchmarking showed no difference on implementations where UBFM has
the same performance as AND, and minor speedups across several
benchmarks on an implementation where UBFM is slower than AND.

Bootstrapped and tested on aarch64-none-elf.

    gcc/
* config/aarch64/aarch64.md
(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
statement and type.
(<optab>qihi2_aarch64): Likewise, and split into two.
(extendqihi2_aarch64): New.
(zero_extendqihi2_aarch64): New.
* config/aarch64/iterators.md (ldrxt): Remove.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
uxtb/uxth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238821 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoThis patchset improves zero extend costs and code generation.
wilco [Thu, 28 Jul 2016 14:29:28 +0000 (14:29 +0000)] 
This patchset improves zero extend costs and code generation.

When zero extending a 32-bit register, we emit a "mov", but currently
report the cost of the "mov" incorrectly.

In terms of speed, we currently say the cost is that of an extend
operation. But the cost of a "mov" is the cost of 1 instruction, so fix
that.

In terms of size, we currently say that the "mov" takes 0 instructions.
Fix it by changing it to 1.

Bootstrapped and tested on aarch64-none-elf.

    gcc/
* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238820 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoThis patch improves the readability of the prolog and epilog code by moving
wilco [Thu, 28 Jul 2016 14:21:57 +0000 (14:21 +0000)] 
This patch improves the readability of the prolog and epilog code by moving
some code into separate functions.  There is no difference in generated code.

gcc/
* config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
(aarch64_push_reg): New function to push 1 or 2 registers.
(aarch64_pop_reg): New function to pop 1 or 2 registers.
(aarch64_expand_prologue): Use aarch64_push_regs.
(aarch64_expand_epilogue): Use aarch64_pop_regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238818 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Thu, 28 Jul 2016 14:19:18 +0000 (14:19 +0000)] 
gcc/

2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
attribute instead of REF_LOOP and use it.
(ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
set it for Loops having non-zero safelen attribute.
(ref_indep_loop_p): Pass zero as initial value for safelen.

gcc/testsuite/

2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
        * g++.dg/vect/pr70729-nest.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238817 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Thu, 28 Jul 2016 12:58:37 +0000 (12:58 +0000)] 
gcc/

PR middle-end/72657
PR target/72683
* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
call using chkp_gimple_call_builtin_p.
(chkp_copy_bounds_for_assign): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238816 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH] Revert Revert r238497 because of PR 71961.
renlin [Thu, 28 Jul 2016 11:21:53 +0000 (11:21 +0000)] 
[PATCH] Revert Revert r238497 because of PR 71961.

This patch reverts the change for PR 71902 since it causes 178.gagel
miscompile in spec2000 as reported in PR 71961 which was observed in
x86_64, aarch64, powerpc64.

gcc/fortran/ChangeLog:

2016-07-28  Renlin Li  <renlin.li@arm.com>

Revert
2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
if identical is true and two array element references differ.
(gfc_dep_resovler):  Move most of the code to dep_ref.
(dep_ref):  New function.
* frontend-passes.c (realloc_string_callback):  Name temporary
variable "realloc_string".

gcc/testsuite/ChangeLog:

2016-07-28  Renlin Li  <renlin.li@arm.com>

Revert
2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* gfortran.dg/dependency_47.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238815 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomerge adjust_cost and adjust_cost_2 target hooks
tbsaunde [Thu, 28 Jul 2016 11:01:49 +0000 (11:01 +0000)] 
merge adjust_cost and adjust_cost_2 target hooks

gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config/alpha/alpha.c (alpha_adjust_cost): Adjust.
* config/arm/arm-protos.h (struct tune_params): Likewise.
* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
(cortex_a9_sched_adjust_cost): Likewise.
(fa726te_sched_adjust_cost): Likewise.
(arm_adjust_cost): Likewise.
* config/bfin/bfin.c (bfin_adjust_cost): Likewise.
* config/c6x/c6x.c (c6x_adjust_cost): Likewise.
* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
* config/i386/i386.c (ix86_adjust_cost): Likewise.
* config/ia64/ia64.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mep/mep.c (mep_adjust_cost): Likewise.
* config/microblaze/microblaze.c (microblaze_adjust_cost):
* Likewise.
* config/mips/mips.c (mips_adjust_cost): Likewise.
* config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
* Likewise.
* config/pa/pa.c (pa_adjust_cost): Likewise.
* config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
(rs6000_debug_adjust_cost): Likewise.
* config/sh/sh.c (sh_adjust_cost): Likewise.
* config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
(hypersparc_adjust_cost): Likewise.
(sparc_adjust_cost): Likewise.
* config/spu/spu.c (spu_sched_adjust_cost): Likewise.
* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
* config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
* Likewise.
* config/visium/visium.c (visium_adjust_cost): Likewise.
* doc/tm.texi: Regenerate.
* haifa-sched.c (dep_cost_1): Adjust.
* target.def: Merge adjust_cost and adjust_cost_2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238814 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agohaifa-sched.c: make twins a auto_vec<rtx_insn *>
tbsaunde [Thu, 28 Jul 2016 11:01:39 +0000 (11:01 +0000)] 
haifa-sched.c: make twins a auto_vec<rtx_insn *>

gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* haifa-sched.c (add_to_speculative_block): Make twins a vector.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238813 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomake pattern_regs a vec
tbsaunde [Thu, 28 Jul 2016 11:01:34 +0000 (11:01 +0000)] 
make pattern_regs a vec

gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* store-motion.c (struct st_expr): Make pattern_regs a vector.
(extract_mentioned_regs): Append to a vector instead of
returning a rtx_expr_list.
(st_expr_entry): Adjust.
(free_st_expr_entry): Likewise.
(store_ops_ok): Likewise.
(store_killed_in_insn): Likewise.
(find_moveable_store): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238812 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoIntroduce no_profile_instrument_function attribute
marxin [Thu, 28 Jul 2016 08:45:29 +0000 (08:45 +0000)] 
Introduce no_profile_instrument_function attribute

PR gcov-profile/68025
* tree-profile.c (tree_profiling): Respect
no_profile_instrument_function attribute.
* doc/extend.texi: Document no_profile_instrument_function
attribute.
PR gcov-profile/68025
* c-common.c (handle_no_profile_instrument_function_attribute):
PR gcov-profile/68025
* gcc.dg/no_profile_instrument_function-attr-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238811 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing file.
marxin [Thu, 28 Jul 2016 08:31:54 +0000 (08:31 +0000)] 
Add missing file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238810 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd mark_spam.py script
marxin [Thu, 28 Jul 2016 08:31:36 +0000 (08:31 +0000)] 
Add mark_spam.py script

* mark_spam.py: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238809 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDo not allow make_compound_operation for vector mode
marxin [Thu, 28 Jul 2016 08:26:51 +0000 (08:26 +0000)] 
Do not allow make_compound_operation for vector mode

* g++.dg/vect/pr70944.cc: New test.
PR rtl-optimization/70944
* combine.c (make_compound_operation):
Do not allow make_compound_operation for vector mode

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238808 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 28 Jul 2016 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238806 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/ChangeLog:
kugan [Wed, 27 Jul 2016 23:02:44 +0000 (23:02 +0000)] 
gcc/testsuite/ChangeLog:

2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71994
* gcc.dg/torture/pr71994.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238803 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/ChangeLog:
kugan [Wed, 27 Jul 2016 22:45:46 +0000 (22:45 +0000)] 
gcc/testsuite/ChangeLog:

2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71994
* gcc.dg/torture/pr71994.c: New test.

gcc/ChangeLog:

2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71994
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
 before calling get_ops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238802 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 27 Jul 2016 20:35:35 +0000 (20:35 +0000)] 
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * defaults.h (LOG2_BITS_PER_UNIT): Move from here...
        * tree.h (LOG2_BITS_PER_UNIT): ...to here.
        (BITS_PER_UNIT_LOG): Remove.
        (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
        * expr.c (expand_assignment): Likewise.
        * stor-layout.c (initialize_sizetypes): Likewise.

c-family:
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
        BITS_PER_UNIT_LOG.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238800 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Wed, 27 Jul 2016 20:31:57 +0000 (20:31 +0000)] 
2016-07-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_extract<mode>): Change the calling
signature of rs6000_expand_vector_extract so that the element
number is a RTX instead of a constant integer.
* config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
Likewise.
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
(altivec_expand_vec_ext_builtin): Likewise.
* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
* config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
MFVSRLD instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238799 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
redi [Wed, 27 Jul 2016 17:32:45 +0000 (17:32 +0000)] 
* testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238793 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMove make_location from tree.h/c to input.h/c
dmalcolm [Wed, 27 Jul 2016 17:21:20 +0000 (17:21 +0000)] 
Move make_location from tree.h/c to input.h/c

For some reason I added make_location and some related functions to
tree.h/c, rather than to input.h/c.  Move them there, so we can use them
without requiring tree, and add some selftest coverage.

gcc/ChangeLog:
* input.c (get_pure_location): Move here from tree.c.
(make_location): Likewise.  Add header comment.
(selftest::test_accessing_ordinary_linemaps): Verify
pure_location_p, make_location, get_location_from_adhoc_loc and
get_range_from_loc.
* input.h (get_pure_location): Move declaration here from tree.h.
(get_finish): Likewise for inline function.
(make_location): Likewise for declaration.
* tree.c (get_pure_location): Move to input.c.
(make_location): Likewise.
* tree.h (get_pure_location): Move declaration to tree.h.
(get_finish): Likewise for inline function.
(make_location): Likewise for declaration.

libcpp/ChangeLog:
* include/line-map.h (source_location): Fix line numbers in
comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238792 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing PR marker to Changelog for 71216 fix
segher [Wed, 27 Jul 2016 16:16:12 +0000 (16:16 +0000)] 
Add missing PR marker to Changelog for 71216 fix

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238790 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Wed, 27 Jul 2016 15:09:10 +0000 (15:09 +0000)] 
2016-07-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

PR middle-end/71078
* match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.

testsuite/
* gcc.dg/tree-ssa/pr71078-1.c: New test-case.
* gcc.dg/tree-ssa/pr71078-2.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238787 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse static_assert for STATIC_ASSERT for C++11 onwards
dmalcolm [Wed, 27 Jul 2016 14:49:06 +0000 (14:49 +0000)] 
Use static_assert for STATIC_ASSERT for C++11 onwards

C++11 has a
  static_assert (COND, MESSAGE)
which gives more readable error messages for STATIC_ASSERT than our
current implementation.

This patch makes us use it if __cplusplus >= 201103L

There's also a provisional static_assert (COND) in C++1z, but presumably
we should wait until that one is fully standardized before using it.

gcc/ChangeLog:
* system.h (STATIC_ASSERT): Use static_assert if building
with C++11 onwards.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238786 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71747 - ICE with self-referential partial spec
jason [Wed, 27 Jul 2016 14:31:30 +0000 (14:31 +0000)] 
PR c++/71747 - ICE with self-referential partial spec

* pt.c (get_partial_spec_bindings): Replace tparms and spec_args
parameters with spec_tmpl.  Call push_tinst_level.
(most_specialized_partial_spec): Adjust.
(more_specialized_partial_spec): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238785 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 Jul 2016 11:11:22 +0000 (11:11 +0000)] 
2016-07-27  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238784 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 Jul 2016 11:10:25 +0000 (11:10 +0000)] 
2016-07-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/72517
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
Revert change to not compute read-read dependences.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238783 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 Jul 2016 10:33:02 +0000 (10:33 +0000)] 
2016-07-27  Richard Biener  <rguenther@suse.de>

* predict.c (set_even_probabilities): Make nedges unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238782 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agopredict.c: merge multi-edges
marxin [Wed, 27 Jul 2016 08:46:12 +0000 (08:46 +0000)] 
predict.c: merge multi-edges

* gcc.dg/predict-13.c: New test.
* gcc.dg/predict-14.c: New test.
* predict.c (set_even_probabilities): Handle unlikely edges.
(combine_predictions_for_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238781 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse __{U,}INTPTR_TYPE__ to avoid including stdint.h
saaadhu [Wed, 27 Jul 2016 05:22:08 +0000 (05:22 +0000)] 
Use __{U,}INTPTR_TYPE__ to avoid including stdint.h

gcc/testsuite/

* gcc.dg/torture/pr69352.c: Use  __INTPTR_TYPE__ instead of
including stdint.h.
* gcc.dg/torture/pr71866.c: Use __UINTPTR_TYPE__ isntead of
including stdint.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238780 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Wed, 27 Jul 2016 04:45:59 +0000 (04:45 +0000)] 
[gcc]
2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71869
* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
__float128 support when we don't have hardware support, so that
the IEEE built-in functions like isgreater, first call __unordkf3
to make sure neither operand is a NaN, and if both operands are
ordered, do the normal comparison.

[gcc/testsuite]
2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71869
* gcc.target/powerpc/float128-cmp.c: New test to make sure that
IEEE built-in functions handle quiet and signalling NaNs
correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238779 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 27 Jul 2016 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238778 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Tue, 26 Jul 2016 22:42:49 +0000 (22:42 +0000)] 
2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71862
* class.c: Remove assert.  Iterate over component only if non-null.

2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/71862
* gfortran.dg/pr71862.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238774 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/ChangeLog:
msebor [Tue, 26 Jul 2016 20:48:20 +0000 (20:48 +0000)] 
gcc/testsuite/ChangeLog:
* gcc.dg/atomic/pr71675.c: Replace the unsupported c11 target
selector with dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238766 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMissed changelog entries for commit 238252. Sorry,
nathan [Tue, 26 Jul 2016 17:07:26 +0000 (17:07 +0000)] 
Missed changelog entries for commit 238252.  Sorry,
2016-07-12  Nathan Sidwell  <nathan@acm.org>

* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
when -mno-pic-data-is-text-relative is in effect, by default.
* doc/invoke.texi (mpic-data-is-text-relative): Document new
behavior and clarify.

2016-07-12  Nathan Sidwell  <nathan@acm.org>

* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238763 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor changes in tree-vrp.c
ppalka [Tue, 26 Jul 2016 15:21:29 +0000 (15:21 +0000)] 
Minor changes in tree-vrp.c

gcc/ChangeLog:

* tree-vrp.c (dump_asserts_for): Print loc->expr instead of
name.
(extract_code_and_val_from_cond_with_ops): Verify that name is
either cond_op0 or cond_op1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238762 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoTeach VRP to register assertions along default switch labels (PR18046)
ppalka [Tue, 26 Jul 2016 15:19:58 +0000 (15:19 +0000)] 
Teach VRP to register assertions along default switch labels (PR18046)

gcc/ChangeLog:

PR tree-optimization/18046
* genmodes.c (emit_mode_size_inline): Emit an assert that
verifies that mode is a valid array index.
(emit_mode_nuinits_inline): Likewise.
(emit_mode_inner_inline): Likewise.
(emit_mode_unit_size_inline): Likewise.
(emit_mode_unit_precision_inline): Likewise.
* tree-vrp.c: Include params.h.
(find_switch_asserts): Register edge assertions for the default
label which correspond to the anti-ranges of each case label.
* params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
* doc/invoke.texi: Document it.

gcc/testsuite/ChangeLog:

PR tree-optimization/18046
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Bump FSM count to 5.
* gcc.dg/tree-ssa/vrp103.c: New test.
* gcc.dg/tree-ssa/vrp104.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238761 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMove ChangeLog entry to the right place
wschmidt [Tue, 26 Jul 2016 14:25:20 +0000 (14:25 +0000)] 
Move ChangeLog entry to the right place

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238760 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 26 Jul 2016 14:24:16 +0000 (14:24 +0000)] 
2016-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/pr63354.c: Require lp64 since
-mprofile-kernel is not legal with -m32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238759 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 26 Jul 2016 14:13:52 +0000 (14:13 +0000)] 
2016-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
and unnecessary call to gimple_bb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238758 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 Jul 2016 14:11:21 +0000 (14:11 +0000)] 
2016-07-26  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/71984
* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
for VOIDmode.

* gcc.dg/torture/pr71984.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238757 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 Jul 2016 14:07:05 +0000 (14:07 +0000)] 
2016-07-26  Richard Biener  <rguenther@suse.de>

PR middle-end/72517
* expmed.c (extract_bit_field_1): Constrain the vector mode
with element size matching the extraction mode size when
choosing a better vector mode to do the extraction from.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238756 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd support to run auto-vectorization tests for multiple effective targets.
rts [Tue, 26 Jul 2016 13:20:03 +0000 (13:20 +0000)] 
Add support to run auto-vectorization tests for multiple effective targets.

gcc/testsuite/

* g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. Call
g++-dg-runtest via et-dg-runtest.
* gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest.
* gcc.dg/vect/vect.exp: Likewise.
* gfortran.dg/graphite/graphite.exp: Likewise, but for
gfortran-dg-runtest.
* gfortran.dg/vect/vect.exp: Likewise.
* lib/target-supports.exp (check_mpaired_single_hw_available): New.
(check_mips_loongson_hw_available): Likewise.
(check_effective_target_mpaired_single_runtime): Likewise.
(check_effective_target_mips_loongson_runtime): Likewise.
(add_options_for_mpaired_single): Likewise.
(check_effective_target_vect_int): Add global et_index.
Check and save the supported feature for a target selected by
the et_index target.  Break long lines where appropriate.  Call
et-is-effective-target for MIPS with an argument instead of
check_effective_target_* where appropriate.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_simd_clones): Likewise.
(check_effective_target_vect_shift): ewise.
(check_effective_target_whole_vector_shift): Likewise.
(check_effective_target_vect_bswap): Likewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_int_add): Likewise.
(check_effective_target_vect_no_bitwise): Likewise.
(check_effective_target_vect_widen_shift): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_element_align): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_vect_multiple_sizes): Likewise.
(check_effective_target_vect64): Likewise.
(check_effective_target_vect_call_copysignf): Likewise.
(check_effective_target_vect_call_sqrtf): Likewise.
(check_effective_target_vect_call_btrunc): Likewise.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_effective_target_vect_perm): Likewise, but also append *_saved
to the existing global name to properly cache the result.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si): Likewise.
(check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
(check_effective_target_vect_widen_sum_qi_to_si): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_mult_si_to_di_pattern): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_usad_char): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_aligned_arrays): Likewise.
(check_effective_target_vect_natural_alignment): Likewise.
(check_effective_target_vector_alignment_reachable): Likewise.
(check_effective_target_vector_alignment_reachable_for_64bit): Likewise.
(is-effective-target): Initialize et_index if undefined.
(et-dg-runtest): New.
(et-is-effective-target): Likewise.
(check_vect_support_and_set_flags): Add supported MIPS targets to
EFFECTIVE_TARGETS list.  Return the number of supported targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238755 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Richard Biener <rguenther@suse.de>
prathamesh3492 [Tue, 26 Jul 2016 13:10:33 +0000 (13:10 +0000)] 
2016-07-26  Richard Biener  <rguenther@suse.de>
    Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>

PR middle-end/70920
* match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
pattern.

testsuite/
* gcc.dg/pr70920-1.c: New test-case.
* gcc.dg/pr70902-2.c: Likewise.
* gcc.dg/pr70920-3.c: Likewise.
* gcc.dg/pr70920-4.c: Likewise
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Change scan-tree-dump-times to
2 instead of 3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238754 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 Jul 2016 12:30:18 +0000 (12:30 +0000)] 
2016-07-26  Richard Biener  <rguenther@suse.de>

* update_version_svn: Ignore the GCC 4.9 branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238753 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 Jul 2016 12:27:16 +0000 (12:27 +0000)] 
2016-07-26  Richard Biener  <rguenther@suse.de>

* crontab: Remove entry for the GCC 4.9 branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238752 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd [cd]tors to scc_info
tbsaunde [Tue, 26 Jul 2016 10:44:31 +0000 (10:44 +0000)] 
add [cd]tors to scc_info

gcc/ChangeLog:

2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-structalias.c (struct scc_info): Change types of
members to auto_sbitmap and auto_vec.
(scc_info::scc_info): New constructor.
(scc_info::~scc_info): New destructor.
(init_scc_info): Remove.
(free_scc_info): Remove.
(find_indirect_cycles): Adjust.
(perform_var_substitution): Likewise.
(free_var_substitution_info): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238751 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd a constructor to elim_graph
tbsaunde [Tue, 26 Jul 2016 10:44:25 +0000 (10:44 +0000)] 
add a constructor to elim_graph

gcc/ChangeLog:

2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-outof-ssa.c (struct elim_graph): Change type of members
to auto_vec and auto_sbitmap.
(elim_graph::elim_graph): New constructor.
(delete_elim_graph): Remove.
(expand_phi_nodes): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238750 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove elim_graph typedef
tbsaunde [Tue, 26 Jul 2016 10:44:15 +0000 (10:44 +0000)] 
remove elim_graph typedef

gcc/ChangeLog:

2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-outof-ssa.c (struct elim_graph): Remove typedef.
(new_elim_graph): Adjust.
(clear_elim_graph): Likewise.
(delete_elim_graph): Likewise.
(elim_graph_size): Likewise.
(elim_graph_add_node): Likewise.
(elim_graph_add_edge): Likewise.
(elim_graph_remove_succ_edge): Likewise.
(eliminate_name): Likewise.
(eliminate_build): Likewise.
(elim_forward): Likewise.
(elim_unvisited_predecessor): Likewise.
(elim_backward): Likewise.
(elim_create): Likewise.
(eliminate_phi): Likewise.
(expand_phi_nodes): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238749 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agouse auto_sbitmap in various places
tbsaunde [Tue, 26 Jul 2016 10:44:08 +0000 (10:44 +0000)] 
use auto_sbitmap in various places

gcc/ChangeLog:

2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bt-load.c (compute_out): Use auto_sbitmap class.
(link_btr_uses): Likewise.
* cfganal.c (mark_dfs_back_edges): Likewise.
(post_order_compute): Likewise.
(inverted_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.
(single_pred_before_succ_order): Likewise.
* cfgexpand.c (pass_expand::execute): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
* cfgloopmanip.c (fix_bb_placements): Likewise.
(remove_path): Likewise.
(update_dominators_in_loop): Likewise.
* cfgrtl.c (break_superblocks): Likewise.
* ddg.c (check_sccs): Likewise.
(create_ddg_all_sccs): Likewise.
* df-core.c (df_worklist_dataflow): Likewise.
* dse.c (dse_step3): Likewise.
* except.c (eh_region_outermost): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (prune_expressions): Likewise.
(prune_insertions_deletions): Likewise.
* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
* lcm.c (compute_earliest): Likewise.
(compute_farthest): Likewise.
* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
(unroll_loop_stupid): Likewise.
* lower-subreg.c (decompose_multiword_subregs): Likewise.
* lra-lives.c: Likewise.
* lra.c (lra): Likewise.
* modulo-sched.c (schedule_reg_moves): Likewise.
(optimize_sc): Likewise.
(get_sched_window): Likewise.
(sms_schedule_by_order): Likewise.
(check_nodes_order): Likewise.
(order_nodes_of_sccs): Likewise.
(order_nodes_in_scc): Likewise.
* recog.c (split_all_insns): Likewise.
* regcprop.c (pass_cprop_hardreg::execute): Likewise.
* reload1.c (reload): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
(split_edges): Likewise.
(compute_trg_info): Likewise.
* sel-sched.c (init_seqno): Likewise.
* store-motion.c (remove_reachable_equiv_notes): Likewise.
* tree-into-ssa.c (update_ssa): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.
* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
* Likewise.
(try_peel_loop): Likewise.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
* Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.
* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
* var-tracking.c (vt_find_locations): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238748 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd auto_sbitmap class
tbsaunde [Tue, 26 Jul 2016 10:43:58 +0000 (10:43 +0000)] 
add auto_sbitmap class

gcc/ChangeLog:

2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* sbitmap.h (auto_sbitmap): New class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238747 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[RS6000] push_secondary_reload ICE
amodra [Tue, 26 Jul 2016 10:27:34 +0000 (10:27 +0000)] 
[RS6000] push_secondary_reload ICE

PR target/72103
* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
sri->t_icode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238744 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago libgo: bump library version number for 1.7
ian [Tue, 26 Jul 2016 01:53:27 +0000 (01:53 +0000)] 
libgo: bump library version number for 1.7

    Reviewed-on: https://go-review.googlesource.com/25211

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238743 138bc75d-0d04-0410-961f-82ee72b054a4