1. 09 Nov, 2016 12 commits
  2. 08 Nov, 2016 26 commits
    • asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK,… · 0290a292
      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
    • asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove. · fbdb92eb
      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
    • asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning. · 8f16b6ca
      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… · 789306de
      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
    • re PR fortran/68440 ([OOP] ICE on declaring class variable with wrong attribute) · 103c4f75
      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
    • re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu) · fe7913f6
      	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
    • All source files: Merge from upstream 285547. · 10189819
      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. · f31d9224
              * dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO
              at runtime.
      
      From-SVN: r241975
      David Edelsohn committed
    • re PR target/70799 (STV pass does not convert DImode shifts) · 90a2ffc0
      	PR target/70799
      	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
      	Handle ASHIFT and LSHIFTRT.
      	(dimode_scalar_chain::compute_convert_gain): Ditto.
      	(dimode_scalar_chain::convert_insn): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/70799
      	* gcc.target/i386/pr70799-2.c: New test.
      
      From-SVN: r241974
      Uros Bizjak committed
    • re PR fortran/77596 ([F03] procedure pointer component with implicit interface… · eba5aec8
      re PR fortran/77596 ([F03] procedure pointer component with implicit interface can point to a function)
      
      2016-11-08  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/77596
      	* expr.c (gfc_check_pointer_assign): Add special check for procedure-
      	pointer component with absent interface.
      
      2016-11-08  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/77596
      	* gfortran.dg/proc_ptr_comp_46.f90: New test.
      
      From-SVN: r241972
      Janus Weil committed
    • [2/2] Add store merging unit tests · c22d8787
      	* gimple-ssa-store-merging.c: Include selftest.h
      	(verify_array_eq): New function.
      	(verify_shift_bytes_in_array): Likewise.
      	(verify_shift_bytes_in_array_right): Likewise.
      	(verify_clear_bit_region): Likewise.
      	(verify_clear_bit_region_be): Likewise.
      	(store_merging_c_tests): Likewise.
      	* selftest.h (store_merging_c_tests): Declare prototype.
      	* selftest-run-tests.c (selftest::run_tests): Run
      	store_merging_c_tests.
      
      From-SVN: r241971
      Kyrylo Tkachov committed
    • pr56541.c: Xfail on !vect_cond_mixed targets. · fad36601
      	gcc/testsuite
      	* gcc.dg/vect/pr56541.c: Xfail on !vect_cond_mixed targets.
      
      From-SVN: r241969
      Bin Cheng committed
    • pr71347.c: Drop xfail. · 7c8615b6
      	gcc/testsuite
      	* gcc.dg/tree-ssa/pr71347.c: Drop xfail.
      
      From-SVN: r241968
      Bin Cheng committed
    • vect-cond-2.c: Drop xfail. · 4c6a4a53
      	gcc/testsuite
      	* gcc.dg/vect/vect-cond-2.c: Drop xfail.
      
      From-SVN: r241967
      Bin Cheng committed
    • [ARM][2/2] Remove old rtx costs · 83afd959
      	* config/arm/arm.opt (mold-rtx-costs): Delete.
      	(mnew-generic-costs): Delete.
      	* config/arm/arm-protos.h (struct tune_params): Delete rtx_costs field.
      	* config/arm/arm.c (arm_rtx_costs_1): Delete.
      	(arm_size_rtx_costs): Likewise.
      	(arm_slowmul_rtx_costs): Likewise.
      	(arm_fastmul_rtx_costs): Likewise.
      	(arm_xscale_rtx_costs): Likewise.
      	(arm_9e_rtx_costs): Likewise.
      	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
      	arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
      	arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
      	arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
      	arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
      	arm_cortex_a5_tune, arm_xgene1_tune, arm_marvell_pj4_tune,
      	arm_cortex_a35_tune, arm_exynosm1_tune, arm_cortex_a73_tune,
      	arm_cortex_m7_tune):
      	Delete rtx_costs field.
      	(arm_new_rtx_costs): Rename to...
      	(arm_rtx_costs_internal): ... This.
      	(arm_rtx_costs): Remove old way of doing rtx costs.
      
      From-SVN: r241966
      Kyrylo Tkachov committed
    • [ARM][1/2] Use generic_extra_costs in all remaining tuning structs · 249a3cad
      	* config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
      	(arm_fastmul_tune): Likewise.
      	(arm_strongarm_tune): Likewise.
      	(arm_xscale_tune): Likewise.
      	(arm_9e_tune): Likewise.
      	(arm_marvell_pj4_tune): Likewise.
      	(arm_v6t2_tune): Likewise.
      	(arm_v6m_tune): Likewise.
      	(arm_fa726te_tune): Likewise.
      
      From-SVN: r241965
      Kyrylo Tkachov committed
    • [AArch64] Optimized implementation of search_line_fast for the CPP lexer · a6ac871c
      	  * lex.c (search_line_fast): New implementation for AArch64.
      
      From-SVN: r241964
      Richard Earnshaw committed
    • [1/2] Fix off-by-one error in clear_bit_region in store merging (PR tree-optimization/78234 ?) · 1f069ef5
      	PR tree-optimization/78234
      	* gimple-ssa-store-merging.c (clear_bit_region): Fix off-by-one error
      	in start != 0 case.
      
      From-SVN: r241962
      Kyrylo Tkachov committed
    • use-after-scope fallout · fcd1b8df
      	PR testsuite/78242
      	* g++.dg/asan/use-after-scope-4.C: New test.
      	* g++.dg/asan/use-after-scope-types-4.C: Update scanned pattern.
      	* gcc.dg/asan/use-after-scope-8.c: Remove.
      	PR testsuite/78242
      	* dbgcnt.def: Add new debug counter asan_use_after_scope.
      	* gimplify.c (gimplify_decl_expr): Do not sanitize vars
      	with a value expr.  Do not add artificial variables to
      	live_switch_vars.  Use the debug counter.
      	(gimplify_target_expr): Use the debug counter.
      	* internal-fn.def: Remove ECF_TM_PURE from ASAN_MARK builtin.
      	* sanitizer.def: Set ATTR_NOTHROW_LEAF_LIST to
      	BUILT_IN_ASAN_CLOBBER_N and BUILT_IN_ASAN_UNCLOBBER_N.
      
      From-SVN: r241961
      Martin Liska committed
    • tree-vect-stmts.c (get_group_load_store_type): If the access is aligned do not… · f9ef2c76
      tree-vect-stmts.c (get_group_load_store_type): If the access is aligned do not trigger peeling for gaps.
      
      2016-11-08  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (get_group_load_store_type): If the
      	access is aligned do not trigger peeling for gaps.
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
      	force alignment of vars with DECL_USER_ALIGN.
      
      	* gcc.dg/vect/vect-nb-iter-ub-2.c: Adjust.
      
      From-SVN: r241959
      Richard Biener committed
    • [Patch AArch64] aarch64-c.o should depend on TARGET_H · ae55655b
      gcc/
      
      	* config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.
      
      From-SVN: r241958
      James Greenhalgh committed
    • Fix traditional cpp test failure · ad11774f
      	* gcc.dg/cpp/trad/trad.exp
      	(dg-runtest): Added $srcdir/$subdir/ to Include dirs.
      	* gcc.dg/cpp/trad/include.c: Use local header file.
      
      From-SVN: r241957
      Tamar Christina committed
    • re PR tree-optimization/78205 (BB vectorization confused by too large load groups) · fe73a332
      2016-11-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78205
      	* tree-vect-stmts.c (vectorizable_load): Move check whether
      	we may run into gaps when BB vectorizing SLP permutations ...
      	* tree-vect-slp.c (vect_supported_load_permutation_p): ...
      	here where we can do a more precise check.
      
      	* gcc.dg/vect/bb-slp-pr78205.c: New testcase.
      
      From-SVN: r241956
      Richard Biener committed
    • re PR tree-optimization/78224 (g++ ICE at -O2(-O1 on gcc6) and above in… · ed053eb8
      re PR tree-optimization/78224 (g++ ICE at -O2(-O1 on gcc6) and above in verify_loop_structure, at cfgloop.c:1646)
      
      2016-11-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78224
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
      	Split the fallthru edge in case its successor may have PHIs.
      	Do not free dominance info.
      
      	* g++.dg/torture/pr78224.C: New testcase.
      
      From-SVN: r241955
      Richard Biener committed
    • Fix bogus store_merging_x.c failures for avr. · 06658c6d
      Store merging isn't profitable for the avr. Add a new
      effective target keyword "store_merge", and turn it on
      only if non_strict_align *and* int32plus, as targets with
      smallish word sizes are unlikely to profit from this optimization.
      
      gcc/testsuite/ChangeLog
      
      2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.dg/store_merging_1.c: Require store_merge.
      	* gcc.dg/store_merging_2.c: Likewise.
      	* gcc.dg/store_merging_4.c: Likewise.
      	* gcc.dg/store_merging_5.c: Likewise. 
      	* gcc.dg/store_merging_6.c: Likewise.
      	* gcc.dg/store_merging_7.c: Likewise.
      	* gcc.dg/store_merging_8.c: Likewise.
      	* lib/target-supports.exp (check_effective_target_store_merge): New.
      
      From-SVN: r241953
      Senthil Kumar Selvaraj committed
    • Daily bump. · e525d611
      From-SVN: r241949
      GCC Administrator committed
  3. 07 Nov, 2016 2 commits
    • fold-vec-add-1.c: Add dg-options -maltivec. · e4b39278
              * gcc.target/powerpc/fold-vec-add-1.c: Add dg-options -maltivec.
              * gcc.target/powerpc/fold-vec-add-2.c: Add dg-options -maltivec.
              * gcc.target/powerpc/fold-vec-add-3.c: Add dg-options -maltivec.
              * gcc.target/powerpc/fold-vec-add-4.c: Add dg-options -maltivec
              -mvsx -mpower8-vector.
              * gcc.target/powerpc/fold-vec-add-5.c: Add dg-options -maltivec -mno-vs\
      x.
              * gcc.target/powerpc/fold-vec-add-6.c: Add dg-options -maltivec -mvsx.
              * gcc.target/powerpc/fold-vec-add-7.c: Add dg-options -maltivec
              -mvsx -mpower8-vector.
      
      From-SVN: r241945
      David Edelsohn committed
    • Implement P0012R1, Make exception specifications part of the type system. · 51dc6603
      gcc/cp/
      	* cp-tree.h (enum tsubst_flags): Add tf_fndecl_type.
      	(flag_noexcept_type, ce_type): New.
      	* call.c (build_conv): Add ck_fnptr.
      	(enum conversion_kind): Change ck_tsafe to ck_fnptr.
      	(convert_like_real): Likewise.
      	(standard_conversion): Likewise.  Allow function pointer
      	conversions for pointers to member functions.
      	(reference_compatible_p): Allow function pointer conversions.
      	(direct_reference_binding): Likewise.
      	(reference_binding): Reference-compatible is no longer a subset of
      	reference-related.
      	(is_subseq): Also strip ck_lvalue after next_conversion.
      	* class.c (instantiate_type): Check fnptr_conv_p.
      	(resolve_address_of_overloaded_function): Likewise.
      	* cvt.c (can_convert_tx_safety): Now static.
      	(noexcept_conv_p, fnptr_conv_p, strip_fnptr_conv): New.
      	* decl.c (flag_noexcept_type): Define.
      	(cxx_init_decl_processing): Set it.
      	(bad_specifiers): Check it.
      	(grokdeclarator) [cdk_function]: Add exception-spec to type here.
      	* lambda.c (maybe_add_lambda_conv_op): Add exception-spec to
      	returned pointer.
      	* mangle.c (struct globals): Add need_cxx1z_warning.
      	(mangle_decl): Check it.
      	(write_exception_spec): New.
      	(write_function_type): Call it.
      	(canonicalize_for_substitution): Handle exception spec.
      	(write_type): Likewise.
      	(write_encoding): Set processing_template_decl across mangling of
      	partially-instantiated type.
      	* pt.c (determine_specialization): Pass tf_fndecl_type.
      	(tsubst_decl, fn_type_unification): Likewise.
      	(tsubst): Strip tf_fndecl_type, pass it to
      	tsubst_exception_specification.
      	(convert_nontype_argument_function): Handle function pointer
      	conversion.
      	(convert_nontype_argument): Likewise.
      	(unify, for_each_template_parm_r): Walk into noexcept-specifier.
      	* rtti.c (ptr_initializer): Encode noexcept.
      	* tree.c (canonical_eh_spec): New.
      	(build_exception_variant): Use it.
      	* typeck.c (composite_pointer_type): Handle fnptr conversion.
      	(comp_except_specs): Compare canonical EH specs.
      	(structural_comptypes): Call it.
      gcc/c-family/
      	* c.opt (Wc++1z-compat): New.
      	* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
      libstdc++-v3/
      	* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
      	(_GLIBCXX_NOEXCEPT_QUAL): New.
      	* include/std/type_traits (is_function): Use them.
      	* libsubc++/new (launder): Likewise.
      	* libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
      	__noexcept_mask.
      	* libsupc++/pbase_type_info.cc (__do_catch): Handle function
      	pointer conversion.
      libiberty/
      	* cp-demangle.c (is_fnqual_component_type): New.
      	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
      	(FNQUAL_COMPONENT_CASE): New.
      	(d_make_comp, has_return_type, d_print_comp_inner)
      	(d_print_function_type): Use it.
      	(next_is_type_qual): New.
      	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
      include/
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.
      
      From-SVN: r241944
      Jason Merrill committed