1. 01 May, 2018 15 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 2 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