1. 01 May, 2018 9 commits
  2. 30 Apr, 2018 23 commits
    • PR c++/84701 - unsigned typeof. · fe43c635
      	* decl.c (grokdeclarator): Overhaul diagnostics for invalid use
      	of long/short/signed/unsigned.
      
      From-SVN: r259780
      Jason Merrill committed
    • PR c++/85305 - pack in lambda init-capture. · f026530a
      	* parser.c (cp_parser_initializer): Add subexpression_p parm; don't
      	check_for_bare_parameter_packs in a subexpression.
      	(cp_parser_lambda_introducer): Use it.
      
      From-SVN: r259779
      Jason Merrill committed
    • argv.c (expandargv): Fix memory leak for expanded arguments. · d6df811e
             * argv.c (expandargv): Fix memory leak for expanded
              arguments.
      
      From-SVN: r259775
      Daniel van Gerpen committed
    • Clarify documentation for -fpie and -fPIE · 98c2d5ae
      	* doc/invoke.texi (-fpie, -fPIE): Fix grammar and clarify
      	interaction with -pie.
      
      From-SVN: r259774
      Jonathan Wakely committed
    • selftest.h: fix alphabetization of per-source-file selftest declarations · 2099cb2d
      gcc/ChangeLog:
      	* selftest.h: Fix alphabetization of per-source-file selftest
      	declarations.
      
      From-SVN: r259773
      David Malcolm committed
    • PR c++/61982 - dead stores to destroyed objects. · cdc18417
      gcc/cp/
      	* call.c (build_trivial_dtor_call): New, assigns a clobber.
      	(build_over_call, build_special_member_call): Use it.
      	* cp-tree.h: Declare it.
      	* init.c (build_delete): Remove trivial path.
      gcc/
      	* gimplify.c (gimplify_modify_expr): Simplify complex lvalue on LHS
      	of clobber.
      
      From-SVN: r259772
      Jason Merrill committed
    • init.c (build_dtor_call): Use build_special_member_call. · 4d20f490
      	* init.c (build_dtor_call): Use build_special_member_call.
      
      	(build_delete): Remove redundant uses of save_addr.
      
      From-SVN: r259771
      Jason Merrill committed
    • tree.c (build_clobber): New. · 94b2a1e5
      	* tree.c (build_clobber): New.
      
      	* tree.h: Declare it.
      	* gimplify.c (gimplify_bind_expr, gimplify_target_expr): Use it.
      
      From-SVN: r259770
      Jason Merrill committed
    • Use char_span for return type of location_get_source_line · 7761dfbe
      location_get_source_line returns a const char * that isn't 0-terminated,
      writing back a length through an int * param.
      
      This is error-prone, as all call-sites have to take into account the
      lack of 0-termination, and respect the length of the buffer.
      
      It's cleaner to bundle together this pointer+length state into a class,
      so this patch does so, reusing the "char_span" class that I introduced
      in r250187 (as part of the fix for PR c/81405).
      
      The patch also adds assertions to all access to the char_span.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (get_corrected_substring): Update for
      	location_get_source_line returning a char_span.  Use a char_span
      	when handling the prefix of the correction.
      	* c-indentation.c (get_visual_column): Update for
      	location_get_source_line returning a char_span.
      	(get_first_nws_vis_column): Likewise.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (layout::layout): Update for
      	location_get_source_line returning a char_span.
      	(struct char_span): Move to input.h.
      	(struct correction): Update for fields in char_span becoming
      	private.
      	(struct source_line): Update for location_get_source_line
      	returning a char_span.
      	(layout::print_line): Likewise.
      	* edit-context.c (edited_file::print_content): Likewise.
      	(edited_file::print_diff_hunk): Likewise.
      	(edited_file::print_run_of_changed_lines): Likewise.
      	(edited_file::get_num_lines): Likewise.
      	(edited_line::edited_line): Likewise.
      	* final.c (asm_show_source): Likewise.
      	* input.c (location_get_source_line): Convert return type
      	from const char * to char_span, losing the final "line_len"
      	param.
      	(dump_location_info): Update for the above.
      	(get_substring_ranges_for_loc): Likewise.  Use a char_span
      	when handling the literal within the line.
      	(test_reading_source_line): Update for location_get_source_line
      	returning a char_span.
      	* input.h (class char_span): Move here from
      	diagnostic-show-locus.c, converting from a struct to a class.
      	Make data members private.
      	(char_span::operator bool): New.
      	(char_span::length): New.
      	(char_span::get_buffer): New.
      	(char_span::operator[]): New.
      	(char_span::subspan): Make const.
      	(char_span::xstrdup): New.
      	(location_get_source_line): Convert return type from const char *
      	to char_span, losing the final "line_size" param.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Update for location_get_source_line returning a
      	char_span.  Use char_span for handling words in the
      	"test_many_nested_locations" fix-it example.
      
      From-SVN: r259768
      David Malcolm committed
    • lto-wrapper.c (ltrans_priorities): New static var. · b6e33d73
      
      	* lto-wrapper.c (ltrans_priorities): New static var.
      	(cmp_priority): New.
      	(run_gcc): Read priorities and if doing parallel build order
      	the Makefile by them.
      
      	* lto.c (cmp_partitions_size): Remove.
      	(lto_wpa_write_files): Also output priorities; do not sort partitions.
      	(cmp_partition_order): Move to ...
      	* lto-partition.c (cmp_partition_order): ...
      	(lto_1_to_1_map): Sort partitions.
      
      From-SVN: r259767
      Jan Hubicka committed
    • input.h: use STATIC_ASSERT · fee69672
      gcc/ChangeLog:
      	* input.h (builtins_location_check): Convert to a STATIC_ASSERT.
      
      From-SVN: r259766
      David Malcolm committed
    • tree-cfg.c (verify_address): Remove base argument, add flag whether to check… · c7b8bff7
      tree-cfg.c (verify_address): Remove base argument, add flag whether to check TREE_ADDRESSABLE and do that.
      
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_address): Remove base argument, add
      	flag whether to check TREE_ADDRESSABLE and do that.
      	(verify_expr): Remove.
      	(verify_types_in_gimple_reference): Add pieces from verify_expr.
      	(verify_gimple_assign_single): Likewise.
      	(verify_gimple_switch): Likewise.
      	(verify_expr_location_1): Dereference tp once.  Add (disabled)
      	piece from verify_expr.
      	(verify_gimple_in_cfg): Do not call verify_expr on all ops.
      
      From-SVN: r259765
      Richard Biener committed
    • [ARC] Clear the instruction cache using syscalls. · 6fe3b9fd
      Clear the instruction cache from `beg' to `end'.  This makes an inline
      system call to SYS_cacheflush.
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/linux.h (CLEAR_INSN_CACHE): Define.
      
      From-SVN: r259764
      Claudiu Zissulescu committed
    • [ARC] Cleanup sdata handling. · e0be3321
      Clean up how we handle small data load/store operations.
      
      gcc/
      2018-01-18  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-protos.h (prepare_extend_operands): Remove.
      	(small_data_pattern): Likewise.
      	(arc_rewrite_small_data): Likewise.
      	* config/arc/arc.c (LEGITIMATE_SMALL_DATA_OFFSET_P): Remove.
      	(LEGITIMATE_SMALL_DATA_ADDRESS_P): Likewise.
      	(get_symbol_alignment): New function.
      	(legitimate_small_data_address_p): Likewise.
      	(legitimate_scaled_address): Update, call
      	legitimate_small_data_address_p.
      	(output_sdata): New static variable.
      	(arc_print_operand): Update how we handle small data operands.
      	(arc_print_operand_address): Likewise.
      	(arc_legitimate_address_p): Update, use
      	legitimate_small_data_address_p.
      	(arc_rewrite_small_data_p): Remove.
      	(arc_rewrite_small_data_1): Likewise.
      	(arc_rewrite_small_data): Likewise.
      	(small_data_pattern): Likewise.
      	(compact_sda_memory_operand): Update to use
      	legitimate_small_data_address_p and get_symbol_alignment.
      	(prepare_move_operands): Don't rewite sdata pattern.
      	(prepare_extend_operands): Remove.
      	* config/arc/arc.md (zero_extendqihi2): Don't rewrite sdata
      	pattern.
      	(zero_extendqisi2): Likewise.
      	(zero_extendhisi2): Likewise.
      	(extendqihi2): Likewise.
      	(extendqisi2): Likewise.
      	(extendhisi2): Likewise.
      	(addsi3): Likewise.
      	(subsi3): Likewise.
      	(andsi3): Likewise.
      	* config/arc/constraints.md (Usd): Change it to memory constraint.
      
      gcc/testsuite
      2018-01-18  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/interrupt-8.c: Update test.
      	* gcc.target/arc/loop-4.c: Likewise.
      	* gcc.target/arc/loop-hazard-1.c: Likewise.
      	* gcc.target/arc/sdata-3.c: Likewise.
      
      From-SVN: r259763
      Claudiu Zissulescu committed
    • [ARC] Update movhi and movdi patterns. · 2295aa75
      Allow signed 6-bit short immediates into st[d] instructions.
      
      2017-10-19  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_split_move): Allow signed 6-bit constants
      	as source of std instructions.
      	* config/arc/arc.md (movsi_insn): Update pattern predicate to
      	allow 6-bit constants as source for store instructions.
      	(movdi_insn): Update instruction pattern to allow 6-bit constants
      	as source for store instructions.
      
      testsuite/
      2017-10-19  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/store-merge-1.c: New test.
      	* gcc.target/arc/add_n-combine.c: Update test.
      
      From-SVN: r259762
      Claudiu Zissulescu committed
    • * doc/invoke.texi (-fdebug-types-section): Fix grammar. · e2df7e6d
      From-SVN: r259761
      Jonathan Wakely committed
    • [patch] allow '-' for stdout dump · bd9918c4
      https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01303.html
      	* dumpfile.c (dump_open): Allow '-' for stdout.
      	* doc/invoke.texi (Developer Options): Document dump filename
      	determination early.  Document stdin/stdout selection.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r259760
      Nathan Sidwell committed
    • * lto-partition.c (lto_balanced_map): Fix sanity check. · e693ebce
      From-SVN: r259759
      Jan Hubicka committed
    • Microblaze Target: PIC data text relative · af1682fc
      2018-04-30 Andrew Sadek  <andrew.sadek.se@gmail.com>
      
      gcc/ChangeLog:
      	* config/microblaze/microblaze.opt: add new option -mpic-data-text-rel.
      	* config/microblaze/microblaze-protos.h (microblaze_constant_address_p):
      	Add declaration.
      	* gcc/config/microblaze/microblaze.h (microblaze_constant_address_p):
      	CONSTANT_ADDRESS_P definition to microblaze_constant_address_p.
      	* config/microblaze/microblaze.c (TARGET_PIC_DATA_TEXT_REL):
      	New addressing mode for data-text relative position indepenedent code.
      	(microblaze_classify_unspec): add 'UNSPEC_TEXT' case ->
      	'ADDRESS_SYMBOLIC_TXT_REL'.
      	(microblaze_classify_address): Add handling for UNSPEC + CONST_INT.
      	(microblaze_legitimate_pic_operand): Exclude function calls from
      	pic operands in case of TARGET_PIC_DATA_TEXT_REL option.
      	(microblaze_legitimize_address): Generate 'UNSPEC_TEXT' for all possible
      	addresses cases.
      	(microblaze_address_insns): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
      	(print_operand): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
      	(print_operand_address): Add 'ADDRESS_SYMBOLIC_TXT_REL' case + handling
      	for 'address + offset'.
      	(microblaze_expand_prologue): Add new function prologue call for
      	'r20' assignation.
      	(microblaze_asm_generate_pic_addr_dif_vec): Override new target hook
      	'TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC' to disable address diff vector
      	table in case of TARGET_PIC_DATA_TEXT_REL.
      	(expand_pic_symbol_ref): Add handling for 'UNSPEC_TEXT'.
      	* gcc/config/microblaze/microblaze.md (TARGET_PIC_DATA_TEXT_REL):
      	Add new macros 'UNSPEC_TEXT',
      	'UNSPEC_SET_TEXT' + add rule for setting r20 in function prologue
      	+ exclude function calls from 'UNSPEC_PLT' in case of data text
      	relative mode.
      	* doc/tm.texi.in (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
      	new target hook for generating address diff vector tables in case of
      	flag_pic.
      	* doc/tm.texi : Regenerate.
      	* stmt.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Append new condition
      	'targetm.asm_out.generate_pic_addr_diff_vec' to flag_pic in case
      	of addr diff vector generation.
      	* target.def (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
      	target hook definition.
      	* targhooks.h, gcc/targhooks.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC):
      	Add default function for generate_pic_addr_diff_vec -> flag_pic.
      	* doc/invoke.texi (Add new pic option): Add new microblaze pic
      	option for data text relative.
      
      testsuite/ChangeLog:
      	* gcc.target/microblaze/others/data_var1.c: Include
      	PIC case of r20 base register.
      	* gcc.target/microblaze/others/data_var2.c: Ditto.
      	* gcc.target/microblaze/others/picdtr.c: Add new
      	test case for -mpic-is-data-text-relative.
      	* gcc.target/microblaze/others/sdata_var1.c: Add
      	* gcc.target/microblaze/others/sdata_var2.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var3.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var4.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var5.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var6.c: Ditto.
      	* gcc.target/microblaze/others/string_cst1_gpopt.c:	Ditto.
      	* gcc.target/microblaze/others/string_cst2_gpopt.c: Ditto.
      
      From-SVN: r259758
      Andrew Sadek committed
    • tree-chrec.h (evolution_function_is_constant_p): Remove redundant check. · 5885f027
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	* tree-chrec.h (evolution_function_is_constant_p): Remove
      	redundant check.
      	* tree-cfg.c (tree_node_can_be_shared): Re-order checks.
      
      From-SVN: r259756
      Richard Biener committed
    • re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk) · bece35ca
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR bootstrap/85571
      	* Makefile.tpl (STAGE3_CFLAGS): Use -fchecking=1.
      	(STAGE3_TFLAGS): Likewise.
      	(STAGEtrain_CFLAGS): Filter out -fchecking=1.
      	(STAGEtrain_TFLAGS): Likewise.
      	* Makefile.in: Regenerate.
      
      	* dwarf2out.c (gen_producer_string): Ignore -fchecking[=].
      
      From-SVN: r259755
      Richard Biener committed
    • re PR tree-optimization/28364 (poor optimization choices when iterating over a… · 2925cd9d
      re PR tree-optimization/28364 (poor optimization choices when iterating over a std::string (probably not c++-specific))
      
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/28364
      	PR tree-optimization/85275
      	* tree-ssa-loop-ch.c (ch_base::copy_headers): Stop after
      	copying first exit test.
      
      	* gcc.dg/tree-ssa/copy-headers-5.c: New testcase.
      	* gcc.dg/tree-ssa/predcom-8.c: Likewise.
      	* gcc.dg/tree-ssa/cunroll-13.c: Rewrite to gimple testcase.
      	* gcc.dg/tree-ssa/ivopt_mult_1.c: XFAIL.
      	* gcc.dg/tree-ssa/ivopt_mult_1g.c: Add gimple variant that
      	still passes.
      	* gcc.dg/tree-ssa/ivopt_mult_2.c: XFAIL.
      	* gcc.dg/tree-ssa/ivopt_mult_2g.c: Add gimple variant that
      	still passes.
      	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
      	* gcc.dg/tree-ssa/20030710-1.c: Likewise.
      	* gcc.dg/tree-ssa/20030711-1.c: Likewise.
      
      From-SVN: r259754
      Richard Biener committed
    • Daily bump. · 03b42a71
      From-SVN: r259753
      GCC Administrator committed
  3. 29 Apr, 2018 3 commits
    • lto-partition.c: Include sreal.h · ddb0b824
      
      	* lto-partition.c: Include sreal.h
      	(add_symbol_to_partition_1): Use size instead of self_size
      	for size estimate.
      	(account_reference_p): New.
      	(lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
      	fix accounting errors in boundary size; add debug output; combine cost
      	as cost/size instead of cost/internal; reduce the partitioning error to
      	+- 1/8 of the parttion size.
      
      From-SVN: r259749
      Jan Hubicka committed
    • [openacc, testsuite] Fix undefined behaviour in atomic_capture-1.c · 8d70b61e
      2018-04-29  Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/85527
      	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
      	arbitrary order for iterations of atomic subtract check.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r259748
      Julian Brown committed
    • Daily bump. · e7d32421
      From-SVN: r259747
      GCC Administrator committed
  4. 28 Apr, 2018 4 commits
    • DWARF: Add .debug_addr table header for dwarf_version >= 5. · 171b0a01
      GNU DebugFission didn't add table headers for the .debug_addr
      tables, but DWARF5 does. The table header makes it possible
      for a DWARF consumer to parse the address tables without having
      to index all .debug_info CUs first.
      
      We can keep using the .debug_addr section label as is, because the
      DW_AT_[GNU_]addr_base attribute points at the actual address index,
      which starts right after the table header. So the label is generated
      at the correct location whether the header is added first or not.
      
      Add DW_AT_addr_base instead of DW_AT_GNU_addr_base to the skeleton
      CU DIE for DWARF5.
      
      gcc/ChangeLog
      
      	* dwarf2out.c (dwarf2out_finish): Add .debug_addr table header for
      	dwarf_version >= 5.
      	(dwarf_AT): Handle DW_AT_addr_base.
      	(add_top_level_skeleton_die_attrs): Use dwarf_AT for DW_AT_addr_base.
      
      From-SVN: r259743
      Mark Wielaard committed
    • re PR target/84431 (Suboptimal code for masked shifts (x86/x86-64)) · 6754dfa2
      	PR target/84431
      	* config/i386/i386.md (*ashl<dwi>3_doubleword_mask): New pattern.
      	(*ashl<dwi>3_doubleword_mask_1): Ditto.
      	(*<shift_insn><dwi>3_doubleword_mask): Ditto.
      	(*<shift_insn><dwi>3_doubleword_mask_1): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/84431
      	* gcc.target/i386/pr84431.c: New test.
      
      From-SVN: r259739
      Uros Bizjak committed
    • tree-cfg.c (verify_gimple_phi): Take a gphi * argument. · 782e4764
      2018-04-28  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
      	(verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts
      	to reflect use.  Only add interesting stmts.
      
      From-SVN: r259738
      Richard Biener committed
    • Daily bump. · 5c2cab46
      From-SVN: r259737
      GCC Administrator committed
  5. 27 Apr, 2018 1 commit