1. 16 Aug, 2016 8 commits
  2. 15 Aug, 2016 20 commits
    • lang.opt, [...]: New flag -finit-derived. · 7fc61626
      2016-08-15  Fritz Reese  <fritzoreese@gmail.com>
      
      	gcc/fortran/
      	* lang.opt, invoke.texi: New flag -finit-derived.
      	* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
      	gfc_generate_initializer): New prototypes.
      	* expr.c (gfc_build_default_init_expr, gfc_apply_init,
      	component_initializer, gfc_generate_initializer): New functions.
      	* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
      	* decl.c (build_struct): Move common code to gfc_apply_init.
      	* resolve.c (can_generate_init): New function.
      	* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
      	* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
      	gfc_generate_initializer.
      	* trans-decl.c (gfc_generate_function_code): Use
      	gfc_generate_initializer.
      
      	gcc/testsuite/gfortran.dg/
      	* init_flag_13.f90: New testcase.
      	* init_flag_14.f90: Ditto.
      	* init_flag_15.f03: Ditto.
      	* dec_init_1.f90: Ditto.
      	* dec_init_2.f90: Ditto.
      
      From-SVN: r239489
      Fritz Reese committed
    • frontend-passes.c (create_var): Set ts.deferred for deferred-length character variables. · 874be74a
      2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* frontend-passes.c (create_var):  Set ts.deferred for
      	deferred-length character variables.
      	* dump-parse-tree.c (show_typespec):  Also dump
      	is_c_interop, is_iso_c and deferred flags.
      
      From-SVN: r239488
      Thomas Koenig committed
    • re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time) · 432baa02
      	PR target/72867
      	* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
      	Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
      	for !flag_finite_math_only or flag_signed_zeros.
      	(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
      	*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
      	depend on flag_finite_math_only.
      	(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
      	New insn pattern.
      	(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
      	(*ieee_smin<mode>3): Ditto.
      	(*ieee_smax<mode>3): Ditto.
      	* config/i386/mmx.md (mmx_<code>v2sf3): Emit
      	mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
      	flag_signed_zeros.
      	(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
      	depend on flag_finite_math_only.
      	(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
      	(*mmx_<code>v2sf3): Remove.
      	* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
      	* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
      	flag_signed_zeros instead of !flag_unsafe_math_optimizations.
      
      testsuite/ChangeLog:
      
      	PR target/72867
      	* gcc.target/i386/pr72867.c: New test.
      
      From-SVN: r239487
      Uros Bizjak committed
    • cmd/go: ignore errors from go/build for standard packages · 87155d4f
          
          The go/build package does not know that gccgo's standard packages don't
          have source, and will report an error saying that it can not find them.
          Work around that in the cmd/go sources, since the go/build sources don't
          currently have a list of standard packages.
          
          This should get a real fix in the master sources, somehow.
          
          Fixes golang/go#16701.
          
          Reviewed-on: https://go-review.googlesource.com/27052
      
      From-SVN: r239486
      Ian Lance Taylor committed
    • lra: A multiple_sets is not a simple_move_p (PR73650) · 2008be40
      In the PR we have a PARALLEL of a move and a compare (a "mr." instruction).
      The compare is dead, so single_set on it returns just the move.  Then,
      simple_move_p returns true; but the instruction does need reloads in this
      case.  This patch solves this by making simple_move_p return false for
      every multiple_sets instruction.
      
      
      	PR rtl-optimization/73650
      	* lra-constraints.c (simple_move_p): If the insn is multiple_sets
      	it is not a simple move.
      
      From-SVN: r239483
      Segher Boessenkool committed
    • Implement LWG 2744 and LWG 2754. · 5c578ae4
      	* include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
      	(any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
      	(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
      	Likewise.
      	(emplace(_Args&&...)): Likewise.
      	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
      	* include/std/utility: (__is_in_place_type_impl): New.
      	(__is_in_place_type): Likewise.
      	* testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
      	emplace.
      	* testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
      	in_place constructor.
      	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
      	* testsuite/20_util/any/requirements.cc: Add a test for
      	in_place-constructing a non-default-constructible type.
      
      From-SVN: r239482
      Ville Voutilainen committed
    • c-ada-spec.c (dump_number): New function. · 7e1dde14
      	* c-ada-spec.c (dump_number): New function.
      	(handle_escape_character): Likewise.
      	(print_ada_macros): Add handling of constant integers and strings.
      
      Co-Authored-By: Arnaud Charlet <charlet@adacore.com>
      
      From-SVN: r239481
      Eric Botcazou committed
    • Add a feature macro for C++17 make_from_tuple. · 24299f65
      	* include/std/tuple (__cpp_lib_make_from_tuple): New.
      	* testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
      
      From-SVN: r239480
      Ville Voutilainen committed
    • ops.cc: Always include ostream and ext/stdio_filebuf.h. · 0657379e
      	* src/filesystem/ops.cc: Always include ostream and
      	ext/stdio_filebuf.h.
      	(do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
      	[_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
      	sendfile fails with ENOSYS or EINVAL.
      
      From-SVN: r239479
      Uros Bizjak committed
    • gcov-tool: Do not segfault in merge operation (PR · 2e6fc1ac
      	PR gcov-profile/67097
      	* libgcov-util.c (gcov_profile_merge): Skip missing files.
      
      From-SVN: r239478
      Gilles Gouaillardet committed
    • Fix invalid memory access in gcc.c (driver/72765) · 38359141
      	PR driver/72765
      	* gcc.c (do_spec_1): Call save_string with the right size.
      	(save_string): Do an assert about string we copy.
      
      From-SVN: r239475
      Martin Liska committed
    • ree.c (rest_of_handle_ree): Remove redundant timevar push/pop. · 397d8acd
      2016-08-15  Richard Biener  <rguenther@suse.de>
      
      	* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
      	* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
      	TV_MACH_DEP.
      	(pass_data_stv): Likewise.
      
      From-SVN: r239474
      Richard Biener committed
    • re PR tree-optimization/73434 (Wrong code with casting, branches and aliasing) · e4969090
      2016-08-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/73434
      	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
      	TBAA info on the base when forwarding a non-invariant address.
      
      	* gcc.dg/torture/pr73434.c: New testcase.
      
      From-SVN: r239471
      Richard Biener committed
    • dwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes. · 980bd537
      	* dwarf2.def (DW_AT_string_length_bit_size,
      	DW_AT_string_length_byte_size): New attributes.
      
      	* dwarf2out.c (struct checksum_attributes): Add
      	at_string_length_bit_size and at_string_length_byte_size fields.
      	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
      	and DW_AT_string_length_byte_size.
      	(die_checksum_ordered): Handle at_string_length_bit_size and
      	at_string_length_byte_size.
      	(gen_array_type_die): For dwarf_version >= 5 emit
      	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
      	(adjust_string_types): For dwarf_version >= 5 remove
      	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
      	(resolve_addr): Likewise.
      
      From-SVN: r239470
      Jakub Jelinek committed
    • re PR debug/71906 (Fortran allocatable strings debug info type size regression) · 8ae261c0
      	PR debug/71906
      	* dwarf2out.c (string_types): New variable.
      	(gen_array_type_die): Change early_dwarf handling of
      	DW_AT_string_length, create DW_OP_call4 referencing the
      	length var temporarily.  Handle parameters that are pointers
      	to string length.
      	(adjust_string_types): New function.
      	(gen_subprogram_die): Temporarily set string_types to local var,
      	call adjust_string_types if needed.
      	(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
      	New functions.
      	(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
      
      	* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
      	for decl's character length before gfc_finish_var_decl on the
      	decl itself.
      
      From-SVN: r239469
      Jakub Jelinek committed
    • Enhance mark_spam.py script · 28619cd7
      	* mark_spam.py: Add error handling and reset
      	another properties of attachments and bugs.
      
      From-SVN: r239467
      Martin Liska committed
    • install.texi (*-*-solaris2*): Fix version number and document requirement on GNU… · f5ea1d38
      install.texi (*-*-solaris2*): Fix version number and document requirement on GNU make for building libjava...
      
      	* doc/install.texi (*-*-solaris2*): Fix version number and document
      	requirement on GNU make for building libjava with the Solaris linker.
      
      From-SVN: r239464
      Eric Botcazou committed
    • re PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc) · f9657322
      2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          PR libstdc++/72840
          * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
          syntax.
      
      From-SVN: r239463
      Thomas Preud'homme committed
    • re PR tree-optimization/72824 (Signed floating point zero semantics broken at… · 66088065
      re PR tree-optimization/72824 (Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns))
      
      	PR tree-optimization/72824
      	* tree-loop-distribution.c (const_with_all_bytes_same)
      	<case VECTOR_CST>: Fix a typo.
      
      	* gcc.c-torture/execute/ieee/pr72824-2.c: New test.
      
      From-SVN: r239461
      Jakub Jelinek committed
    • Daily bump. · 30211344
      From-SVN: r239460
      GCC Administrator committed
  3. 14 Aug, 2016 5 commits
    • re PR fortran/70598 (Fortran OpenACC host_data construct ICE) · 7c713714
      2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	PR fortran/70598
      
      	gcc/fortran/
      	* openmp.c (resolve_omp_clauses): Adjust use_device clause
      	handling to only allow pointers and arrays.
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers
      	in use_device clause.
      	* gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise.
      	* gfortran.dg/goacc/list.f95: Adjust to catch
      	"neither a POINTER nor an array" error messages.
      
      	libgomp/
      	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
      
      From-SVN: r239457
      Chung-Lin Tang committed
    • avx512ifmaintrin.h: Fix whitespace. · c42b0bdf
      	* config/i386/avx512ifmaintrin.h: Fix whitespace.
      	* config/i386/avx512ifmavlintrin.h: Ditto.
      	* config/i386/avx512vbmiintrin.h: Ditto.
      	* config/i386/avx512vbmivlintrin.h: Ditto.
      	* config/i386/avx512vlbwintrin.h: Ditto.
      	* config/i386/avx512vldqintrin.h: Ditto.
      	* config/i386/avx512vlintrin.h: Ditto.
      
      From-SVN: r239455
      Uros Bizjak committed
    • avx512bwintrin.h: Whitespace fixes. · 281f7120
      	* config/i386/avx512bwintrin.h: Whitespace fixes.
      	* config/i386/avx512dqintrin.h: Ditto.
      
      From-SVN: r239454
      Uros Bizjak committed
    • re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing… · 4271e5cb
      re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512))
      
      	PR target/76342
      	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
      	Renamed from _mm512_undefined_si512.
      	(_mm_undefined_si512): New definition.
      
      testsuite/ChangeLog:
      
      	PR target/76342
      	* gcc.target/i386/pr76342.c: New test.
      
      From-SVN: r239453
      Uros Bizjak committed
    • Daily bump. · deea3a21
      From-SVN: r239452
      GCC Administrator committed
  4. 13 Aug, 2016 6 commits
  5. 12 Aug, 2016 1 commit
    • re PR c/71512 (ICE: verify_gimple failed with UBSAN) · b0cea284
      	PR c/71512
      	* ubsan.c (instrument_si_overflow): Pass true instead of false
      	to gsi_replace.
      	(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
      	of bbs.  Return TODO_cleanup_cfg if any returned true.
      
      	* g++.dg/ubsan/pr71512.C: New test.
      	* c-c++-common/ubsan/pr71512-1.c: New test.
      	* c-c++-common/ubsan/pr71512-2.c: New test.
      
      From-SVN: r239430
      Jakub Jelinek committed