1. 14 Jun, 2017 24 commits
  2. 13 Jun, 2017 16 commits
    • re PR sanitizer/80973 (ICE with lambda and -fsanitize=undefined) · f31a8339
      	PR c++/80973
      	* cp-gimplify.c (cp_genericize_r): Don't instrument MEM_REF second
      	argument even if it has REFERENCE_TYPE.
      
      	* g++.dg/ubsan/pr80973.C: New test.
      
      From-SVN: r249174
      Jakub Jelinek committed
    • re PR c++/80984 (ICE with label/variable ambiguity) · c60dc053
      	PR c++/80984
      	* cp-gimplify.c (cp_genericize): Only look for VAR_DECLs in
      	BLOCK_VARS (outer) chain.
      	(cxx_omp_const_qual_no_mutable): Likewise.
      
      	* g++.dg/opt/nrv18.C: New test.
      
      From-SVN: r249173
      Jakub Jelinek committed
    • re PR go/80964 (cross-gotools are not executable on host system) · e2fea931
      	PR go/80964
      	* configure.ac: Set NATIVE if host_alias = target_alias.
      	* configure: Rebuild.
      
      From-SVN: r249172
      Ian Lance Taylor committed
    • re PR objc/80949 (ICE in do_warn_duplicated_branches_r) · 8a516588
      	PR objc/80949
      	* c-warn.c (do_warn_duplicated_branches): Return if any of the
      	branches is null.
      
      From-SVN: r249171
      Marek Polacek committed
    • rs6000: Comment fixes + some leftovers · 6ae036b3
      
      	* config/rs6000/rs6000.c: Update all comments that mentioned SPE.
      	(rs6000_expand_builtin): Remove RS6000_BTC_EVSEL.
      	* config/rs6000/rs6000.h (RS6000_BTC_EVSEL): Delete.
      	* config/rs6000/vxworks.h (VXCPU_FOR_8548): Delete.  Adjust former use.
      	* config/rs6000/vxworksae.h (VXCPU_FOR_8548): Delete.
      	* config/rs6000/vxworksmils.h (VXCPU_FOR_8548): Delete.
      
      From-SVN: r249170
      Segher Boessenkool committed
    • rs6000: Remove VECTOR_SPE · d20ae4d7
      
      	* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete VECTOR_SPE.
      	* config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete VECTOR_SPE.
      
      From-SVN: r249169
      Segher Boessenkool committed
    • rs6000: Remove FIXED_SCRATCH · a1450d5f
      
      	* config/rs6000/rs6000.h (FIXED_SCRATCH): Delete.
      
      From-SVN: r249168
      Segher Boessenkool committed
    • rs6000: Updates to t-rtems · 2f5f2b57
      
      	* config/rs6000/t-rtems: Don't handle SPE.
      
      From-SVN: r249167
      Segher Boessenkool committed
    • rs6000: Updates to t-linux · 22f8f4a9
      
      	* config/rs6000/t-linux: Don't handle SPE.
      
      From-SVN: r249166
      Segher Boessenkool committed
    • rs6000: Remove eabispe.h · 37e3456a
      
      	* config/rs6000/eabispe.h: Delete file.
      
      From-SVN: r249165
      Segher Boessenkool committed
    • rs6000: Remove t-spe · bcfa5d6f
      
      	* config/rs6000/t-spe: Delete file.
      
      From-SVN: r249164
      Segher Boessenkool committed
    • rs6000: Remove SPE_CONST_OFFSET_OK · afb0e425
      
      	* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete.
      	(rs6000_legitimate_offset_address_p): Return false for anything in
      	V2SImode or V2SFmode.
      
      From-SVN: r249163
      Segher Boessenkool committed
    • rs6000: Sanitize vector modes · 5b1ebbca
      This removes the vector modes that were only used by SPE.  It also
      rearranges things so it is easier to see what is there, and for what.
      
      
      	* config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes
      	except V2SF and V2SI.  Rearrange the vector modes, and add comments.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode
      	and V4HImode.
      	(reg_offset_addressing_ok_p): Remove V4HImode and V1DImode.
      	(rs6000_legitimate_offset_address_p): Ditto.
      	(rs6000_emit_move): Ditto.
      	(rs6000_init_builtins): Remove V4HI_type_node.
      
      From-SVN: r249162
      Segher Boessenkool committed
    • compiler: containing small bfunction mixup in Gogo::write_globals · 78a88fb6
          
          Fix buglet in Gogo::write_globals-- in a couple of places the
          wrong Bfunction was being used for the containing (not target)
          function when creating calls for init functions.
          
          Reviewed-on: https://go-review.googlesource.com/45510
      
      From-SVN: r249159
      Ian Lance Taylor committed
    • Implement no_sanitize function attribute · 45b2222a
      2017-06-13  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/78204
      	* c-c++-common/ubsan/attrib-2.c (float_cast2): Enhance the
      	test by adding no_sanitize attribute.
      	* gcc.dg/asan/use-after-scope-4.c: Likewise.
      2017-06-13  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/78204
      	* c-attribs.c (add_no_sanitize_value): New function.
      	(handle_no_sanitize_attribute): Likewise.
      	(handle_no_sanitize_address_attribute): Use the function.
      	(handle_no_sanitize_thread_attribute): New function.
      	(handle_no_address_safety_analysis_attribute): Use
      	add_no_sanitize_value.
      	(handle_no_sanitize_undefined_attribute): Likewise.
      	* c-common.h: Declare new functions.
      	* c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
      	(ubsan_instrument_shift): Likewise.
      	(ubsan_instrument_bounds): Likewise.
      	(ubsan_maybe_instrument_array_ref): Likewise.
      	(ubsan_maybe_instrument_reference_or_call): Likewise.
      2017-06-13  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/78204
      	* asan.c (asan_sanitize_stack_p): Use sanitize_flags_p.
      	(gate_asan): Likewise.
      	* asan.h (asan_no_sanitize_address_p): Remove the function.
      	(sanitize_flags_p): New function.
      	* builtins.def: Fix coding style.
      	* common.opt: Use renamed enum value.
      	* convert.c (convert_to_integer_1): Use sanitize_flags_p.
      	* doc/extend.texi: Document no_sanitize attribute.
      	* flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT
      	to SANITIZE_UNDEFINED_NONDEFAULT.
      	* gcc.c (sanitize_spec_function): Use the renamed enum value.
      	* gimple-fold.c (optimize_atomic_compare_exchange_p):
      	Use sanitize_flags_p.
      	* gimplify.c (gimplify_function_tree): Likewise.
      	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise.
      	* opts.c (parse_no_sanitize_attribute): New function.
      	(common_handle_option): Use renamed enum value.
      	* opts.h (parse_no_sanitize_attribute): Declare.
      	* tree.c (sanitize_flags_p): New function.
      	* tree.h: Declared here.
      	* tsan.c: Use sanitize_flags_p.
      	* ubsan.c (ubsan_expand_null_ifn): Likewise.
      	(instrument_mem_ref): Likewise.
      	(instrument_bool_enum_load): Likewise.
      	(do_ubsan_in_current_function): Remove the function.
      	(pass_ubsan::execute): Use sanitize_flags_p.
      	* ubsan.h: Remove do_ubsan_in_current_function
      	* tree-cfg.c (print_no_sanitize_attr_value): New function.
      	(dump_function_to_file): Use it here.
      2017-06-13  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/78204
      	* class.c (build_base_path): Use sanitize_flags_p.
      	* cp-gimplify.c (cp_genericize_r): Likewise.
      	(cp_genericize_tree): Likewise.
      	(cp_genericize): Likewise.
      	* cp-ubsan.c (cp_ubsan_instrument_vptr_p): Likewise.
      	* decl.c (compute_array_index_type): Likewise.
      	(start_preparsed_function): Likewise.
      	* decl2.c (one_static_initialization_or_destruction): Likewise.
      	* init.c (finish_length_check): Likewise.
      	* lambda.c (maybe_add_lambda_conv_op): Likewise.
      	* typeck.c (cp_build_binary_op): Likewise.
      	(build_static_cast_1): Likewise.
      2017-06-13  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/78204
      	* c-convert.c (convert): Use sanitize_flags_p.
      	* c-decl.c (grokdeclarator): Likewise.
      	* c-typeck.c (convert_for_assignment): Likewise.
      	(c_finish_return): Likewise.
      	(build_binary_op): Likewise.
      
      From-SVN: r249158
      Martin Liska committed
    • [ARM][Testsuite]make dump_stack function call conditional in cold-lc.c · ef0e3441
      After r249013, die () and dump_stack () are both in cold section. This makes
      the compiler generate bl instruction for the function call, instead of
      honoring the -mlong-calls option.
      
      This patch changes the dump_stack function call conditional, which fixes the
      regression.
      
      gcc/testsuite/
      
      	* gcc.target/arm/cold-lc.c: Update coding style, call dump_stack
      	conditionally.
      
      From-SVN: r249157
      Renlin Li committed