- 07 Mar, 2019 7 commits
-
-
* doc/xml/manual/status_cxx2020.xml: Update C++20 status. * doc/html/*: Regenerate. From-SVN: r269456
Jonathan Wakely committed -
* include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define helpers for bind_front. (bind_front, __cpp_lib_bind_front): Define. * testsuite/20_util/function_objects/bind_front/1.cc: New test. From-SVN: r269455
Jonathan Wakely committed -
2019-03-07 Martin Liska <mliska@suse.cz> * dwarf2out.c (add_AT_vms_delta): Revert function removal. From-SVN: r269454
Martin Liska committed -
2019-03-07 Richard Biener <rguenther@suse.de> PR tree-optimization/89595 * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take stmt iterator as reference, take boolean output parameter to indicate whether the stmt was removed and thus the iterator already advanced. (dom_opt_dom_walker::before_dom_children): Re-iterate over stmts created by folding. * gcc.dg/torture/pr89595.c: New testcase. From-SVN: r269453
Richard Biener committed -
PR c++/89585 * doc/extend.texi (Basic Asm): Document qualifiers are not allowed at toplevel. * parser.c (cp_parser_asm_definition): Parse asm qualifiers even at toplevel, but diagnose them. * g++.dg/asm-qual-3.C: Adjust expected diagnostics. From-SVN: r269451
Jakub Jelinek committed -
re PR go/89227 (gotools test cmd/go fails with link error "call lacks nop, can't restore toc; recompile with -fPIC") PR go/89227 * go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an only-inline function. From-SVN: r269449
Ian Lance Taylor committed -
From-SVN: r269448
GCC Administrator committed
-
- 06 Mar, 2019 22 commits
-
-
2019-03-06 Harald Anlauf <anlauf@gmx.de> PR fortran/71203 * expr.c (simplify_const_ref): Avoid null pointer dereference. PR fortran/71203 * gfortran.dg/substr_8.f90: New test. From-SVN: r269444
Harald Anlauf committed -
In Array_type::do_export, when emitting a concrete array length, evaluate the length expression to an integer constant and emit that constant, instead of calling the more general method for emitting expressions. This is to avoid the possibility that we will need to emit a conversion, which could confuse the gccgoimporter. Fixes golang/go#30628. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165741 From-SVN: r269443
Ian Lance Taylor committed -
Here the used base<int>::operator= gets into the list of foo's bindings for operator=, but it shouldn't make the copy ctor deleted. * class.c (classtype_has_move_assign_or_move_ctor_p): Don't consider op= brought in by a using-declaration. From-SVN: r269442
Jason Merrill committed -
PR c++/87148 * init.c (build_value_init_noctor): Ignore flexible array members. * g++.dg/ext/flexary34.C: New test. From-SVN: r269434
Jakub Jelinek committed -
Now that we're doing implicit lambda capture in templates, we see x here as the lambda capture. maybe_convert_cond was doing nothing in a template, so we never called mark_rvalue_use on x. As part of the broad move toward doing more processing of non-dependent expressions, let's do this conversion. * semantics.c (maybe_convert_cond): Do convert a non-dependent condition in a template. * typeck.c (condition_conversion): Handle being called in a template. From-SVN: r269433
Jason Merrill committed -
* encoding.c (DFmode): #undef before #define. From-SVN: r269429
Uros Bizjak committed -
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
Peter Bergner committed -
* 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
Marek Polacek committed -
* 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
Jonathan Wakely committed -
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165737 From-SVN: r269424
Ian Lance Taylor committed -
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
Edward Smith-Rowland committed -
* 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
Ville Voutilainen committed -
* 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 committed -
* 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
Jonathan Wakely committed -
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
Martin Liska committed -
* 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
Jonathan Wakely committed -
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
Claudiu Zissulescu committed -
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
Richard Biener committed -
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 committed -
2019-03-06 Martin Liska <mliska@suse.cz> * check-params-in-docs.py: Ignore a param. From-SVN: r269414
Martin Liska committed -
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
Ian Lance Taylor committed -
From-SVN: r269409
GCC Administrator committed
-
- 05 Mar, 2019 11 commits
-
-
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
Ian Lance Taylor committed -
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
Jakub Jelinek committed -
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
Ian Lance Taylor committed -
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 committed -
* 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
Jason Merrill committed -
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 committed -
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
Ian Lance Taylor committed -
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
Jonathan Wakely committed -
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
Jakub Jelinek committed -
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 committed -
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
Christophe Lyon committed
-