1. 23 Aug, 2017 12 commits
  2. 22 Aug, 2017 20 commits
    • Move entry to correct ChangeLog. · 21e9b077
      From-SVN: r251294
      Daniel Santos committed
    • Add missing ChangeLog entry for previous commit · a0cc292e
      From-SVN: r251290
      Daniel Santos committed
    • docs: Explain how to use multiple file-name patterns in RUNTESTFLAGS · d35bcdd4
      	* doc/install.texi: Modify to add more details on running
      	selected tests.
      
      From-SVN: r251289
      Daniel Santos committed
    • PR target/71958: Error on -mx32 with -mabi=ms · 4d68ff06
      gcc/ChangeLog:
      2017-08-11  Daniel Santos  <daniel.santos@pobox.com>
      
      	* config/i386/i386.c (ix86_option_override_internal): Error when
      	-mx32 is combined with -mabi=ms.
      	(ix86_function_type_abi): Limit errors for mixing -mx32 with
      	attribute ms_abi.
      
      gcc/testsuite/ChangeLog:
      2017-08-11  Daniel Santos  <daniel.santos@pobox.com>
      
      	* gcc.target/i386/pr71958.c: New test to verify error on -mx32
      	and -mabi=ms
       	* gcc.target/i386/pr64409.c: Modify to only run on x32.
      	* gcc.target/i386/pr46470.c: Modify to skip x32 target.
       	* gcc.target/i386/pr66275.c: Likewise.
       	* gcc.target/i386/pr68018.c: Likewise.
      
      From-SVN: r251287
      Daniel Santos committed
    • re PR tree-optimization/81488 (gcc goes off the limits allocating memory in… · 65d3dce8
      re PR tree-optimization/81488 (gcc goes off the limits allocating memory in gimple-ssa-strength-reduction.c)
      
      2017-08-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81488
      	* gimple-ssa-strength-reduction (struct slsr_cand_d): Add visited
      	and cached_basis fields.
      	(MAX_SPREAD): New constant.
      	(alloc_cand_and_find_basis): Initialize new fields.
      	(clear_visited): New function.
      	(create_phi_basis_1): Rename from create_phi_basis, set visited
      	and cached_basis fields.
      	(create_phi_basis): New wrapper function.
      	(phi_add_costs_1): Rename from phi_add_costs, add spread
      	parameter, set visited field, short-circuit when limits reached.
      	(phi_add_costs): New wrapper function.
      	(record_phi_increments_1): Rename from record_phi_increments, set
      	visited field.
      	(record_phi_increments): New wrapper function.
      	(phi_incr_cost_1): Rename from phi_incr_cost, set visited field.
      	(phi_incr_cost): New wrapper function.
      	(all_phi_incrs_profitable_1): Rename from
      	all_phi_incrs_profitable, set visited field.
      	(all_phi_incrs_profitable): New wrapper function.
      
      From-SVN: r251286
      Bill Schmidt committed
    • Make more use of paradoxical_subreg_p · 03a95621
      This patch makes more use of the existing paradoxical_subreg_p
      predicate and also adds a version that operates on outer and
      inner modes.
      
      Some of the affected tests were based on GET_MODE_SIZE rather than
      GET_MODE_PRECISION and so the patch could change the result for modes
      that have the same size but different precisions.  I think in each
      case the change should be a no-op or more correct, since a mode with
      precision N bits can't be expected to hold all of a mode with precision
      M>N bits.
      
      The patch changes the branch taken in simplify_subreg for modes with
      equal precision, but the new form matches the commentary more closely.
      Both branches should be equally good in that situation.
      
      2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* rtl.h (paradoxical_subreg_p): Define inline, and add a version
      	that takes the outer and inner modes.
      	* doc/rtl.texi: Use paradoxical_subreg_p instead of a GET_MODE_SIZE
      	comparison as the canonical test for a paradoxical subreg.
      	* combine.c (simplify_set): Use paradoxical_subreg_p.
      	(make_extraction): Likewise.
      	(force_to_mode): Likewise.
      	(rtx_equal_for_field_assignment_p): Likewise.
      	(gen_lowpart_for_combine): Likewise.
      	(simplify_comparison): Likewise.
      	* cse.c (equiv_constant): Likewise.
      	* expmed.c (store_bit_field_1): Likewise.
      	* final.c (alter_subreg): Likewise.
      	* fwprop.c (propagate_rtx): Likewise.
      	(forward_propagate_subreg): Likewise.
      	* ira-conflicts.c (ira_build_conflicts): Likewise.
      	* lower-subreg.c (simplify_gen_subreg_concatn): Likewise.
      	* lra-constraints.c (curr_insn_transform): Likewise.
      	(split_reg): Likewise.
      	* lra-eliminations.c (move_plus_up): Likewise.
      	(lra_eliminate_regs_1): Likewise.
      	* recog.c (general_operand): Likewise.
      	* ree.c (combine_reaching_defs): Likewise.
      	* reload.c (push_reload): Likewise.
      	(find_reloads): Likewise.
      	* reload1.c (elimination_effects): Likewise.
      	(compute_reload_subreg_offset): Likewise.
      	(choose_reload_regs): Likewise.
      	* rtlanal.c (subreg_lsb_1): Likewise.
      	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
      	(simplify_subreg): Likewise.
      	* var-tracking.c (track_loc_p): Likewise.
      	* emit-rtl.c (byte_lowpart_offset): Likewise.
      	(paradoxical_subreg_p): Delete out-of-line definition.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r251282
      Richard Sandiford committed
    • fold-vec-sums-int.c: New. · 5b37159f
      [gcc/testsuite]
      
      2017-08-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-sums-int.c: New.
      
      From-SVN: r251281
      Will Schmidt committed
    • re PR tree-optimization/81741 (Misoptimisation : replacing a constant field read… · 0db8ddfc
      re PR tree-optimization/81741 (Misoptimisation : replacing a constant field read access by a function call)
      
      	PR tree-optimization/81741
      	PR tree-optimization/71947
      	* tree-ssa-dom.c: Include tree-inline.h.
      	(record_temporary_equivalences): Only record SSA_NAME = SSA_NAME
      	equivalences if one is more expensive to compute than the other.
      	* tree-ssa-scopedtables.h (class const_or_copies): Make
      	record_const_or_copy_raw method private.
      	(class avail_exprs_stack): New method simplify_binary_operation.
      	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Call
      	avail_exprs_stack::simplify_binary_operation as needed.
      	(avail_exprs_stack::simplify_binary_operation): New function.
      
      	PR tree-optimization/81741
      	PR tree-optimization/71947
      	* gcc.dg/tree-ssa/pr81741.c: New test.
      	* gcc.dg/tree-ssa/pr71947-7.c: New test.
      	* gcc.dg/tree-ssa/pr71947-8.c: New test.
      	* gcc.dg/tree-ssa/pr71947-9.c: New test.
      	* gcc.dg/tree-ssa/pr71941-1.c: Tweak expected output.
      	* gcc.dg/tree-ssa/pr71941-2.c: Tweak expected output.
      	* gcc.dg/tree-ssa/pr71941-3.c: Tweak expected output.
      	* gcc.dg/tree-ssa/20030922-2.c: xfail.
      
      From-SVN: r251279
      Jeff Law committed
    • re PR lto/81925 (early lto debug link failure on aarch64_be) · d4c550fd
      2017-08-22  Richard Biener  <rguenther@suse.de>
      
      	PR lto/81925
      	* simple-object-elf.c (simple_object_elf_write_shdr): Adjust
      	type of sh_addralign and sh_entsize and properly write
      	sh_entsize as Elf_Addr.
      	(simple_object_elf_write_to_file): Read sh_entsize as Elf_Addr.
      
      From-SVN: r251276
      Richard Biener committed
    • [PowerPC/RTEMS] Enable -mcmodel option · 17691698
      gcc/
      	* config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt.
      	* config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define.
      	(DOT_SYMBOLS): Likewise.
      	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
      	(RELOCATABLE_NEEDS_FIXUP): Likewise.
      	(RS6000_ABI_NAME): Likewise.
      	(TARGET_CMODEL): Likewise.
      	(TOC_SECTION_ASM_OP): Likewise.
      	(SET_CMODEL): New macro.
      	(SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options.
      
      From-SVN: r251275
      Sebastian Huber committed
    • tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT] to allow for… · cd0835ce
      tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT] to allow for free-lang-data replacements...
      
      2017-08-22  Richard Biener  <rguenther@suse.de>
      
      	* tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT]
      	to allow for free-lang-data replacements similar to verify_type_variant.
      
      From-SVN: r251274
      Richard Biener committed
    • re PR c++/80287 (C++ crash with __attribute((may_alias))) · 44d23deb
      2017-08-22  Yvan Roux  <yvan.roux@linaro.org>
      
              PR c++/80287
              * g++.dg/pr80287.C: New test.
      
      From-SVN: r251268
      Yvan Roux committed
    • [AArch64] Fix label mode · 4033e62c
      This patch fixes a case where we tried to force a VOIDmode label
      into a DImode register, which led to invalid rtl that was previously
      undiagnosed.
      
      2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* config/aarch64/aarch64.md (casesi): Use DImode rather than
      	VOIDmode for the LABEL_REF.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r251266
      Richard Sandiford committed
    • revert: asan.exp: Switch on *.cc tests. · 7f1bf27a
      2017-08-22  Richard Biener  <rguenther@suse.de>
      
      	Revert
      	2017-08-09  Slava Barinov  <v.barinov@samsung.com>
      
      	* g++.dg/asan/asan.exp: Switch on *.cc tests.
      
      From-SVN: r251265
      Richard Biener committed
    • tree-cfg.c (gimple_split_edge): Avoid reallocating target PHI nodes. · 2df8ab3d
      2017-08-22  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (gimple_split_edge): Avoid reallocating target
      	PHI nodes.
      
      From-SVN: r251264
      Richard Biener committed
    • common.opt (feliminate-dwarf2-dups): Ignore. · 1823c4f6
      2017-08-22  Richard Biener  <rguenther@suse.de>
      
      	* common.opt (feliminate-dwarf2-dups): Ignore.
      	* doc/invoke.texi (feliminate-dwarf2-dups): Remove documentation.
      	* dwarf2out.c (push_new_compile_unit, pop_compile_unit,
      	same_die_p_wrap, compute_section_prefix,
      	is_symbol_die, assign_symbol_names, break_out_includes): Remove.
      	(comdat_symbol_id, comdat_symbol_number): Likewise.
      	(cu_hash_table_entry, cu_hash_table_entry_hasher, cu_hash_type):
      	Likewise.
      	(check_duplicate_cu, record_comdat_symbol_number): Likewise.
      	(output_die): Mark unreachable path unreachable.
      	(dwarf2out_start_source_file): Do not create DW_TAG_GNU_BINCL.
      	(dwarf2out_end_source_file): Do not create DW_TAG_GNU_EINCL.
      	(dwarf2out_init): Remove code handling flag_eliminate_dwarf2_dups.
      	(dwarf2out_early_finish): Likewise.
      
      	* g++.dg/debug/dwarf2/dwarf2-1.C: Remove -feliminate-dwarf2-dups.
      	* g++.dg/debug/dwarf2/dwarf2-2.C: Likewise.
      	* g++.dg/debug/dwarf2/pr46123-2.C: Likewise.
      	* g++.dg/debug/dwarf2/typedef5.C: Likewise.
      	* gcc.dg/debug/dwarf2/dwarf2-3.c: Likewise.
      	* gcc.dg/debug/dwarf2/dwarf2-3.h: Likewise.
      	* gcc.dg/debug/dwarf2/dups-types.c: Remove.
      	* gcc.dg/debug/dwarf2/dups-types.h: Likewise.
      
      From-SVN: r251262
      Richard Biener committed
    • * wide-int.h (hwi_with_prec::hwi_with_prec): Sign extend. · 4ea9e1a5
      From-SVN: r251260
      Aldy Hernandez committed
    • re PR target/81910 ([avr] ICE with "address" attribute on type) · db995e10
      gcc/
      	PR target/81910
      	* config/avr/avr.c (avr_handle_addr_attribute): Early return if
      	not VAR_P. Filter attribute warnings with OPT_Wattributes.
      	(avr_attribute_table) <io, io_low, address>: Initialize
      	.decl_required with true.
      
      From-SVN: r251256
      Georg-Johann Lay committed
    • re PR fortran/81296 (derived type I/o problem) · bef016bf
      2017-08-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/81296
      	* trans-io.c (get_dtio_proc): Add check for format label and set
      	formatted flag accordingly. Reorganize the code a little.
      
      	* gfortran.dg/dtio_12.f90: Update test.
      
      From-SVN: r251254
      Jerry DeLisle committed
    • Daily bump. · 4f1aa9fb
      From-SVN: r251253
      GCC Administrator committed
  3. 21 Aug, 2017 8 commits
    • rs6000-cpus.def (-mvsx-scalar-float): Delete undocumented debugging options. · 56135456
      2017-08-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-cpus.def (-mvsx-scalar-float): Delete
      	undocumented debugging options.
      	(-mvsx-scalar-double): Likewise.
      	(-mallow-df-permute): Likewise.
      	(-mvectorize-builtins): Likewise.
      	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok):
      	Likewise.
      	(rs6000_builtin_vectorized_function): Likewise.
      	(rs6000_builtin_md_vectorized_function): Likewise.
      	(rs6000_opt_vars): Likewise.
      
      From-SVN: r251248
      Michael Meissner committed
    • search.c (lookup_field_r): Remove obsolete code for type-named field in PoD. · 3d9850f4
      	* search.c (lookup_field_r): Remove obsolete code for type-named
      	field in PoD.
      
      From-SVN: r251243
      Nathan Sidwell committed
    • search.c (lookup_field_1): Assert TYPE is a class and VFIELD isn't special. · 8e063904
      	* search.c (lookup_field_1): Assert TYPE is a class and VFIELD
      	isn't special.
      	(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): Delete.
      	(lookup_field_fuzzy_r): Adjust.
      
      From-SVN: r251241
      Nathan Sidwell committed
    • pr81899.C: Fix c++03. · 57cea2b3
      	* g++.dg/template/pr81899.C: Fix c++03.
      	* g++.dg/debug/debug9.C: Add -fno-reorder-blocks-and-partition"
      
      From-SVN: r251240
      Nathan Sidwell committed
    • C: use full locations within c_parser_expr_list's vec<location_t> · 7f204c0f
      The previous patch uncovered a bug in how c_parser_expr_list builds the
      vec<location_t>: it was only using the location of the first token
      within each assignment-expression in the expr-list.
      
      This shows up in e.g. this -Wformat warning, where only part of the
      2nd param is underlined:
      
         printf("hello %i", (long)0);
                       ~^   ~
                       %li
      
      This patch fixes c_parser_expr_list to use the full range of
      each assignment-expression in the list for the vec<location_t>, so
      that for the above we print:
      
         printf("hello %i", (long)0);
                       ~^   ~~~~~~~
                       %li
      
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_expr_list): Use c_expr::get_location ()
      	rather than peeking the location of the first token.
      	* c-tree.h (c_expr::get_location): New method.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/format/diagnostic-ranges.c (test_mismatching_types):
      	Update expected result to show all of "(long)0" being underlined.
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
      	(test_multitoken_macro): Update expected underlining.
      
      From-SVN: r251239
      David Malcolm committed
    • c-family/c/c++: pass optional vec<location_t> to c-format.c · 2f687306
      This patch passes along the vec<location_t> of argument locations
      at a callsite from the C frontend to check_function_arguments and
      from there to c-format.c, so that we can underline the pertinent
      argument to mismatched format codes even for tree codes like decls
      and constants which lack a location_t for their usage sites.
      
      This takes e.g.:
      
          printf("hello %i %i %i ", foo, bar, baz);
                           ~^
                           %s
      
      to:
      
          printf("hello %i %i %i ", foo, bar, baz);
                           ~^            ~~~
                           %s
      
      which is useful for cases where there's more than one variadic argument.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (check_function_arguments): Add "arglogs" param; pass
      	it to check_function_format.
      	* c-common.h (check_function_arguments): Add vec<location_t> *
      	param.
      	(check_function_format): Likewise.
      	* c-format.c (struct format_check_context): Add field "arglocs".
      	(check_function_format): Add param "arglocs"; pass it to
      	check_format_info.
      	(check_format_info):  Add param "arglocs"; use it to initialize
      	new field of format_ctx.
      	(check_format_arg): Pass format_ctx->arglocs to new param of
      	check_format_info_main.
      	(class argument_parser): New field "arglocs".
      	(argument_parser::argument_parser): Add "arglocs_" param and use
      	it to initialize new field.
      	(argument_parser::check_argument_type): Pass new arglocs field to
      	check_format_types.
      	(check_format_info_main): Add param "arglocs", and use it when
      	constructing arg_parser.
      	(check_format_types): Add param "arglocs"; use it if non-NULL when
      	!EXPR_HAS_LOCATION (cur_param) to get at location information.
      
      gcc/c/ChangeLog:
      	* c-typeck.c (build_function_call_vec): Pass arg_loc to call
      	to check_function_arguments.
      
      gcc/cp/ChangeLog:
      	* call.c (build_over_call): Pass NULL for new parameter to
      	check_function_arguments.
      	* typeck.c (cp_build_function_call_vec): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/format/diagnostic-ranges.c: Update expected results
      	to show underlining of all pertinent params.
      	* gcc.dg/format/pr72858.c: Likewise.
      
      From-SVN: r251238
      David Malcolm committed
    • re PR target/46091 (missed optimization: x86 bt/btc/bts instructions) · 453773df
      	PR target/46091
      	* config/i386/i386.md (*btsq_imm): Rename from *btsq.
      	(*btrq_imm): Rename from *btrq.
      	(*btcq_imm): Rename from *btcq.
      	(btsc): New code attribute.
      	(*<btsc><mode>): New insn pattern.
      	(*btr<mode>): Ditto.
      	(*<btsc><mode>_mask): New insn_and_split pattern.
      	(*btr<mode>_mask): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/46091
      	* gcc.target/i386/pr46091-4.c: New test.
      	* gcc.target/i386/pr46091-4a.c: Ditto.
      	* gcc.target/i386/pr46091-5.c: Ditto.
      	* gcc.target/i386/pr46091-5a.c: Ditto.
      
      From-SVN: r251235
      Uros Bizjak committed
    • PR libstdc++/81912 make std::__iterator_category constexpr · 2c0378f4
      	PR libstdc++/81912
      	* include/bits/stl_iterator_base_types.h (__iterator_category): Add
      	constexpr for C++11 and later.
      	* testsuite/24_iterators/container_access.cc: Add target selector.
      	* testsuite/24_iterators/range_access.cc: Fix clause number in
      	comment.
      	* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
      	* testsuite/24_iterators/range_access_cpp17.cc: New.
      
      From-SVN: r251234
      Jonathan Wakely committed