1. 02 Sep, 2019 11 commits
  2. 01 Sep, 2019 11 commits
    • PR c++/91129 - wrong error with binary op in template argument. · 556f8de3
      	* typeck.c (warn_for_null_address): Use fold_for_warn instead of
      	fold_non_dependent_expr.
      	(cp_build_binary_op): Likewise.
      
      	* g++.dg/cpp1y/nontype1.C: New test.
      
      From-SVN: r275285
      Marek Polacek committed
    • 2019-09-01 François Dumont <fdumont@gcc.gnu.org> · a37ab089
      	* testsuite_files/util/testsuite_performance.h
      	(resource_counter::start): Ignore unused malloc(0) result.
      
      From-SVN: r275284
      François Dumont committed
    • [testsuite] Unsupport 20190827-1.c for targets without alias support. · 3791ba49
      gcc/testsuite/
      
      2019-09-01  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.c-torture/compile/20190827-1.c: Add dg-requires-alias.
      
      From-SVN: r275274
      Iain Sandoe committed
    • target-supports.exp (check_effective_target_pthread): Add #include <pthread.h>… · 4c122404
      target-supports.exp (check_effective_target_pthread): Add #include <pthread.h> directive to the test.
      
      	* lib/target-supports.exp (check_effective_target_pthread): Add
      	#include <pthread.h> directive to the test.
      
      From-SVN: r275271
      Eric Botcazou committed
    • re PR target/91472 (gmp testsuite segfaults with gcc-8 and gcc-9, works fine with gcc-7) · 2dae2123
      	PR target/91472
      	* config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true
      	during LRA/reload in PIC mode if the PIC register hasn't been used yet.
      	(sparc_pic_register_p): Test reload_in_progress for consistency's sake.
      
      From-SVN: r275270
      Eric Botcazou committed
    • array.c (spec_dimen_size): Check for the presence of expressions for the bounds. · 70570ec1
      2019-09-01  Paul Thomas  <pault@gcc.gnu.org>
      
      	* array.c (spec_dimen_size): Check for the presence of
      	expressions for the bounds.
      	* decl.c (gfc_match_end): Add case COMP_SELECT_RANK.
      	* dump-parse-tree.c(show_symbol): Show the arrayspec of class
      	entities.
      	(show_code_node): Show the code for SELECT_RANK.
      	* expr.c (gfc_check_vardef_context): Omit the context of
      	variable definition for select rank associate names since the
      	ASSUMED RANK throws.
      	* gfortran.h : Add ST_SELECT_RANK and ST_RANK to enum
      	gfc_statement. Add select_rank_temporary to symbol attribute
      	structure. Add EXEC_SELECT_RANK to enum gfc_exec_op.
      	* match.c (match_exit_cycle): Add COMP_SELECT_RANK.
      	(copy_ts_from_selector_to_associate): Add as special case for
      	assumed rank class variables.
      	(select_intrinsic_set_tmp): Clean up the code by using symbols
      	for references to the temporary and the selector.
      	(select_type_set_tmp): Ditto.
      	(select_rank_set_tmp): New function.
      	(gfc_match_select_rank): New function.
      	(gfc_match_rank_is): New function.
      	* match.h : Add prototypes for gfc_match_select_rank and
      	gfc_match_rank_is.
      	* parse.c (decode_statement): Attempt to match select_rank and
      	rank statements.
      	(next_statement, gfc_ascii_statement): Add ST_SELECT_RANK.
      	(parse_select_rank_block): New function.
      	(parse_executable): Parse select rank block for ST_SELECT_RANK.
      	* parse.h : Add COMP_SELECT_RANK to enum gfc_compile_state.
      	* resolve.c (resolve_variable): Exclude select_rank_temporaries
      	from the check on use of ASSUMED RANK.
      	(gfc_resolve_expr): Make sure that unlimited polymorphic select
      	rank temporaries expressions are not resolved again after being
      	successfully resolved.
      	(resolve_assoc_var): Do not do the rank check for select rank
      	temporaries.
      	(resolve_select_rank): New function.
      	(gfc_resolve_blocks): Deal with case EXEC_SELECT_RANK.
      	(resolve_symbol): Exclude select rank temporaries for check on
      	use of ASSUMED RANK.
      	* st.c (gfc_free_statement): Include EXEC_SELECT_RANK.
      	* trans-array.c (gfc_conv_array_ref): Select rank temporaries
      	may have dimen == 0.
      	(gfc_conv_expr_descriptor): Zero the offset of select rank
      	temporaries.
      	* trans-stmt.c (copy_descriptor): New function.
      	(trans_associate_var): Add code to associate select rank temps.
      	(gfc_trans_select_rank_cases): New function.
      	(gfc_trans_select_rank): New function.
      	* trans-stmt.h : Add prototype for gfc_trans_select_rank.
      	trans.c (trans_code): Add select rank case.
      
      
      2019-09-01  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/select_rank_1.f90 : New test.
      	* gfortran.dg/select_rank_2.f90 : New test.
      
      From-SVN: r275269
      Paul Thomas committed
    • policy_data_structures_biblio.xml (COM: Component Model Object Technologies): Adjust name and link. · 3e7254c5
      	* doc/xml/manual/policy_data_structures_biblio.xml (COM: Component
      	Model Object Technologies): Adjust name and link.
      
      From-SVN: r275268
      Gerald Pfeifer committed
    • re PR middle-end/91623 (-msse4.1 -O3 segfault in… · 9151048d
      re PR middle-end/91623 (-msse4.1 -O3 segfault in /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/smmintrin.h:270:10)
      
      	PR middle-end/91623
      	* optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only
      	EQ_EXPR/NE_EXPR is supported, verify that op0 only contains
      	zeros or negative elements and use NE_EXPR instead of LT_EXPR against
      	zero vector.
      
      	* gcc.target/i386/pr91623.c: New test.
      
      From-SVN: r275267
      Jakub Jelinek committed
    • re PR lto/91572 (lto1: error: type variant has different ‘TREE_TYPE’ since r269862) · d1e2e50a
      	PR lto/91572
      	* tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of
      	GIMPLE_ASM TREE_LIST operands.
      
      	* g++.dg/lto/pr91572_0.C: New test.
      
      From-SVN: r275266
      Jakub Jelinek committed
    • Fix wrong dates in ChangeLog · 12b19f6a
      From-SVN: r275265
      Bernd Edlinger committed
    • Daily bump. · 7a9f7e59
      From-SVN: r275264
      GCC Administrator committed
  3. 31 Aug, 2019 10 commits
  4. 30 Aug, 2019 8 commits
    • RISC-V: Disable -msave-restore for shared libraries. · a169f358
      This was noticed while trying to test -msave-restore support.  The
      save/restore routines use the alternate return register t0/x5 which is
      clobbered by the PLT header, so we can't use them in shared libraries.
      This patch disables -msave-restore when -fpic (and -mplt), and emits a
      warning if the user explicitly turned on -msave-restore.
      
      	gcc/
      	* config/riscv/riscv.c (riscv_option_override): If -msave-restore
      	and -fpic and -mplt then disable -msave-restore and warn.
      
      From-SVN: r275231
      Jim Wilson committed
    • compile, runtime: permit anonymous and empty fields in C header · 4a140826
          
          Permit putting structs with anonymous and empty fields in the C header
          file runtime.inc that is used to build the C runtime code.  This is
          required for upcoming 1.13 support, as the m struct has picked up an
          anonymous field.
          
          Doing this lets the C header contain all the type descriptor structs,
          so start using those in the C code.  This cuts the number of copies of
          type descriptor definitions from 3 to 2.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192343
      
      From-SVN: r275227
      Ian Lance Taylor committed
    • Fix ChangeLog · aff0632d
      From-SVN: r275223
      Jonathan Wakely committed
    • PR middle-end/91599 - GCC does not say where warning is happening · 648af168
      gcc/ChangeLog:
      
      	PR middle-end/91599
      	* tree-ssa-strlen.c (handle_store): Use a fallback location if
      	the statement doesn't have one.
      	* gimple-pretty-print.c (percent_G_format): Same.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/91599
      	* gcc.dg/Wstringop-overflow-16.c: New test.
      
      From-SVN: r275211
      Martin Sebor committed
    • PR middle-end/91584 - Bogus warning from -Warray-bounds during string assignment · 5d69df7e
      gcc/ChangeLog:
      
      	PR middle-end/91584
      	* tree-vrp.c (vrp_prop::check_mem_ref): Normalize type domain bounds
      	before using them to validate MEM_REF offset.
      
      gcc/testsuite/ChangeLog:
      	* gfortran.dg/char_array_constructor_4.f90: New test.
      
      From-SVN: r275210
      Martin Sebor committed
    • Optimize std::to_chars · 7259a9d5
      Bunch of micro optimizations for std::to_chars:
      * For base == 8 replacing the lookup in __digits table with arithmetic
      computations leads to a same CPU cycles for a loop (exchanges two movzx
      with 3 bit ops). However this saves 129 bytes of data and totally avoids
      a chance of cache misses on __digits.
      * For base == 16 replacing the lookup in __digits table with
      arithmetic computations leads to a few additional instructions, but
      totally avoids a chance of cache misses on __digits (- ~9 cache misses
      for worst case) and saves 513 bytes of const data.
      * Replacing __first[pos] and __first[pos - 1] with __first[1] and
      __first[0] on final iterations saves ~2% of code size.
      * Removing trailing '\0' from arrays of digits allows the linker to
      merge the symbols (so that "0123456789abcdefghijklmnopqrstuvwxyz" and
      "0123456789abcdef" could share the same address). This improves data
      locality and reduces binary sizes.
      * Using __detail::__to_chars_len_2 instead of a generic
      __detail::__to_chars_len makes the operation O(1) instead of O(N). It
      also makes the code two times shorter.
      
      In sum: this significantly reduces the size of a binary (for about 4KBs
      only for base-8 conversion), deals with latency (CPU cache misses)
      without changing the iterations count and without adding costly
      instructions into the loops.
      
      2019-08-30  Antony Polukhin  <antoshkka@gmail.com>
      
      	* include/std/charconv (__detail::__to_chars_8)
      	__detail::__to_chars_16): Replace array of precomputed digits with
      	arithmetic operations to avoid CPU cache misses. Remove zero
      	termination from array of digits to allow symbol merge with generic
      	implementation of __detail::__to_chars. Replace final offsets with
      	constants. Use __detail::__to_chars_len_2 instead of a generic
      	__detail::__to_chars_len.
      	(__detail::__to_chars): Remove zero termination from array of digits.
      	(__detail::__to_chars_2): Leading digit is always '1'.
      
      From-SVN: r275205
      Antony Polukhin committed
    • Fix errors in new test · 1ecaf589
      	* testsuite/23_containers/vector/cons/89164_c++17.cc: Fix errors.
      
      From-SVN: r275204
      Jonathan Wakely committed
    • decl.c (maybe_saturate_size): New function. · 875bdbe2
      	* gcc-interface/decl.c (maybe_saturate_size): New function.
      	(gnat_to_gnu_entity): Invoke it on the Esize of types before sending
      	it for back-annotations.
      	* gcc-interface/trans.c: Fix typo.
      
      From-SVN: r275200
      Eric Botcazou committed