aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-31make sure this is committedibm/git280kelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@268429 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-10after tidying code, still only two toc regressions and sporadic tsan failureskelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@266002 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-08only two regressions now - related to toc corruptionkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@265935 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-24fixed regression on fast-math-vect-complex-3.ckelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@265472 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-09checkpoint of work in progresskelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264995 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-25undo an accidental cosmetic editkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264576 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-21more tidyingkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264493 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-21tidy dump traces - still workskelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264492 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-21cleanup code - still workskelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264488 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-18tidy up traces and condition -detailskelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264406 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-17removed debug traces from infrastructure codekelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264375 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-17code generation looks goodkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264374 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-17checkpointkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264366 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-14replacement of originating expressions seem to workkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264322 138bc75d-0d04-0410-961f-82ee72b054a4
2018-09-06progressingkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@264149 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-21new pass is in place but not doing anythingkelvin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@263747 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Use this branch to experiment with a new optimization pass thatkelvin
makes d-form addressing look more attractive following loop unrolling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/git280@263565 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Do not expand the call to memcmp at all when overflow is detected.qinzhao
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263563 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-152018-08-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>prathamesh3492
c/ * c-decl.c (start_decl): Do not warn if variables is named as main and is a local variable. testsuite/ * gcc.dg/wmain.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263562 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15PR tree-optimization/71625 - missing strlen optimization on different arraymsebor
initialization style (avoid compilation errors on aarch64) gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtin_types): Clear Poly8_t's TYPE_STRING_FLAG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263561 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15S/390: Remove branch splitting loopkrebbel
Since there is no branch splitting anymore, the loop is no longer necessary: pool chunkification can be done in one step. gcc/ChangeLog: 2018-08-15 Ilya Leoshkevich <iii@linux.ibm.com> * config/s390/s390.c (s390_reorg): Remove loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263557 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Don't make unsized objects into extern.iains
2018-08-15 Iain Sandoe <iain@sandoe.co.uk> gcc/c: PR c/19315 * c-decl.c (finish_decl): Don't add the 'extern' storage class to objects of unknown size. gcc/testsuite: PR c/19315 gcc.dg/graphite/pr82451.c: Make array 'a' an extern. gcc.dg/redecl-10.c: Expect warnings for the static vars with unknown size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263556 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Darwin - remove unnecessary target hookiains
gcc/ 2018-08-15 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.c (darwin_function_switched_text_sections): Delete. * gcc/config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263555 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Fix single-threaded build for targets without atomicsredi
* src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] (atomic_mem_res): Add unsynchronized definition for single-threaded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263554 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Update Darwin section names for DWARF5iains
gcc/ 2018-08-15 Iain Sandoe <iain@sandoe.co.uk> PR target/81685 * config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION, DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION, DEBUG_PUBTYPES_SECTION) update to include GNU variant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263553 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Fix merging of 2 predictors (PR tree-optimization/86925).marxin
2018-08-15 Martin Liska <mliska@suse.cz> PR tree-optimization/86925 * predict.c (expr_expected_value_1): When taking later predictor, assign also probability. Use fold_build2_initializer_loc in order to fold the expression in -frounding-math. 2018-08-15 Martin Liska <mliska@suse.cz> PR tree-optimization/86925 * gcc.dg/predict-20.c: New test. * gcc.dg/predict-21.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263552 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15/cppaolo
2018-08-15 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (check_previous_goto_1): When decl_jump_unsafe returns 2 emit an error instead of a permerror. /testsuite 2018-08-15 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/init/goto3.C: Adjust for error instead of permerror. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263551 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Backport of RISC-V support for libffi go closuresschwab
* src/riscv/ffi.c (ffi_call_go, ffi_prep_go_closure): New functions. (ffi_call_int): Renamed from ffi_call. (ffi_call_asm, ffi_closure_inner): Adjust interface. * src/riscv/ffitarget.h (FFI_GO_CLOSURES): Define. * src/riscv/sysv.S (ffi_go_closure_asm): New function. (ffi_closure_asm, ffi_call_asm): Update for adjusted interfaces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263550 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15 * config/i386/i386.c (expand_vec_perm_movs): New method matching movslaw
patterns. (expand_vec_perm_1): Try the new method. * gcc.target/i386/sse2-movs.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263549 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15 PR target/86547law
* lra-lives.c (remove_some_program_points_and_update_live_ranges): Check whether lra_live_max_point is 0 before dividing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263548 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-15Daily bump.gccadmin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263547 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14Include <sys/random.h> for getentropy on Solarisro
* configure.ac: Check for <sys/random.h>. * configure, config.h.in: Regenerate. * intrinsics/random.c [HAVE_SYS_RANDOM_H]: Include <sys/random.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263543 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14PR libstdc++/86954 use non-placement operator deleteredi
As explained in the PR, there's no reason to call the nothrow delete, we can just use the normal one. PR libstdc++/86954 * include/bits/stl_tempbuf.h (return_temporary_buffer): Use non-placement delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263542 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14PR tree-optimization/86650 - -Warray-bounds missing inlining contextmsebor
gcc/ChangeLog: PR tree-optimization/86650 * tree-vrp.c (vrp_prop::check_array_ref): Print an inform message. (vrp_prop::check_mem_ref): Same. gcc/testsuite/ChangeLog: PR tree-optimization/86650 * gcc.dg/Warray-bounds-34.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263541 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-142018-08-14 Janus Weil <janus@gcc.gnu.org>janus
PR fortran/86116 * interface.c (compare_type): Remove a CLASS/TYPE check. (compare_type_characteristics): New function that behaves like the old 'compare_type'. (gfc_check_dummy_characteristics, gfc_check_result_characteristics): Call 'compare_type_characteristics' instead of 'compare_type'. 2018-08-14 Janus Weil <janus@gcc.gnu.org> PR fortran/86116 * gfortran.dg/generic_34.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263540 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14Simplify overflow checks in duration literalsredi
* include/std/chrono (__check_overflow): Simplify definition. (_Checked_integral_constant): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263537 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14PR libstdc++/86846 Alternative to pointer-width atomicsredi
Define a class using std::mutex for when std::atomic<memory_resource*> cannot be used to implement the default memory resource. When std::mutex constructor is not constexpr the constant_init trick won't work, so just define a global and use init_priority for it. The compiler warns about using reserved priority, so put the definition in a header file using #pragma GCC system_header to suppress the warning. PR libstdc++/86846 * src/c++17/default_resource.h: New file, defining default_res. * src/c++17/memory_resource.cc [ATOMIC_POINTER_LOCK_FREE != 2] (atomic_mem_res): Define alternative for atomic<memory_resource*> using a mutex instead of atomics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263536 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14PR libstdc++/85343 overload __throw_ios_failure to take errnoredi
[ios::failure] p2: "When throwing ios_base::failure exceptions, implementations should provide values of ec that identify the specific reason for the failure." This adds a new overload of __throw_ios_failure that can be passed errno, to store error_code(errno, system_category()) in the exception object. PR libstdc++/85343 * acinclude.m4 (libtool_VERSION): Bump version. * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add new symbol version. Export new symbol. * configure: Regenerate. * doc/xml/manual/abi.xml: Document new versions. * include/bits/fstream.tcc (basic_filebuf<C, T>::underflow) (basic_filebuf<C, T>::xsgetn): Pass errno to __throw_ios_failure. * include/bits/functexcept.h (__throw_ios_failure(const char*, int)): Declare new overload. * src/c++11/cxx11-ios_failure.cc (__ios_failure): Add new constructor and static member function. (__throw_ios_failure(const char*, int)): Define. * src/c++98/ios_failure.cc [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure(const char*, int)): Define. * testsuite/util/testsuite_abi.cc: Update known and latest versions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263535 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14Rope iterators: don't retain pointers when copiedredi
Rope iterators sometimes contain pointers to an internal buffer inside the iterator itself. When such an iterator is copied, the copy incorrectly retains pointers to the original. This patch takes the simple approach of not copying the cached information when the internal buffer is being used, instead requiring it to be recomputed when the copied iterator is dereferenced. An alternative would be to adjust the pointers so they refer to the buffer in the copy. 2018-08-14 Jeremy Sawicki <jeremy-gcc@sawicki.us> * include/ext/rope (_Rope_iterator_base(const _Rope_iterator_base&)) (_Rope_const_iterator::operator=(const _Rope_const_iterator&)) (_Rope_iterator::operator=(const _Rope_iterator&)): Ensure copied/assigned rope iterators don't retain pointers to the iterator they were copied/assigned from. * testsuite/ext/rope/7.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263534 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14* gcc/pretty-print.c (eat_esc_sequence): Swap the foreground and backgroundjyong
colors if the COMMON_LVB_REVERSE_VIDEO flag is set, and clear it thereafter, as it only works for DBCS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263531 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14* gcc/pretty-print.c (mingw_ansi_fputs): Do not call _close() on the handlejyong
returned by _get_osf_handle(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263530 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-14Daily bump.gccadmin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263527 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13 PR c++/57891mpolacek
* call.c (struct conversion): Add check_narrowing_const_only. (build_converted_constant_expr): Set check_narrowing and check_narrowing_const_only. Give error if expr is error node. (convert_like_real): Pass it to check_narrowing. * cp-tree.h (check_narrowing): Add a default parameter. * decl.c (compute_array_index_type): Use input_location instead of location_of. * pt.c (convert_nontype_argument): Return NULL_TREE if tf_error. * typeck2.c (check_narrowing): Don't warn for instantiation-dependent expressions. Call maybe_constant_value instead of fold_non_dependent_expr. Don't mention { } in diagnostic. Only check narrowing for constants if CONST_ONLY. * g++.dg/cpp0x/Wnarrowing6.C: New test. * g++.dg/cpp0x/Wnarrowing7.C: New test. * g++.dg/cpp0x/Wnarrowing8.C: New test. * g++.dg/cpp0x/Wnarrowing9.C: New test. * g++.dg/cpp0x/Wnarrowing10.C: New test. * g++.dg/cpp0x/constexpr-47969.C: Adjust dg-error. * g++.dg/cpp0x/constexpr-ex2.C: Likewise. * g++.dg/cpp0x/constexpr-targ.C: Likewise. * g++.dg/cpp0x/scoped_enum2.C: Likewise. * g++.dg/ext/stmtexpr15.C: Likewise. * g++.dg/gomp/pr47963.C: Likewise. * g++.dg/init/new37.C: Likewise. * g++.dg/init/new43.C: Likewise. * g++.dg/other/fold1.C: Likewise. * g++.dg/parse/array-size2.C: Likewise. * g++.dg/template/dependent-name3.C: Likewise. * g++.dg/cpp0x/constexpr-data2.C: Add dg-error. * g++.dg/other/vrp1.C: Likewise. * g++.dg/template/char1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263523 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13Use getentropy() for seeding PRNGjb
The getentropy function, found on Linux, OpenBSD, and recently also FreeBSD, can be used to get random bytes to initialize the PRNG. It is similar to the traditional way of reading from /dev/urandom, but being a system call rather than a special file, it doesn't suffer from problems like running out of file descriptors, or failure when running in a container where /dev/urandom may not be available. Regtested on x86_64-pc-linux-gnu, Ok for trunk? 2018-08-13 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Check for getentropy. * intrinsics/random.c (getosrandom): Use getentropy if available. * config.h.in: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263522 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13rs6000: Fix pr56605.csegher
After the combine 2-2 changes, this testcase does not have a ZERO_EXTEND in the intermediate code, but an AND instead. gcc/testsuite/ * gcc.target/powerpc/pr56605.c: The generated code can have an AND instead of a ZERO_EXTEND. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263521 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13[gcc]willschm
2018-07-06 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for folding vec_perm. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263520 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13[gcc]willschm
2018-08-13 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for gimple-folding of vec_pack() and vec_unpack() intrinsics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263519 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13PR libstdc++/45093 avoid warnings for _M_destroy_noderedi
PR libstdc++/45093 * include/bits/stl_tree.h (_Rb_tree::_M_destroy_node(_Link_type)): Combine definitions to avoid --detect-odr-violations warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263516 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13Minor optimisations in operator new(size_t, align_val_t)redi
* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Use __is_pow2 to check for valid alignment. Avoid branching when rounding size to multiple of alignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263515 138bc75d-0d04-0410-961f-82ee72b054a4
2018-08-13Add <bit> and <version> to freestanding headersredi
* include/Makefile.am: Install <bit> and <version> for freestanding. * include/Makefile.in: Regenerate. * testsuite/17_intro/freestanding.cc: Check for <bit> and <version>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263514 138bc75d-0d04-0410-961f-82ee72b054a4