1. 25 Apr, 2017 8 commits
  2. 24 Apr, 2017 18 commits
    • re PR fortran/80121 (Memory leak with derived-type intent(out) argument) · be420eb8
      2017-04-22  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80121
      	* gfortran.dg/intent_out_9.f90: Remove deprecated cleanup-tree-dump
      	directive.
      
      From-SVN: r247115
      Janus Weil committed
    • Regenerate .pot files. · c1c1c8ea
      gcc/po:
      	* gcc.pot: Regenerate.
      
      libcpp/po:
      	* cpplib.pot: Regenerate.
      
      From-SVN: r247113
      Joseph Myers committed
    • types.rst (gccjit::type::get_const): Remove comment. · 0ebd1f00
      gcc_jit_type_get_aligned
      
      gcc/jit/ChangeLog:
      	* docs/cp/topics/types.rst (gccjit::type::get_const): Remove
      	comment.
      	(gccjit::type::get_aligned): Add.
      	* docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_7.
      	* docs/topics/types.rst: Add gcc_jit_type_get_aligned.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-playback.c (gcc::jit::playback::type::get_aligned): New
      	method.
      	* jit-playback.h (gcc::jit::playback::type::get_aligned): New
      	method.
      	* jit-recording.c: Within namespace gcc::jit::recording...
      	(type::get_aligned): New method.
      	(memento_of_get_aligned::replay_into): New method.
      	(memento_of_get_aligned::make_debug_string): New method.
      	(memento_of_get_aligned::write_reproducer): New method.
      	* jit-recording.h: Within namespace gcc::jit::recording...
      	(type::get_aligned): New method.
      	(type::accepts_writes_from): Strip off qualifications from
      	this when comparing pointer equality.
      	(decorated_type): New subclass of type, subsuming the
      	commonality between memento_of_get_const and
      	memento_of_get_volatile.
      	(memento_of_get_const): Make a subclass of decorated_type,
      	rather than type.
      	(memento_of_get_volatile): Likewise.
      	(memento_of_get_aligned): Likewise.
      	* libgccjit++.h: Within namespace gccjit...
      	(type::get_const): New method.
      	(type::get_aligned): New method.
      	* libgccjit.c (gcc_jit_type_get_aligned): New function.
      	* libgccjit.h (gcc_jit_type_get_aligned): New decl.
      	* libgccjit.map (LIBGCCJIT_ABI_7): New
      	(gcc_jit_type_get_aligned): Add.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/all-non-failing-tests.h: Add test-alignment.c.
      	* jit.dg/test-alignment.c: New test case.
      	* jit.dg/test-alignment.cc: New test case.
      	* jit.dg/test-error-gcc_jit_type_get_aligned-non-power-of-two.c:
      	New test case.
      
      From-SVN: r247111
      David Malcolm committed
    • decl.c (grokdeclarator): Use %qT instead of %<%T%> in · 761ad35c
              * decl.c (grokdeclarator): Use %qT instead of %<%T%> in
              * diagnostics.
              (start_enum): Likewise.
              (build_enumerator): Likewise. Use %qE instead of plain %E.
              * parser.c (cp_parser_mem_initializer_list): Use %qD instead of
              %<%D%> in diagnostics.
              (cp_parser_elaborated_type_specifier): Likewise.
              * pt.c (make_pack_expansion): Use %qT and %qE instead of
              %<%T%> and %<%E%> in diagnostics.
              (tsubst_pack_expansion): Likewise.
      
      From-SVN: r247110
      Volker Reichelt committed
    • Fix location of sizeof/alignof (PR c++/80016) · 412f61f0
      PR c++/80016 reports an issue with bizarre underlined range
      for a complicated expression.
      
      The root cause for the incorrect *starting* location of that range
      is that alignof and sizeof expressions currently have
      start == finish == caret at the opening parenthesis of the
      expression.
      
      This patch fixes this by generating appropriate start and finish
      locations for alignof and sizeof expressions.
      
      gcc/cp/ChangeLog:
      	PR c++/80016
      	* parser.c (cp_parser_unary_expression):  Generate a location
      	range for alignof and sizeof expressions.
      
      gcc/testsuite/ChangeLog:
      	PR c++/80016
      	* g++.dg/plugin/diagnostic-test-expressions-1.C (test_sizeof): New
      	test function.
      	(test_alignof): New test function.
      
      From-SVN: r247108
      David Malcolm committed
    • X /[ex] 4 < Y /[ex] 4 · a8492d5e
      2017-04-24  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (X/[ex]C CMP Y/[ex]C): New transformation.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/cmpexactdiv-2.c: New file.
      
      From-SVN: r247107
      Marc Glisse committed
    • parser.c (cp_parser_cv_qualifier_seq_opt): Add fix-it info to error message. · ec856f5f
              * parser.c (cp_parser_cv_qualifier_seq_opt): Add fix-it info to
              error message.
              (cp_parser_virt_specifier_seq_opt): Likewise.
              (set_and_check_decl_spec_loc): Likewise twice.
      
              * g++.dg/diagnostic/duplicate1.C: New test.
              * g++.dg/cpp0x/duplicate1.C: New test.
      
      From-SVN: r247105
      Volker Reichelt committed
    • [PR 80293] Dont totally-scalarize char arrays · a753df11
      2017-04-24  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/80293
      	* tree-sra.c (scalarizable_type_p): New parameter const_decl, make
      	char arrays not totally scalarizable if it is false.
      	(analyze_all_variable_accesses): Pass correct value in the new
      	parameter.  Add a statistics counter.
      
      testsuite/
      	* g++.dg/tree-ssa/pr80293.C: New test.
      
      From-SVN: r247104
      Martin Jambor committed
    • PR libstdc++/80506 fix constant used in condition · 957221f5
      	PR libstdc++/80506
      	* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
      	number used in loop condition.
      
      From-SVN: r247099
      Jonathan Wakely committed
    • Fix (PR middle-end/79931) · 3ebd8e62
      2017-04-24  Jan Hubicka  <hubicka@ucw.cz>
      
      	PR middle-end/79931
      	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
      2017-04-24  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/79931
      	* g++.dg/ipa/pr79931.C: New test.
      
      From-SVN: r247097
      Martin Liska committed
    • re PR fortran/80494 (ICE in wide_int_to_tree) · f30a1190
      2017-04-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80494
      	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
      	out for complex types.
      
      	* gfortran.dg/pr80494.f90: New testcase.
      
      From-SVN: r247095
      Richard Biener committed
    • PR libstdc++/80504 qualify calls to avoid ADL · 6e2e575a
      	PR libstdc++/80504
      	* include/bits/refwrap.h (ref, cref): Qualify calls.
      	* testsuite/20_util/reference_wrapper/80504.cc: New test.
      
      From-SVN: r247094
      Jonathan Wakely committed
    • PR libstdc++/80493 fix invalid exception specification · 71f257f7
      	PR libstdc++/80493
      	* include/experimental/optional (optional::swap): Fix exception
      	specification.
      
      From-SVN: r247093
      Jonathan Wakely committed
    • tree-ssa-sccvn.h (run_scc_vn): Adjust prototype. · 24c40f9a
      2017-04-24  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.
      	* tree-ssa-sccvn.c (print_scc): Print SCC size.
      	(extract_and_process_scc_for_name): Never fail but drop SCC to varying.
      	(DFS): Adjust and never fail.
      	(sccvn_dom_walker::fail): Remove.
      	(sccvn_dom_walker::before_dom_children): Adjust.
      	(run_scc_vn): Likewise and never fail.
      	* tree-ssa-pre.c (pass_pre::execute): Adjust.
      	(pass_fre::execute): Likewise.
      
      From-SVN: r247092
      Richard Biener committed
    • re PR tree-optimization/79725 (Sinking opportunity missed if blocked by dead stmt) · 4c7c437c
      2017-04-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/79725
      	* tree-ssa-sink.c (statement_sink_location): Return whether
      	failure reason was zero uses.  Move that check later.
      	(sink_code_in_bb): Deal with zero uses by removing the stmt
      	if possible.
      
      	* gcc.dg/tree-ssa/ssa-sink-15.c: New testcase.
      
      From-SVN: r247091
      Richard Biener committed
    • re PR c++/2972 (-Wuninitialized could warn about uninitialized member variable… · d21a8e3b
      re PR c++/2972 (-Wuninitialized could warn about uninitialized member variable usage in constructors)
      
      2017-04-24  Richard Biener  <rguenther@suse.de>
      
      	PR c++/2972
      	* tree-ssa-uninit.c (warn_uninitialized_vars): Handle some
      	pointer-based references.
      
      	* g++.dg/warn/Wuninitialized-10.C: New testcase.
      
      From-SVN: r247090
      Richard Biener committed
    • re PR bootstrap/79814 (pass-instances.def:36:14: error:… · 3c5b0ca4
      re PR bootstrap/79814 (pass-instances.def:36:14: error: ‘*<unknown>.gcc::pass_manager::pass_warn_unused_result_1’ is used uninitialized in this function)
      
      2017-04-24  Richard Biener  <rguenther@suse.de>
      
      	PR bootstrap/79814
      	* pass_manager.h (pass_manager::operator new): Remove.
      	(pass_manager::operator delete): Likewise.
      	* passes.c (pass_manager::operator new): Remove.
      	(pass_manager::operator delete): Likewise.
      	(pass_manager::pass_manager): Zero individual pass members.
      
      From-SVN: r247089
      Richard Biener committed
    • Daily bump. · 63829927
      From-SVN: r247088
      GCC Administrator committed
  3. 23 Apr, 2017 4 commits
    • re PR fortran/80484 (Three syntax errors involving derived-type I/O) · c7eb642e
      2017-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/80484
      	* io.c (format_lex): Check for '/' and set token to FMT_SLASH.
      	(check_format): Move FMT_DT checking code to data_desc section.
      	* module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
      
      	PR fortran/80484
      	* gfortran.dg/dtio_29.f03: New test.
      
      From-SVN: r247084
      Jerry DeLisle committed
    • re PR fortran/80121 (Memory leak with derived-type intent(out) argument) · 60fc41bd
      2017-04-22  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80121
      	* trans-types.c (gfc_conv_procedure_call): Deallocate the components
      	of allocatable intent(out) arguments.
      
      2017-04-22  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80121
      	* gfortran.dg/intent_out_9.f90: New test case.
      
      From-SVN: r247083
      Janus Weil committed
    • re PR target/70799 (STV pass does not convert DImode shifts) · 2eb8a343
      	PR target/70799
      	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
      	<case ASHIFT, case LSHIFTRT>: Also consider variable shifts.
      	Check "XEXP (src, 1)" operand here.
      	<case PLUS, case MINUS, case IOR, case XOR, case AND>:
      	Check "XEXP (src, 1)" operand here.
      	(dimode_scalar_chain::make_vector_copies): Detect count register
      	of a shift instruction.  Zero extend count register from QImode
      	to DImode to satisfy vector shift pattern count operand predicate.
      	Substitute vector shift count operand with a DImode copy.
      	(dimode_scalar_chain::convert_reg): Ditto, zero-extend from
      	vector register.
      
      testsuite/ChangeLog:
      
      	PR target/70799
      	* gcc.target/i186/pr70799-4.c: New test.
      
      From-SVN: r247082
      Uros Bizjak committed
    • Daily bump. · a1687c59
      From-SVN: r247081
      GCC Administrator committed
  4. 22 Apr, 2017 1 commit
  5. 21 Apr, 2017 9 commits
    • re PR fortran/80392 ([OOP] ICE with allocatable polymorphic function result in a… · fc23d35a
      re PR fortran/80392 ([OOP] ICE with allocatable polymorphic function result in a procedure pointer component)
      
      2017-04-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80392
      	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
      	building a derived type that includes a procedure pointer component
      	with a polymorphic result.
      
      2017-04-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80392
      	* gfortran.dg/proc_ptr_comp_49.f90: New test case.
      
      From-SVN: r247069
      Janus Weil committed
    • PR c++/80179 - ICE with initialized flexible array member. · 176e79b5
      	* constexpr.c (verify_ctor_sanity): Handle flexible array members.
      
      From-SVN: r247067
      Jason Merrill committed
    • i386.md (*extzvqi_mem_rex64): Move above *extzv<mode>. · f2f3e54d
      	* config/i386/i386.md (*extzvqi_mem_rex64): Move above *extzv<mode>.
      	Remove UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
      	(*insvqi_1_mem_rex64): Move above insv<mode>_1.  Remove
      	UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
      	(UNSPEC_NOREX_MEM): Remove definition.
      
      From-SVN: r247066
      Uros Bizjak committed
    • pr79804.c: Add additional dg-error directive. · 7b9efd03
      	* gcc.target/i386/pr79804.c: Add additional dg-error directive.
      
      From-SVN: r247065
      Uros Bizjak committed
    • PR libstdc++/80316 make promise::set_value throw no_state error · 946ecd6a
      	PR libstdc++/80316
      	* include/std/future (_State_baseV2::_Setter::operator()): Remove
      	_S_check calls that are done after the pointer to the shared state is
      	already dereferenced.
      	(_State_baseV2::_Setter<_Res, void>): Define specialization for void
      	as partial specialization so it can be defined within the definition
      	of _State_baseV2.
      	(_State_baseV2::__setter): Call _S_check.
      	(_State_baseV2::__setter(promise<void>*)): Add overload for use by
      	promise<void>::set_value and promise<void>::set_value_at_thread_exit.
      	(promise<T>, promise<T&>, promise<void>): Make _State a friend.
      	(_State_baseV2::_Setter<void, void>): Remove explicit specialization.
      	(promise<void>::set_value, promise<void>::set_value_at_thread_exit):
      	Use new __setter overload.
      	* testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
      	* testsuite/30_threads/promise/members/set_exception.cc: Test
      	promise<T&> and promise<void> specializations.
      	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
      	Test for no_state error condition.
      	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
      
      From-SVN: r247064
      Jonathan Wakely committed
    • Avoid deprecated warnings about std::auto_ptr in library headers · a2c0a194
      	* include/backward/auto_ptr.h: Ignore deprecated warnings from use
      	of auto_ptr.
      	* include/bits/shared_ptr.h: Likewise.
      	* include/bits/shared_ptr_base.h: Likewise.
      	* include/bits/unique_ptr.h: Likewise.
      	* libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust
      	dg-error lineno.
      	* libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise.
      	* libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc:
      	Likewise.
      	* libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc:
      	Likewise.
      
      From-SVN: r247063
      Jonathan Wakely committed
    • re PR tree-optimization/79547 (duplicate strlen calls with same argument not folded) · 2fd30fbe
      2017-04-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/79547
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
      	Handle strlen, strcmp, strncmp, strcasecmp, strncasecmp, memcmp,
      	bcmp, strspn, strcspn, __builtin_object_size and __builtin_constant_p
      	without any constraints.
      
      	* gcc.dg/tree-ssa/strlen-2.c: New testcase.
      
      From-SVN: r247062
      Richard Biener committed
    • re PR tree-optimization/78847 (pointer arithmetic from c++ ranged-based for loop not optimized) · bb1bc604
      2017-04-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78847
      	* fold-const.c (split_tree): Handle POINTER_PLUS_EXPR.
      
      	* g++.dg/tree-ssa/pr78847.C: New testcase.
      
      From-SVN: r247061
      Richard Biener committed
    • * es.po, fr.po: Update. · e1478a0e
      From-SVN: r247059
      Joseph Myers committed