- 19 Dec, 2016 2 commits
-
-
From-SVN: r243789
Chenghua Xu committed -
From-SVN: r243788
GCC Administrator committed
-
- 18 Dec, 2016 5 commits
-
-
2016-12-18 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/78545 * intrinsic.texi: Fix documentation for GMTIME and LTIME. * intrinsics/date_and_time.c: Fix comments for GMTIME and LTIME. From-SVN: r243785
Dominique d'Humieres committed -
2016-12-18 Janus Weil <janus@gcc.gnu.org> PR fortran/78848 * trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class variables, if no typebound DTIO procedure is available. 2016-12-18 Janus Weil <janus@gcc.gnu.org> PR fortran/78848 * gfortran.dg/dtio_22.f90: New test. From-SVN: r243784
Janus Weil committed -
2016-12-18 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making sure that the generic list is followed through until the end. 2016-12-18 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * gfortran.dg/dtio_21.f90: New test. From-SVN: r243783
Janus Weil committed -
* lra-constraints.c (process_address): Add forward declaration. (simplify_operand_subreg): In the MEM case, if the adjusted memory reference is not sufficient aligned and the address was invalid, reload the address before reloading the original memory reference. Fix long lines and add a final return for the sake of clarity. From-SVN: r243782
Eric Botcazou committed -
From-SVN: r243781
GCC Administrator committed
-
- 17 Dec, 2016 9 commits
-
-
2016-12-17 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78746 * charlen_03.f90: Remove test. * charlen_10.f90: Ditto. From-SVN: r243778
Steven G. Kargl committed -
PR sanitizer/78832 * sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use continue if gsi_next should be skipped. (sanitize_asan_mark_poison): Remove prev variable, use continue if gsi_prev should be skipped. When removing ASAN_MARK, do gsi_prev first and gsi_remove on a previously made copy of the iterator. * gcc.dg/asan/pr78832.c: New test. From-SVN: r243777
Jakub Jelinek committed -
2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78239 * decl.c (char_len_param_value): Actually commit previous change. From-SVN: r243776
Thomas Koenig committed -
2016-12-17 Matthias Klose <doko@ubuntu.com> * config/arc/gmon: Remove empty directory. From-SVN: r243775
Matthias Klose committed -
* config/i386/avx512bwintrin.h: Add new k-mask intrinsics. * config/i386/avx512dqintrin.h: Ditto. * config/i386/avx512fintrin.h: Ditto. * config/i386/i386-builtin.def (__builtin_ia32_kaddqi, __builtin_ia32_kaddhi, __builtin_ia32_kaddsi, __builtin_ia32_kadddi): New. * config/i386/sse.md (kadd<mode>): New. testsuite/ChangeLog: * gcc.target/i386/avx512bw-kaddd-1.c: New test. * gcc.target/i386/avx512bw-kaddq-1.c: Ditto. * gcc.target/i386/avx512dq-kaddb-1.c: Ditto. * gcc.target/i386/avx512f-kaddw-1.c: Ditto. From-SVN: r243774
Andrew Senkevich committed -
2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78239 * decl.c(char_len_param_value): Also check for -fimplicit-none when determining if implicit none is in force. 2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78239 * gfortran.dg/fimplicit_none_1.f90: New test. * gfortran.dg/fimplicit_none_2.f90: New test. From-SVN: r243773
Thomas Koenig committed -
i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1 and *tzcnt<mode>_1 to define_insn_and_split pattern. * config/i386/i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1 and *tzcnt<mode>_1 to define_insn_and_split pattern. Adjust split condition to split after epilogue_completed. (ctz<mode>2): Remove expander. (ctz<mode>2): Merge *ctz<mode>2_falsedep_1 and *ctz<mode>2 to define_insn_and_split pattern. Adjust split condition to split after epilogue_completed. (clz<mode>2_lznct): Remove expander. (clz<mode>2_lzcnt): Merge *clz<mode>2_lzcnt_falsedep_1 and *clz<mode>2 to define_insn_and_split pattern. Adjust split condition to split after epilogue_completed. (<lt_zcnt>_<mode>): Remove expander. (<lt_zcnt>_<mode>): Merge *<lt_zcnt>_<mode>_falsedep_1 and *<lt_zcnt>_<mode> to define_insn_and_split pattern. Adjust split condition to split after epilogue_completed. (<lt_zcnt>_hi): New insn pattern. (popcount<mode>2): Remove expander. (popcount<mode>2): Merge *popcount<mode>2_falsedep_1 and *popcount<mode>2 to define_insn_and_split pattern. Adjust split condition to split after epilogue_completed. (popcounthi2): New insn pattern. From-SVN: r243772
Uros Bizjak committed -
gcc/testsuite/ChangeLog: 2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/byte-in-either-range-0.c: New test. * gcc.target/powerpc/byte-in-either-range-1.c: New test. * gcc.target/powerpc/byte-in-range-0.c: New test. * gcc.target/powerpc/byte-in-range-1.c: New test. * gcc.target/powerpc/byte-in-set-0.c: New test. * gcc.target/powerpc/byte-in-set-1.c: New test. * gcc.target/powerpc/byte-in-set-2.c: New test. gcc/ChangeLog: 2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value. (UNSPEC_CMPRB2): New unspec value. (UNSPEC_CMPEQB): New unspec value. (cmprb): New expansion. (*cmprb_internal): New insn. (*setb_internal): New insn. (cmprb2): New expansion. (*cmprb2_internal): New insn. (cmpeqb): New expansion. (*cmpeqb_internal): New insn. * config/rs6000/rs6000-builtin.def (BU_P9_2): New macro. (BU_P9_64BIT_2): Likewise. (BU_P9_OVERLOAD_2): Likewise. (CMPRB): Add byte-in-range built-in function. (CMBRB2): Add byte-in-either-range built-in function. (CMPEQB): Add byte-in-set built-in function. (CMPRB): Add overload support for byte-in-range function. (CMPRB2): Add overload support for byte-in-either-range function. (CMPEQB): Add overload support for byte-in-set built-in function. * config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to define argument types for new builtin. (P9_BUILTIN_CMPRB2): Likewise. (P9_BUILTIN_CMPEQB): Likewise. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange the order of presentation for certain built-in functions (scalar_extract_exp, scalar_extract_sig, scalar_insert_exp) (scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq) (scalar_cmp_exp_unordered, scalar_test_data_class) (scalar_test_neg) to improve locality and flow. Document the new __builtin_scalar_byte_in_set, __builtin_scalar_byte_in_range, and __builtin_scalar_byte_in_either_range functions. From-SVN: r243770
Kelvin Nilsen committed -
From-SVN: r243769
GCC Administrator committed
-
- 16 Dec, 2016 23 commits
-
-
Change the interfaces for backend methods that create statements to always pass in the enclosing Bfunction for the statement. Having the function available simplifies things if a temporary variable has to be created during the construction of a statement. This also includes a change to the Mark_lvalue_varexprs helper class to handle indirections on the left hand side of assignments (e.g. "*x.y = ..."). Reviewed-on: https://go-review.googlesource.com/34471 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction* parameter. (Gcc_backend::init_statement): Likewise. (Gcc_backend::assignment_statement): Likewise. (Gcc_backend::if_statement): Likewise. From-SVN: r243766
Than McIntosh committed -
re PR fortran/78662 ([F03] Incorrect parsing of quotes in the char-literal-constant of the DT data descriptor) 2016-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/78622 * io.c (format_lex): Continue of string delimiter seen. * io/transfer.c (get_dt_format): New static function to alloc and set the DT iotype string, handling doubled quotes. (formatted_transfer_scalar_read, formatted_transfer_scalar_write): Use new function. * gfortran.dg/dtio_20.f03: New test. From-SVN: r243765
Jerry DeLisle committed -
PR fortran/78757 * trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR for the type pstr var points to. * gfortran.dg/char_result_16.f90: New test. From-SVN: r243761
Jakub Jelinek committed -
From-SVN: r243759
Joseph Myers committed -
* include/bits/stl_map.h (map::erase(iterator)): Add Doxygen markup to reuse documentation for erase(const_iterator) overload. * include/bits/stl_multimap.h (multimap::erase(iterator)): Likewise. From-SVN: r243758
Jonathan Wakely committed -
* include/bits/stl_tree.h (_Rb_tree::_M_erase_aux(const_iterator)): Add assertion for undefined argument. (_Rb_tree::_M_erase_aux(const_iterator, const_iterator)): Call _M_erase_aux directly instead of through erase. (_Rb_tree::_M_erase_aux(const Key&)): Likewise. * testsuite/23_containers/map/modifiers/erase/end_neg.cc: New test. From-SVN: r243757
Jonathan Wakely committed -
* config/aarch64/aarch64.md: New define_split above bswap<mode>2. * gcc.target/aarch64/ubfiz_lsl_1.c: New test. From-SVN: r243756
Kyrylo Tkachov committed -
* config/aarch64/aarch64.md: New define_split above insv<mode>. * gcc.target/aarch64/ubfx_lsr_1.c: New test. From-SVN: r243755
Kyrylo Tkachov committed -
From-SVN: r243754
Jakub Jelinek committed -
PR c/78408 * tree-ssa-ccp.c: Include tree-dfa.h. (optimize_memcpy): New function. (pass_fold_builtins::execute): Use it. Remove useless conditional break after BUILT_IN_VA_*. * gcc.dg/pr78408-1.c: New test. * gcc.dg/pr78408-2.c: New test. From-SVN: r243753
Jakub Jelinek committed -
re PR tree-optimization/78819 (Wrong code with VRP caused by register assertions along default switch labels) PR tree-optimization/78819 * tree-vrp.c (find_switch_asserts): Return if the insertion limit is 0. Don't register an assertion if the default case shares a label with another case. * gcc.dg/tree-ssa/vrp112.c: New test. From-SVN: r243746
Marek Polacek committed -
The negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2 doesn't support RSC with an immediate. The negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2 doesn't support RSC with an immediate. We can however emulate RSC with zero using a shifted SBC. If we add this to subsi3_carryin the negdi patterns can be merged, simplifying things a bit. This should generate identical code in all cases. gcc/ * config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0. (arm_negdi2) Rename to negdi2_insn, allow on Thumb-2. * config/arm/thumb2.md (thumb2_negdi2): Remove pattern. From-SVN: r243745
Wilco Dijkstra committed -
Thumb uses a special register allocation order to increase the use of low registers. Oddly enough, LR appears before R12, which means that LR must be saved and restored even if R12 is available. Swapping R12 and LR means this simple example now uses R12 as a temporary (just like ARM): int f(long long a, long long b) { if (a < b) return 1; return a + b; } gcc/ * config/arm/arm.c (thumb_core_reg_alloc_order): Swap R12 and R14. From-SVN: r243744
Wilco Dijkstra committed -
gcc/ 2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (call_prof): Remove. (call_value_prof): Likewise. (sibcall_prof): Likewise. (sibcall_value_prof): Likewise. From-SVN: r243743
Claudiu Zissulescu committed -
gcc/ 2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.h (LINK_SPEC): Tidy up. (ENDFILE_SPEC): Likewise. (LIB_SPEC): Likewise. (STARTFILE_SPEC): Include gcrt0 when profiling. (FUNCTION_PROFILER): Use __mcount. * config/arc/arc.opt (mucb-mcount): Remove. * doc/invoke.texi (ARC): Remove mucb-mcount doc. * arc/arc-protos.h (arc_profile_call): Remove. * config/arc/arc.c (write_profile_sections): Likewise. (arc_profile_call): Likewise. (unspec_prof_hash): Likewise. (unspec_prof_htab_eq): Likewise. (arc_legitimate_constant_p): Remove UNSPEC_PROF. (arc_reorg): Remove call to write_profile_sections. * config/arc/arc.md (call): Remove call to arc_profile_call. (call_value): Likewise. (sibcall): Likewise. (sibcall_value): Likewise. (define_constants): Remove UNSPEC_PROF. libgcc/ * config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and crtgend. (arc*-*-elf*): Likewise. * config/arc/t-arc: Remove old gmon lib targets. * config/arc/crtg.S: Remove. * config/arc/crtgend.S: Likewise. * config/arc/gmon/atomic.h: Likewise. * config/arc/gmon/auxreg.h: Likewise. * config/arc/gmon/dcache_linesz.S: Likewise. * config/arc/gmon/gmon.c: Likewise. * config/arc/gmon/machine-gmon.h: Likewise. * config/arc/gmon/mcount.c: Likewise. * config/arc/gmon/prof-freq-stub.S: Likewise. * config/arc/gmon/prof-freq.c: Likewise. * config/arc/gmon/profil.S: Likewise. * config/arc/gmon/sys/gmon.h: Likewise. * config/arc/gmon/sys/gmon_out.h: Likewise. * config/arc/t-arc-newlib: Likewise. * config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc. From-SVN: r243742
Claudiu Zissulescu committed -
Previously users of mulsidi_600 and umulsidi_600 had to take care of moving the multiplication result into the final destination themselves (from the MUL64_OUT_REG register). This commit converts these two instruction patterns into insn_and_split patterns that now take the final destination as an extra operand. The insn_and_split patterns generate the multiplication using two new multiplication instruction patterns, then generate the move of the result from the MUL64_OUT_REG register into the final destination. This is a clean up commit, there should be no user visible changes after this commit. 2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (mulsidi_600): Change to insn_and_split, generate new mul64 insn for core multiplication work. (umulsidi_600): Likewise, but use mulu64 insn. (mul64): New pattern, content taken from old mulsidi_600 insn pattern. (mulu64): Likewise, but using umulsidi_600. (mulsidi3): Remove move to destination, this is now handled by mulsidi_600 insn_and_split. (umulsidi3): Likewise, but using umulsidi_600. From-SVN: r243741
Claudiu Zissulescu committed -
* gnat.dg/opt61.adb: New test. * gnat.dg/opt61_pkg.ad[sb]: New helper. From-SVN: r243740
Eric Botcazou committed -
Implement LWG 2769, Redundant const in the return type of any_cast(const any&). * include/std/any (_AnyCast): New. (any_cast(const any&)): Use it and add an explicit cast for return. (any_cast(any&)): Likewise. (any_cast(any&&)): Likewise. * testsuite/20_util/any/misc/any_cast.cc: Add a test for a type that has an explicit copy constructor. *testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. From-SVN: r243739
Ville Voutilainen committed -
2016-12-16 Richard Biener <rguenther@suse.de> PR c++/71694 * langhooks-def.h (lhd_unit_size_without_reusable_padding): Declare. (LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Adjust. * langhooks.h (struct lang_hooks_for_types): Add unit_size_without_reusable_padding. * langhooks.c (lhd_unit_size_without_reusable_padding): New. * stor-layout.c (finish_bitfield_representative): Use unit_size_without_reusable_padding langhook to decide on the last representatives size. cp/ * cp-objcp-common.h (cp_unit_size_without_reusable_padding): Declare. (LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define. * cp-objcp-common.c (cp_unit_size_without_reusable_padding): New. * g++.dg/pr71694.C: New testcase. From-SVN: r243738
Richard Biener committed -
2016-12-16 Richard Biener <rguenther@suse.de> PR middle-end/71632 * expr.c (expand_cond_expr_using_cmove): Bail out early if we end up recursing via TER. * gcc.dg/pr71632.c: New testcase. From-SVN: r243737
Richard Biener committed -
PR bootstrap/78817 - stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661 gcc/ChangeLog: * vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Assert a pointer is non-null. From-SVN: r243736
Martin Sebor committed -
A couple of the comments in the type descriptor code were out of date with respect to the names in libgo/go/runtime/type.go. Fix up the comments and field names to bring them into sync. Reviewed-on: https://go-review.googlesource.com/34472 From-SVN: r243735
Ian Lance Taylor committed -
From-SVN: r243734
GCC Administrator committed
-
- 15 Dec, 2016 1 commit
-
-
Array type being built to hold GC var initializer was being created with an extra/unneeded slot. Fix up the code to insure that the array length matches the length of the initializer list. Reviewed-on: https://go-review.googlesource.com/34413 From-SVN: r243731
Ian Lance Taylor committed
-