1. 25 Nov, 2013 2 commits
    • invoke.texi (-mslow-flash-data): Document new option. · 02231c13
      gcc/ChangeLog
      2013-11-25  Terry Guo  <terry.guo@arm.com>
      
      	* doc/invoke.texi (-mslow-flash-data): Document new option.
      	* config/arm/arm.opt (mslow-flash-data): New option.
      	* config/arm/arm-protos.h (arm_max_const_double_inline_cost): Declare
      	it.
      	* config/arm/arm.h (TARGET_USE_MOVT): Always true when literal pools
      	are disabled.
      	(arm_disable_literal_pool): Declare it.
      	* config/arm/arm.c (arm_disable_literal_pool): New variable.
      	(arm_option_override): Handle new option.
      	(thumb2_legitimate_address_p): Don't allow symbol references when
      	literal pools are disabled.
      	(arm_max_const_double_inline_cost): New function.
      	* config/arm/arm.md (types.md): Include it before ...
      	(use_literal_pool): New attribute.
      	(enabled): Use new attribute.
      	(split pattern): Replace symbol+offset with MOVW/MOVT.
      
      gcc/testsuite/ChangeLog
      2013-11-25  Terry Guo  <terry.guo@arm.com>
      
      	* gcc.target/arm/thumb2-slow-flash-data.c: New.
      
      From-SVN: r205342
      Terry Guo committed
    • Daily bump. · 36ef4e9d
      From-SVN: r205341
      GCC Administrator committed
  2. 24 Nov, 2013 10 commits
  3. 23 Nov, 2013 16 commits
  4. 22 Nov, 2013 12 commits
    • Fix demangler to handle conversion operators correctly. · 85d09f61
      libiberty/
      	PR other/59195
      	* cp-demangle.c (struct d_info_checkpoint): New struct.
      	(struct d_print_info): Add current_template field.
      	(d_operator_name): Set flag when processing a conversion
      	operator.
      	(cplus_demangle_type): When processing <template-args> for
      	a conversion operator, backtrack if necessary.
      	(d_expression_1): Renamed from d_expression.
      	(d_expression): New wrapper around d_expression_1.
      	(d_checkpoint): New function.
      	(d_backtrack): New function.
      	(d_print_init): Initialize current_template.
      	(d_print_comp): Set current_template.
      	(d_print_cast): Put current_template in scope for
      	printing conversion operator name.
      	(cplus_demangle_init_info): Initialize is_expression and
      	is_conversion.
      	* cp-demangle.h (struct d_info): Add is_expression and
      	is_conversion fields.
      	* testsuite/demangle-expected: New test cases.
      
      From-SVN: r205292
      Cary Coutant committed
    • re PR sanitizer/59061 (Port leaksanitizer) · 9065ada9
      	PR sanitizer/59061
      	* common.opt (static-liblsan): Add.
      	* config/gnu-user.h (STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS):
      	Define.
      	* flag-types.h (enum sanitize_code): Add SANITIZE_LEAK.  Renumber
      	SANITIZE_SHIFT, SANITIZE_DIVIDE, SANITIZE_UNREACHABLE, SANITIZE_VLA,
      	SANITIZE_RETURN.
      	* opts.c (common_handle_option): Handle -fsanitize=leak.
      	* gcc.c (ADD_STATIC_LIBLSAN_LIBS, LIBLSAN_SPEC): Define.
      	(LIBUBSAN_SPEC): Don't test LIBUBSAN_EARLY_SPEC.
      	(LIBUBSAN_EARLY_SPEC): Remove.
      	(SANITIZER_EARLY_SPEC): Don't do anything for libubsan.
      	(SANITIZER_SPEC): Add -fsanitize=leak handling.
      	(sanitize_spec_function): Handle %sanitize(leak).
      	* doc/invoke.texi (-static-liblsan, -fsanitize=leak): Document.
      
      	* c-c++-common/asan/no-redundant-instrumentation-7.c: Fix
      	cleanup-tree-dump directive.
      
      	* configure.tgt: Set LSAN_SUPPORTED=yes for x86_64-linux.
      	* configure.ac (LSAN_SUPPORTED): New AM_CONDITIONAL.
      	* configure: Regenerated.
      	* lsan/Makefile.am (toolexeclib_LTLIBRARIES, lsan_files,
      	liblsan_la_SOURCES, liblsan_la_LIBADD, liblsan_la_LDFLAGS): Add.
      	* lsan/Makefile.in: Regenerated.
      
      From-SVN: r205290
      Jakub Jelinek committed
    • safe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same… · 2e5189c8
      safe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same information in normal local_iterator.
      
      2013-11-22  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
      	Remove _M_bucket, use same information in normal local_iterator.
      	(operator==): Remove redundant _M_can_compare check.
      	* include/debug/safe_local_iterator.tcc: Adapt.
      	* include/debug/unordered_set: Likewise.
      	* include/debug/unordered_map: Likewise.
      
      From-SVN: r205289
      François Dumont committed
    • 20081223-1.c: Add -ffat-lto-objects. · 79a8482c
      	* gcc.dg/20081223-1.c: Add -ffat-lto-objects.
      	* gcc.dg/vect/vect.exp: Add -ffat-lto-objects.
      
      From-SVN: r205288
      Jan Hubicka committed
    • libgo: Update libtool support for powerpc64le-linux-gnu. · 42c447c0
      From Ulrich Weigand.
      
      From-SVN: r205287
      Ian Lance Taylor committed
    • Makefile.am (check_DEJAGNU_normal_targets): Add 10. · 4e1a156d
      	* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
      	(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
      	tests as another separate job.
      	* testsuite/Makefile.in: Regenerated.
      
      From-SVN: r205286
      Jakub Jelinek committed
    • sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build. · 486294d4
              * sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
              change from upstream to fix build.
      
      From-SVN: r205285
      Mike Stump committed
    • ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos. · 31519c38
      	* ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
      	* ipa-prop.c (get_vector_of_formal_parm_types): Renamed to ...
      	(ipa_get_vector_of_formal_parm_types): ... this.  No longer static.
      	(ipa_modify_formal_parameters): Adjust caller.  Remove
      	synth_parm_prefix argument.  Use operator enum instead of bit fields.
      	Add assert for properly handling vector of references.  Handle
      	creating brand new parameters.
      	(ipa_modify_call_arguments): Use operator enum instead of bit
      	fields.
      	(ipa_combine_adjustments): Same.  Assert that IPA_PARM_OP_NEW is not
      	used.
      	(ipa_modify_expr, get_ssa_base_param, ipa_get_adjustment_candidate):
      	New functions.
      	(ipa_dump_param_adjustments): Rename reduction to new_decl.
      	Use operator enum instead of bit fields.
      	* ipa-prop.h (enum ipa_parm_op): New.
      	(struct ipa_parm_adjustment): New field op.  Rename reduction
      	to new_decl, new_arg_prefix to arg_prefix and remove remove_param
      	and copy_param.
      	(ipa_modify_formal_parameters): Remove last argument.
      	(ipa_get_vector_of_formal_parm_types, ipa_modify_expr,
      	ipa_get_adjustment_candidate): New prototypes.
      	* tree-sra.c (turn_representatives_into_adjustments): Use operator
      	enum.  Set arg_prefix.
      	(get_adjustment_for_base): Use operator enum.
      	(sra_ipa_modify_expr): Rename to ipa_modify_expr and move to
      	ipa-prop.c.
      	(sra_ipa_modify_assign): Rename sra_ipa_modify_expr to
      	ipa_modify_expr.
      	(ipa_sra_modify_function_body): Same.  No longer static.
      	(sra_ipa_reset_debug_stmts): Use operator enum.
      	(modify_function): Do not pass prefix argument.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r205284
      Aldy Hernandez committed
    • ubsan.c (ubsan_source_location): Don't crash on unknown locations. · 0a508bb6
      	* ubsan.c (ubsan_source_location): Don't crash on
      	unknown locations.
      	(ubsan_pass): Ignore clobber stmts.
      
      	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_MISSING_RETURN): New built-in.
      	* opts.c (common_handle_option): Add -fsanitize=return.
      	* flag-types.h (enum sanitize_code): Add SANITIZE_RETURN and
      	or it into SANITIZE_UNDEFINED.
      c-family/
      	* c-ubsan.h (ubsan_instrument_return): New prototype.
      	* c-ubsan.c (ubsan_instrument_return): New function.
      cp/
      	* cp-gimplify.c: Include target.h and c-family/c-ubsan.h.
      	(cp_ubsan_maybe_instrument_return): New function.
      	(cp_genericize): Call it if -fsanitize=return.
      testsuite/
      	* g++.dg/ubsan/return-1.C: New test.
      	* g++.dg/ubsan/return-2.C: New test.
      
      From-SVN: r205283
      Jakub Jelinek committed
    • sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT, [...]): New. · 59b36ecf
      	* sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT,
      	BUILT_IN_ASAN_AFTER_DYNAMIC_INIT): New.
      	* asan.c (instrument_derefs): Handle also VAR_DECL loads/stores.
      	Don't instrument accesses to VAR_DECLs which are known to fit
      	into their bounds and the vars are known to have shadow bytes
      	indicating allowed access.
      	(asan_dynamic_init_call): New function.
      	(asan_add_global): If vnode->dynamically_initialized,
      	set __has_dynamic_init to 1 instead of 0.
      	(initialize_sanitizer_builtins): Add BT_FN_VOID_CONST_PTR var.
      	* asan.h (asan_dynamic_init_call): New prototype.
      	* cgraph.h (varpool_node): Add dynamically_initialized bitfield.
      cp/
      	* decl2.c: Include asan.h.
      	(one_static_initialization_or_destruction): If -fsanitize=address,
      	init is non-NULL and guard is NULL, set
      	vnode->dynamically_initialized.
      	(do_static_initialization_or_destruction): Call
      	__asan_{before,after}_dynamic_init around the static initialization.
      testsuite/
      	* c-c++-common/asan/no-redundant-instrumentation-1.c: Tweak to avoid
      	optimizing away some __asan_report* calls.
      
      From-SVN: r205282
      Jakub Jelinek committed
    • re PR rtl-optimization/10474 (shrink wrapping for functions) · 3e749749
      	PR rtl-optimization/10474
      	* ira.c (interesting_dest_for_shprep_1): New function.
      	(interesting_dest_for_shprep): Use interesting_dest_for_shprep_1,
      	also check parallels.
      
      testsuite/
      	* gcc.dg/pr10474.c: Also test ppc64.
      	* gcc.dg/ira-shrinkwrap-prep-1.c: Also tes ppc64, changed all ints
              to longs.
      	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
      
      From-SVN: r205281
      Martin Jambor committed
    • tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which… · d4fdb4df
      tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which we used to invalidate equivalences.
      
      	* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
      	NULL for RHS, which we used to invalidate equivalences.
      	(record_temporary_equivalences_from_phis): New bitmap arguments
      	and a boolean indicating if we have passed a backedge.  If we
      	have passed a backedge, then set the appropriate bit in the
      	bitmaps for the SRC & DEST of PHIs creating equivalences.
      	(invalidate_equivalences, dummy_simplify): New functions.
      	(cond_arg_set_in_b): Remove.
      	(record_temporary_equivalences_from_stmts_at_dest): New bitmap
      	arguments and a boolean indicating if we have passed a backedge.
      	If we have passed a backedge, then perform invalidations as
      	needed.
      	(thread_around_empty_blocks): If we have seen a backedge, then
      	use the dummy simplify routine.
      	(thread_through_normal_block): Likewise.  Pass bitmaps and
      	backedge status to children.  Do not pessimize so much when
      	traversing backedges in the CFG.
      	(thread_across_edge): Manage the SRC_MAP/DST_MAP bitmaps.
      	If we have seen a backedge, then use the dummy simplify routine.
      	Do not pessimize so much when traversing backedges.
      
      From-SVN: r205279
      Jeff Law committed