1. 25 Oct, 2015 7 commits
    • re PR middle-end/68079 (hppa: pointers to method types need canonicalization before comparison) · a89905fd
      	PR middle-end/68079
      	* dojump.c (do_compare_and_jump): Canonicalize both function and
      	method types.
      
      From-SVN: r229299
      John David Anglin committed
    • Wno-frame-address.C: Skip on hppa*-*-*. · fa788aea
      	* g++.dg/Wno-frame-address.C: Skip on hppa*-*-*.
      
      From-SVN: r229298
      John David Anglin committed
    • re PR target/68084 (Inverted conditions generated for x86 inline assembly "flag… · 91163383
      re PR target/68084 (Inverted conditions generated for x86 inline assembly "flag output constraints")
      
      	PR target/68084
      	* config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
      	for =@ccae.
      
      testsuite/ChangeLog:
      
      	PR target/68084
      	* gcc.target/i386/pr68084.c: New test.
      
      From-SVN: r229296
      Uros Bizjak committed
    • Added missing testcases of r229294 for patch of · f2f5814e
      PR fortran/66927.
      
      From-SVN: r229295
      Andre Vehreschild committed
    • re PR fortran/66927 (ICE in gfc_conf_procedure_call) · b8ac4f3b
      gcc/fortran/ChangeLog:
      
      2015-10-25  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/66927
      	PR fortran/67044
      	* trans-array.c (build_array_ref): Modified call to 
      	gfc_get_class_array_ref to adhere to new interface.
      	(gfc_conv_expr_descriptor): For one-based arrays that
      	are filled by a loop starting at one the start index of the
      	source array has to be mangled into the offset.
      	* trans-expr.c (gfc_get_class_array_ref): When the tree to get
      	the _data component is present already, add a way to supply it.
      	(gfc_copy_class_to_class): Allow to copy to a derived type also.
      	* trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
      	for functions returning	a class or derived object. Get the
      	reference instead.
      	* trans.h: Interface change of gfc_get_class_array_ref.
      
      gcc/testsuite/ChangeLog:
      
      2015-10-25  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/66927
      	PR fortran/67044
      	* gfortran.dg/allocate_with_source_10.f08: New test.
      	* gfortran.dg/allocate_with_source_11.f08: New test.
      	* gfortran.dg/class_array_15.f03: Changed count of expected
      	_builtin_frees to 11. One step of temporaries is spared, therefore
      	the allocatable component of that temporary is not to be freeed.
      
      From-SVN: r229294
      Andre Vehreschild committed
    • Daily bump. · f63df137
      From-SVN: r229293
      GCC Administrator committed
    • Implement C++17 std::invoke and LWG DR 2219 · 93e95400
      	* include/std/functional (__invoke_impl): New overloads.
      	(__invoke): Replace with a single function calling __invoke_impl.
      	(invoke): Add C++17 std::invoke.
      	(reference_wrapper::operator()): Qualify call to __invoke.
      	(_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
      	(_Mem_fn_base): Remove unused typedefs and implement call operator in
      	terms of __invoke.
      	* include/std/future (__future_base::_Async_state_commonV2): Do not
      	pass reference_wrapper as object argument to call_once.
      	* include/std/type_traits (result_of): Define nested __invoke_type.
      	Handle reference_wrapper as per LWG 2219.
      	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
      	* testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
      	using member functions of reference_wrapper.
      
      From-SVN: r229290
      Jonathan Wakely committed
  2. 24 Oct, 2015 6 commits
  3. 23 Oct, 2015 27 commits
    • PR ipa/pr67600 · d3647516
      
      	PR ipa/pr67600
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
      	instance offset with offset of outer type.
      	* g++.dg/torture/pr67600.C: New testcase.
      
      From-SVN: r229279
      Jan Hubicka committed
    • * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR. · 3c7a8ece
      From-SVN: r229278
      Jan Hubicka committed
    • This patch fixes a compile-time regression that was originally introduced by the… · 9145a539
      This patch fixes a compile-time regression that was originally introduced by the fix for PR64111, in GCC 4.9.3.
      
      This patch fixes a compile-time regression that was originally
      introduced by the fix for PR64111, in GCC 4.9.3.
      gcc/ChangeLog:
      
      2015-10-23  Caroline Tice  <cmtice@google.com>
      
              (from Richard Biener)
              * tree.c (int_cst_hasher::hash):  Replace XOR with more efficient
              call to iterative_hash_host_wide_int.
      
      From-SVN: r229277
      Caroline Tice committed
    • config.gcc (powerpc-ibm-aix[6789]): Define as yes. · b9584cb5
              * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
              Define as yes.
      
      From-SVN: r229276
      David Edelsohn committed
    • tree-vect-generic.c (expand_vector_operations_1): Check optab exists before use it. · bfccadc9
      gcc/
      
      	* tree-vect-generic.c (expand_vector_operations_1): Check
      	optab exists before use it.
      
      gcc/testsuite/
      
      	* g++.dg/pr68062.C: New test.
      
      From-SVN: r229275
      Ilya Enkovich committed
    • tree-vect-generic.c (expand_vector_condition): Avoid uninitialized variable warning. · 486208e7
      gcc/
      
      	* tree-vect-generic.c (expand_vector_condition): Avoid
      	uninitialized variable warning.
      
      From-SVN: r229274
      Ilya Enkovich committed
    • [PATCH 4/9] ENABLE_CHECKING refactoring: Fortran · c86db055
      2015-10-05  Mikhail Maltsev  <maltsevm@gmail.com>
      
      	* trans-common.c (create_common): Adjust to use flag_checking.
      	* trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
      
      From-SVN: r229273
      Mikhail Maltsev committed
    • [PATCH] Call flush_ssaname_freelist more often · 9447d255
      [PATCH] Call flush_ssaname_freelist more often
             * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
              here.  Instead...
              (execute_todo): Call it here.
              * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
              statistics
              (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
      
      From-SVN: r229272
      Jeff Law committed
    • re PR c++/67813 ([C++14] copy-initialization of object with pointer member fails… · 73a84269
      re PR c++/67813 ([C++14] copy-initialization of object with pointer member fails in constexpr function)
      
      	PR c++/67813
      	* constexpr.c (cxx_eval_store_expression): Always use *valp if
      	set.
      
      From-SVN: r229270
      Jason Merrill committed
    • [rs6000] Enable secureplt by default on musl · 0d6be0b1
      	* config.gcc (enable_secureplt): Add *-linux*-musl*.
      
      
      Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
      
      From-SVN: r229268
      Gregor Richards committed
    • [RFA] Fix pr67830, another type narrowing problem · 0a8c1e23
      	PR tree-optimization/67830
      	* match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
      	Explicitly verify the mask has no bits outside the type of
      	the innermost operands.
      
      	PR tree-optimization/67830
      	* gcc.dg/pr67830.c: New test.
      
      From-SVN: r229267
      Jeff Law committed
    • powerpc musl libc support · 7e8efecb
      gcc/
      	* config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
      	(MUSL_DYNAMIC_LINKER64): Define.
      	(GNU_USER_DYNAMIC_LINKER32): Update.
      	(GNU_USER_DYNAMIC_LINKER64): Update.
      	(CHOOSE_DYNAMIC_LINKER): Update.
      
      	* config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
      	(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
      	(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
      	(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
      	(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
      	(CHOOSE_DYNAMIC_LINKER): Update.
      	(INCLUDE_DEFAULTS): Redefine.
      
      	* config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
      
      
      Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
      
      From-SVN: r229266
      Gregor Richards committed
    • fold-const.c (operand_equal_p): Do not compare TYPE_MODE when comparing addresses. · addf8634
      	* fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
      	comparing addresses.
      
      From-SVN: r229265
      Jan Hubicka committed
    • fold-const.c (operand_equal_p): Handle matching of vector constructors. · 980002c6
      	* fold-const.c (operand_equal_p): Handle matching of vector
      	constructors.
      	* gcc.dg/tree-ssa/operand-equal-2.c: New testcase.
      
      From-SVN: r229264
      Jan Hubicka committed
    • MAINTAINERS: Update email address. · d0397c75
      2015-10-23  Steve Ellcey  <sellcey@imgtec.com>
      
      	* MAINTAINERS: Update email address.
      
      From-SVN: r229262
      Steve Ellcey committed
    • Fix ChangeLog entry · 42018231
      From-SVN: r229261
      Steve Ellcey committed
    • re PR rtl-optimization/67736 (Wrong optimization with -fexpensive-optimizations on mips64el) · 5edab54b
      2015-10-23  Steve Ellcey  <sellcey@imgtec.com>
      	    Andrew Pinski  <apinski@cavium.com>
      
      	PR rtl-optimization/67736
      	* gcc.dg/torture/pr67736.c: New test.
      	* gcc.dg/combine-subregs.c: New test.
      
      Co-Authored-By: Andrew Pinski <apinski@cavium.com>
      
      From-SVN: r229260
      Steve Ellcey committed
    • re PR rtl-optimization/67736 (Wrong optimization with -fexpensive-optimizations on mips64el) · 2c40b14d
      2015-10-23  Steve Ellcey  <sellcey@imgtec.com>
      	    Andrew Pinski  <apinski@cavium.com>
      
      	PR rtl-optimization/67736
      	* combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
      	of gen_lowpart.
      
      Co-Authored-By: Andrew Pinski <apinski@cavium.com>
      
      From-SVN: r229259
      Steve Ellcey committed
    • re PR middle-end/68066 (ICE in max_value, at wide-int.cc) · f819b3b2
      gcc/
      
      	PR middle-end/68066
      	* tree.c (build_truth_vector_type): Support BLK mode
      	returned for boolean vector.
      
      From-SVN: r229256
      Ilya Enkovich committed
    • gnat_rm.texi, [...]: Regenerate. · abcb651b
      2015-10-23  Arnaud Charlet  <charlet@adacore.com>
              
      	* gnat_rm.texi, gnat_ugn.texi: Regenerate.
      	* doc/share/ada_pygments.py, doc/gnat_ugn/gnat_project_manager.rst,
      	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
      	doc/gnat_ugn/gnat_and_program_execution.rst,
      	doc/gnat_rm/implementation_defined_attributes.rst,
      	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
      	doc/gnat_rm/representation_clauses_and_pragmas.rst,
      	doc/gnat_rm/implementation_defined_pragmas.rst,
      	doc/gnat_rm/about_this_guide.rst,
      	doc/gnat_rm/implementation_of_ada_2012_features.rst,
      	doc/gnat_rm/implementation_of_specific_ada_features.rst,
      	doc/gnat_rm/implementation_defined_aspects.rst,
      	doc/gnat_rm/implementation_advice.rst: Update documentation.
      
      From-SVN: r229254
      Arnaud Charlet committed
    • [multiple changes] · 879ac954
      2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* contracts.ads, contracts.adb: New unit.
      	* exp_ch6.adb Add with and use clauses for Contracts.
      	(Expand_Subprogram_Contract): Moved to Contracts.
      	* exp_ch6.ads (Expand_Subprogram_Contract): Moved to Contracts.
      	* sem_ch3.adb Add with and use clauses for Contracts.
      	(Analyze_Object_Contract): Moved to Contracts.
      	(Analyze_Declarations): Remove local variable Pack_Decl. Do not
      	capture global references in contracts. Check the hidden states
      	of a package body.
      	* sem_ch6.adb Add with and use clauses in Contracts.
      	(Analyze_Generic_Subprogram_Body): Do not capture global
      	references in contracts.
      	(Analyze_Subprogram_Body_Contract):
      	Moved to Contracts.
      	(Analyze_Subprogram_Body_Helper): Freeze the
      	contract of the nearest enclosing package body. Always analyze
      	the subprogram body contract. Do not expand the subprogram
      	body contract.
      	(Analyze_Subprogram_Contract): Moved to Contracts.
      	* sem_ch6.ads (Analyze_Subprogram_Body_Contract): Moved to Contracts.
      	(Analyze_Subprogram_Contract): Moved to Contracts.
      	* sem_ch7.adb Add with and use clauses for Contracts.
      	(Analyze_Package_Body_Contract): Moved to Contracts.
      	(Analyze_Package_Body_Helper): Freeze the contract of the
      	nearest enclosing package body.
      	(Analyze_Package_Contract): Moved to Contracts.
      	* sem_ch7.ads (Analyze_Package_Body_Contract): Moved to Contracts.
      	(Analyze_Package_Contract): Moved to Contracts.
      	* sem_ch10.adb Add with and use clauses for Contracts.
      	(Analyze_Compilation_Unit): Do not capture global references
      	in contracts.
      	(Analyze_Subprogram_Body_Stub_Contract): Moved to Contracts.
      	* sem_ch10.ads (Analyze_Subprogram_Body_Stub_Contract): Moved
      	to Contracts.
      	* sem_ch12.adb Add with and use clauses for Contracts.
      	(Analyze_Subprogram_Instantiation): Update the call to
      	Instantiate_Subprogram_Contract.
      	(Instantiate_Package_Body):
      	Do not copy the entity of the spec when creating an entity
      	for the body. Construct a brand new defining identifier for
      	the body and inherit the Comes_From_Source flag from the spec.
      	(Instantiate_Subprogram_Body): Remove Anon_Id to Act_Decl_Id
      	and update all occurrences. Construct a brand new defining
      	identifier for the body and inherit the Comes_From_Source
      	flag from the spec.
      	(Instantiate_Subprogram_Contract): Moved
      	to Contracts.
      	(Save_Global_References_In_Aspects): Moved to
      	the spec of Sem_Ch12.
      	(Save_Global_References_In_Contract):
      	Moved to Contracts.
      	* sem_ch12.ads (Save_Global_References_In_Aspects): Moved from
      	the body of Sem_Ch12.
      	(Save_Global_References_In_Contract):
      	Moved to Contracts.
      	* sem_prag.adb Add with and use clauses for Contracts.
      	(Add_Item): Removed. All references to this routine have been
      	replaced with calls to Append_New_Elmt.
      	(Analyze_Constituent):
      	Add special diagnostics for errors caused by freezing of
      	contracts.
      	(Analyze_Refined_State_In_Decl_Part): Add formal
      	parameter Freeze_Id. Add new global variable Freeze_Posted.
      	(Collect_Body_States): Removed.
      	(Report_Unused_States): Removed.
      	* sem_prag.ads (Analyze_Defined_State_In_Decl_Part): Add formal
      	parameter Freeze_Id and update comment on usage.
      	* sem_util.adb Remove with and use clauses for
      	Sem_Ch12.
      	(Add_Contract_Item): Moved to Contracts.
      	(Check_Unused_Body_States): New routine.
      	(Collect_Body_States):
      	New routine.
      	(Create_Generic_Contract): Moved to Contracts.
      	(Inherit_Subprogram_Contract): Moved to Contracts.
      	(Report_Unused_Body_States): New routine.
      	* sem_util.ads (Add_Contract_Item): Moved to Contracts.
      	(Check_Unused_Body_States): New routine.
      	(Collect_Body_States): New routine.
      	(Create_Generic_Contract): Moved to Contracts.
      	(Inherit_Subprogram_Contract): Moved to Contracts.
      	(Report_Unused_Body_States): New routine.
      	* sinfo.adb (Is_Expanded_Contract): New routine.
      	(Set_Is_Expanded_Contract): New routine.
      	* sinfo.ads New attribute Is_Expanded_Contract along with
      	placement in nodes.
      	(Is_Expanded_Contract): New routine along
      	with pragma Inline.
      	(Set_Is_Expanded_Contract): New routine
      	along with pragma Inline.
      	* gcc-interface/Make-lang.in: Add entry for contracts.o
      
      2015-10-23  Bob Duff  <duff@adacore.com>
      
      	* bindgen.adb, init.c, opt.ads, switch-b.adb: Implement new -Ea and
      	-Es switches.
      	* switch-b.ads: Minor comment fix.
      	* bindusg.adb: Document new -Ea and -Es switches.
      	* s-exctra.ads: Use -Es instead of -E.
      
      From-SVN: r229253
      Arnaud Charlet committed
    • utils2.c (build_call_alloc_dealloc): Check no implicit task and protected object restrictions. · 9733088f
      2015-10-23  Tristan Gingold  <gingold@adacore.com>
      
      	* gcc-interface/utils2.c (build_call_alloc_dealloc): Check no implicit
      	task and protected object restrictions.
      
      From-SVN: r229252
      Tristan Gingold committed
    • sem_ch12.adb, [...]: Minor reformatting. · 6f99dcec
      2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch12.adb, exp_ch6.adb: Minor reformatting.
      
      From-SVN: r229251
      Hristian Kirtchev committed
    • [multiple changes] · a1c09064
      2015-10-23  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch6.adb: Minor reformatting.
      
      2015-10-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Check_Formal_Packages): A formal package whose
      	actual part is (others => <>) os identical to a formal package
      	with an actual part written as (<>).
      
      2015-10-23  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-reatim.adb ("/"): For Time_Span division convert the operands
      	to integers and then use integer division, which conforms to
      	the rounding required by Ada RM.
      
      From-SVN: r229250
      Arnaud Charlet committed
    • sem_ch6.adb (Check_Missing_Return): Do not report a missing return statement on… · 241fac51
      sem_ch6.adb (Check_Missing_Return): Do not report a missing return statement on a function body constructed to...
      
      2015-10-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Check_Missing_Return): Do not report a missing
      	return statement on a function body constructed to complete a
      	package body for a premature instantiation.
      
      2015-10-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Build_Procedure_Body_Form): Replace body of
      	original function with that of generated procedure, to simplify
      	processing and avoid scoping problems with local declarations.
      	(Rewrite_Function_Call_For_C): Handle properly the case of a
      	parameterless function.
      
      From-SVN: r229249
      Ed Schonberg committed
    • a-exextr.adb, [...]: Minor reformatting. · 43184ab7
      2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-exextr.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
      
      From-SVN: r229248
      Hristian Kirtchev committed