- 22 Jun, 2018 5 commits
-
-
2018-06-22 Martin Liska <mliska@suse.cz> * symbol-summary.h (get): Make it pure and inline move functionality from ::get function. (get): Remove and inline into ::get and ::get_create. (get_create): Move code from ::get function. From-SVN: r261882
Martin Liska committed -
PR target/85994 * config/i386/sol2.h (CPP_SPEC): Don't pass -P for -x assembler-with-cpp. From-SVN: r261880
Rainer Orth committed -
* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define _FILE_OFFSET_BITS=64 for C++. From-SVN: r261879
Rainer Orth committed -
Fix this ChangeLog entry. From-SVN: r261878
François Dumont committed -
From-SVN: r261877
GCC Administrator committed
-
- 21 Jun, 2018 34 commits
-
-
The explicit instantiation declarations for std::basic_string are disabled for C++17 (and later) so that basic_string symbols get implicitly instantiated in every translation unit that needs them. On targets that don't support STB_GNU_UNIQUE this leads to multiple copies of the empty rep symbol for COW strings. In order to detect whether a COW string needs to deallocate its storage it compares the address with the empty rep. When there are multiple copies of the empty rep object the address is not unique, and so string destructors try to delete the empty rep, which crashes. In order to guarantee uniqueness of the _S_empty_rep_storage symbol this patch adds an explicit instantiation declaration for just that symbol. This means the other symbols are still implicitly instantiated in C++17 code, but for the empty rep the definition in the library gets used. Separately, there is no need for C++17 code to implicitly instantiate the I/O functions for strings, so this also restores the explicit instantiation declarations for those functions. PR libstdc++/86138 * include/bits/basic_string.tcc: [__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI] (basic_string<char>::_Rep::_S_empty_rep_storage) (basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit instantiation declarations. [__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable explicit instantiation declarations. * testsuite/21_strings/basic_string/cons/char/86138.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New. From-SVN: r261873
Jonathan Wakely committed -
2018-06-21 Michael Meissner <meissner@linux.ibm.com> * gcc.target/powerpc/pack02.c: Use __ibm128 instead of long double if the long double format is IEEE 128-bit for tests that are explicitly testing IBM extended double support. Use the appropriate pack and unpack built-in functions. Change calls from __builtin_isinfl to __builtin_isinf since the later supports all floating point types. * gcc.target/powerpc/pr57150.c: Likewise. * gcc.target/powerpc/pr60203.c: Likewise. * gcc.target/powerpc/pr67808.c: Likewise. * gcc.target/powerpc/pr70117.c: Likewise. * gcc.target/powerpc/tfmode_off.c: Likewise. From-SVN: r261872
Michael Meissner committed -
Port https://golang.org/cl/120375 over to the gofrontend repo so that it gets more reliable testing. Updates golang/go#22472 Reviewed-on: https://go-review.googlesource.com/120395 From-SVN: r261871
Ian Lance Taylor committed -
rs6000.c (init_float128_ieee): Prevent complex multiply and divide external functions from being created more... 2018-06-23 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.c (init_float128_ieee): Prevent complex multiply and divide external functions from being created more than once. From-SVN: r261870
Michael Meissner committed -
2018-06-21 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.md (neg<mode>2_internal): Use the correct mode to check whether the mode is IBM extended. From-SVN: r261869
Michael Meissner committed -
2018-06-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/49630 * resolve.c (resolve_contained_fntype): Change standard ref. from F95 to F2003: C418. Correct a spelling error in a comment. It is an error for an abstract interface to have an assumed character length result. * trans-expr.c (gfc_conv_procedure_call): Likewise change the standard reference. 2018-06-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/49630 * gfortran.dg/assumed_charlen_function_7.f90: New test. From-SVN: r261868
Paul Thomas committed -
2018-06-21 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.md (extendtfif2): Add missing 128-bit conversion insn that shows up when pr85657-3.c is compiled using IEEE 128-bit long double. From-SVN: r261867
Michael Meissner committed -
The SSO basic_string has a non-standard insert(iterator, initializer_list) overload, from a C++0x draft. This adds the correct overload, while also preserving the old one so that the old symbol is still exported from the library. The COW basic_string doesn't have any of the C++11 changes to the insert overloads (they all still have non-const iterator parameters and the ones that should return an iterator still return void). This doesn't make any change to the COW string. PR libstdc++/83328 * acinclude.m4 (libtool_VERSION): Bump to 6:26:0. * config/abi/pre/gnu.ver: Add GLIBCXX_3.4.26 and export new symbol. * configure: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::insert(const_iterator, initializer_list<C>)): Add. [_GLIBCXX_USE_CXX11_ABI && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS] (basic_string::insert(iterator, initializer_list<C>)): Suppress definition. * include/debug/string (basic_string::insert(iterator, C)): Change first parameter to const_iterator. (basic_string::insert(iterator, size_type, C)): Likewise. Change return type to iterator. (basic_string::insert(iterator, InputIterator, InputIterator)): Likewise. (basic_string::insert(iterator, initializer_list<C>)): Change first parameter to const_iterator and return type to iterator. * src/c++11/string-inst.cc: Extend comment. * testsuite/21_strings/basic_string/modifiers/insert/char/83328.cc: New. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/83328.cc: New. * testsuite/util/testsuite_abi.cc: Add new symbol version. From-SVN: r261866
Jonathan Wakely committed -
From-SVN: r261865
Jonathan Wakely committed -
From-SVN: r261861
Jason Merrill committed -
* name-lookup.c (do_push_to_top_level): Don't allocate current_lang_base. (do_pop_from_top_level): Release current_lang_base. From-SVN: r261860
Jason Merrill committed -
* lex.c (cxx_make_type): Add MEM_STAT_DECL. (make_class_type): Likewise. (cxx_make_type_hook): New. * cp-objcp-common.h (LANG_HOOKS_MAKE_TYPE): Use cxx_make_type_hook. From-SVN: r261859
Jason Merrill committed -
From-SVN: r261858
Jason Merrill committed -
2018-06-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/83118 * resolve.c (resolve_ordinary_assign): Force the creation of a vtable for assignment of non-polymorphic expressions to an unlimited polymorphic object. * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the size of the rhs type for such assignments. Set the dtype, _len and vptrs appropriately. * trans-expr.c (gfc_trans_assignment): Force the use of the _copy function for these assignments. 2018-06-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/83118 * gfortran.dg/unlimited_polymorphic_30.f03: New test. From-SVN: r261857
Paul Thomas committed -
* cfgrtl.c (fixup_reorder_chain): Do not emit NOPs in DECL_IGNORED_P functions. (rtl_merge_blocks): Likewise. Do not emit a NOP if the location of the edge can be forwarded. (cfg_layout_merge_blocks): Likewise. From-SVN: r261856
Eric Botcazou committed -
except.c (finish_eh_generation): Commit edge insertions only after the EH edges have been redirected from... * except.c (finish_eh_generation): Commit edge insertions only after the EH edges have been redirected from post-landing to landing pads. From-SVN: r261855
Eric Botcazou committed -
tree-nested.c (get_frame_type): Use create_tmp_var_raw instead of create_tmp_var_for to create the FRAME decl. * tree-nested.c (get_frame_type): Use create_tmp_var_raw instead of create_tmp_var_for to create the FRAME decl. (finalize_nesting_tree_1): Do not unchain the FRAME decl. From-SVN: r261854
Eric Botcazou committed -
* tree-inline.c (copy_edges_for_bb): Minor tweak. (maybe_move_debug_stmts_to_successors): Also reset the locus of the debug statement when resetting its value. (expand_call_inline): Copy the locus of the call onto the assignment of the return value, if any. Use local variable in more cases. From-SVN: r261853
Eric Botcazou committed -
PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_imp::do_deallocate): Add missing return. * testsuite/experimental/memory_resource/new_delete_resource.cc: New. * testsuite/experimental/memory_resource/resource_adaptor.cc: Test resource_adaptor with std::allocator, __gnu_cxx::new_allocator and __gnu_cxx::malloc_allocator. From-SVN: r261851
Jonathan Wakely committed -
PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_common): New base class. (__resource_adaptor_common::_AlignMgr): Helper for obtaining aligned pointer from unaligned, and vice versa. (__resource_adaptor_imp::do_allocate): Use _AlignMgr to adjust allocated pointer to meet alignment request. (__resource_adaptor_imp::do_deallocate): Use _AlignMgr to retrieve original pointer for deallocation. (__resource_adaptor_imp::do_is_equal): Reformat. (__resource_adaptor_imp::_S_aligned_size): Remove. (__resource_adaptor_imp::_S_supported): Remove. (new_delete_resource): Use __gnu_cxx::new_allocator. * testsuite/experimental/memory_resource/resource_adaptor.cc: Test extended alignments and use debug_allocator to check for matching allocate/deallocate pairs. From-SVN: r261849
Jonathan Wakely committed -
2018-06-21 Martin Liska <mliska@suse.cz> * ipa-pure-const.c (propagate_nothrow): Use funct_state_summaries->get. (dump_malloc_lattice): Likewise. (propagate_malloc): Likewise. From-SVN: r261848
Martin Liska committed -
2018-06-21 Richard Biener <rguenther@suse.de> * lto-streamer-out.c (DFS::DFS_write_tree_body): Update outdated comment. Follow BLOCK_ABSTRACT_ORIGIN unconditionally. * tree-streamer-in.c (lto_input_ts_block_tree_pointers): Update comment. * tree-streamer-out.c (write_ts_block_tree_pointers): Stream BLOCK_ABSTRACT_ORIGIN unconditionally. From-SVN: r261847
Richard Biener committed -
gcc/ChangeLog: * ipa-cp.c (ipcp_driver): Set edge_clone_summaries to NULL after deleting it. * ipa-reference.c (ipa_reference_c_finalize): Delete ipa_ref_opt_sum_summaries and set it to NULL. From-SVN: r261846
David Malcolm committed -
Atm this test in pr45882.c fails: ... int d = a[i]; /* { dg-final { gdb-test 16 "d" "112" } } */ ... as follows: ... FAIL: gcc.dg/guality/pr45882.c -O2 -flto -fuse-linker-plugin \ -fno-fat-lto-objects line 16 d == 112 ... In more detail, gdb fails to print the value of d: ... Breakpoint 1, foo (i=i@entry=7, j=j@entry=7) at pr45882.c:16 16 ++v; $1 = <optimized out> $2 = 112 <optimized out> != 112 ... Variable d is a local variable in function foo, initialized from global array a. When compiling, first cddce1 removes the initialization of d in foo, given that d is not used afterwards. Then ipa marks array a as write-only, and removes the stores to array a in main. This invalidates the location expression for d, which points to a[i], so it is removed, which is why gdb ends up printing <optimized out> for d. This patches fixes the fail by adding attribute used to array a, preventing array a from being marked as write-only. Tested on x86_64. 2018-06-21 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/pr45882.c (a): Add used attribute. From-SVN: r261845
Tom de Vries committed -
2018-06-21 Tom de Vries <tdevries@suse.de> PR tree-optimization/85859 * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call test with comment from bb_no_side_effects_p. * gcc.dg/pr85859.c: New test. From-SVN: r261844
Tom de Vries committed -
2018-06-21 Richard Biener <rguenther@suse.de> PR tree-optimization/86232 * tree-ssa-loop-niter.c (number_of_iterations_popcount): Adjust max for constant niter. * gcc.dg/torture/pr86232.c: New testcase. From-SVN: r261843
Richard Biener committed -
2018-06-21 Christophe Lyon <christophe.lyon@linaro.org> libatomic/ * config/arm/arm-config.h (__ARM_ARCH__): Remove definitions, use __ARM_ARCH instead. Use __ARM_FEATURE_LDREX to define HAVE_STREX and HAVE_STREXBHD libgcc/ * config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use __ARM_ARCH and __ARM_FEATURE_CLZ instead. (HAVE_ARM_CLZ): Remove definition, use __ARM_FEATURE_CLZ instead. * config/arm/ieee754-df.S: Use __ARM_FEATURE_CLZ instead of __ARM_ARCH__. * config/arm/ieee754-sf.S: Likewise. * config/arm/libunwind.S: Use __ARM_ARCH instead of __ARM_ARCH__. From-SVN: r261841
Christophe Lyon committed -
2018-06-21 Christophe Lyon <christophe.lyon@linaro.org> libgcc/ * config/arm/ieee754-df.S: Remove code for __ARM_ARCH__ < 4, no longer supported. * config/arm/ieee754-sf.S: Likewise. From-SVN: r261840
Christophe Lyon committed -
gcc 2018-06-21 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/aarch64/aarch64-simd.md (*aarch64_crypto_aes<aes_op>v16qi_xor_combine): New. gcc/testsuite 2018-06-21 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc/gcc.target/aarch64/aes_xor_combine.c: New test. From-SVN: r261836
Andre Vieira committed -
gcc 2018-06-21 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi): Make opernads of the unspec commutative. gcc/testsuite 2018-06-21 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc/gcc.target/aarch64/aes_2.c: New test. From-SVN: r261835
Andre Vieira committed -
2018-06-21 Richard Biener <rguenther@suse.de> * tree-data-ref.c (dr_step_indicator): Handle NULL DR_STEP. * tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr): Avoid calling vect_mark_for_runtime_alias_test with gathers or scatters. (vect_analyze_data_ref_dependence): Re-order checks to deal with NULL DR_STEP. (vect_record_base_alignments): Do not record base alignment for gathers or scatters. (vect_compute_data_ref_alignment): Drop return value that is always true. Bail out early for gathers or scatters. (vect_enhance_data_refs_alignment): Bail out early for gathers or scatters. (vect_find_same_alignment_drs): Likewise. (vect_analyze_data_refs_alignment): Remove dead code. (vect_slp_analyze_and_verify_node_alignment): Likewise. (vect_analyze_data_refs): For possible gathers or scatters do not create an alternate DR, just check their possible validity and mark them. Adjust DECL_NONALIASED handling to not rely on DR_BASE_ADDRESS. * tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not update inits of gathers or scatters. * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Also copy gather/scatter flag to pattern vinfo. From-SVN: r261834
Richard Biener committed -
libbacktrace/ 2018-06-21 Denis Khalikov <d.khalikov@partner.samsung.com> PR other/86198 * elf.c (elf_add): Increase ".note.gnu.build-id" section size checking up to 36 bytes. From-SVN: r261832
Denis Khalikov committed -
debug.h (_Safe_iterator<>(const _Safe_iterator<_MutableIterator,>& __x)): Compare __x base iterator with a default initialized iterator of the same type. 2018-06-21 François Dumont <fdumont@gcc.gnu.org> * include/debug/debug.h (_Safe_iterator<>(const _Safe_iterator<_MutableIterator,>& __x)): Compare __x base iterator with a default initialized iterator of the same type. From-SVN: r261831
François Dumont committed -
From-SVN: r261830
GCC Administrator committed
-
- 20 Jun, 2018 1 commit
-
-
libgcc/: PR libgcc/86213 * generic-morestack.c (allocate_segment): Move calls to getenv and getpagesize to __morestack_load_mmap. (__morestack_load_mmap) Initialize static_pagesize and use_guard_page here so as to avoid clobbering SSE regs during a __morestack call. gcc/testsuite/: * gcc.dg/split-8.c: New. From-SVN: r261823
Than McIntosh committed
-