- 17 Jun, 2019 16 commits
-
-
On AIX the sized delete defined in the library will call the non-sized delete defined in the library, not the replacement version defined in the test file. By also replacing sized delete we make the test pass everywhere. * testsuite/20_util/allocator/1.cc: Add sized delete, which fixes a failure on AIX. From-SVN: r272391
Jonathan Wakely committed -
re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap) PR bootstrap/90873. * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix TMR index check. From-SVN: r272390
Jan Hubicka committed -
Fix these warnings: ... gcc/config/nvptx/nvptx.md:1074:1: warning: operand 0 missing mode? gcc/config/nvptx/nvptx.md:1240:1: warning: operand 0 missing mode? gcc/config/nvptx/nvptx.md:1240:1: warning: operand 1 missing mode? gcc/config/nvptx/nvptx.md:1240:1: warning: operand 2 missing mode? gcc/config/nvptx/nvptx.md:1268:1: warning: operand 0 missing mode? ... Build and reg-tested on x86_64 with nvptx accelerator. 2019-06-17 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx-protos.h (gen_set_softstack_insn): Declare. * config/nvptx/nvptx.c (gen_set_softstack_insn): New function. * config/nvptx/nvptx.md (define_insn "set_softstack_insn"): Rename to ... (define_insn "set_softstack_<mode>"): ... this. Use P iterator on match_operand 0. (define_insn "omp_simt_enter_insn"): Rename to ... (define_insn "omp_simt_enter_<mode>"): ... this. Use P iterator on match_operand 0, 1 and 2, as well as the unspec_volatile result. (define_expand "omp_simt_enter): Use gen_omp_simt_enter_di and gen_omp_simt_enter_si. (define_expand "omp_simt_exit"): New. (define_insn "omp_simt_exit"): Rename to ... (define_insn "omp_simt_exit_<mode>"): ... this. Use P iterator on match_operand 0. From-SVN: r272388
Tom de Vries committed -
Initial support for AArch64 running NetBSD. Matthew Green <mrg@eterna.com.au> Maya Rashish <coypu@sdf.org> gcc: * config.gcc (aarch64*-*-netbsd*): New target. * config/aarch64/aarch64-netbsd.h: New file. * config/aarch64/t-aarch64-netbsd: Likewise. libgcc: * config.host (aarch64*-*-netbsd*): New case. Co-Authored-By: Maya Rashish <coypu@sdf.org> From-SVN: r272387
Matthew Green committed -
* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201). From-SVN: r272386
Jonathan Wakely committed -
Fix several bugs in the encoding conversions for filesystem::path that prevent conversion of Unicode characters outside the Basic Multilingual Plane, and prevent returning basic_string specializations with alternative allocator types. The std::codecvt_utf8 class template is not suitable for UTF-16 conversions because it uses UCS-2 instead. For conversions between UTF-8 and UTF-16 either std::codecvt<C, char, mbstate> or codecvt_utf8_utf16<C> must be used. The __str_codecvt_in and __str_codecvt_out utilities do not return false on a partial conversion (e.g. for invalid or incomplete Unicode input). Add new helpers that treat partial conversions as errors, and use them for all filesystem::path conversions. PR libstdc++/90281 Fix string conversions for filesystem::path * include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_in_all to fail for partial conversions and throw on error. [!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T] (path::_Cvt<char8_t>): Add explicit specialization. [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove overloads. [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use if-constexpr instead of dispatching to _S_wconvert. Use codecvt instead of codecvt_utf8. Use __str_codecvt_in_all and __str_codecvt_out_all. [!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use codecvt instead of codecvt_utf8. Use __str_codecvt_out_all. (path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code after converting to UTF-8. (path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use __str_codecvt_in_all. (path::string): Fix initialization of string types with different allocators. (path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all. * include/bits/locale_conv.h (__do_str_codecvt): Reorder static and runtime conditions. (__str_codecvt_out_all, __str_codecvt_in_all): New functions that return false for partial conversions. * include/experimental/bits/fs_path.h (u8path): [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw. [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add missing handling for char8_t. Use codecvt and codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_in_all and __str_codecvt_out_all. [!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use codecvt instead of codecvt_utf8. Use __str_codecvt_out_all. (path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all. (path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use __str_codecvt_in_all. (path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all. * src/c++17/fs_path.cc (path::_S_convert_loc): Use __str_codecvt_in_all. * src/filesystem/path.cc (path::_S_convert_loc): Likewise. * testsuite/27_io/filesystem/path/construct/90281.cc: New test. * testsuite/27_io/filesystem/path/factory/u8path.cc: New test. * testsuite/27_io/filesystem/path/native/string.cc: Test with empty strings and with Unicode characters outside the basic multilingual plane. * testsuite/27_io/filesystem/path/native/alloc.cc: New test. * testsuite/experimental/filesystem/path/construct/90281.cc: New test. * testsuite/experimental/filesystem/path/factory/u8path.cc: New test. * testsuite/experimental/filesystem/path/native/alloc.cc: New test. * testsuite/experimental/filesystem/path/native/string.cc: Test with empty strings and with Unicode characters outside the basic multilingual plane. From-SVN: r272385
Jonathan Wakely committed -
https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00952.html PR c++/90754 * name-lookup.c (lookup_type_scope_1): Calll qualify_lookup before checking context. PR c++/90754 * g++.dg/lookup/pr90754.C: New. From-SVN: r272384
Nathan Sidwell committed -
tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from base to first VIEW_CONVERT_EXPR or BIT_FIELD_REF. * tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from base to first VIEW_CONVERT_EXPR or BIT_FIELD_REF. From-SVN: r272383
Jan Hubicka committed -
Clear the input array to avoid the testcase accidentally passing with an incorrect frame pointer. Committed as obvious. testsuite/ PR middle-end/64242 * gcc.c-torture/execute/pr64242.c: Improve test. From-SVN: r272382
Wilco Dijkstra committed -
Introduce an RAII type to manage nodes in unordered containers while they are being inserted. If the caller always owns a node until it is inserted, then the insertion functions don't need to deallocate on failure. This allows a FIXME in the node re-insertion API to be removed. Also change extract(const key_type&) to not call extract(const_iterator) anymore. This avoids looping through the bucket nodes again to find the node before the one being extracted. 2019-06-17 François Dumont <fdumont@gcc.gnu.org> Jonathan Wakely <jwakely@redhat.com> * include/bits/hashtable.h (struct _Hashtable::_Scoped_node): New type. (_Hashtable::_M_insert_unique_node): Add key_type parameter. Don't deallocate node if insertion fails. (_Hashtable::_M_insert_multi_node): Likewise. (_Hashtable::_M_reinsert_node): Pass additional key argument. (_Hashtable::_M_reinsert_node_multi): Likewise. Remove FIXME. (_Hashtable::_M_extract_node(size_t, __node_base*)): New function. (_Hashtable::extract(const_iterator)): Use _M_extract_node. (_Hashtable::extract(const _Key&)): Likewise. (_Hashtable::_M_merge_unique): Pass additional key argument. (_Hashtable::_M_emplace<Args>(true_type, Args&&...)): Likewise. Use _Scoped_node. (_Hashtable::_M_insert): Likewise. * include/bits/hashtable_policy.h (_Map_base::operator[]): Likewise. (_Hashtable_alloc): Add comments to functions with misleading names. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r272381
François Dumont committed -
* tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate access path on BIT_FIELD_REFs. From-SVN: r272380
Jan Hubicka committed -
2019-06-17 Martin Liska <mliska@suse.cz> PR ipa/90874 * ipa-utils.h (odr_type_p): Remove dead code. From-SVN: r272378
Martin Liska committed -
* configure.ac (ld_vers) <*-*-solaris2*>: Remove support for alternative Solaris 11.4 format. * configure: Regenerate. From-SVN: r272377
Rainer Orth committed -
The recent change to stop transitively including <string> broke some tests, but only when the library is configured without PCH, because otherwise the <string> header still gets included via the precompiled <bits/stdc++.h> header. * testsuite/20_util/bad_function_call/what.cc: Include <string> header for std::string. * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise. * testsuite/20_util/tuple/cons/allocator_with_any.cc: Include <memory> header for std::allocator. * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Add using-declaration for std::size_t. * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Likewise. * testsuite/23_containers/deque/cons/55977.cc: Include <istream> for std::istream. * testsuite/23_containers/vector/cons/55977.cc: Likewise. * testsuite/experimental/map/erasure.cc: Include <string> for std::string. * testsuite/experimental/unordered_map/erasure.cc: Likewise. From-SVN: r272376
Jonathan Wakely committed -
PR ada/80590 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two conditions to avoid a unnecessary exception propagation in the default case. From-SVN: r272372
Arnaud Charlet committed -
From-SVN: r272370
GCC Administrator committed
-
- 16 Jun, 2019 24 commits
-
-
PR d/90603 d/dmd: Merge upstream dmd 792f0fdf2 Fixes segmentation fault in functionParameters, and other related semantic bugs in forward or recursively referenced declarations. Reviewed-on: https://github.com/dlang/dmd/pull/10046 From-SVN: r272366
Iain Buclaw committed -
Fix these warnings: ... gcc/config/nvptx/nvptx.md:748:1: warning: operand 0 missing mode? gcc/config/nvptx/nvptx.md:757:1: warning: operand 1 missing mode? gcc/config/nvptx/nvptx.md:1514:1: warning: source missing a mode? ... Build and reg-tested on x86_64 with nvptx accelerator. 2019-06-17 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx.md (define_insn "call_insn"): Rename to ... (define_insn "call_insn_<mode>"): ... this. Use P iterator on match_operand 0. (define_insn "call_value_insn"): Rename to ... (define_insn "call_value_insn_<mode>"): this. Use P iterator on match_operand 0. (define_insn "nvptx_red_partition"): Set unspec_volatile result mode to DI. From-SVN: r272365
Tom de Vries committed -
PR middle-end/64242 * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add frame clobbers and schedule block. (builtin_longjmp): Likewise. From-SVN: r272361
John David Anglin committed -
gcc/ChangeLog: 2019-06-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.c (msp430_expand_helper): Setup arguments which describe how to perform MSPABI compliant 64-bit shift. * config/msp430/msp430.md (ashldi3): New define_expand. (ashrdi3): New define_expand. (lshrdi3): New define_expand. libgcc/ChangeLog: 2019-06-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/slli.S (__mspabi_sllll): New library function for performing a logical left shift of a 64-bit value. * config/msp430/srai.S (__mspabi_srall): New library function for performing a arithmetic right shift of a 64-bit value. * config/msp430/srll.S (__mspabi_srlll): New library function for performing a logical right shift of a 64-bit value. gcc/testsuite/ChangeLog: 2019-06-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * gcc.target/msp430/mspabi_sllll.c: New test. * gcc.target/msp430/mspabi_srall.c: New test. * gcc.target/msp430/mspabi_srlll.c: New test. * gcc.c-torture/execute/shiftdi-2.c: New test. From-SVN: r272360
Jozef Lawrynowicz committed -
gcc/ChangeLog 2019-06-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * doc/sourcebuild.texi: Document new effective target keyword longlong64. gcc/testsuite/ChangeLog 2019-06-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * lib/target-supports.exp: Add check_effective_target_longlong64. From-SVN: r272359
Jozef Lawrynowicz committed -
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p, indirect_refs_may_alias_p): Revert accidental commits. From-SVN: r272358
Jan Hubicka committed -
* gcc.dg/tree-ssa/alias-access-path-4.c: New testcase. * gcc.dg/tree-ssa/alias-access-path-5.c: New testcase. * tree-ssa-alias.c (aliasing_component_refs_p): Watch for arrays at the end of structures. From-SVN: r272357
Jan Hubicka committed -
For very old toolchains, the compiler generated pic symbol stubs that provide the necessary indirections. We no longer need this (since xcode 3 era) and it's more efficient for the linker to make one stub when it knows a symbol is needed that for us to emit them speculatively in every object. Our current codegen is making the assumption that a specific OS version uses a specific linker version - and therefore the presence of support could be based on the target OS rev. Of course, that's way too simplistic (most likely bogus for cross-toolchains) and we want to make things explict. Since we have detection of the linker version, we can use that directly (A config test for support for stub-less linking might also be feasible but much more involved). Finally, should the user wish to generate code that caters for export to use in an environment with an older toolchain, the generation of stubs can be forced from the command line. In addition to the points above, branch islanding and a long branch opt for PowerPC Darwin has become conflated with the emission of these stubs (which is confusing, and will be rectified in a following patch). 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.c (machopic_indirect_call_target): Use renamed darwin_picsymbol_stubs to decide on output. (darwin_override_options): Handle darwin_picsymbol_stubs. * config/darwin.h (MIN_LD64_OMIT_STUBS): New. (LD64_VERSION): Revise default. * config/darwin.opt: (mpic-symbol-stubs): New option. (darwin_picsymbol_stubs): New variable. * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS): rename to TARGET_MACHO_PICSYM_STUBS. * config/i386/i386.c (output_pic_addr_const): Likewise. * config/i386/i386.h Likewise. * config/rs6000/darwin.h: Likewise. * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed darwin_picsymbol_stubs. From-SVN: r272356
Iain Sandoe committed -
These cases specify the negative option specifically, so we should not accept a regular -no-xxxx for them. 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.opt (prebind, noprebind, seglinkedit, noseglinkedit): Add RejectNegative. From-SVN: r272355
Iain Sandoe committed -
* tree-ssa-alias.c (nonoverlapping_component_refs_p): Fix pasto in my previous patch. From-SVN: r272354
Jan Hubicka committed -
2019-06-16 Thomas Koenig <tkoenig@gcc.gnu.org> * dump_parse_tree (debug): Add verison for formal arglist. Do not crash when a gfc_expr is NULL. From-SVN: r272353
Thomas Koenig committed -
PR d/90863 d/dmd: Merge upstream dmd 6e44734cc Fixes segmentation fault in StatementSemanticVisitor::visit. Reviewed-on: https://github.com/dlang/dmd/pull/10033 From-SVN: r272352
Iain Buclaw committed -
PR d/90559 d/dmd: Merge upstream dmd 7afcc60c3 Partially fixes out of memory because of negative length. Reviewed-on: https://github.com/dlang/dmd/pull/10025 gcc/d/ChangeLog: 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> PR d/90559 * d-target.cc (Target::_init): Reduce max static data size to INT_MAX. From-SVN: r272351
Iain Buclaw committed -
Fixes bug where foreach(int) doesn't work on BigEndian targets by deprecating the use of index types smaller than a size_t/ptrdiff_t. Reviewed-on: https://github.com/dlang/dmd/pull/10009 From-SVN: r272350
Iain Buclaw committed -
Adds static function VarDeclaration::create to the dmd C++ interface. Reviewed-on: https://github.com/dlang/dmd/pull/10008 From-SVN: r272349
Iain Buclaw committed -
PR d/90560 d/dmd: Merge upstream dmd c6887d9bb Fixes segmentation fault in castTo::CastTo::visit. Reviewed-on: https://github.com/dlang/dmd/pull/10007 From-SVN: r272348
Iain Buclaw committed -
PR d/90762 d/dmd: Merge upstream dmd b0cd59177 Fixes segmentation fault in resolvePropertiesX. Reviewed-on: https://github.com/dlang/dmd/pull/10006 From-SVN: r272347
Iain Buclaw committed -
PR d/90761 d/dmd: Merge upstream dmd d912f4e49 Fixes segmentation fault in implicitConvTo::ImplicitConvTo::visit. Reviewed-on: https://github.com/dlang/dmd/pull/10005 From-SVN: r272346
Iain Buclaw committed -
PR d/90651 d/dmd: Merge upstream dmd 0f6cbbcad Fixes segmentation fault in FuncDeclaration::semantic3. Reviewed-on: https://github.com/dlang/dmd/pull/10003 gcc/d/ChangeLog: 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> * typeinfo.cc (object_module): New variable. (make_frontend_typeinfo): Update signature. Set temporary on generated TypeInfo classes. (create_tinfo_types): Set object_module. Move generation of front-end typeinfo into ... (create_frontend_tinfo_types): ... New function. (layout_typeinfo): Call create_frontend_tinfo_types. (layout_classinfo): Likewise. (layout_cpp_typeinfo): Likewise. (create_typeinfo): Likewise. From-SVN: r272345
Iain Buclaw committed -
PR d/90650 d/dmd: Merge upstream dmd ab03e2918 Fixes internal compiler error in fold_convert_loc. Reviewed-on: https://github.com/dlang/dmd/pull/9996 gcc/testsuite/ChangeLog: 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> PR d/90650 * gdc.dg/pr90650a.d: New test. * gdc.dg/pr90650b.d: New test. From-SVN: r272344
Iain Buclaw committed -
PR d/90604 d/dmd: Merge upstream dmd f30c5dc79 Fixes internal compiler error in Type::sizemask. Reviewed-on: https://github.com/dlang/dmd/pull/9998 From-SVN: r272343
Iain Buclaw committed -
PR d/90602 d/dmd: Merge upstream dmd 420cce2a6 Fixes internal compiler error during CTFE. Reviewed-on: https://github.com/dlang/dmd/pull/9997 From-SVN: r272342
Iain Buclaw committed -
PR d/90661 d/dmd: Merge upstream dmd c74e624c9 Fixes segmentation fault in AlignDeclaration::syntaxCopy. Reviewed-on: https://github.com/dlang/dmd/pull/10001 From-SVN: r272341
Iain Buclaw committed -
PR d/90651 d/dmd: Merge upstream dmd 78dc31152 Fixes bug where the object module was not always implicitly imported. Reviewed-on: https://github.com/dlang/dmd/pull/9999 From-SVN: r272340
Iain Buclaw committed
-