- 10 Nov, 2016 3 commits
-
-
2016-11-10 Kugan Vivekanandarajah <kuganv@linaro.org> Revert 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions. (propagate_vr_accross_jump_function): Likewise. * ipa-prop.c (ipa_set_jf_unary_pass_through): New. (load_from_param_1): New. (load_from_unmodified_param): Factor common part into load_from_param_1. (load_from_param): New. (compute_complex_assign_jump_func): Handle unary expressions. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. From-SVN: r242032
Kugan Vivekanandarajah committed -
match.pd transforms (A&C)|(B&~C) to ((A^B)&C)^B, which is fewer operations if C is not const (and it is not on simple tests at least, this transform is done very early already). Various processors have "insert" instructions that can do this, but combine cannot build those from the xor-and-xor, especially it has no chance at all to do that if A or B or multiple instructions as well (on PowerPC, the rl[wd]imi instructions can do this with together with a rotate, or a simple shift with appropriate C; other ISAs have similar insns). This patch makes RTL simplify transform (xor (and (xor A B) C) B) back to (ior (and A C) (and B ~C)) for constant C (and similar with A instead of B for that last term). * simplify-rtx.c (simplify_binary_operation_1): Simplify (xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and (xor (and (xor A B) C) A) to (ior (and A ~C) (and B C)) if C is a const_int. From-SVN: r242031
Segher Boessenkool committed -
From-SVN: r242030
GCC Administrator committed
-
- 09 Nov, 2016 29 commits
-
-
* g++.dg/asan/asan_test.C: Remove -Wno-format, add -Wno-c++1z-compat. * g++.dg/asan/dejagnu-gtest.h (EXPECT_TRUE): Use "%s" format string in case condition contains % characters. From-SVN: r242027
Jakub Jelinek committed -
PR c++/78283 * mangle.c (start_mangling): Reset G.need_cxx1z_warning. * g++.dg/cpp1z/noexcept-type13.C: New test. From-SVN: r242026
Jakub Jelinek committed -
* libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()): Define end() as _M_pregex == nullptr. * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(), regex_iterator::operator++()): Fix operator==() and operator++() to look at null-ness of _M_pregex on both sides. * testsuite/28_regex/regression.cc: New testcase. From-SVN: r242025
Tim Shen committed -
Rename is_immutable to is_static_initializer to try to capture what it really means. Be more precise about when an address expression, or a binary expression, can be a static initializer. Don't check whether a type has pointers when deciding whether an initializer must be read-write, just check whether it is being used to initialize a global variable. To make that work set the Translate_context function to NULL for a global variable with a static initializer. The effect of this is to let more global variables be initialized directly, rather than being initialized in the generated init function. Reviewed-on: https://go-review.googlesource.com/32917 From-SVN: r242024
Ian Lance Taylor committed -
gcc/ChangeLog: * print-rtl-function.c: Include varasm.h. (print_any_param_name): New function. (print_param): New function. (print_rtx_function): Call print_param for each argument. * print-rtl.c (rtx_writer::finish_directive): New function. * print-rtl.h (rtx_writer::finish_directive): New decl. From-SVN: r242023
David Malcolm committed -
2016-11-09 Toma Tabacu <toma.tabacu@imgtec.com> * gcc.target/mips/mips.exp (mips-dg-options): Upgrade to MIPS IV if using (HAS_MOVN) with MIPS III. From-SVN: r242021
Toma Tabacu committed -
2016-11-09 Mikael Morin <mikael@gcc.gnu.org> Janus Weil <janus@gcc.gnu.org> PR fortran/46459 * interface.c (compare_actual_formal): Add safety checks to avoid ICE. 2016-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/46459 * gfortran.dg/volatile14.f90: New test. From-SVN: r242020
Janus Weil committed -
* parser.c (cp_parser_simple_type_specifier): Allow placeholder for template template parameter. (cp_parser_type_id_1): Improve diagnostic. * decl.c (grokdeclarator): Handle class deduction diagnostics here. * pt.c (splice_late_return_type): Not here. (tsubst) [TEMPLATE_TYPE_PARM]: Substitute into placeholder template. (do_class_deduction): Handle non-class templates. From-SVN: r242018
Jason Merrill committed -
gcc/cp/ * cp-tree.h (enum auto_deduction_context): Add adc_unify. * decl.c (grokdeclarator): Allow 'auto' in C++17 template non-type parameter types. * pt.c (do_auto_deduction): Add outer_targs parameter. (convert_template_argument): Call do_auto_deduction. If adc_unify, don't give up on dependent init. (unify): Likewise. In C++17, walk into the type of a TEMPLATE_PARM_INDEX. (for_each_template_parm): Add any_fn parameter. (struct pair_fn_data): Likewise. (for_each_template_parm_r): Call it for any tree. In C++17, walk into the type of a TEMPLATE_PARM_INDEX. (zero_r, array_deduction_r, try_array_deduction): New. (type_unification_real): Call try_array_deduction. (get_partial_spec_bindings): Likewise. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. From-SVN: r242017
Jason Merrill committed -
PR target/78262 * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark operand 0 as earlyclobber. testsuite/ChangeLog: PR target/78262 * gcc.target/i386/pr78262.c: New test. From-SVN: r242013
Uros Bizjak committed -
From-SVN: r242011
Martin Liska committed -
PR fortran/78259 * gcc/fortran/trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL values. PR fortran/78259 * gcc/testsuite/gfortran.dg/pr78259.f90: New test. From-SVN: r242010
Fritz O. Reese committed -
2016-11-09 Steve Kargl <kargl@gcc.gnu.org> Janus Weil <janus@gcc.gnu.org> PR fortran/60777 * expr.c (external_spec_function): Allow recursive specification functions in F03. 2016-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/60777 * gfortran.dg/spec_expr_7.f90: New test. From-SVN: r242009
Janus Weil committed -
PR target/77718 * builtins.c (expand_builtin_memcmp): Formatting fix. * gcc.c-torture/execute/pr77718.c: New test. From-SVN: r242007
Jakub Jelinek committed -
* flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE and SANITIZE_SHIFT_EXPONENT, change SANITIZE_SHIFT to bitwise or of them, renumber other enumerators. * opts.c (sanitizer_opts): Add shift-base and shift-exponent. * doc/invoke.texi: Document -fsanitize=shift-base and -fsanitize-shift-exponent, document -fsanitize=shift as having those 2 suboptions. c-family/ * c-ubsan.c (ubsan_instrument_shift): Handle split -fsanitize=shift-base and -fsanitize=shift-exponent. testsuite/ * gcc.dg/ubsan/c99-shift-3.c: New test. * gcc.dg/ubsan/c99-shift-4.c: New test. * gcc.dg/ubsan/c99-shift-5.c: New test. * gcc.dg/ubsan/c99-shift-6.c: New test. From-SVN: r242005
Jakub Jelinek committed -
2016-11-09 Richard Biener <rguenther@suse.de> * fold-const.c (tree_swap_operands_p): Remove unused arg. * fold-const.c (tree_swap_operands_p): Likewise. (fold_binary_loc): Adjust. (fold_ternary_loc): Likewise. * genmatch.c (dt_operand::gen_gimple_exp): Likewise. * gimple-fold.c (fold_stmt_1): Likewise. * gimple-match-head.c (gimple_resimplify2): Likewise. (gimple_resimplify3): Likewise. (gimple_simplify): Likewise. * tree-ssa-dom.c (record_equality): Likewise. * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Likewise. * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise. * tree-ssa-threadedge.c (simplify_control_stmt_condition_1): Likewise. From-SVN: r242004
Richard Biener committed -
2016-11-09 Richard Biener <rguenther@suse.de> * tree-ssa-dom.c (canonicalize_comparison): Remove. (optimize_stmt): Remove redundant pre-propagation canonicalization of comparison operand order. From-SVN: r242003
Richard Biener committed -
* fold-const-call.c (fold_const_call): Fix the folding. * gcc.dg/tree-ssa/builtins-folding-generic.c (main): Add new test-case for memcmp. * gcc.dg/tree-ssa/builtins-folding-gimple.c: Likewise. From-SVN: r242000
Martin Liska committed -
2016-11-09 Richard Biener <rguenther@suse.de> * common.opt (flag_evaluation_order): Remove. * expr.c (expand_operands): Remove code guarded by flag_evaluation_order. * fold-const.c (reorder_operands_p): Remove, it always returns true. (negate_expr_p): Remove calls to reorder_operands_p. (fold_negate_expr): Likewise. (tree_swap_operands_p): Likewise. (fold_binary_loc): Likewise. From-SVN: r241998
Richard Biener committed -
re PR c++/78269 (FAIL: FAIL: g++.dg/cpp1z/noexcept-type11.C and FAIL: g++.dg/cpp1z/noexcept-type9.C) 2016-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ PR testsuite/78269 * g++.dg/cpp1z/noexcept-type9.C: Make it a compile test. From-SVN: r241997
Thomas Preud'homme committed -
PR target/78254 * config/m68k/m68k.md: Reject out-of-range bit pos in bit-fields insns operating on a register. From-SVN: r241996
Andreas Schwab committed -
check.c (gfc_check_move_alloc): Prevent error that avoids aliasing between to and from arguments from rejecting... 2016-11-09 Paul Thomas <pault@gcc.gnu.org> * check.c (gfc_check_move_alloc): Prevent error that avoids aliasing between to and from arguments from rejecting valid code. 2016-11-09 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/move_alloc_18.f90: New test. From-SVN: r241995
Paul Thomas committed -
re PR testsuite/78256 (test case gcc.dg/pr35691-1.c fails starting with its introduction in r241915) 2016-11-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR middle-end/78256 testsuite/ * gcc.dg/pr35691-1.c (foo): Use & instead of &&. * gcc.dg/pr35691-2.c (foo): Use | instead of ||. From-SVN: r241994
Prathamesh Kulkarni committed -
2016-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/71894 * class.c (gfc_add_component_ref): Add safety checks to avoid ICE. 2016-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/71894 * gfortran.dg/class_59.f90: New test. From-SVN: r241993
Janus Weil committed -
2016-11-09 Richard Biener <rguenther@suse.de> PR tree-optimization/78007 * tree-vect-stmts.c (vectorizable_bswap): New function. (vectorizable_call): Call vectorizable_bswap for BUILT_IN_BSWAP{16,32,64} if arguments are not promoted. * gcc.dg/vect/vect-bswap32.c: Adjust. * gcc.dg/vect/vect-bswap64.c: Likewise. From-SVN: r241992
Richard Biener committed -
tree-vect-data-refs.c (vect_compute_data_ref_alignment): Look at the DR_BASE_ADDRESS object for forcing alignment. 2016-11-09 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Look at the DR_BASE_ADDRESS object for forcing alignment. From-SVN: r241991
Richard Biener committed -
Handle unary pass-through jump functions for ipa-vrp gcc/testsuite/ChangeLog: 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/ipa/vrp7.c: New test. gcc/ChangeLog: 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions. (propagate_vr_accross_jump_function): Likewise. * ipa-prop.c (ipa_set_jf_unary_pass_through): New. (load_from_param_1): New. (load_from_unmodified_param): Factor common part into load_from_param_1. (load_from_param): New. (compute_complex_assign_jump_func): Handle unary expressions. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. From-SVN: r241990
Kugan Vivekanandarajah committed -
Fix ice in set_value_range gcc/ChangeLog: 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org> PR ipa/78121 * ipa-cp.c (propagate_vr_accross_jump_function): Pass param type. Also fold constant passed as argument while computing value range. (propagate_constants_accross_call): Pass param type. * ipa-prop.c: export ipa_get_callee_param_type. * ipa-prop.h: export ipa_get_callee_param_type. gcc/testsuite/ChangeLog: 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org> PR ipa/78121 * gcc.dg/ipa/pr78121.c: New test. From-SVN: r241989
Kugan Vivekanandarajah committed -
From-SVN: r241987
GCC Administrator committed
-
- 08 Nov, 2016 8 commits
-
-
asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR. gcc/ * asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR. gcc/testsuite/ * c-c++-common/asan/default_options.h: New file. * c-c++-common/asan/strcasestr-1.c: New test. * c-c++-common/asan/strcasestr-2.c: Likewise. * c-c++-common/asan/strcspn-1.c: Likewise. * c-c++-common/asan/strcspn-2.c: Likewise. * c-c++-common/asan/strpbrk-1.c: Likewise. * c-c++-common/asan/strpbrk-2.c: Likewise. * c-c++-common/asan/strspn-1.c: Likewise. * c-c++-common/asan/strspn-2.c: Likewise. * c-c++-common/asan/strstr-1.c: Likewise. * c-c++-common/asan/strstr-2.c: Likewise. * c-c++-common/asan/halt_on_error_suppress_equal_pcs-1.c: Likewise. From-SVN: r241984
Maxim Ostapenko committed -
gcc/ * asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove. * asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with ASAN_STACK_MAGIC_MIDDLE. (asan_global_struct): Increase the size of fields. (asan_add_global): Add new field constructor. * sanitizer.def (__asan_version_mismatch_check_v6): Replace with __asan_version_mismatch_check_v8. gcc/testsuite/ * c-c++-common/asan/null-deref-1.c: Adjust testcase. From-SVN: r241983
Maxim Ostapenko committed -
libsanitizer/ * asan/asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning. (CheckODRViolationViaPoisoning): Remove. From-SVN: r241981
Maxim Ostapenko committed -
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if... libsanitizer/ * sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if no valid frame pointer is available. From-SVN: r241980
Maxim Ostapenko committed -
2016-11-08 Janus Weil <janus@gcc.gnu.org> PR fortran/68440 * expr.c (check_alloc_comp_init): Loosen an assert. * resolve.c (resolve_fl_parameter): Reject class parameters. 2016-11-08 Janus Weil <janus@gcc.gnu.org> PR fortran/68440 * gfortran.dg/class_58.f90: New test. From-SVN: r241979
Janus Weil committed -
PR sanitizer/63958 Reapply: 2014-10-14 David S. Miller <davem@davemloft.net> * sanitizer_common/sanitizer_platform_limits_linux.cc (time_t): Define at __kernel_time_t, as needed for sparc. (struct __old_kernel_stat): Don't check if __sparc__ is defined. * libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer): Define struct___old_kernel_stat_sz, struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc. (__sanitizer_ipc_perm): Adjust for sparc targets. (__sanitizer_shmid_ds): Likewsie. (__sanitizer_sigaction): Likewise. (IOC_SIZE): Likewsie. From-SVN: r241978
Maxim Ostapenko committed -
libsanitizer/ * All source files: Merge from upstream 285547. * configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): New variable. * configure.ac (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Handle it. * asan/Makefile.am (asan_files): Add new files. * asan/Makefile.in: Regenerate. * ubsan/Makefile.in: Likewise. * lsan/Makefile.in: Likewise. * tsan/Makefile.am (tsan_files): Add new files. * tsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.am (sanitizer_common_files): Add new files. (EXTRA_libsanitizer_common_la_SOURCES): Define. (libsanitizer_common_la_LIBADD): Likewise. (libsanitizer_common_la_DEPENDENCIES): Likewise. * sanitizer_common/Makefile.in: Regenerate. * interception/Makefile.in: Likewise. * libbacktace/Makefile.in: Likewise. * Makefile.in: Likewise. * configure: Likewise. * merge.sh: Handle builtins/assembly.h merging. * builtins/assembly.h: New file. * asan/libtool-version: Bump the libasan SONAME. From-SVN: r241977
Maxim Ostapenko committed -
* dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO at runtime. From-SVN: r241975
David Edelsohn committed
-