aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-30Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238902 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-292016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>Bill Schmidt
* config/rs6000/_divkc3.c: Add copyright/license boilerplate. * config/rs6000/_mulkc3.c: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238894 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 Implement C++17 variable templates for type traits.Ville Voutilainen
* 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: https://gcc.gnu.org/svn/gcc/trunk@238892 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-292016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>Bill Schmidt
* g++.dg/pr70098.C: Remove XFAIL for powerpc64_no_dm. * gcc.target/powerpc/pr71763.c: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238891 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71926Marek Polacek
* 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: https://gcc.gnu.org/svn/gcc/trunk@238886 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71573Marek Polacek
* 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: https://gcc.gnu.org/svn/gcc/trunk@238885 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71853Marek Polacek
* 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: https://gcc.gnu.org/svn/gcc/trunk@238884 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71742Marek Polacek
* 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: https://gcc.gnu.org/svn/gcc/trunk@238883 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29include/Aldy Hernandez
* 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: https://gcc.gnu.org/svn/gcc/trunk@238880 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0Georg-Johann Lay
when testing for compares against constants of the form 0xabab. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238879 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * gcc.dg/pr59833.c: Use dg-add-options ieee.Uros Bizjak
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238878 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR tree-optimization/57558Bin Cheng
* 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: https://gcc.gnu.org/svn/gcc/trunk@238877 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * cfgloop.h (struct loop): New field constraints.Bin Cheng
(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: https://gcc.gnu.org/svn/gcc/trunk@238876 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-292016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>Prathamesh Kulkarni
testsuite/ gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump to scan forwprop1 dump pass. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238874 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * decl.c (build_enumerator): Tweak diagnostic.Jason Merrill
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238873 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * config/avr/avr.md: Fix " in comment.Georg-Johann Lay
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238871 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-292016-07-29 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini
PR c++/51488 * g++.dg/template/pr51488.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238870 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c++/72457 - ICE with list-value-initialized base.Jason Merrill
* 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: https://gcc.gnu.org/svn/gcc/trunk@238867 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/7652Marek Polacek
* config/i386/i386.c (ix86_expand_args_builtin): Add break. (ix86_expand_round_builtin): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238864 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29gcc/Segher Boessenkool
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: https://gcc.gnu.org/svn/gcc/trunk@238863 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71969Jakub Jelinek
* 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: https://gcc.gnu.org/svn/gcc/trunk@238862 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71583Marek Polacek
* c-parser.c (c_parser_postfix_expression_after_paren_type): Also check expr.value. * gcc.dg/noncompile/pr71583.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238861 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Update libstdc++ baseline symbols for aarch64, ia64, m68kAndreas Schwab
* 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: https://gcc.gnu.org/svn/gcc/trunk@238860 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/71574Marek Polacek
* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL. * c-c++-common/pr71574.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238859 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 PR c/7652Marek Polacek
* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise. (altivec_expand_st_builtin): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238856 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Update libstdc++ docs for library version historyJonathan Wakely
* doc/xml/manual/abi.xml: Document 6.0.22 library version. * doc/html/manual/abi.html: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238855 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29New libstdc++ symbol version for new basic_string symbolsJonathan Wakely
* 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: https://gcc.gnu.org/svn/gcc/trunk@238853 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Update libstdc++ baseline symbols for x86 and ppcJonathan Wakely
* 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: https://gcc.gnu.org/svn/gcc/trunk@238852 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attributeGeorg-Johann Lay
introduced in r238381. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238851 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29 * config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clearGeorg-Johann Lay
zero_reg as previous call to __umulhisi3 already cleared it. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238850 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29gfortran: Fix allocation of diagnostig string (was too small).Dominik Vogt
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: https://gcc.gnu.org/svn/gcc/trunk@238849 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29gcc/ChangeLog:Kugan Vivekanandarajah
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: https://gcc.gnu.org/svn/gcc/trunk@238846 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238845 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-282016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl
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: https://gcc.gnu.org/svn/gcc/trunk@238842 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28 * sv.po: Update.Joseph Myers
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238839 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28[gcc]Michael Meissner
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: https://gcc.gnu.org/svn/gcc/trunk@238838 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28Fix DR 438 container tests to pass in C++98 modeJonathan Wakely
* 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: https://gcc.gnu.org/svn/gcc/trunk@238837 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28Fix std::vector test to pass in C++98 modeJonathan Wakely
* testsuite/23_containers/vector/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238836 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28Use dg-additional-options in libstdc++ testsJonathan Wakely
* 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: https://gcc.gnu.org/svn/gcc/trunk@238835 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28Fix invalid dg-do directives in libstdc++ testsJonathan Wakely
* 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: https://gcc.gnu.org/svn/gcc/trunk@238834 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-282016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl
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: https://gcc.gnu.org/svn/gcc/trunk@238830 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28/cpPaolo Carlini
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: https://gcc.gnu.org/svn/gcc/trunk@238828 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-282016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl
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: https://gcc.gnu.org/svn/gcc/trunk@238825 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28 PR c/7652Marek Polacek
* jcf-dump.c (print_constant): Add break. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238824 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28 Implement std::string_view and P0254r2,Ville Voutilainen
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: https://gcc.gnu.org/svn/gcc/trunk@238823 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-282016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>Paul Thomas
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: https://gcc.gnu.org/svn/gcc/trunk@238822 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28On AArch64 the UXTB and UXTH instructions are aliases of UBFM,Wilco Dijkstra
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: https://gcc.gnu.org/svn/gcc/trunk@238821 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28This patchset improves zero extend costs and code generation.Kristina Martsenko
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: https://gcc.gnu.org/svn/gcc/trunk@238820 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28This patch improves the readability of the prolog and epilog code by movingWilco Dijkstra
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: https://gcc.gnu.org/svn/gcc/trunk@238818 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-28gcc/Yuri Rumyantsev
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: https://gcc.gnu.org/svn/gcc/trunk@238817 138bc75d-0d04-0410-961f-82ee72b054a4