- 15 Jun, 2018 5 commits
-
-
re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect type of vector CONSTRUCTOR elements) 2018-06-15 Richard Biener <rguenther@suse.de> PR middle-end/86159 * tree-cfg.c (gimplify_build3): Do not strip sign conversions, leave useless conversion stripping to force_gimple_operand_gsi. (gimplify_build2): Likewise. (gimplify_build1): Likewise. * g++.dg/pr86159.C: New testcase. From-SVN: r261622
Richard Biener committed -
re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location references block not in block tree)) 2018-06-15 Richard Biener <rguenther@suse.de> PR middle-end/86076 * tree-cfg.c (move_stmt_op): unshare invariant addresses before adjusting their block. * gcc.dg/pr86076.c: New testcase. From-SVN: r261620
Richard Biener committed -
Add multilib variants for -march=rv64imafd, e.g. to support the BOOMv2 core. Add -mcmodel=medany as a variant of the 64-bit multilibs for RTEMS. The rationale for this change is that several existing RISC-V chips map the RAM at 0x80000000. In RTEMS, we do not use virtual memory, so applications will run at this location which is outside the +-2GiB range in a 64-bit configuration. gcc/ * config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom multilibs for *-*-rtems*. * config/riscv/t-rtems: New file. From-SVN: r261619
Sebastian Huber committed -
* include/std/future (__constrain_pkgdtask): Replace with ... (packaged_task::__not_same): New alias template, using __remove_cvref_t instead of decay. * include/std/thread (thread::__not_same): Add comment. From-SVN: r261618
Jonathan Wakely committed -
From-SVN: r261617
GCC Administrator committed
-
- 14 Jun, 2018 19 commits
-
-
re PR c++/86063 (g++ ICE at tree check: expected tree_list, have expr_pack_expansion in cp_check_const_attributes, at cp/decl2.c:1391) PR c++/86063 * decl2.c (cp_check_const_attributes): Skip trees that are not TREE_LISTs. * g++.dg/cpp0x/gen-attrs-65.C: New test. From-SVN: r261613
Marek Polacek committed -
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test deduction from string views. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. From-SVN: r261612
Jonathan Wakely committed -
* include/bits/valarray_after.h (_DEFINE_EXPR_BINARY_FUNCTION): Change scalar parameters to be a non-deduced context. * include/std/valarray (_DEFINE_BINARY_OPERATOR): Likewise. Adjust whitespace. * testsuite/26_numerics/valarray/operators.cc: Test scalar operands. * testsuite/26_numerics/valarray/transcend.cc: New. From-SVN: r261610
Jonathan Wakely committed -
PR target/86048 * gcc.target/i386/pr86048.c: Require sse2 effective target. Add -msse2 to dg-options. From-SVN: r261608
Jakub Jelinek committed -
PR middle-end/86122 * match.pd ((A +- CST1) +- CST2): Punt if last resort unsigned_type_for returns NULL. * gcc.c-torture/compile/pr86122.c: New test. From-SVN: r261606
Jakub Jelinek committed -
P0624R2 - Default constructible and assignable stateless lambdas * method.c (synthesized_method_walk): For C++2a don't mark sfk_constructor or sfk_copy_assignment as deleted if lambda has no lambda-captures. * g++.dg/cpp2a/lambda1.C: New test. * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust expected diagnostics for -std=c++2a. From-SVN: r261605
Jakub Jelinek committed -
Defining std::tuple_element_t in <utility> makes it available wherever std::tuple_element is available. * include/std/tuple (__cpp_lib_tuple_element_t, tuple_element_t): Move back to <utility>. * include/std/utility (__cpp_lib_tuple_element_t. tuple_element_t): Restore to here. From-SVN: r261604
Jonathan Wakely committed -
/cp 2018-06-14 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (duplicate_decls): Use DECL_SOURCE_LOCATION in OPT_Wshadow warning_at. (grokfndecl): Consistently use the location_t argument in literal operator diagnostic messages. (grokdeclarator): Use declspecs->locations[ds_storage_class] in error_at call. * decl2.c (finish_static_data_member_decl): Use DECL_SOURCE_LOCATION in permerror call. /testsuite 2018-06-14 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/other/static3.C: New. * g++.dg/other/static4.C: Likewise. * g++.dg/warn/Wshadow-15.C: Likewise. * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Test locations too. * g++.dg/cpp0x/std_fext-numeric-literals.C: Likewise. * g++.dg/cpp0x/std_fno-ext-numeric-literals.C: Likewise. * g++.dg/cpp0x/udlit-args-neg.C: Likewise. * g++.dg/cpp0x/udlit-clink-neg.C: Likewise. * g++.dg/cpp0x/udlit-extern-c.C: Likewise. * g++.dg/cpp0x/udlit-member-neg.C: Likewise. From-SVN: r261601
Paolo Carlini committed -
More pieces of P0935R0, making default constructors non-explicit. * include/backward/strstream (strstreambuf): Add non-explicit default constructor. * include/bits/locale_conv.h (wbuffer_convert, wstring_convert): Likewise. * include/bits/regex.h (match_results): Likewise. * testsuite/22_locale/conversions/buffer/1.cc: Test for non-explicit default constructor. * testsuite/22_locale/conversions/string/1.cc: Likewise. * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise. * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. From-SVN: r261597
Jonathan Wakely committed -
* include/std/tuple (__cpp_lib_tuple_element_t): Move feature test macro from <utility> and change type to long. * include/std/utility (__cpp_lib_tuple_element_t): Remove. * testsuite/20_util/tuple/tuple_element_t.cc: Check for feature test macro. From-SVN: r261596
Jonathan Wakely committed -
PR target/85945 * lower-subreg.c (find_decomposable_subregs): Don't decompose float subregs of multi-word pseudos unless the float mode has word size. * gcc.c-torture/compile/pr85945.c: New test. From-SVN: r261593
Jakub Jelinek committed -
The param_type constructors of each random number distribution should mirror the constructors of the distribution itself, so make the same changes w.r.t explicit on default constructors. * include/bits/random.h (uniform_real_distribution::param_type) (normal_distribution::param_type, lognormal_distribution::param_type) (gamma_distribution::param_type, chi_squared_distribution::param_type) (cauchy_distribution::param_type, fisher_f_distribution::param_type) (student_t_distribution::param_type) (bernoulli_distribution::param_type) (binomial_distribution::param_type) (geometric_distribution::param_type) (negative_binomial_distribution::param_type) (poisson_distribution::param_type) (exponential_distribution::param_type) (weibull_distribution::param_type) (extreme_value_distribution::param_type): Add non-explicit default constructors. Remove default argument for first parameter of explicit constructors. * include/bits/uniform_int_dist.h (uniform_int_distribution::param_type): Likewise. * include/ext/random (beta_distribution::param_type, rice_distribution::param_type) (nakagami_distribution::param_type, pareto_distribution::param_type) (k_distribution::param_type, arcsine_distribution::param_type) (hoyt_distribution::param_type, triangular_distribution::param_type) (von_mises_distribution::param_type) (hypergeometric_distribution::param_type) (logistic_distribution::param_type) (uniform_inside_sphere_distribution::param_type): Likewise. (uniform_on_sphere_distribution::param_type): Make default constructor non-explicit. * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc: Test param_type for non-explicit default constructor. * testsuite/26_numerics/random/binomial_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/cons/default.cc: Likewise. * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise. * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: Likewise. * testsuite/ext/random/k_distribution/cons/default.cc: Likewise. * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise. * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise. * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise. * testsuite/ext/random/triangular_distribution/cons/default.cc: Likewise. * testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc: Likewise. * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise. From-SVN: r261592
Jonathan Wakely committed -
From-SVN: r261589
Jonathan Wakely committed -
2018-06-14 Richard Biener <rguenther@suse.de> PR middle-end/86139 * tree-vect-generic.c (build_word_mode_vector_type): Remove duplicate and harmful type_hash_canon. * tree.c (type_hash_canon): Assert we didn't find ourselves. From-SVN: r261588
Richard Biener committed -
2018-06-14 Richard Biener <rguenther@suse.de> PR ipa/86124 * tree-ssa-struct-alias.c (create_variable_info_for): Handle NULL cgraph_node. * gcc.dg/pr86124.c: New testcase. From-SVN: r261587
Richard Biener committed -
Construct new elements before moving existing ones, so that if a default constructor throws, the existing elements are not left in a moved-from state. 2018-06-14 Daniel Trebbien <dtrebbien@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/83982 * include/bits/vector.tcc (vector::_M_default_append(size_type)): Default-construct new elements before moving existing ones. * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc: New. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r261585
Daniel Trebbien committed -
Common systems like glibc and FreeBSD define int32_t to int. This means a lot of third party code works well in these cases: #include <stdint.h> void f(int32_t); void f(int); void g(int32_t *); void h(void) { int i; g(&i); } On RTEMS you got however in C test.c:5:6: error: conflicting types for 'f' void f(int); ^ test.c:3:6: note: previous declaration of 'f' was here void f(int32_t); ^ test.c: In function 'h': test.c:12:4: warning: passing argument 1 of 'g' from incompatible pointer type [-Wincompatible-pointer-types] g(&i); ^ test.c:7:6: note: expected 'int32_t * {aka long int *}' but argument is of type 'int *' void g(int32_t *); and C++ test.c: In function 'void h()': test.c:12:4: error: invalid conversion from 'int*' to 'int32_t* {aka long int*}' [-fpermissive] g(&i); ^~ test.c:7:6: note: initializing argument 1 of 'void g(int32_t*)' void g(int32_t *); ^ This was due to a Newlib speciality which uses long for int32_t if long is a 32-bit type. To ease the use of third party software in RTEMS we override this Newlib option now and use int for int32_t if int is a 32-bit type. gcc/ * config/rtems.h (STDINT_LONG32): Define. From-SVN: r261582
Sebastian Huber committed -
From-SVN: r261580
GCC Administrator committed -
* constexpr.c (instantiate_cx_fn_r): Don't synthesize trivial constructors. From-SVN: r261576
Jason Merrill committed
-
- 13 Jun, 2018 16 commits
-
-
* c-opts.c (c_common_post_options): Warn about useless -Wabi. (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version handling. From-SVN: r261571
Jason Merrill committed -
gcc/ChangeLog: 2018-06-13 Matthew Fortune <matthew.fortune@mips.com> Prachi Godbole <prachi.godbole@imgtec.com> * config/mips/mips-cpus.def: Define P6600. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.c (mips_ucbranch_type): New enum. (mips_rtx_cost_data): Add support for P6600. (mips_issue_rate): Likewise. (mips_multipass_dfa_lookahead): Likewise. (mips_avoid_hazard): Likewise. (mips_reorg_process_insns): Likewise. (mips_classify_branch_p6600): New function. * config/mips/mips.h (TUNE_P6600): New define. (MIPS_ISA_LEVEL_SPEC): Infer mips64r6 from p6600. (ENABLE_LD_ST_PAIRS): Enable load/store bonding for p6600. * config/mips/mips.md: Include p6600.md. (processor): Add p6600. * config/mips/p6600.md: New file. * doc/invoke.texi: Add p6600 to supported architectures. Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com> From-SVN: r261570
Matthew Fortune committed -
The traversal used by the write barrier insertion phase can sometimes wind up visiting new statements inserted during the traversal, which then results in duplicate / redundant write barrier guards. Example program to reproduce: package small type S struct { N *S K int } var G *S = &S{N: nil, K: 101} This patch changes the traversal code to keep track of statements already added and avoid processing them again later in the traversal. Fixes golang/go#25867 Reviewed-on: https://go-review.googlesource.com/118637 From-SVN: r261568
Ian Lance Taylor committed -
gcc/testsuite/ChangeLog: PR tree-optimization/86114 * gcc.dg/pr86114.c: New test. gcc/ChangeLog: PR tree-optimization/86114 * gimple-fold.c (gimple_fold_builtin_strlen): Only handle LHS of integer types. * tree-ssa-strlen.c (maybe_set_strlen_range): Same. From-SVN: r261567
Martin Sebor committed -
* include/debug/helper_functions.h (__gnu_debug::_Safe_iterator<>): Add declaration. (__can_advance(_Ite, _Size)): New. (__can_advance(const _Safe_iterator<>&, _Size)): Overload declaration. * include/debug/functions.h (__gnu_debug::_Safe_iterator<>): Remove declaration. * include/debug/stl_iterator.h (__can_advance(const _Safe_iterator<>&)): New definition. * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&, _Size)): New. (__can_advance(const std::move_iterator<>&, _Size)): New. * include/debug/macros.h (__glibcxx_check_can_increment): New. * include/debug/debug.h (__glibcxx_requires_can_increment): New. * include/bits/stl_algobase.h (fill_n): Use latter. * testsuite/25_algorithms/fill_n/2.cc: New. * testsuite/25_algorithms/fill_n/debug/1_neg.cc: New. * testsuite/25_algorithms/fill_n/debug/2_neg.cc: New. * testsuite/25_algorithms/fill_n/debug/3_neg.cc: New. * testsuite/25_algorithms/fill_n/debug/4_neg.cc: New. From-SVN: r261566
François Dumont committed -
2018-06-13 Denis Khalikov <d.khalikov@partner.samsung.com> libsanitizer/ PR sanitizer/86090 * configure.ac: Check for lstat and readlink. * configure, config.h.in: Rebuild. From-SVN: r261564
Denis Khalikov committed -
gcc/c-family/ * c-opts.c (c_common_post_options): Bump the current ABI version to 13. Set warn_abi_version and flag_abi_compat_version to the current version rather than 0. Fix defaulting flag_abi_compat_version from warn_abi_version. gcc/cp/ * class.c (classtype_has_non_deleted_move_ctor): New. * tree.c (maybe_warn_parm_abi, type_has_nontrivial_copy_init): Handle v12 breakage. From-SVN: r261562
Jason Merrill committed -
2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/86110 * array.c (gfc_resolve_character_array_constructor): Avoid NULL pointer dereference. 2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/86110 * gfortran.dg/pr86110.f90: New test. From-SVN: r261561
Steven G. Kargl committed -
Dump out the blocks corresponding to variable pre-inits when -fgo-dump-ast is in effect. Each preinit block is prefixed with a comment indicating the variable it is initializing. Reviewed-on: https://go-review.googlesource.com/118636 From-SVN: r261555
Ian Lance Taylor committed -
There is no need to use an allocator of the correct value_type when calling allocator_traits::construct and allocator_traits::destroy. The existing node allocator can be used, instead of constructing a new allocator object every time. There's also no benefit to using __gnu_cxx::__alloc_traits instead of std::allocator_traits to get the pointer and const_pointer types. std::forward_list is only available for C++11 and later, when std::allocator_traits is available too. PR libstdc++/86127 * include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove unused typedef. (_Fwd_list_base::_Node_alloc_traits): Use allocator_traits instead of __gnu_cxx::__alloc_traits. (_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after): Use node allocator to create and destroy elements. (forward_list::_Tp_alloc_type): Remove unused typedef. (forward_list::_Alloc_traits): Use allocator_traits instead of __gnu_cxx::__alloc_traits. From-SVN: r261554
Jonathan Wakely committed -
tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set vector type of the intermediate stmt. 2018-06-13 Richard Biener <rguenther@suse.de> * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set vector type of the intermediate stmt. * tree-vect-stmts.c (vectorizable_operation): The destination var always has vectype_out type. From-SVN: r261553
Richard Biener committed -
* config/rl78/rl78.c (move_elim_pass): Use TDF_NONE rather than integer 0 for argument to print_rtl_with_bb. (rl78_reorg): Likewise. From-SVN: r261552
Jeff Law committed -
PR fortran/85703 gcc/fortran/ * parse.c (decode_oacc_directive): Set gfc_matching_function to false. (decode_omp_directive): Likewise. gcc/testsuite/ * gfortran.dg/goacc/pr85703.f90: New test. * gfortran.dg/gomp/pr85703.f90: New test. From-SVN: r261551
Cesar Philippidis committed -
PR fortran/85702 gcc/fortran/ * openmp.c (gfc_match_oacc_wait): Use %C to report error location. gcc/testsuite/ * gfortran.dg/goacc/pr85702.f90: New test. From-SVN: r261550
Cesar Philippidis committed -
Reviewed-on: https://go-review.googlesource.com/118495 From-SVN: r261549
Ian Lance Taylor committed -
This patch converts various rtx to rtx_insn * (or rtx_code_label *). It also convert the various "_loc" params from int to location_t gcc/ChangeLog: * config/arc/arc.c (hwloop_optimize): Strengthen local "end_label" from rtx to rtx_insn *. * config/bfin/bfin.c (hwloop_optimize): Likewise for local "label". (add_sched_insns_for_speculation): Likewise for local "target", converting usage of JUMP_LABEL to JUMP_LABEL_AS_INSN. * config/c6x/c6x.c (reorg_split_calls): Strengthen param "call_labels" from rtx_insn ** to rtx_code_label **. (reorg_emit_nops): Likewise. (c6x_reorg): Likewise for local "call_labels". * config/sh/sh-protos.h (get_dest_uid): Strengthen 1st param from rtx to rtx_insn *. * config/sh/sh.c (dump_table): Strengthen local "lab" from rtx to rtx_code_label *, adding safe_as_a <rtx_code_label *> casts to the loops over LABEL_REFS. (fixup_addr_diff_vecs): Add as_a <rtx_insn *> to usage of braf_label. (barrier_align): Convert usage of JUMP_LABEL to JUMP_LABEL_AS_INSN. (get_dest_uid): Strengthen param "label" from rtx to rtx_insn *. (split_branches): Strengthen local "olabel" from rtx to rtx_insn *, adding a safe_as_a cast. * emit-rtl.c (next_real_insn): Strengthen param from "rtx" to "rtx_insn *". (add_insn_after): Likewise for first two params. (add_insn_before): Likewise. (remove_insn): Likewise for param. (emit_pattern_before_noloc): Likewise for second and third params. (emit_jump_insn_before_noloc): Convert NULL_RTX to NULL. (emit_call_insn_before_noloc): Likewise. (emit_debug_insn_before_noloc): Strengthen "before" param from "rtx" to "rtx_insn *". (emit_barrier_before): Likewise. (emit_label_before): Strengthen "label" param from "rtx" to "rtx_code_label *". Strengthen "before" param from "rtx" to "rtx_insn *". (emit_insn_after_1): Strengthen "after" param from "rtx" to "rtx_insn *". (emit_pattern_after_noloc): Likewise. (emit_insn_after_noloc): Likewise. (emit_jump_insn_after_noloc): Likewise. (emit_call_insn_after_noloc): Likewise. (emit_debug_insn_after_noloc): Likewise. (emit_barrier_after): Likewise. (emit_label_after): Likewise for both params. (emit_pattern_after_setloc): Likewise for "after" param. Convert "loc" param from "int" to "location_t". (emit_insn_after_setloc): Likewise. (emit_jump_insn_after_setloc): Likewise. (emit_call_insn_after_setloc): Likewise. (emit_debug_insn_after_setloc): Likewise. (emit_pattern_before_setloc): Likewise for "before" param. Convert "loc" param from "int" to "location_t". (emit_pattern_before): Convert NULL_RTX to NULL. (emit_insn_before_setloc): Convert "loc" param from "int" to "location_t". (emit_jump_insn_before_setloc): Likewise. (emit_call_insn_before_setloc): Likewise. (emit_debug_insn_before_setloc): Strengthen "before" param from rtx to rtx_insn *. Convert "loc" param from "int" to "location_t". * rtl.h (emit_insn_before_setloc, emit_jump_insn_before_setloc, emit_call_insn_before_setloc, emit_debug_insn_before_setloc): Convert 3rd param from "int" to "location_t". (emit_barrier_before, emit_barrier_after, next_real_insn): Strengthen param from rtx to rtx_insn *. (emit_label_before): Strengthen 1st param from "rtx" to "rtx_code_label *". Strengthen 2nd param from "rtx" to "rtx_insn *". (emit_insn_after_noloc, emit_jump_insn_after_noloc, emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Strengthen 2nd param from "rtx" to "rtx_insn *". (emit_insn_after_setloc, emit_jump_insn_after_setloc) emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise. Convert 3rd param from "int" to "location_t". (emit_label_after): Strengthen 1st param from "rtx" to "rtx_code_label *". (next_real_insn, remove_insn): Strengthen param from "rtx" to "rtx_insn *". (add_insn_before, add_insn_after): Strengthen 1st and 2nd params from "rtx" to "rtx_insn *". From-SVN: r261547
David Malcolm committed
-