- 29 Nov, 2018 4 commits
-
-
This is a first step in tidying rs6000 call patterns, in preparation to support inline plt calls. * config/rs6000/rs6000-protos.h (rs6000_call_template): Declare. (rs6000_sibcall_template): Declare. (macho_call_template): Rename from output_call. * config/rs6000/rs6000.c (rs6000_call_template_1): New function. (rs6000_call_template, rs6000_sibcall_template): Likewise. (macho_call_template): Rename from output_call. * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv), (tls_gd_call_aix, tls_gd_call_sysv, tls_ld_aix, tls_ld_sysv), (tls_ld_call_aix, tls_ld_call_sysv, call_nonlocal_sysv), (call_nonlocal_sysv_secure, call_value_nonlocal_sysv), (call_value_nonlocal_sysv_secure, call_nonlocal_aix), (call_value_nonlocal_aix): Use rs6000_call_template and update occurrences of output_call to macho_call_template. (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv, sibcall_aix), (sibcall_value_aix): Use rs6000_sibcall_template. From-SVN: r266600
Alan Modra committed -
2018-11-28 Aaron Sawdey <acsawdey@linux.ibm.com> * config/rs6000/rs6000-string.c (expand_block_clear): Change how we determine if unaligned vsx is ok. From-SVN: r266599
Aaron Sawdey committed -
Implement the proposed semantics from P1164R0, which reverts the changes of LWG 2935. This means that failure to create a directory because a non-directory already exists with that name will be reported as an error. While rewriting the function, also fix PR 87846, which is a result of the C++17 changes to how a trailing slash on a path affects the last component of a path. PR libstdc++/86910 PR libstdc++/87846 * src/filesystem/ops.cc (experimental::create_directories): Report an error when the path resolves to an existing non-directory (P1164). * src/filesystem/std-ops.cc (create_directories): Likewise. Handle empty filenames due to trailing slashes. * testsuite/27_io/filesystem/operations/create_directories.cc: Test when some component of the path exists and is not a directory. Test trailing slashes. * testsuite/experimental/filesystem/operations/create_directories.cc: Likewise. From-SVN: r266598
Jonathan Wakely committed -
From-SVN: r266597
GCC Administrator committed
-
- 28 Nov, 2018 36 commits
-
-
PR c/88065 - ICE in -Wsizeof-pointer-memaccess on an invalid strncpy PR c/87297 - ICE on strncpy with an undeclared argument gcc/c-family/ChangeLog: PR c/88065 PR c/87297 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source or destination is an error. gcc/testsuite/ChangeLog: PR c/88065 PR c/87297 * c-c++-common/Wsizeof-pointer-memaccess4.c: New test. From-SVN: r266594
Martin Sebor committed -
This sets a precedence in upstream for merging architecture agnostic C bindings into one block, rather than separate duplicated blocks. A nice side-effect is it almost completes the C bindings for s390-linux-gnu and sparc-linux-gnu, and fixes a bug on MIPS32 where O_SYNC had the wrong value. Backported from upstream druntime master. Reviewed-on: https://github.com/dlang/druntime/pull/2357 From-SVN: r266593
Iain Buclaw committed -
* parser.c (cp_parser_namespace_definition): Parse the optional inline keyword in a nested-namespace-definition. Adjust push_namespace call. Formatting fix. * g++.dg/cpp2a/nested-inline-ns1.C: New test. * g++.dg/cpp2a/nested-inline-ns2.C: New test. From-SVN: r266592
Marek Polacek committed -
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg02301.html PR c++/87531 * class.c (finish_struct): In a template, add artificial using decl for operator=. * g++.dg/lookup/pr87531.C: New. From-SVN: r266590
Nathan Sidwell committed -
* predict.c (determine_unlikely_bbs): Forward declare; also determine edges that are always known to be taken because it is only likely edge out of given BB. (tree_estimate_probability): Call before profile guessing to get bit of extra precision. * gcc.dg/predict-13.c: Update template. * gcc.dg/predict-13b.c: New testcase. * gcc.dg/predict-22.c: New testcase. * gcc.dg/tree-ssa/ipa-split-4.c: Change abort to other function to get sane profile. From-SVN: r266587
Jan Hubicka committed -
From-SVN: r266586
Jan Hubicka committed -
* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Handle profile_probability::always better. From-SVN: r266585
Jan Hubicka committed -
profile-count.h (profile_count::split): Give better result when splitting profile_probability::always. * profile-count.h (profile_count::split): Give better result when splitting profile_probability::always. From-SVN: r266584
Jan Hubicka committed -
* except.c (do_allocate_exception): Annotate __cxa_allocate_exception as COLD. From-SVN: r266583
Jan Hubicka committed -
2018-11-28 Vladimir Makarov <vmakarov@redhat.com> PR target/88207 * ira-costs.c (scan_one_insn): Process subregs when updating costs for pseudos and allocnos from insn. From-SVN: r266582
Vladimir Makarov committed -
* decl.c (grokdeclarator): Check if declarator is null. * g++.dg/ext/flexary31.C: New test. From-SVN: r266581
Marek Polacek committed -
From-SVN: r266577
David Edelsohn committed -
* g++.dg/debug/dwarf2/pr86900.C: XFAIL AIX. * g++.dg/opt/pr83084.C: XFAIL AIX. From-SVN: r266576
David Edelsohn committed -
From-SVN: r266574
David Edelsohn committed -
Support inlining functions that contain only assignments and return statements, with expressions of either constants or parameters. Functions that contain other kinds of statements or expressions are not yet inlined. With this change, about 100 functions in the standard library are inlinable. Reviewed-on: https://go-review.googlesource.com/c/150073 From-SVN: r266573
Ian Lance Taylor committed -
Updated the library version to 76:3:0. libphobos/ChangeLog: 2018-11-28 Iain Buclaw <ibuclaw@gdcproject.org> * Makefile.in: Rebuild. * configure: Rebuild. * configure.ac (DRUNTIME_SOVERSION): Remove. (PHOBOS_SOVERSION): Remove. (libtool_VERSION): Add. * libdruntime/Makefile.am: Use libtool_VERSION. * libdruntime/Makefile.in: Rebuild. * src/Makefile.am: Use libtool_VERSION. * src/Makefile.in: Rebuild. * testsuite/Makefile.in: Rebuild. From-SVN: r266572
Iain Buclaw committed -
* config/h8300/constraints.md: Add "C" constraint for call insns. * config/h8300/h8300.md (call, call_value): Turn into a define_expand and define_insn pair. Move invalid call targets into a register in the expander and fix constraints in the matching pattern. * config/h8300/predicates.md (call_expander_operand): Renamed from call_insn_operand. Reject things we shouldn't be trying to handle. (call_insn_operand): New predicate for use by the call/call_value insns. (small_call_insn_operand): Update appropriately. From-SVN: r266571
Jeff Law committed -
2018-11-28 Sam Tebbs <sam.tebbs@arm.com> * config/aarch64/aarch64.c (aarch64_process_target_attr): Replace calls to strtok with strtok_r. From-SVN: r266570
Sam Tebbs committed -
The recent patch for PR 83306 removed the fs_err_concat functions that were used by the experimental::filesystem::filesystem_error class as well. This fixes it by doing the string generation directly in filesystem_error::_M_gen_what() instead of using the removed function. PR libstdc++/83306 * src/filesystem/path.cc (filesystem_error::_M_gen_what()): Create string directly, instead of calling fs_err_concat. From-SVN: r266569
Jonathan Wakely committed -
PR libstdc++/83511 * include/std/string_view (basic_string_view::substr): Add default argument to first parameter. * include/experimental/string_view (basic_string_view::substr): Likewise. * testsuite/21_strings/basic_string_view/operations/substr/char/ 83511.cc: New test. * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/ 83511.cc: New test. * testsuite/experimental/string_view/operations/substr/char/83511.cc: New test. * testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc: New test. From-SVN: r266568
Jonathan Wakely committed -
2018-11-28 Edward Smith-Rowland <3dw4rd@verizon.net> Implement uniform container erasure for C++20. * include/Makefile.am: Move erase_if.h. * include/Makefile.in: Move erase_if.h. * include/experimental/bits/erase_if.h: Move ... * include/bits/erase_if.h: ... here. * include/experimental/map: Move erase_if.h. * include/experimental/set: Move erase_if.h. * include/experimental/unordered_map: Move erase_if.h. * include/experimental/unordered_set: Move erase_if.h. * include/std/deque (erase_if, erase): New functions. * include/std/forward_list: Ditto. * include/std/list: Ditto. * include/std/map: Ditto. * include/std/set: Ditto. * include/std/string: Ditto. * include/std/unordered_map: Ditto. * include/std/unordered_set: Ditto. * include/std/vector: Ditto. * testsuite/21_strings/basic_string/erasure.cc: New test. * testsuite/23_containers/deque/erasure.cc: New test. * testsuite/23_containers/forward_list/erasure.cc: New test. * testsuite/23_containers/list/erasure.cc: New test. * testsuite/23_containers/map/erasure.cc: New test. * testsuite/23_containers/set/erasure.cc: New test. * testsuite/23_containers/unordered_map/erasure.cc: New test. * testsuite/23_containers/unordered_set/erasure.cc: New test. * testsuite/23_containers/vector/erasure.cc: New test. From-SVN: r266567
Edward Smith-Rowland committed -
Add fix for "path::lexically_relative is confused by trailing slashes". * doc/xml/manual/intro.xml: Document LWG 3096 change. * src/filesystem/std-path.cc (path::lexically_relative(const path&)): Treat a final empty element equivalently to a final dot element. * testsuite/27_io/filesystem/path/generation/relative.cc: Add checks for the examples in the DR. From-SVN: r266566
Jonathan Wakely committed -
The class API provides no way to modify the members, so we can share them between copies of the same object. Copying becomes a simple reference count update, which doesn't throw. Also adjust the what() string to allow distinguishing between an empty path passed to the constructor, and no path. PR libstdc++/83306 * include/bits/fs_path.h (filesystem_error): Move data members into pimpl class owned by shared_ptr. Remove inline definitions of member functions. * src/filesystem/std-path.cc (filesystem_error::_Impl): Define. (filesystem_error): Define member functions. * testsuite/27_io/filesystem/filesystem_error/cons.cc: New test. * testsuite/27_io/filesystem/filesystem_error/copy.cc: New test. From-SVN: r266565
Jonathan Wakely committed -
From-SVN: r266563
Sameera Deshpande committed -
If the allocation of abbrevs->abbrevs in read_abbrevs fails, then abbrevs->num_abbrevs remains nonzero, and consequently free_abbrevs will segfault when accessing abbrevs->abbrevs. Fix this by setting abbrevs->num_abbrevs only after abbrevs->abbrevs allocation has succeeded. Bootstrapped and reg-tested on x86_64. 2018-11-28 Tom de Vries <tdevries@suse.de> * dwarf.c (read_abbrevs): Fix handling of abbrevs->abbrevs allocation failure. From-SVN: r266562
Tom de Vries committed -
2018-11-28 Richard Biener <rguenther@suse.de> PR tree-optimization/88223 * tree-ssa-sccvn.c (vn_reference_lookup_3): When skipping over a stored-same value may-alias store make sure to consider partial overlaps which are valid when TBAA reasonings do not apply and byte-granular overlaps are possible at all. * gcc.dg/torture/pr88223.c: New testcase. From-SVN: r266560
Richard Biener committed -
* doc/xml/manual/status_cxx2017.xml: Update C++17 status. * doc/html/*: Regenerate. From-SVN: r266559
Jonathan Wakely committed -
re PR tree-optimization/88217 (Compile time and memory hog w/ -O2 -fstrict-enums -fno-tree-forwprop -fno-tree-fre) 2018-11-28 Richard Biener <rguenther@suse.de> PR tree-optimization/88217 * vr-values.c (vr_values::extract_range_from_phi_node): Make sure to handle results > +INF and < -INF correctly when trying to drop down to +INF - 1 or -INF + 1. * g++.dg/pr88217.C: New testcase. From-SVN: r266557
Richard Biener committed -
git commit 41f70262f (svn rev 264868) exposed a signed/unsigned comparison. Fixed by matching the type of the local var to that of the tree field. * xcoffout.c (do_block): Signed/unsigned warning fix. From-SVN: r266555
Alan Modra committed -
PR testsuite/85368 * gcc.dg/tree-ssa/phi-opt-11.c: For branch_cost targets, expect 0 ifs rather than 0 or 2 depending on logical_op_short_circuit. From-SVN: r266552
Jakub Jelinek committed -
2018-11-28 Richard Biener <rguenther@suse.de> PR tree-optimization/79351 * tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from empty CONSTRUCTORs ensure the store is at a constant position. * gcc.dg/torture/pr79351.c: New testcase. From-SVN: r266551
Richard Biener committed -
re PR fortran/88229 (ICE tree check: expected integer_cst, have nop_expr in get_len, at tree.h:5608) 2018-11-28 Richard Biener <rguenther@suse.de> PR tree-optimization/88229 * tree-ssa.c (non_rewritable_mem_ref_base): Check DECL_SIZE_UNIT is an INTEGER_CST before accessing it so. From-SVN: r266550
Richard Biener committed -
gcc/ChangeLog: 2018-11-28 Sam Tebbs <sam.tebbs@arm.com> * doc/invoke.texi (-mtune=): Remove obsolete CPU names. From-SVN: r266549
Sam Tebbs committed -
PR target/88189 * config/i386/i386.c (ix86_expand_sse_movcc): Handle DFmode and SFmode using sse4_1_blendvs[sd] with TARGET_SSE4_1. Formatting fixes. * config/i386/sse.md (sse4_1_blendv<ssemodesuffix>): New pattern. * gcc.target/i386/sse4_1-pr88189-1.c: New test. * gcc.target/i386/sse4_1-pr88189-2.c: New test. * gcc.target/i386/avx-pr88189-1.c: New test. * gcc.target/i386/avx-pr88189-2.c: New test. From-SVN: r266548
Jakub Jelinek committed -
PR c++/87476 * typeck2.c (digest_init_r): Re-add handing of signed/unsigned char strings and add it to the initialization of wide array from non-wide string diagnostics too. * g++.dg/cpp0x/pr87476-1.C: New test. * g++.dg/cpp0x/pr87476-2.C: New test. From-SVN: r266547
Jakub Jelinek committed -
PR c++/88215 * c-ubsan.c: Include langhooks.h. (ubsan_instrument_division): Change gcc_assert that main variants of op0 and op1 types are equal to gcc_checking_assert that the main variants are compatible types. * c-c++-common/ubsan/pr88215.c: New test. From-SVN: r266546
Jakub Jelinek committed
-