- 01 May, 2018 11 commits
-
-
gcc/c-family/ChangeLog: PR c/84258 * c-format.c (struct format_check_results): Add field "number_non_char". (check_format_info): Initialize it, and warn if encountered. (check_format_arg): Distinguish between wide char and everything else when detecting arrays of non-char. gcc/testsuite/ChangeLog: PR c/84258 * c-c++-common/Wformat-pr84258.c: New test. From-SVN: r259807
David Malcolm committed -
PR tree-optimization/82665 * vr-values.c (vr_values::extract_range_from_binary_expr): Handle pointer subtraction where arguments come from a memchr call. PR tree-optimization/82665 * gcc.dg/tree-ssa/pr82665.c: New test. From-SVN: r259806
Prathamesh Kulkarni committed -
* semantics.c (finish_qualified_id_expr): Don't return an unqualified IDENTIFIER_NODE. From-SVN: r259805
Jason Merrill committed -
configure.ac (LD_AS_NEEDED_OPTION, [...]): Use --push-state --as-needed and --pop-state instead of --as-needed and... * configure.ac (LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Use --push-state --as-needed and --pop-state instead of --as-needed and --no-as-needed if ld supports it. * configure: Regenerated. From-SVN: r259803
Jakub Jelinek committed -
* configure.ac: Added "nfp" target. * configure: Regenerate. From-SVN: r259800
Francois H. Theron committed -
re PR web/85578 (broken links in gcc-8.0.1-RC-20180427/INSTALL/specific.html, and out of date prerequisites.html) PR web/85578 * doc/install.texi2html: Replace _002d with - and _002a with * in generated html files using sed. From-SVN: r259799
Jakub Jelinek committed -
PR go/85429 cmd/go: support more Solaris assembler syntaxes Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/110563 From-SVN: r259797
Ian Lance Taylor committed -
* name-lookup.c (check_extern_c_conflict): Ignore local decls. From-SVN: r259793
Jason Merrill committed -
From-SVN: r259787
GCC Administrator committed -
This patch adds a support function to class gcc_rich_location to make it easier for fix-it hints to use idiomatic C/C++ indentation, for use by the patch for PR c++/85523. gcc/ChangeLog: PR c++/85523 * gcc-rich-location.c (blank_line_before_p): New function. (use_new_line): New function. (gcc_rich_location::add_fixit_insert_formatted): New function. * gcc-rich-location.h (gcc_rich_location::add_fixit_insert_formatted): New function. gcc/testsuite/ChangeLog: PR c++/85523 * gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c (test_add_fixit_insert_formatted_single_line): New function. (test_add_fixit_insert_formatted_multiline): New function. Extend expected output of generated patch to include fix-it hints for these. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include "gcc-rich-location.h". Add test coverage for gcc_rich_location::add_fixit_insert_formatted. From-SVN: r259783
David Malcolm committed -
gcc/ChangeLog: * selftest.c (assert_streq): Rename "expected" and "actual" to "val1" and "val2". Extend NULL-handling to cover both inputs symmetrically, while still requiring both to be non-NULL for a pass. * selftest.h (assert_streq): Rename "expected" and "actual" to "val1" and "val2". (ASSERT_EQ): Likewise. (ASSERT_EQ_AT): Likewise. (ASSERT_KNOWN_EQ): Likewise. (ASSERT_KNOWN_EQ_AT): Likewise. (ASSERT_NE): Likewise. (ASSERT_MAYBE_NE): Likewise. (ASSERT_MAYBE_NE_AT): Likewise. (ASSERT_STREQ): Likewise. Clarify that both must be non-NULL for the assertion to pass. (ASSERT_STREQ_AT): Likewise. From-SVN: r259782
David Malcolm committed
-
- 30 Apr, 2018 23 commits
-
-
* decl.c (grokdeclarator): Overhaul diagnostics for invalid use of long/short/signed/unsigned. From-SVN: r259780
Jason Merrill committed -
* 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. From-SVN: r259775
Daniel van Gerpen committed -
* doc/invoke.texi (-fpie, -fPIE): Fix grammar and clarify interaction with -pie. From-SVN: r259774
Jonathan Wakely committed -
gcc/ChangeLog: * selftest.h: Fix alphabetization of per-source-file selftest declarations. From-SVN: r259773
David Malcolm committed -
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. (build_delete): Remove redundant uses of save_addr. From-SVN: r259771
Jason Merrill committed -
* 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 -
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. (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 -
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 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 -
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 -
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 -
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 -
From-SVN: r259761
Jonathan Wakely committed -
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 -
From-SVN: r259759
Jan Hubicka committed -
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 -
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 -
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 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 -
From-SVN: r259753
GCC Administrator committed
-
- 29 Apr, 2018 3 commits
-
-
* 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 -
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 -
From-SVN: r259747
GCC Administrator committed
-
- 28 Apr, 2018 3 commits
-
-
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 -
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 -
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
-