1. 13 Jan, 2017 40 commits
    • re PR tree-optimization/33562 (aggregate DSE disabled) · d155c6fe
              PR tree-optimization/33562
              PR tree-optimization/61912
              PR tree-optimization/77485
      	* doc/invoke.texi: Document new dse-max-object-size param.
      	* params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
      	* tree-ssa-dse.c: Include params.h.
      	(dse_store_status): New enum.
      	(initialize_ao_ref_for_dse): New, partially extracted from
      	dse_optimize_stmt.
      	(valid_ao_ref_for_dse, normalize_ref): New.
      	(setup_live_bytes_from_ref, compute_trims): Likewise.
      	(clear_bytes_written_by, maybe_trim_complex_store): Likewise.
      	(maybe_trim_partially_dead_store): Likewise.
      	(maybe_trim_complex_store): Likewise.
      	(dse_classify_store): Renamed from dse_possibly_dead_store_p.
      	Track what bytes live from the original store.  Return tri-state
      	for dead, partially dead or live.
      	(dse_dom_walker): Add constructor, destructor and new private members.
      	(delete_dead_call, delete_dead_assignment): New extracted from
      	dse_optimize_stmt.
      	(dse_optimize_stmt): Make a member of dse_dom_walker.
      	Use initialize_ao_ref_for_dse.
      
              PR tree-optimization/33562
              PR tree-optimization/61912
              PR tree-optimization/77485
      	* gcc.dg/tree-ssa/complex-4.c: Remove xfail.
      	* gcc.dg/tree-ssa/complex-5.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dse-18.c: New test.
      	* gcc.dg/tree-ssa/ssa-dse-19.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dse-20.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dse-21.c: Likewise.
      
      From-SVN: r244442
      Jeff Law committed
    • re PR tree-optimization/33562 (aggregate DSE disabled) · 68b36e59
      	PR tree-optimization/33562
      	PR tree-optimization/61912
      	PR tree-optimization/77485
      	* sbitmap.h (bitmap_count_bits): Prototype.
      	(bitmap_clear_range, bitmap_set_range): Likewise.
      	* sbitmap.c (bitmap_clear_range): New function.
      	(bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
      
      From-SVN: r244441
      Jeff Law committed
    • Define cxx11-abi effective target for libstdc++ tests · 90aa7330
      	PR libstdc++/79075
      	* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
      	redundant option from cxxflags.
      	(check_effective_target_cxx11-abi): Define.
      	* testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
      	effective target.
      	* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/minimal.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
      	Likewise.
      	* testsuite/23_containers/list/61347.cc: Likewise.
      	* testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
      	* testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
      
      From-SVN: r244440
      Jonathan Wakely committed
    • re PR libstdc++/78389 (list::merge and list::sort are not exception safe) · e5dcfacf
      PR libstdc++/78389
      * include/bits/list.tcc (merge(list&&)):
      Adjust list sizes if the comparator throws.
      (merge(list&&, _StrictWeakOrdering)): Likewise.
      (sort()): Splice elements back from the scratch buffers
      if the comparator throws.
      (sort(_StrictWeakOrdering)): Likewise.
      * testsuite/23_containers/list/operations/78389.cc: New.
      
      From-SVN: r244439
      Ville Voutilainen committed
    • Mark test as XFAIL for C++17 mode · 45cac8ba
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
      	XFAIL for C++17 until node reinsertion supports fancy pointers.
      
      From-SVN: r244436
      Jonathan Wakely committed
    • Reload global options when strict aliasing is dropped (PR ipa/79043). · 77719b06
      2017-01-13  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/79043
      	* function.c (set_cfun): Add new argument force.
      	* function.h (set_cfun): Likewise.
      	* ipa-inline-transform.c (inline_call): Use the function when
      	strict alising from is dropped for function we inline to.
      2017-01-13  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/79043
      	* gcc.c-torture/execute/pr79043.c: New test.
      
      From-SVN: r244435
      Martin Liska committed
    • gimple-parser.c (c_parser_gimple_compound_statement): Handle nops. · b1c95bb5
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	* gimple-parser.c (c_parser_gimple_compound_statement): Handle
      	nops.
      
      From-SVN: r244434
      Richard Biener committed
    • tree-pretty-print.c (dump_generic_node): Fix inverted condition for dumping GIMPLE INTEGER_CSTs. · 3d78845f
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	* tree-pretty-print.c (dump_generic_node): Fix inverted condition
      	for dumping GIMPLE INTEGER_CSTs.
      
      From-SVN: r244433
      Richard Biener committed
    • PR78361 recognise noexcept functions as referenceable · c6ab9061
      2017-01-13  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/78361
      	* testsuite/20_util/add_pointer/value.cc: Test forming function
      	pointers.
      
      2017-01-13  Michael Brune  <lucdanton@free.fr>
      
      	PR libstdc++/78361
      	* include/std/type_traits (__is_referenceable): Handle noexcept
      	function types.
      
      From-SVN: r244432
      Jonathan Wakely committed
    • Restore Solaris/SPARC Ada bootstrap · b3686dde
      	* gcc-interface/Makefile.in (SPARC/Solaris): Fix typo.
      
      From-SVN: r244431
      Rainer Orth committed
    • Require C11 for C++17 on Solaris · acd8b8dc
      	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
      	to 201112L since C++17.
      
      From-SVN: r244430
      Rainer Orth committed
    • 2017-01-13 Matthias Klose <doko@ubuntu.com> · b7aa844d
              * Import zlib 1.2.10.
              * configure: Regenerate.
      
      From-SVN: r244429
      Matthias Klose committed
    • Only declare gets for C++ < 2014 on Solaris (PR libstdc++/78979) · 2252a802
      	PR libstdc++/78979
      	* inclhack.def (solaris_gets_c11, solaris_gets_cxx14)
      	(solaris_std_gets_cxx14, solaris_stdlib_noreturn): New fixes.
      	* fixincl.x: Regenerate.
      	* tests/base/iso/stdio_iso.h [SOLARIS_GETS_C11_CHECK,
      	SOLARIS_GETS_CXX14_CHECK, SOLARIS_STD_GETS_CXX14_CHECK,
      	SOLARIS_STDLIB_NORETURN_CHECK]: New tests.
      
      From-SVN: r244428
      Rainer Orth committed
    • re PR middle-end/78411 (FAIL: gcc.target/i386/pr45685.c scan-assembler-times cmov 6) · a181b2bc
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/78411
      	* gcc.target/i386/pr45685.c: Add -ftree-loop-if-convert.
      
      From-SVN: r244427
      Richard Biener committed
    • getting_started_with_gnat.rst, [...]: Update documentation. · 33c51287
      	* doc/gnat_ugn/getting_started_with_gnat.rst,
      	doc/gnat_ugn/inline_assembler.rst,
      	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
      	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
      	doc/gnat_ugn/about_this_guide.rst,
      	doc/gnat_ugn/platform_specific_information.rst,
      	doc/gnat_ugn/example_of_binder_output.rst,
      	doc/gnat_ugn/gnat_and_program_execution.rst,
      	doc/gnat_ugn/gnat_utility_programs.rst,
      	doc/gnat_ugn/the_gnat_compilation_model.rst,
      	doc/gnat_rm/implementation_defined_attributes.rst,
      	doc/gnat_rm/compatibility_and_porting_guide.rst,
      	doc/gnat_rm/standard_library_routines.rst,
      	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
      	doc/gnat_rm/implementation_defined_pragmas.rst,
      	doc/gnat_rm/the_gnat_library.rst,
      	doc/gnat_rm/obsolescent_features.rst,
      	doc/gnat_rm/about_this_guide.rst,
      	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
      	doc/gnat_rm/implementation_of_ada_2012_features.rst,
      	doc/gnat_rm/interfacing_to_other_languages.rst,
      	doc/gnat_rm/implementation_defined_aspects.rst,
      	doc/gnat_rm.rst: Update documentation.
      	* gnat_rm.texi, gnat_ugn.texi: Regenerated.
      
      From-SVN: r244426
      Arnaud Charlet committed
    • [multiple changes] · b5f3c913
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads: minor grammar fixes in comment of Normalized_Position_Max.
      	* scil_ll.adb: Minor style fix in comment.
      	* sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis
      	even if entity is already set, because the node may be renalyzed
      	after inlining transformations.
      
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* sem_res.adb (Resolve_Call): Do not establish a transient scope
      	for a call to inlinable expression function (since the call will
      	be replaced by its returned object).
      	* exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram.
      	* exp_ch6.adb (Expression_Of_Expression_Function): New subprogram.
      	(Expand_Call): For inlinable expression function call replace the
      	call by its returned object.
      	(Is_Inlinable_Expression_Function): New subprogram.
      
      From-SVN: r244425
      Arnaud Charlet committed
    • [multiple changes] · 82e5c243
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb: Minor typo fix and reformatting.
      
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* contracts.adb (Contract_Only_Subprograms): Remove formal.
      	(Copy_Original_Specification): Removed.
      	(Skip_Contract_Only_Subprogram): Move here checks previously
      	located in the caller of this routine (to leave the code more clean).
      	(Build_Contract_Only_Subprogram): Code cleanup.
      	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed.
      	(Get_Contract_Only_Missing_Body_Name): Removed.
      
      From-SVN: r244424
      Arnaud Charlet committed
    • [multiple changes] · f8981f19
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch6.adb (Cloned_Expression): New subprogram.
      	(Freeze_Expr_Types): Complete previous patch since the expression
      	of an expression-function may have iterators and loops with
      	defining identifiers which, as part of the preanalysis of the
      	expression, may be left decorated with itypes that will not be
      	available in the tree passed to the backend.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Apply_Type_Conversion_Checks): Optimize a type
      	conversion to Integer of an expression that is an attribute
      	reference 'Pos on an enumeration type.
      
      2017-01-13  Bob Duff  <duff@adacore.com>
      
      	* atree.ads: Minor comment fix.
      
      From-SVN: r244423
      Arnaud Charlet committed
    • sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function calls in… · 996ce809
      sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function calls in accessibility check on return statement.
      
      2017-01-13  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function
      	calls in accessibility check on return statement.
      
      From-SVN: r244422
      Justin Squirek committed
    • sem_ch6.adb (Analyze_Subprogram_Body_Helper): Ensure that the input body is a… · 36be0082
      sem_ch6.adb (Analyze_Subprogram_Body_Helper): Ensure that the input body is a subprogram body before trying to determine...
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
      	Ensure that the input body is a subprogram body before trying to
      	determine whether it denoted an expression function.  Note that
      	subprogram body stubs cannot denote expression functions.
      
      From-SVN: r244421
      Hristian Kirtchev committed
    • bindgen.adb, [...]: Minor reformatting and typo fixes. · 804ec349
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting
      	and typo fixes.
      
      From-SVN: r244420
      Gary Dismukes committed
    • [multiple changes] · 354ae449
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.ads (Component_Bit_Offset): Fix documentation.
      	* sem_ch13.adb (Check_Record_Representation_Clause): Skip check
      	on record holes for components with unknown compile-time offsets.
      
      2017-01-13  Bob Duff  <duff@adacore.com>
      
      	* ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag.
      	* g-locfil.ads: Minor comment fix.
      
      2017-01-13  Bob Duff  <duff@adacore.com>
      
      	* binde.adb (Elab_New): New elaboration order algorithm
      	that is expected to cause fewer ABE issues. This is a work in
      	progress. The new algorithm is currently disabled, and can be
      	enable by the -dp switch, or by modifying the Do_Old and Do_New
      	etc. flags and rebuilding. Experimental code is included to
      	compare the results of the old and new algorithms.
      	* binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we
      	can have multiple of these tables, so the old and new algorithms
      	can coexist.
      	* bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in'
      	parameter of type array. This avoids the global variable, and
      	allows bounds checking (which is normally defeated by the tables
      	packages). It also ensures that the Elab_Order is read-only
      	to Bindgen.
      	* bindgen.adb: Pass Elab_Order as an 'in' parameter to all
      	subprograms that need it, as above.
      	* debug.adb: Document new -dp switch. Modify doc of old -do
      	switch.
      	* gnatbind.adb (Gnatbind): Make use of new interfaces to Binde
      	and Bindgen.  Move writing of closure (-R and -Ra switches)
      	to Binde; that's more convenient.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): If the expression
      	function is a completion, all entities referenced in the
      	expression are frozen. As a consequence, a reference to an
      	uncompleted private type from an enclosing scope is illegal.
      
      From-SVN: r244419
      Arnaud Charlet committed
    • [multiple changes] · 448a1eb3
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch6.adb (Freeze_Expr_Types): New subprogram.
      	(Analyze_Subprogram_Body_Helper): At the occurrence of an
      	expression function declaration that is a completion, its
      	expression causes freezing (AI12-0103).
      
      2017-01-13  Vadim Godunko  <godunko@adacore.com>
      
      	* a-coinho-shared.adb: Fix memory leaks in Constant_Reference and
      	Reference functions of Ada.Containers.Indefinite_Holders.
      
      2017-01-13  Bob Duff  <duff@adacore.com>
      
      	* s-os_lib.ads: Minor comment fixes.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Default_Initialize_Object): Do not default
      	initialize an object when it is of a task type and restriction
      	No_Tasking is in effect because the initialization is obsolete.
      	* exp_ch9.adb (Build_Master_Entity): Do not generate a master when
      	restriction No_Tasking is in effect.
      	(Build_Master_Renaming): Do not rename a master when restriction
      	No_Tasking is in effect.
      
      From-SVN: r244418
      Arnaud Charlet committed
    • [multiple changes] · b2c1aa8f
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies
      	the legality of An others clause applies as well to a choice in
      	an Iterated_component_ association.
      	(Resolve_Iterated_Component_Association): An others choice
      	is legal.
      	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An
      	Iterated_Component_Association is not static.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case
      	control is passed to the expresion handler before the new mode
      	is set.
      	* sem_ch12.adb (Analyze_Package_Instantiation,
      	Analyze_Subprogram_Instantiation): Mark the Ghost mode as set
      	in case control is passed to the expresion handler before the
      	new mode is set.
      
      From-SVN: r244417
      Arnaud Charlet committed
    • sem_aggr.adb, [...]: Minor reformatting. · 72cdccfa
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb,
      	exp_aggr.adb: Minor reformatting.
      
      From-SVN: r244416
      Hristian Kirtchev committed
    • inline.adb: Minor reformatting and typo fix. · fae8eb5b
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* inline.adb: Minor reformatting and typo fix.
      
      From-SVN: r244415
      Gary Dismukes committed
    • [multiple changes] · 00f45f30
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Choice_List): Move function here
      	from sem_aggr.adb, for use elsewhere.
      	* sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List.
      	* sem_aggr.adb (Resolve_Array_Aggregate): Remove
      	Iterated_Component_Present.
      	* exp_aggr.adb: Use Choice_List throughout, to handle
      	Iterated_Component_Associations.
      	(Gen_Loop): Generate proper loop for an
      	Iterated_Component_Association: loop variable has the identifier
      	of the original association. Generate a loop even for a single
      	component choice, in order to make loop parameter visible in
      	expression.
      	(Flatten): An Iterated_Component_Association is not static.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of
      	float exponentiation for statically known small negative values
      	is the reciprocal of the exponentiation for the opposite value
      	of the exponent.
      	* s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float):
      	Ensure that the value of float exponentiation for negative values
      	is the reciprocal of the exponentiation for the opposite value
      	of the exponent.
      	* inline.adb (Expand_Inlined_Call): Fix the count
      	for the number of generated gotos.
      
      From-SVN: r244414
      Arnaud Charlet committed
    • re PR fortran/70697 ([Coarray] ICE on EVENT WAIT with array element UNTIL_COUNT argument) · eaed3226
      gcc/testsuite/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70697
      	* gfortran.dg/coarray/event_4.f08: New test.
      
      
      gcc/fortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70697
      	* resolve.c (resolve_lock_unlock_event): Resolve the expression for
      	event's until_count.
      
      From-SVN: r244413
      Andre Vehreschild committed
    • Code cleanups. · 3603fa5c
      From-SVN: r244412
      Arnaud Charlet committed
    • [multiple changes] · 3abbc5c2
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb: Code cleanup.
      	* sem_util.adb (Is_OK_Volatile_Context): Add
      	expression in delay statement as OK for volatile context.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation
      	mode a choice that is a subtype with a static predicate is
      	replaced by the values it covers. This transformation must not
      	be performed in ASIS mode, to preserve the source for analysis.
      
      2017-01-13  Justin Squirek  <squirek@adacore.com>
      
      	* nlists.ads: Correct minor typo.
      
      From-SVN: r244411
      Arnaud Charlet committed
    • [multiple changes] · ef74daea
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting and typo fix.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
      	Iterated_Component_Association is a named association in an
      	array aggregate.
      	* sem_aggr.adb (Resolve_Iterated_Component_Association): New
      	procedure, subsidiary of Resolve_Array_Aggregate, to analyze
      	and resolve the discrete choices and the expression of the
      	new construct.
      	* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
      	Loop_Actions and Box_Present are attributes of
      	N_Iterated_Component_Association nodes. Box_Present is always
      	False in this case.
      	* sprint.adb (Sprint_Node): An Iterated_Component_Association
      	has a Discrete_Choices list, as specified in the RM. A
      	Component_Association for aggregate uses instead a Choices list.
      	We have to live with this small inconsistency because the new
      	construct also has a defining identifier, and there is no way
      	to merge the two node structures.
      
      From-SVN: r244410
      Arnaud Charlet committed
    • [multiple changes] · da9683f4
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the
      	list of pragmas to remove.  Remove pragmas from the list of
      	statements in the body to inline.
      	* namet.adb, namet.ads (Nam_In): New version with 12 parameters.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of
      	Analyze_Declarations, to analyze and resolve the expressions of
      	aspect specifications in the current declarative list, so that
      	the expressions have proper entity and type info.  This is needed
      	for ASIS when there is no subsequent expansion to generate this
      	semantic information.
      	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of
      	original expression, to suppress cascaded errors when expression
      	has been constant-folded.
      	(Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in
      	ASIS mode, because there is no subsequent expansion to decorate
      	the tree.
      
      From-SVN: r244409
      Arnaud Charlet committed
    • inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): New function to… · 3de3a1be
      inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): New function to detect when a call may be inlined or not in GNATprove mode.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode):
      	New function to detect when a call may be inlined or not in
      	GNATprove mode.
      	(Expand_Inlined_Call): Ensure that a temporary
      	is always created in the cases where a type conversion may be
      	needed on an input parameter in GNATprove mode, so that GNATprove
      	sees the check to perform.
      	* sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining
      	when not applicable due to actual requiring type conversion
      	with possible check but no temporary value can be copied for
      	GNATprove to see the check.
      
      From-SVN: r244408
      Yannick Moy committed
    • re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray) · 4ccff88b
      gcc/testsuite/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* gfortran.dg/coarray/event_3.f08: New test.
      
      gcc/fortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
      	is valid before accessing it.
      
      libgfortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* caf/single.c (_gfortran_caf_register): Allocate enough memory for
      	the event counter.
      
      From-SVN: r244407
      Andre Vehreschild committed
    • sem_aggr.adb, [...]: Update all eligible case statements to reflect the new… · d8f43ee6
      sem_aggr.adb, [...]: Update all eligible case statements to reflect the new style for case alternatives.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
      	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
      	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
      	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
      	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
      	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
      	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
      	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
      	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
      	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
      	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
      	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
      	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
      	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
      	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
      	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
      	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
      	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
      	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
      	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
      	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
      	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
      	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
      	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
      	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
      	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
      	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
      	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
      	statements to reflect the new style for case alternatives. Various
      	code clean up and reformatting.
      
      From-SVN: r244406
      Hristian Kirtchev committed
    • [multiple changes] · d4bf622f
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_util.adb: Minor reformatting.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb: Code cleanup.
      	* sem_ch9.adb (Analyze_Delay_Until): Resolve
      	expression so that calls are identified as such inside delay
      	until.
      
      From-SVN: r244405
      Arnaud Charlet committed
    • Minor reformatting. · 53a5377a
      From-SVN: r244404
      Arnaud Charlet committed
    • exp_util.adb (Insert_Actions): Handle Iterated_Component_Association. · a702c9b9
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association.
      	* par-ch3.adb (P_Discrete_Choice_List): An
      	Iterated_Component_Association is an array aggregate component.
      	* par-ch4.adb (P_Iterated_Component_Association): New procedure.
      	(Is_Quantified_Expression): New function that performs a lookahead
      	to distinguish quantified expressions from iterated component
      	associations.
      	(P_Aggregate_Or_Paren_Expr): Recognize iterated component
      	associations.
      	(P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto.
      	* sem.adb (Analyze): Handle Iterated_Component_Association.
      	* sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated
      	component associations.
      	* sinfo.ads, sinfo.adb: Entries for for
      	N_Iterated_Component_Association and its fields.
      	* sprint.adb (Sprint_Node_Actual): Handle
      	N_Iterated_Component_Association.
      
      From-SVN: r244403
      Ed Schonberg committed
    • re PR sanitizer/78887 (Failure to build aarch64 allmodconfig Linux kernel 4.9) · 0acd830b
      	PR sanitizer/78887
      	* asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
      	if -fsanitize=kernel-address is present.
      
      From-SVN: r244402
      Maxim Ostapenko committed
    • [multiple changes] · 582dbb53
      2017-01-13  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling
      	of the style check until after preanalysis of acutals.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting.
      	* par-ch11.adb: minor style fix in whitespace
      	* gnatbind.adb (Gnatbind): Scope of Std_Lib_File
      	reduced to Add_Artificial_ALI_File; style fix in declaration of
      	Text; grammar fix in comment.
      	* osint-c.adb (Read_Library_Info): strip trailing NUL from result.
      	* freeze.adb: Cleanup to pass pragma instead of
      	expression to call.
      	* exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to
      	replace System'To_Address by equivalent call.
      
      From-SVN: r244401
      Arnaud Charlet committed