1. 05 Feb, 2018 16 commits
    • class.c: Remove unused global variables. · 5f25b464
      	* class.c: Remove unused global variables.
             	(build_primary_vtable): Don't gather statistics.
      	(print_class_statistics): Remove.
      	* cp-tree.h (print_class_statistics): Remove.
      	* tree.c (cxx_print_statistics): Don't call print_class_statistics.
      
      From-SVN: r257389
      Marek Polacek committed
    • re PR c++/82782 (ICE: nested template alias and specialized template with auto template parameter) · 865166c8
      2018-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/82782
      	* g++.dg/cpp1z/inline-var4.C: New.
      
      From-SVN: r257388
      Paolo Carlini committed
    • Cherry-pick libsanitizer pointer-pair tristate option. · 4c4f3c3f
      2018-02-05  Martin Liska  <mliska@suse.cz>
      
      	* doc/invoke.texi: Cherry-pick upstream r323995.
      2018-02-05  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/asan/pointer-compare-1.c: Adjust ASAN_OPTIONS
      	options.
      	* c-c++-common/asan/pointer-compare-2.c: Likewise.
      	* c-c++-common/asan/pointer-subtract-1.c: Likewise.
      	* c-c++-common/asan/pointer-subtract-2.c: Likewise.
      	* c-c++-common/asan/pointer-subtract-3.c: Likewise.
      	* c-c++-common/asan/pointer-subtract-4.c: Likewise.
      	* c-c++-common/asan/pointer-compare-3.c: New test.
      2018-02-05  Martin Liska  <mliska@suse.cz>
      
      	* asan/asan_flags.inc: Cherry-pick upstream r323995.
      	* asan/asan_report.cc (CheckForInvalidPointerPair):
      	Cherry-pick upstream r323995.
      
      From-SVN: r257387
      Martin Liska committed
    • [AArch64] Remove SVE XFAILs · ba261579
      These tests started passing after r257293, which had the side-effect
      of renumbering the SSA names and leaving the COND_EXPRs in their
      natural order.
      
      This does show a deeper underlying issue that code generation is too
      sensitive to internal things like SSA_NAME versions, but it no longer
      affects these particular tests (for now).
      
      2018-02-05  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/vcond_4.c: Remove XFAILs.
      	* gcc.target/aarch64/sve/vcond_5.c: Likewise.
      
      From-SVN: r257386
      Richard Sandiford committed
    • Adjust ira_init_register_move_cost comment · 87e176df
      2018-02-05  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* ira.c (ira_init_register_move_cost): Adjust comment.
      
      From-SVN: r257385
      Richard Sandiford committed
    • Fix GCOV documentation (PR gcov-profile/84137). · b95852cc
      2018-02-05  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/84137
      	* doc/gcov.texi: Fix typo in documentation.
      
      From-SVN: r257384
      Martin Liska committed
    • Document --dynamic-list-data option for --coverage usage. · 239dc1a3
      2018-02-05  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/83879
      	* doc/gcov.texi: Document necessity of --dynamic-list-data when
      	using dlopen functionality.
      
      From-SVN: r257383
      Martin Liska committed
    • Add missing mask[z]_range[_round]_s[d,s] intrinsics · 55f956ff
      gcc/
      	* config/i386/avx512dqintrin.h (_mm_mask_range_sd, _mm_maskz_range_sd,
      	_mm_mask_range_round_sd, _mm_maskz_range_round_sd, _mm_mask_range_ss,
      	_mm_maskz_range_ss, _mm_mask_range_round_ss,
      	_mm_maskz_range_round_ss): New intrinsics.
      	(__builtin_ia32_rangesd128_round)
      	(__builtin_ia32_rangess128_round): Remove.
      	(__builtin_ia32_rangesd128_mask_round,
      	__builtin_ia32_rangess128_mask_round): New builtins.
      	* config/i386/i386-builtin.def (__builtin_ia32_rangesd128_round,
      	__builtin_ia32_rangess128_round): Remove.
      	(__builtin_ia32_rangesd128_mask_round,
      	__builtin_ia32_rangess128_mask_round): New builtins.
      	* config/i386/sse.md (ranges<mode><round_saeonly_name>): Renamed to ...
      	(ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): ... this.
      	((match_operand:VF_128 2 "<round_saeonly_nimm_predicate>"
      	"<round_saeonly_constraint>")): Changed to ...
      	((match_operand:VF_128 2 "<round_saeonly_scalar_nimm_predicate>"
      	"<round_saeonly_scalar_constraint>")): ... this.
      	("vrange<ssescalarmodesuffix>\t{%3, <round_saeonly_op4>%2, %1, %0|
      	%0, %1, %2<round_saeonly_op4>, %3}"): Changed to ...
      	("vrange<ssescalarmodesuffix>\t{%3, <round_saeonly_scalar_mask_op4>%2,
      	%1, %0<mask_scalar_operand4>|%0<mask_scalar_operand4>, %1,
      	%2<round_saeonly_scalar_mask_op4>, %3}"): ... this.
      gcc/testsuite
      	* gcc.target/i386/avx512dq-vrangesd-1.c (_mm_mask_range_sd,
      	_mm_maskz_range_sd, _mm_mask_range_round_sd,
      	_mm_maskz_range_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512dq-vrangesd-2.c (_mm_range_sd,
      	_mm_mask_range_sd, _mm_maskz_range_sd, _mm_range_round_sd,
      	_mm_mask_range_round_sd, _mm_maskz_range_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512dq-vrangess-1.c (_mm_mask_range_ss,
      	_mm_maskz_range_ss, _mm_mask_range_round_ss,
      	_mm_maskz_range_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512dq-vrangess-2.c (_mm_range_ss,
      	_mm_mask_range_ss, _mm_maskz_range_ss, _mm_range_round_ss,
      	_mm_mask_range_round_ss, _mm_maskz_range_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_rangesd128_round,
      	__builtin_ia32_rangess128_round): Remove builtins.
      	(__builtin_ia32_rangesd128_mask_round,
      	__builtin_ia32_rangess128_mask_round): Test new builtins.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      
      From-SVN: r257382
      Olga Makhotina committed
    • compiler: update iota handling, fix using iota in array length · 5dfb4d0f
          
          CL 71750 changed the definition of how iota works.  This patch updates
          gccgo for the new definition.
          
          We've been mishandling iota appearing in a type that appears in a
          const expression, as in `c = len([iota]int{})`.  Correct that by copying
          type expressions when we copy an expression.  For simplicity only copy
          when it can change the size of a type, as that is the only case where
          iota in a type can affect the value of a constant (I think).  This is
          still a bunch of changes, but almost all boilerplate.
          
          Fixes golang/go#22341
          
          Reviewed-on: https://go-review.googlesource.com/91475
      
      From-SVN: r257379
      Ian Lance Taylor committed
    • compiler: permit empty statements after fallthrough · 33cdac3b
          
          The language spec permits empty statements after a fallthrough
          statement, so implement that.  Also give a better error message when a
          fallthrough statement is in the wrong place.  The test case for this
          is in the master repository, test/fixedbugs/issue14540.go, just not
          yet in the gccgo repository.
          
          Fixes golang/go#14538
          
          Reviewed-on: https://go-review.googlesource.com/91855
      
      From-SVN: r257378
      Ian Lance Taylor committed
    • compiler: in range, evaluate array if it has receives or calls · 964c809f
          
          The last change was incomplete, in that it did not evaluate the array
          argument in some cases where it had to be evaluated.  This reuses the
          existing code for checking whether len/cap is constant.
          
          Also clean up the use of _ as the second variable in a for/range,
          which was previously inconsistent depending on whether the statement
          used = or :=.
          
          Updates golang/go#22313
          
          Reviewed-on: https://go-review.googlesource.com/91715
      
      From-SVN: r257377
      Ian Lance Taylor committed
    • compiler: give error for non-int arguments to make · 4cff15ea
          
          This implements a requirement of the language spec.
          
          While we're here fix the value returned by the type method of a
          builtin call expression to make, although this doesn't seem to make
          any difference anywhere since we lower this to a runtime call before
          the determine_types pass anyhow.
          
          There is already a test for this error in the master repository:
          test/fixedbugs/issue16949.go. It just hasn't made it into the gccgo
          testsuite yet.
          
          Fixes golang/go#16949
          
          Reviewed-on: https://go-review.googlesource.com/91697
      
      From-SVN: r257376
      Ian Lance Taylor committed
    • compiler: don't error for goto over type or const declaration · 91cb7f78
          
          We should only issue an error for a goto over a var declaration.
          
          The test case for this is already in the master repository, at
          test/fixedbugs/issue8042.go.  It just hasn't been copied into the
          gccgo repository yet.
          
          Fixes golang/go#19089
          
          Reviewed-on: https://go-review.googlesource.com/91696
      
      From-SVN: r257375
      Ian Lance Taylor committed
    • compiler: correct parse of parenthesized select case · 6ac0aed8
          
          We used to mishandle `select { case (<-c): }` and friends.
          
          The test case for this is https://golang.org/cl/91657.
          
          Fixes golang/go#20923
          
          Reviewed-on: https://go-review.googlesource.com/91695
      
      From-SVN: r257374
      Ian Lance Taylor committed
    • cmd/go: don't lose last flag from _cgo_flags · 59597e37
          
          The quoting code that read _cgo_flags, currently only in the gccgo
          version of cmd/go, was losing the last flag read from the file.
          
          Fixes golang/go#23666
          
          Reviewed-on: https://go-review.googlesource.com/91655
      
      From-SVN: r257373
      Ian Lance Taylor committed
    • Daily bump. · 56d6cc37
      From-SVN: r257372
      GCC Administrator committed
  2. 04 Feb, 2018 6 commits
  3. 03 Feb, 2018 3 commits
  4. 02 Feb, 2018 15 commits
    • * pt_BR.po: Update. · 635ace2c
      From-SVN: r257350
      Joseph Myers committed
    • c-common.h (DECL_UNNAMED_BIT_FIELD): New. · 7c30b12a
      /c-family
      2018-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-common.h (DECL_UNNAMED_BIT_FIELD): New.
      
      /c
      2018-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init, output_init_element, process_init_element):
      	Use DECL_UNNAMED_BIT_FIELD.
      
      /cp
      2018-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* class.c (is_really_empty_class): Use DECL_UNNAMED_BIT_FIELD.
      	* constexpr.c (cx_check_missing_mem_inits): Likewise.
      	* decl.c (next_initializable_field, find_decomp_class_base,
      	cp_finish_decomp): Likewise.
      	* typeck2.c (process_init_constructor_record): Likewise.
      
      From-SVN: r257348
      Paolo Carlini committed
    • decl.c (array_type_has_nonaliased_component): Return false if the component type is a pointer. · dacdc68f
      	* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
      	false if the component type is a pointer.
      
      From-SVN: r257344
      Eric Botcazou committed
    • re PR lto/83954 (LTO: Bogus -Wlto-type-mismatch warning for array of pointer to incomplete type) · ee034d31
      	PR lto/83954
      	* lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
      	component type of array types with non-aliased component.
      
      From-SVN: r257343
      Eric Botcazou committed
    • powerpcspe.opt: Add Undocumented to irrelevant options. · aa81b142
             * config/powerpcspe/powerpcspe.opt: Add Undocumented to irrelevant
             options.
             * config/powerpcspe/powerpcspe-tables.opt (rs6000_cpu_opt_value):
             Remove all values except native, 8540 and 8548.
      
      From-SVN: r257342
      Andrew Jenner committed
    • i386: Pass INVALID_REGNUM as invalid register number · 88157461
      	* config/i386/i386.c (ix86_output_function_return): Pass
      	INVALID_REGNUM, instead of -1, as invalid register number to
      	indirect_thunk_name and output_indirect_thunk.
      
      From-SVN: r257340
      H.J. Lu committed
    • PR c++/84181 - ICE with lambda parm in template argument. · b7d8e7e5
      	* tree.c (strip_typedefs_expr): Use cp_tree_operand_length.
      
      From-SVN: r257339
      Jason Merrill committed
    • dec_parameter_1.f (sub1): Remove statement with no effect. · 113db472
      	* gfortran.dg/dec_parameter_1.f (sub1): Remove statement with no effect.
      	* gfortran.dg/dec_parameter_2.f90 (sub1): Ditto.
      
      From-SVN: r257337
      Uros Bizjak committed
    • vec-cmpne-long.c: Add p8vector_hw require to dg-do run stanza. · 24fa220c
      [testsuite]
      
      2018-02-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-cmpne-long.c: Add p8vector_hw require to
      	dg-do run stanza.
      
      From-SVN: r257336
      Will Schmidt committed
    • fold-vec-abs-int.p9.c: Add powerpc_p9vector_ok requirement. · 17855935
      [testsuite]
      
      2018-01-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-abs-int.p9.c: Add powerpc_p9vector_ok
      	requirement.
      	* gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Same.
      	* gcc.target/powerpc/fold-vec-cmp-char.p9.c: Same.
      	* gcc.target/powerpc/fold-vec-neg-int.p9.c: Same.
      
      From-SVN: r257335
      Will Schmidt committed
    • go-gcc.cc (Gcc_backend::type_size): Return 0 for void_type_node. · c2a0fe56
      	* go-gcc.cc (Gcc_backend::type_size): Return 0 for
      	void_type_node.
      	(Gcc_backend::convert_expression): Don't convert if the type of
      	expr_tree is void_type_node.
      	(Gcc_backend::array_index_expression): Don't index if the type of
      	the array expression is void_type_node.
      	(Gcc_backend::init_statement): Don't initialize if the type of the
      	initializer expression is void_type_node.
      	(Gcc_backend::assignment_statement): Don't assign if the type of
      	either the left or right hand side is void_type_node.
      	(Gcc_backend::temporary_variable): Don't initialize if the type of
      	the initializer expression is void_type_node.
      
      From-SVN: r257334
      Ian Lance Taylor committed
    • re PR testsuite/52641 (Test cases fail for 16-bit int targets) · 584d9d58
      	PR testsuite/52641
      	* gcc.c-torture/execute/pr83362.c: Make work for int16.
      	* gcc.dg/Wsign-conversion.c: Dito.
      	* gcc.dg/attr-alloc_size-4.c: Dito.
      	* gcc.dg/pr81020.c: Dito.
      	* gcc.dg/pr81192.c: Dito.
      	* gcc.dg/pr83463.c (dg-options): Add -Wno-pointer-to-int-cast.
      	* gcc.dg/attr-alloc_size-11.c: Also special-case avr.
      	* gcc.dg/pr83844.c: Restrict to int32plus.
      	* gcc.dg/attr-alloc_size-3.c: Restrict to size32plus.
      	* gcc.dg/tree-ssa/ldist-25.c: Dito.
      	* gcc.dg/tree-ssa/ldist-27.c: Dito.
      	* gcc.dg/tree-ssa/ldist-28.c: Dito.
      	* gcc.dg/tree-ssa/ldist-29.c: Dito.
      	* gcc.dg/tree-ssa/ldist-30.c: Dito.
      	* gcc.dg/tree-ssa/ldist-31.c: Dito.
      	* gcc.dg/tree-ssa/ldist-32.c: Dito.
      	* gcc.dg/tree-ssa/ldist-33.c: Dito.
      	* gcc.dg/tree-ssa/ldist-34.c: Dito.
      	* gcc.dg/tree-ssa/ldist-35.c: Dito.
      	* gcc.dg/tree-ssa/ldist-36.c: Dito.
      
      From-SVN: r257333
      Georg-Johann Lay committed
    • Add -march=icelake. · 02da1e9c
      gcc/
      	* config.gcc: Add -march=icelake.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect icelake.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Handle icelake.
      	* config/i386/i386.c (processor_costs): Add m_ICELAKE.
      	(PTA_ICELAKE, PTA_AVX512VNNI, PTA_GFNI, PTA_VAES, PTA_AVX512VBMI2,
      	PTA_VPCLMULQDQ, PTA_RDPID, PTA_AVX512BITALG): New.
      	(processor_target_table): Add icelake.
      	(ix86_option_override_internal): Handle new PTAs.
      	(get_builtin_code_for_version): Handle icelake.
      	(M_INTEL_COREI7_ICELAKE): New.
      	(fold_builtin_cpu): Handle icelake.
      	* config/i386/i386.h (TARGET_ICELAKE, PROCESSOR_ICELAKE): New.
      	* doc/invoke.texi: Add -march=icelake.
      gcc/testsuite/
      	* gcc.target/i386/funcspec-56.inc: Handle new march.
      	* g++.dg/ext/mv16.C: Ditto.
      libgcc/
      	* config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.
      
      From-SVN: r257331
      Julia Koval committed
    • compiler: don't incorrectly evaluate range variable · 31766e68
          
          The language spec says that in `for i = range x`, in which there is no
          second iteration variable, if len(x) is constant, then x is not
          evaluated.  This only matters when x is an expression that panics but
          whose type is an array type; in such a case, we should not evaluate x,
          since len of any array type is a constant.
          
          Fixes golang/go#22313
          
          Reviewed-on: https://go-review.googlesource.com/91555
      
      From-SVN: r257330
      Ian Lance Taylor committed
    • Move omp bitmask to general to use it in x86 backend. · eece7fe5
      gcc/c-family/
      	* c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
      
      gcc/
      	* config/i386/i386.c (ix86_option_override_internal): Change flags type
      	to wide_int_bitmask.
      	* wide-int-bitmask.h: New.
      
      From-SVN: r257329
      Julia Koval committed