1. 30 Aug, 2016 12 commits
    • rich_location: add convenience overloads for adding fix-it hints · f9087798
      Adding a fix-it hint to a diagnostic usually follows one of these
      patterns:
      (a) an insertion fix-its, with the insertion at the primary caret location
      (b) a removals/replacements, affecting the range of the primary location
      
      (other cases are possible, e.g. multiple fix-its, and affecting other
      locations, but these are the common ones)
      
      Given these common cases, this patch adds overloads of the rich_location
      methods for adding fix-it hints, so that the location information can
      be omitted if it matches that of the primary location within the
      rich_location.
      
      Similarly when adding "remove" and "replace" fix-it hints to a diagnostic,
      it's tedious to have to extract the source_range from a location_t
      (aka source_location).  To make this more convenient, this patch
      adds overload of the rich_location::add_fixit_remove/replace methods,
      accepting a source_location directly.
      
      The patch updates the various in-tree users of fix-it hints to use
      the new simpler API where appropriate.  I didn't touch the case where
      there are multiple fix-its in one rich_location, as it seems better to
      be more explicit about locations for this case (adding a pair of parens
      in warn_logical_not_parentheses).
      
      The above makes the gcc_rich_location::add_fixit_misspelled_id overload
      taking a const char * rather redundant, so I eliminated it.
      
      gcc/c/ChangeLog:
      	* c-decl.c (implicit_decl_warning): Use add_fixit_replace
      	rather than add_fixit_misspelled_id.
      	(undeclared_variable): Likewise.
      	* c-parser.c (c_parser_declaration_or_fndef): Likewise.  Remove
      	now-redundant "here" params from add_fixit_insert method calls.
      	(c_parser_parameter_declaration): Likewise.
      	* c-typeck.c (build_component_ref): Remove now-redundant range
      	param from add_fixit_replace method calls.
      
      gcc/cp/ChangeLog:
      	* name-lookup.c (suggest_alternatives_for): Use add_fixit_replace
      	rather than add_fixit_misspelled_id.
      	* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove
      	redundant location param.
      	(test_one_liner_fixit_remove): Likewise.
      	(test_one_liner_fixit_replace): Likewise.
      	(test_one_liner_fixit_replace_equal_secondary_range): Likewise.
      	* gcc-rich-location.c
      	(gcc_rich_location::add_fixit_misspelled_id): Eliminate call to
      	get_range_from_loc.  Drop overload taking a const char *.
      	* gcc-rich-location.h
      	(gcc_rich_location::add_fixit_misspelled_id): Drop overload taking
      	a const char *.
      
      libcpp/ChangeLog:
      	* include/line-map.h (rich_location::add_fixit_insert): Add
      	comments.  Add overload omitting the source_location param.
      	(rich_location::add_fixit_remove): Add comments.  Add overloads
      	omitting the range, and accepting a source_location.
      	(rich_location::add_fixit_replace): Likewise.
      	* line-map.c (rich_location::add_fixit_insert): Add comments.  Add
      	overload omitting the source_location param.
      	(rich_location::add_fixit_remove): Add comments.  Add overloads
      	omitting the range, and accepting a source_location.
      	(rich_location::add_fixit_replace): Likewise.
      
      From-SVN: r239861
      David Malcolm committed
    • report supported function classes correctly on *-musl · 43ed860c
      gcc/
      	* config/linux.c (linux_libc_has_function): Return true on musl.
      
      From-SVN: r239860
      Szabolcs Nagy committed
    • disable ifunc on *-musl by default · 5aadf16c
      gcc/
      	* config.gcc (*-*-*musl*): Disable gnu-indirect-function.
      
      From-SVN: r239859
      Szabolcs Nagy committed
    • postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion used for abnormal egdes. · 8fa37232
      	* postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
      	used for abnormal egdes.
      
      From-SVN: r239858
      Eric Botcazou committed
    • re PR tree-optimization/69047 (memcpy is not as optimized as union is) · 6f651bae
      2016-08-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/69047
      	* gcc.dg/pr69047.c: Fix byte-order check.
      
      From-SVN: r239857
      Richard Biener committed
    • re PR tree-optimization/72866 (Compile time hog w/ -O3 (-Ofast)) · 5116b156
      	PR tree-optimization/72866
      	* tree-vect-patterns.c (search_type_for_mask): Turn into
      	a small wrapper, move all code to ...
      	(search_type_for_mask_1): ... this new function.  Add caching
      	and adjust recursive calls.
      
      	* gcc.dg/vect/pr72866.c: New test.
      
      From-SVN: r239856
      Jakub Jelinek committed
    • re PR c++/77363 (Missing debug information in DWARF) · 3754bbfc
      	PR debug/77363
      	* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
      	instead of lookup_type_die (type_main_variant (type)) even for array
      	types.
      
      	* g++.dg/debug/dwarf2/pr77363.C: New test.
      
      From-SVN: r239855
      Jakub Jelinek committed
    • re PR middle-end/77377 (c-c++-common/pr59037.c ICEs with -fpic -msse on i686) · 26122e2d
      	PR middle-end/77377
      	* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
      	constant pool reference return x instead of c.
      
      	* gcc.target/i386/pr77377.c: New test.
      
      From-SVN: r239854
      Jakub Jelinek committed
    • re PR debug/77389 (FAIL: g++.dg/debug/dwarf2/template-params-12f.C -std=gnu++11… · ab834832
      re PR debug/77389 (FAIL: g++.dg/debug/dwarf2/template-params-12f.C  -std=gnu++11  scan-assembler-times DIE \\\\([^\\n]*\\\\) DW_TAG_template_value_param ...)
      
      	PR debug/77389
      	* g++.dg/debug/dwarf2/template-params-12f.C: Pass -gno-strict-dwarf
      	in dg-options.
      
      From-SVN: r239853
      Jakub Jelinek committed
    • compiler: add -fgo-c-header=FILE to create a C header · 2adb671d
          
          The new -fgo-c-header=FILE option will write a C header file defining
          all the struct types and numeric const values in package scope.  This
          will be used when building the Go runtime package (libgo/go/runtime) to
          generate a C header file that may be included by the C code in the C
          runtime package (libgo/runtime).
          
          This will ensure that the Go code and C code are working with the same
          data structures as we convert the runtime from C to Go to upgrade to the
          current GC runtime, notably the concurrent garbage collector.
          
          Reviewed-on: https://go-review.googlesource.com/28000
      
      	* lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
      	* go-c.h (struct go_create_gogo_args): Define.
      	(go_create_gogo): Change declaration to take struct pointer.
      	* go-lang.c (go_c_header): New static variable.
      	(go_langhook_init): Update call to go_create_gogo.
      	* gccgo.texi (Invoking gccgo): Document -fgo-c-header and
      	-fgo-compiling-runtime.
      
      From-SVN: r239852
      Ian Lance Taylor committed
    • Eradicate MQ some more · 0b390d60
      Nothing uses MQ anymore, but it still shows up in all the dump files.
      This patch removes it from CALL_REALLY_USED_REGISTERS so that that does
      not happen anymore (it is still a fixed register, there should be no
      functional change).
      
      
      	* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not
      	include MQ.
      
      From-SVN: r239851
      Segher Boessenkool committed
    • Daily bump. · 52ba6d16
      From-SVN: r239850
      GCC Administrator committed
  2. 29 Aug, 2016 19 commits
  3. 28 Aug, 2016 7 commits
  4. 27 Aug, 2016 2 commits