- Mar 05, 2019
-
-
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
-
Jason Merrill authored
From-SVN: r269368
-
Tamar Christina authored
From-SVN: r269367
-
Tamar Christina authored
The test options_set_10.c shouldn't run when cross compiled. In addition to gating it on linux I'm also gating it on native now. gcc/testsuite/ChangeLog: PR target/88530 * gcc.target/aarch64/options_set_10.c: From-SVN: r269366
-
Jonathan Wakely authored
* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do directive. From-SVN: r269365
-
Wilco Dijkstra authored
Fix PR89437 Fix PR89437. Fix the sinatan-1.c testcase to not run without a C99 target system. Use nextafterl for long double initialization. Fix an issue with sinl (atanl (sqrtl (LDBL_MAX)) returning 0.0 instead of 1.0 by using x < sqrtl (LDBL_MAX) in match.pd. gcc/ PR tree-optimization/89437 * match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications. testsuite/ PR tree-optimization/89437 * gcc.dg/sinatan-1.c: Fix testcase. From-SVN: r269364
-
Richard Biener authored
re PR tree-optimization/89572 (ICE in dyn_cast<gcond*, gimple>(gimple*) / get_loop_exit_condition(loop const*)) 2019-03-04 Richard Biener <rguenther@suse.de> PR middle-end/89572 * tree-scalar-evolution.c: (get_loop_exit_condition): Use safe_dyn_cast. * gcc.dg/torture/pr89572.c: New testcase. From-SVN: r269363
-
Jonathan Wakely authored
* include/std/memory_resource (polymorphic_allocator): Add default template argument for C++20. (polymorphic_allocator::allocate_bytes) (polymorphic_allocator::deallocate_bytes) (polymorphic_allocator::allocate_object) (polymorphic_allocator::deallocate_object) (polymorphic_allocator::new_object) (polymorphic_allocator::delete_object): New member functions for C++20. * testsuite/20_util/polymorphic_allocator/allocate_object.cc: New test. From-SVN: r269362
-
Bin Cheng authored
PR tree-optimization/89487 * tree-loop-distribution.c (has_nonaddressable_dataref_p): New. (create_rdg_vertices): Compute has_nonaddressable_dataref_p. (distribute_loop): Don't do runtime alias check if there is non- addressable data reference. * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL is a register variable. * gcc/testsuite/gcc.dg/tree-ssa/pr89487.c: New test. From-SVN: r269361
-
GCC Administrator authored
From-SVN: r269360
-
- Mar 03, 2019
-
-
Jonathan Wakely authored
PR libstdc++/89562 * src/filesystem/ops-common.h (do_copy_file): Open files in binary mode for mingw. From-SVN: r269356
-
Harald Anlauf authored
2019-03-03 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77583 * symbol.c (check_conflict): Check for valid procedure name passed to error reporting routine. PR fortran/77583 * gfortran.dg/pr77583.f90: New test. Co-Authored-By:
Steven G. Kargl <kargl@gcc.gnu.org> From-SVN: r269353
-
Thomas Koenig authored
2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/72714 * resolve.c (resolve_allocate_expr): Add some tests for coarrays. 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/72714 * gfortran.dg/coarray_allocate_11.f90: New test. From-SVN: r269352
-
GCC Administrator authored
From-SVN: r269347
-
- Mar 02, 2019
-
-
Johannes Pfau authored
libphobos/ChangeLog: 2019-02-24 Johannes Pfau <johannespfau@gmail.com> * src/std/digest/murmurhash.d: PR d/89177: Backport from upstream. Fixes unaligned data access (PR d/89177). From-SVN: r269343
-
Harald Anlauf authored
2019-03-02 Harald Anlauf <anlauf@gmx.de> PR fortran/89516 * check.c (gfc_calculate_transfer_sizes): Correct checks for cases where storage size of elements of MOLD is 0. PR fortran/89516 * gfortran.dg/pr89492.f90: Adjust testcase. * gfortran.dg/transfer_check_5.f90: New test. From-SVN: r269341
-
Jakub Jelinek authored
PR c++/71446 * cp-tree.h (CONSTRUCTOR_IS_DESIGNATED_INIT): Define. * parser.c (cp_parser_braced_list): Adjust cp_parser_initializer_list caller, set CONSTRUCTOR_IS_DESIGNATED_INIT. (cp_parser_initializer_list): Add designated parameter, set *designated to a bool whether any designators were parsed. * decl.c (reshape_init): Copy over CONSTRUCTOR_IS_DESIGNATED_INIT if needed. * pt.c (tsubst_copy_and_build): Likewise. * call.c (implicit_conversion): If CONSTRUCTOR_IS_DESIGNATED_INIT, don't call build_list_conv, nor build_complex_conv, nor attempt to convert a single element initializer to scalar. * g++.dg/cpp2a/desig10.C: New test. * g++.dg/cpp2a/desig11.C: New test. * g++.dg/ext/desig4.C: Expect 4 new errors. From-SVN: r269340
-
Jakub Jelinek authored
PR target/89506 * config/arm/arm.md (cmpsi2_addneg): Use trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...). If operands[2] is 0 or INT_MIN, force use of subs. (*compare_scc splitter): Use gen_int_mode. (*negscc): Likewise. * config/arm/thumb2.md (*thumb2_negscc): Likewise. * gcc.dg/pr89506.c: New test. From-SVN: r269339
-
Ian Lance Taylor authored
PR go/89406 go/internal/gccgoimporter: remove temporary directories in test Backport of https://golang.org/cl/164862. Updates https://gcc.gnu.org/PR89406 Reviewed-on: https://go-review.googlesource.com/c/164863 From-SVN: r269338
-
Kito Cheng authored
Kito Cheng <kito.cheng@gmail.com> Monk Chiang <sh.chiang04@gmail.com> gcc/ * common/config/riscv/riscv-common.c: Include sstream. (riscv_subset_list::to_string): New. (riscv_arch_str): Likewise. * config.gcc (riscv*-*-*): Handle --with-riscv-attribute= * config.in: Regen. * config/riscv/riscv-protos.h (riscv_arch_str): New. * config/riscv/riscv.c (INCLUDE_STRING): Defined. (riscv_emit_attribute): New. (riscv_file_start): Emit attribute if needed. (riscv_option_override): Init riscv_emit_attribute_p. * config/riscv/riscv.opt (mriscv-attribute): New option. * configure.ac (riscv*-*-*): Check binutils is supporting ELF * configure: Regen. * doc/install.texi: Document --with-riscv-attribute. * doc/invoke.texi: Document -mriscv-attribute. * common/config/riscv/riscv-common.c: Include config/riscv/riscv-protos.h. (INCLUDE_STRING): Defined. (RISCV_DONT_CARE_VERSION): Defined. (riscv_subset_t): Declare. (riscv_subset_t::riscv_subset_t): New. (riscv_subset_list): Declare. (riscv_subset_list::riscv_subset_list): New. (riscv_subset_list::~riscv_subset_list): Likewise. (riscv_subset_list::parsing_subset_version): Likewise. (riscv_subset_list::parse_std_ext): Likewise. (riscv_subset_list::parse_sv_or_non_std_ext): Likewise. (riscv_subset_list::add): Likewise. (riscv_subset_list::lookup): Likewise. (riscv_subset_list::xlen): Likewise. (riscv_subset_list::parse): Likewise. (riscv_supported_std_ext): Likewise. (current_subset_list): Likewise. (riscv_parse_arch_string): Using riscv_subset_list::parse to parse. gcc/testsuite/ * gcc.target/riscv/attribute-1.c: New. * gcc.target/riscv/attribute-2.c: Likewise. * gcc.target/riscv/attribute-3.c: Likewise. * gcc.target/riscv/attribute-4.c: Likewise. * gcc.target/riscv/attribute-5.c: Likewise. * gcc.target/riscv/attribute-6.c: Likewise. * gcc.target/riscv/attribute-7.c: Likewise. * gcc.target/riscv/attribute-8.c: Likewise. * gcc.target/riscv/attribute-9.c: Likewise. * gcc.target/riscv/arch-1.c: New. * gcc.target/riscv/arch-2.c: Likewise. * gcc.target/riscv/arch-3.c: Likewise. * gcc.target/riscv/arch-4.c: Likewise. Co-Authored-By:
Monk Chiang <sh.chiang04@gmail.com> From-SVN: r269337
-
GCC Administrator authored
From-SVN: r269336
-
- Mar 01, 2019
-
-
Ian Lance Taylor authored
This restores part of https://golang.org/cl/45695 that was accidentally lost in https://golang.org/cl/158019 (the update to Go1.12beta2). Reviewed-on: https://go-review.googlesource.com/c/164737 From-SVN: r269333
-