- Mar 06, 2019
-
-
Uros Bizjak authored
* encoding.c (DFmode): #undef before #define. From-SVN: r269429
-
Peter Bergner authored
gcc/ PR rtl-optimization/88845 * config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during LRA. * lra.c (remove_scratches_1): New function. (remove_scratches): Use it. (lra_emit_move): Likewise. gcc/testsuite/ PR rtl-optimization/88845 * gcc.target/powerpc/pr88845.c: New test. From-SVN: r269428
-
Marek Polacek authored
* typeck.c (maybe_warn_pessimizing_move): See if the maybe-rvalue overload resolution would actually succeed. * g++.dg/cpp0x/Wredundant-move1.C (fn4): Drop dg-warning. * g++.dg/cpp0x/Wredundant-move7.C: New test. From-SVN: r269427
-
Jonathan Wakely authored
* include/std/type_traits (__cpp_lib_bounded_array_traits): Define. * include/std/version (__cpp_lib_bounded_array_traits): Likewise. * testsuite/20_util/is_bounded_array/value.cc: Check for macro. * testsuite/20_util/is_unbounded_array/value.cc: Likewise. From-SVN: r269426
-
Ian Lance Taylor authored
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165737 From-SVN: r269424
-
Edward Smith-Rowland authored
2019-03-06 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/86655 - std::assoc_legendre should not constrain the value of m (or x). * include/tr1/legendre_function.tcc (__assoc_legendre_p, __sph_legendre): If degree > order Don't throw, return 0. (__legendre_p, __assoc_legendre_p): Don't constrain x either. * testsuite/special_functions/02_assoc_legendre/pr86655.cc: New test. * testsuite/special_functions/20_sph_legendre/pr86655.cc: New test. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/pr86655.cc: New test. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/pr86655.cc: New test. From-SVN: r269423
-
Ville Voutilainen authored
* include/std/variant (__do_visit): New. (__variant_cast): Likewise. (__variant_cookie): Likewise. (__erased_*): Remove. (_Variant_storage::_S_vtable): Likewise. (_Variant_storage::__M_reset_impl): Adjust to use __do_visit. (_Variant_storage::__M_reset): Adjust. (__variant_construct): New. (_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use __variant_construct. (_Move_ctor_base(_Move_ctor_base&&)): Likewise. (_Move_ctor_base::__M_destructive_copy): New. (_Move_ctor_base::__M_destructive_move): Adjust to use __variant_construct. (_Copy_assign_base::operator=): Adjust to use __do_visit. (_Copy_assign_alias): Adjust to check both copy assignment and copy construction for triviality. (_Move_assign_base::operator=): Adjust to use __do_visit. (_Multi_array): Add support for visitors that accept and return a __variant_cookie. (__gen_vtable_impl::_S_apply_all_alts): Likewise. (__gen_vtable_impl::_S_apply_single_alt): Likewise. (__gen_vtable_impl::__element_by_index_or_cookie): New. Generate a __variant_cookie temporary for a variant that is valueless and.. (__gen_vtable_impl::__visit_invoke): ..adjust here. (__gen_vtable::_Array_type): Conditionally make space for the __variant_cookie visitor case. (__variant_construct_by_index): New. (get_if): Adjust to use std::addressof. (relops): Adjust to use __do_visit. (variant): Add __variant_cast and __variant_construct_by_index as friends. (variant::emplace): Use _M_reset() and __variant_construct_by_index instead of self-destruction. (variant::swap): Adjust to use __do_visit. (visit): Reimplement in terms of __do_visit. (__variant_hash_call_base_impl::operator()): Adjust to use __do_visit. * testsuite/20_util/variant/compile.cc: Adjust. * testsuite/20_util/variant/run.cc: Likewise. From-SVN: r269422
-
Jonathan Wakely authored
* include/bits/c++config.h (_cpp_lib_char8_t): Add L suffix to constant. * testsuite/experimental/feat-char8_t.cc: Likewise. From-SVN: r269421
-
Jonathan Wakely authored
* include/std/type_traits [C++20] (is_bounded_array) (is_unbounded_array, is_bounded_array_v, is_unbounded_array_v): Define. * testsuite/20_util/is_bounded_array/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: New test. * testsuite/20_util/is_bounded_array/value.cc: New test. * testsuite/20_util/is_unbounded_array/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: New * test. * testsuite/20_util/is_unbounded_array/value.cc: New test. From-SVN: r269420
-
Martin Liska authored
2019-03-06 Martin Liska <mliska@suse.cz> PR sanitizer/88684 * sanitizer_common/sanitizer_platform.h (defined): Cherry pick. (SANITIZER_NON_UNIQUE_TYPEINFO): Likewise. * ubsan/ubsan_type_hash_itanium.cc (isDerivedFromAtOffset): Likewise. From-SVN: r269419
-
Jonathan Wakely authored
* include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to): Add constexpr. * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test. From-SVN: r269418
-
Claudiu Zissulescu authored
gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on unaligned_access variable. * config/arc/arc.c (arc_override_options): Set unaligned access default on for HS CPUs. * config/arc/arc.h (STRICT_ALIGNMENT): Fix logic. From-SVN: r269417
-
Richard Biener authored
2019-03-06 Richard Biener <rguenther@suse.de> PR testsuite/89551 * gcc.dg/uninit-pred-8_b.c: Force logical-op-non-short-circuit the way that makes the testcase PASS. From-SVN: r269416
-
Martin Liska authored
2019-03-06 Martin Liska <mliska@suse.cz> PR gcov-profile/89577 * doc/gcov.texi: Prefer to use --coverage. * doc/sourcebuild.texi: Likewise. From-SVN: r269415
-
Martin Liska authored
2019-03-06 Martin Liska <mliska@suse.cz> * check-params-in-docs.py: Ignore a param. From-SVN: r269414
-
Ian Lance Taylor authored
PR go/89598 compiler: use GMP_RNDN rather than MPFR_RNDN Missed one last time around. This fixes the build with mpfr 2.4.2. Fixes https://gcc.gnu.org/PR89598 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165420 From-SVN: r269411
-
GCC Administrator authored
From-SVN: r269409
-
- Mar 05, 2019
-
-
Ian Lance Taylor authored
In the runtime there are bad pointer checks that currently don't work with the concervative collector. With stack maps, the GC is precise and the checks should work. Enable them. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/153871 From-SVN: r269406
-
Jakub Jelinek authored
re PR libfortran/89593 (warning "passing argument 3 of ‘_gfortran_caf_{get,send}_by_ref’ from incompatible pointer type" when building libgfortran) PR libgfortran/89593 * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to gfc_descriptor_t * to avoid warning. From-SVN: r269405
-
Ian Lance Taylor authored
On aix/ppc64, ar tool must always have -X64 argument if it aims to create 64 bits archives. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165317 From-SVN: r269404
-
Jason Merrill authored
The problem in this testcase is that the front end expects an rvalue COND_EXPR to initialize a single temporary from one of the arms. But because gimplify_cond_expr used MODIFY_EXPR, instead the arms would each create their own temporary and then copy that into the common temporary. So, let's use INIT_EXPR instead. * gimplify.c (gimplify_cond_expr): Use INIT_EXPR. From-SVN: r269403
-
Jason Merrill authored
* class.c (is_really_empty_class): Add ignore_vptr parm. While looking at PR86485, I noticed that many uses of is_really_empty_class were overlooking that it returned true for a class with only a vptr; initialization of such a class is not trivial. Marek's P1064 patch fixed one place in constexpr.c to also check for a vtable, but there are several others that still don't. This patch requires callers to explicitly choose which behavior they want. Currently the uses in constexpr.c want to consider the vptr, and other uses don't. * class.c (is_really_empty_class): Add ignore_vptr parm. (trivial_default_constructor_is_constexpr): Pass it. * call.c (build_over_call): Pass it. * constexpr.c (cxx_eval_constant_expression): Pass it instead of checking TYPE_POLYMORPHIC_P. (cxx_eval_component_reference, potential_constant_expression_1): Pass it. * cp-gimplify.c (simple_empty_class_p): Pass it. * init.c (expand_aggr_init_1): Pass it. From-SVN: r269402
-
Ian Lance Taylor authored
If there is no f_flags field in statfs_t then rename one of the f_spare fields, as happened in Linux kernel version 2.6.36. This fixes the build on CentOS 5.11. The CentOS kernel will hopefully not fill in the f_spare field, so the resulting flags will be zero. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165417 From-SVN: r269401
-
Ian Lance Taylor authored
PR go/89598 compiler: use GMP_RNDN rather than MPFR_RNDN This fixes the build with mpfr 2.4.2. Fixes https://gcc.gnu.org/PR89598 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165418 From-SVN: r269399
-
Jonathan Wakely authored
The implementation of midpoint used for integral types is due to Howard Hinnant and avoids a branch for int and larger types (but not for chars and shorts). The midpoint and lerp functions for floating point types come straight from the P0811R3 proposal, with no attempt at optimization. * include/c_compatibility/math.h [C++20] (lerp): Add using declaration. * include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define. (__lerp): Define function template to implement lerp. (lerp(float, float, float), lerp(double, double, double)) (lerp(long double, long double, long double)): Define for C++20. * include/std/numeric [C++20] (__cpp_lib_interpolate): Define. (midpoint(T, T), midpoint(T*, T*)): Define. * include/std::version [C++20] (__cpp_lib_interpolate): Define. * testsuite/26_numerics/lerp.cc: New test. * testsuite/26_numerics/midpoint/floating.cc: New test. * testsuite/26_numerics/midpoint/integral.cc: New test. * testsuite/26_numerics/midpoint/pointer.cc: New test. From-SVN: r269398
-
Jakub Jelinek authored
re PR target/89587 (gcc's rs6000 configuration unconditionally sets MULTIARCH_DIRNAME, even when multiarch is disabled) PR target/89587 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only if_multiarch. From-SVN: r269396
-
Christophe Lyon authored
2019-03-05 Christophe Lyon <christophe.lyon@linaro.org> contrib/ * dg-extract-results.py: Handle case where a WARNING happens with the first test of a harness. From-SVN: r269394
-
Christophe Lyon authored
2019-03-05 Christophe Lyon <christophe.lyon@linaro.org> contrib/ * dg-extract-results.sh: Fix order of WARNING and following test result. From-SVN: r269393
-
Jakub Jelinek authored
PR middle-end/89590 * builtins.c (maybe_emit_free_warning): Punt if free doesn't have exactly one argument. * gcc.dg/pr89590.c: New test. From-SVN: r269392
-
Jakub Jelinek authored
PR tree-optimization/89570 * match.pd (vec_cond into cond_op simplification): Don't use get_conditional_internal_fn, use as_internal_fn (cond_op). Co-Authored-By:
Richard Sandiford <richard.sandiford@arm.com> From-SVN: r269391
-
Wilco Dijkstra authored
The GCC optimizer can generate symbols with non-zero offset from simple if-statements. Bit zero is used for the Arm/Thumb state bit, so relocations with offsets fail if it changes bit zero and the relocation forces bit zero to true. The fix is to disable offsets on function pointer symbols. gcc/ PR target/89222 * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem to decide when to split off a non-zero offset from a symbol. * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets in function symbols. testsuite/ PR target/89222 * gcc.target/arm/pr89222.c: Add new test. From-SVN: r269390
-
Richard Biener authored
2019-03-05 Richard Biener <rguenther@suse.de> PR tree-optimization/89594 * tree-if-conv.c (pass_if_conversion::execute): Handle case where .LOOP_VECTORIZED_FUNCTION was removed. * gcc.dg/pr89594.c: New testcase. From-SVN: r269389
-
Jakub Jelinek authored
PR tree-optimization/89487 * gcc.dg/tree-ssa/pr89487.c: Include ../pr87600.h. (caml_interprete): Ifdef the whole body out if REG1 or REG2 macros aren't defined. Use REG1 instead of "%r15" and REG2 instead of "%r14". From-SVN: r269388
-
Jakub Jelinek authored
PR bootstrap/89560 * fold-const.c (fold_checksum_tree): Don't use fixed size buffer, instead alloca it only when needed with the needed size. * g++.dg/other/pr89560.C: New test. From-SVN: r269386
-
Jakub Jelinek authored
PR tree-optimization/89570 * match.pd (vec_cond into cond_op simplification): Guard with vectorized_internal_fn_supported_p test and #if GIMPLE. * gcc.dg/pr89570.c: New test. From-SVN: r269385
-
Jakub Jelinek authored
PR tree-optimization/89566 * gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call): Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed. Punt if get_user_idx_format succeeds, but idx_format argument is not provided or doesn't have pointer type, or if idx_args is above number of provided arguments. * c-c++-common/pr89566.c: New test. From-SVN: r269384
-
GCC Administrator authored
From-SVN: r269381
-
- Mar 04, 2019
-
-
Paolo Carlini authored
/cp 2019-03-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84605 * parser.c (cp_parser_class_head): Reject TYPE_BEING_DEFINED too. /testsuite 2019-03-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84605 * g++.dg/parse/crash69.C: New. From-SVN: r269378
-
Edward Smith-Rowland authored
2019-03-04 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/88996 Implement P0439R0 Make std::memory_order a scoped enumeration. * include/bits/atomic_base.h: For C++20 make memory_order a scoped enum, add variables for the old enumerators. Adjust calls. * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test. * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test. From-SVN: r269372
-
Jakub Jelinek authored
PR c++/71446 * call.c (field_in_pset): New function. (build_aggr_conv): Handle CONSTRUCTOR_IS_DESIGNATED_INIT correctly. * g++.dg/cpp2a/desig12.C: New test. * g++.dg/cpp2a/desig13.C: New test. From-SVN: r269371
-