1. 21 Apr, 2016 17 commits
    • [multiple changes] · 9b7924dd
      2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnatlink.adb (Gnatlink): Robustify detection of Windows target.
      	* alloc.ads: Minor comment fixes.
      	* einfo.ads: Fix typo.
      
      2016-04-21  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
      	changes to handle all cases of components depending on the
      	discriminant, not just string literals.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
      	declaration is the generated declaration for a generic actual,
      	inherit predicates from the actual if it is a predicated subtype.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
      	inherited and its result is controlling,  introduce a conversion
      	on the actual for the corresponding procedure call, to avoid
      	spurious type errors.
      
      2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
      
      	* krunch.adb (Krunch): Fix krunching of i-vxworks.
      
      From-SVN: r235317
      Arnaud Charlet committed
    • [multiple changes] · d74716b3
      2016-04-21  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_aggr.adb: Minor reformatting and code cleanup.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Resolve_Name): Omit quantified expressions from
      	resolution, because they introduce local names. Full resolution
      	will take place when predicate function is constructed.
      
      From-SVN: r235316
      Arnaud Charlet committed
    • tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also max_loop_iterations_int. · f0305f3a
      	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
      	max_loop_iterations_int.
      	(tree_unswitch_outer_loop): Likewise.
      
      From-SVN: r235315
      Jan Hubicka committed
    • exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into… · 0ef5cd0a
      exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into account Per_Object_Constraint field rather...
      
      2016-04-21  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
      	change to take into account Per_Object_Constraint field rather
      	than special casing strings.
      	* exp_ch6.adb: Fix typo in Replace_Returns.
      
      From-SVN: r235314
      Arnaud Charlet committed
    • [multiple changes] · 2d6aa715
      2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch5.adb: Minor reformatting.
      
      2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch2.adb (Expand_Current_Value): Make an appropriate
      	character literal if the entity is of a character type.
      
      2016-04-21  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb (Backend_Processing_Possible): Return False
      	when generating C and aggregate contains function calls.
      
      2016-04-21  Tristan Gingold  <gingold@adacore.com>
      
      	* krunch.adb (Krunch): Only partially krunch children of
      	Interfaces that aren't known.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Make_Inline): Handle properly the instantiation
      	of a generic subpprogram that carries an Inline aspect. Place
      	inline info on the anonymous subprogram that is constructed in
      	the wrapper package.
      	(Analyze_Pragma, case Pure): Do not check placement if pragma
      	appears within an instantiation, which can be nested at any level.
      	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
      	node from anonymous subprogram to its visible renaming. The
      	freeze node will be constructed if the subprogram carries
      	delayed aspects.
      	(Set_Global): Preserve dimension information if present (from
      	code reading).
      
      2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* gnatlink.adb: Change wording of the warning message on
      	problematic filenames to be more neutral. Add a new substring
      	"patch" introduced on Windows 10.
      
      From-SVN: r235313
      Arnaud Charlet committed
    • [multiple changes] · 08f52d9f
      2016-04-21  Philippe Gil  <gil@adacore.com>
      
      	* tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
      
      2016-04-21  Javier Miranda  <miranda@adacore.com>
      
      	* exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
      	literals.
      
      2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb (Has_Non_Null_Abstract_State): New routine.
      	* einfo.ads New synthesized attribute
      	Has_Non_Null_Abstract_State along with occurrences in entities.
      	(Has_Non_Null_Abstract_State): New routine.
      	* sem_ch7.adb (Unit_Requires_Body): Add local variable
      	Requires_Body. A package declaring an abstract state requires
      	a body only when the state is non-null and the package contains
      	at least one other construct that requires completion in a body.
      	* sem_util.adb (Mode_Is_Off): Removed.
      	(Requires_State_Refinement): Remove an obsolete check. Code
      	cleanup.
      
      2016-04-21  Bob Duff  <duff@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute): In processing
      	the 'Old attribute, a warning is given for infinite recursion. Fix
      	the code to not crash when the prefix of 'Old denotes a protected
      	function.
      	* sem_ch5.adb (Analyze_Iterator_Specification):
      	Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
      	where the parameter would not be an object.
      
      2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
      	Etype or Underlying_Type of the operands.
      
      2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* atree.adb (Print_Statistics): Protect against overflows and
      	print the memory consumption in bytes.
      	* table.adb (Reallocate): Do the intermediate calculation of the new
      	size using the Memory.size_t type.
      
      From-SVN: r235312
      Arnaud Charlet committed
    • [multiple changes] · b943a971
      2016-04-21  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
      	expansion of Attribute_Machine and Attribute_Model for AAMP.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb: Disable previous change for now.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Find_Selected_Component): If prefix has an
      	access type and designated type is a limited view, introduce
      	an explicit dereference before continuing the analysis, and
      	set its type to the non-limited view of the designated type,
      	if we are in context where it is available.
      
      From-SVN: r235311
      Arnaud Charlet committed
    • Minor reformatting. · b1d8d229
      From-SVN: r235310
      Arnaud Charlet committed
    • freeze.adb: Freeze profile in ASIS mode. · 78bc7fe6
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb: Freeze profile in ASIS mode.
      
      From-SVN: r235309
      Ed Schonberg committed
    • [multiple changes] · 6dc87f5f
      2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
      	* sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
      
      2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb: Minor reformatting.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: Minor comment update.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
      	boolean parameter to determine whether freezing an overloadable
      	entity freezes its profile as well. This is required by
      	AI05-019. The call to Freeze_Profile within Freeze_Entity is
      	conditioned by the value of this flag, whose default is True.
      	* sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
      	reference freezes the prefix, but it the prefix is a subprogram
      	it does not freeze its profile.
      
      From-SVN: r235308
      Arnaud Charlet committed
    • [multiple changes] · a14bbbb4
      2016-04-21  Javier Miranda  <miranda@adacore.com>
      
      	* exp_util.adb (Build_Procedure_Form): No action needed for
      	subprogram renamings since the backend can generate the call
      	using the renamed subprogram. This leaves the tree more clean
      	to the backend.
      	* exp_ch6.adb (Expand_Call): Extend previous patch for
      	rewritten-for-c entities to handle subprogram renamings.
      	(Rewrite_Function_Call_For_C): Handle subprogram renamings.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: Code cleanup.
      
      From-SVN: r235307
      Arnaud Charlet committed
    • sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is created for SPARK_To_C... · 17fd72ce
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
      	created for SPARK_To_C, the entity must remain invisible so it
      	does not overload subsequent references to the original function.
      	* exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
      	Handle Extended_Return_Statements by replacing it with a block
      	with assignments and a simple return statement.
      	* exp_util.adb (Build_Procedure_Form): Make procedure entity
      	invisible after analyzing declaration, to prevent improper
      	overloading.
      
      From-SVN: r235306
      Ed Schonberg committed
    • sem_ch6.adb (Build_Subprogram_Declaration): Propagate the attribute… · aeb98f1d
      sem_ch6.adb (Build_Subprogram_Declaration): Propagate the attribute Rewritten_For_C to the body since since the expander...
      
      2016-04-21  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
      	attribute Rewritten_For_C to the body since since the expander
      	may generate calls using that entity.
      	* exp_ch6.adb (Expand_Call): For internally generated
      	calls ensure that they reference the entity of the spec
      	of the called function.
      	(Rewritten_For_C_Func_Id): New subprogram.
      	(Rewritten_For_C_Proc_Id): New subprogram.
      	(Rewrite_Function_Call_For_C): Invoke the new subprogram to
      	ensure that we skip freezing entities.
      	* exp_util.adb (Build_Procedure_Form): No action needed if the
      	procedure was already built.
      
      From-SVN: r235305
      Javier Miranda committed
    • [multiple changes] · 2cc7967f
      2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
      	reformatting.
      
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Denotes_Iterator): Use root type to determine
      	whether the ultimate ancestor is the predefined iterator
      	interface pakage.
      	* exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
      	and avoid reuse of Pack local variable.
      
      2016-04-21  Olivier Hainque  <hainque@adacore.com>
      
      	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
      	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
      	system-vxworks-mips.ads, system-vxworks-x86.ads: Define
      	Executable_Extension to ".out".
      
      From-SVN: r235304
      Arnaud Charlet committed
    • frontend.adb: Update call to Unnest_Subprograms. · 29a56f61
      2016-04-21  Javier Miranda  <miranda@adacore.com>
      
      	* frontend.adb: Update call to Unnest_Subprograms.
      	* exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
      	(Unnest_Subprograms): Moved to package exp_unst.
      	* exp_unst.ads (Unnest_Subprogram): Moved to the body of the
      	package.
      	* exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
      	enumeration literals when generating C code.
      
      From-SVN: r235303
      Javier Miranda committed
    • [multiple changes] · e379beb5
      2016-04-21  Javier Miranda  <miranda@adacore.com>
      
      	* frontend.adb: Remove call to initialize Exp_Ch6.
      	* exp_ch6.ads, exp_ch6.adb (Initialize): removed.
      	(Unest_Entry/Unest_Bodies): Removed.
      	(Unnest_Subprograms): Code cleanup.
      
      2016-04-21  Arnaud Charlet  <charlet@adacore.com>
      
      	* set_targ.adb (Read_Target_Dependent_Values):
      	close target description file once its contents is read.
      	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
      	and Stderr_File): Close local file descriptors before spawning
      	child process.
      	* exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
      	local variables to make the code easier to understand and avoid
      	duplicated calls to Parent and Generic_Parent.
      
      From-SVN: r235302
      Arnaud Charlet committed
    • Daily bump. · 2e9bd657
      From-SVN: r235301
      GCC Administrator committed
  2. 20 Apr, 2016 23 commits
    • re PR c++/55635 (Deallocation function ("operator delete") not called when… · ee392fc2
      re PR c++/55635 (Deallocation function ("operator delete") not called when destructor throws exception)
      
      	cp/
      	PR c++/55635
      	* init.c (build_vec_delete_1): Protect operator delete call in try
      	finally.
      	(build_delete): Likewise.
      	* optimize.c (build_delete_destructor_body): Likewise.
      
      	testsuite/
      	PR c++/55635
      	* g++.dg/eh/delete1.C: New.
      
      From-SVN: r235297
      Nathan Sidwell committed
    • Add -mtune-ctrl=sse_typeless_stores to avx256-unaligned-store-2.c · dda49daf
      Since avx256-unaligned-store-2.c scans typeless SSE stores, add
      -mtune-ctrl=sse_typeless_stores to enable typeless SSE stores.
      
      	* gcc.target/i386/avx256-unaligned-store-2.c: Add
      	-mtune-ctrl=sse_typeless_stores.
      
      From-SVN: r235296
      H.J. Lu committed
    • Update load scan avx256-unaligned-load-1.c · 8a5b9d5a
      Since avx_loadups256 and sse_loadups have been replaced by movv8sf_internal
      and movv4sf_internal, respectively, we need to scan movv8sf_internal and
      movv4sf_internal for load.
      
      	* gcc.target/i386/avx256-unaligned-load-1.c: Update load scan.
      
      From-SVN: r235295
      H.J. Lu committed
    • Fix std::codecvt_utf8* for big-endian targets · a1e1ec76
      	PR libstdc++/69703
      	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
      	__codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
      
      From-SVN: r235293
      Jonathan Wakely committed
    • re PR tree-optimization/69489 (missed vectorization for boolean loop, missed if-conversion) · 1011119f
      	PR tree-optimization/69489
      	* tree-if-conv.c (phi_convertible_by_degenerating_args): New.
      	(if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
      	Revise dump message.
      	(if_convertible_bb_p): Remove check on edge count of basic block's
      	predecessors.
      
      	gcc/testsuite/ChangeLog
      	PR tree-optimization/69489
      	* gcc.dg/tree-ssa/ifc-pr69489-2.c: New test.
      
      From-SVN: r235292
      Bin Cheng committed
    • ieee754-df.S: Fix typos in comments. · 4986f823
      2016-04-20  Martin Galvan  <martin.galvan@tallertechnologies.com>
      
      	libgcc/
      	* config/arm/ieee754-df.S: Fix typos in comments.
      
      From-SVN: r235291
      Martin Galvan committed
    • re PR c++/69363 (ICE when doing a pragma simd reduction with max) · 477d4906
      Fix PR c++/69363
      
      gcc/c-family/
      	PR c++/69363
      	* c-cilkplus.c (c_finish_cilk_clauses): Remove function.
      	* c-common.h (c_finish_cilk_clauses): Remove declaration.
      gcc/c/
      	PR c++/69363
      	* c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
      	instead of c_finish_cilk_clauses.
      	* c-tree.h (c_finish_omp_clauses): Add new default argument.
      	* c-typeck.c (c_finish_omp_clauses): Add new argument.  Allow
      	floating-point variables in the linear clause for Cilk Plus.
      gcc/cp/
      	PR c++/69363
      	* cp-tree.h (finish_omp_clauses): Add new default argument.
      	* parser.c (cp_parser_cilk_simd_all_clauses): Use finish_omp_clauses
      	instead of c_finish_cilk_clauses.
      	* semantics.c (finish_omp_clauses): Add new argument.  Allow
      	floating-point variables in the linear clause for Cilk Plus.
      gcc/testsuite/
      	PR c++/69363
      	* c-c++-common/cilk-plus/PS/clauses3.c: Adjust dg-error string.
      	* c-c++-common/cilk-plus/PS/clauses4.c: New test.
      	* c-c++-common/cilk-plus/PS/pr69363.c: New test.
      
      From-SVN: r235290
      Ilya Verbin committed
    • re PR tree-optimization/56625 (After if-conversion vectorizer doesn't recognize similar loads) · fad08d12
      	PR tree-optimization/56625
      	PR tree-optimization/69489
      	* tree-data-ref.h (DR_INNERMOST): New macro.
      	* tree-if-conv.c (innermost_loop_behavior_hash): New class for
      	hashing struct innermost_loop_behavior.
      	(ref_DR_map): Remove.
      	(innermost_DR_map): New map.
      	(baseref_DR_map): Revise comment.
      	(hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
      	to innermost_DR_map accroding to its innermost loop behavior.
      	(ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
      	to its innermost loop behavior.
      	(if_convertible_loop_p_1): Remove intialization for ref_DR_map.
      	Add initialization for innermost_DR_map.  Record memory reference
      	in DR_BASE_ADDRESS if the reference is compound one or it doesn't
      	have innermost loop behavior.
      	(if_convertible_loop_p): Remove release for ref_DR_map.  Release
      	innermost_DR_map.
      
      	gcc/testsuite/ChangeLog
      	PR tree-optimization/56625
      	PR tree-optimization/69489
      	* gcc.dg/vect/pr56625.c: New test.
      	* gcc.dg/tree-ssa/ifc-pr69489-1.c: New test.
      
      From-SVN: r235289
      Bin Cheng committed
    • semantics.c (finish_compound_lteral): Don't wrap VECTOR_TYPEs in a TARGET_EXPR. · 323af7cf
      	* semantics.c (finish_compound_lteral): Don't wrap VECTOR_TYPEs in a
      	TARGET_EXPR.
      
      From-SVN: r235288
      Nathan Sidwell committed
    • Don't build 32-bit libatomic with -march=i486 on x86-64 · 9023fd9e
      Gcc uses the same -march= for both -m32 and -m64 on x86-64 unless
      --with-arch-32= is used.  There is no need for -march=i486 to compile
      32-bit libatomic on x86-64.
      
      	PR target/70454
      	* configure.tgt (XCFLAGS): Don't add -march=i486 to compile
      	32-bit x86 target library on x86-64.
      
      From-SVN: r235287
      H.J. Lu committed
    • i386.md (*lea<mode>_general_1): Rename from *lea_general_1. · 8f6a773b
      	* config/i386/i386.md (*lea<mode>_general_1): Rename from
      	*lea_general_1.  Use explicit SWI12 mode interator.
      	(*lea<mode>_general_2): Rename from *lea_general_2.
      	Use explicit SWI12 mode interator.
      	(*lea<mode>_general_3): Rename from *lea_general_3.
      	Use explicit SWI12 mode interator.
      	(*lea<SWI12:mode>_general_4): Split from *lea_general_4.
      	Use explicit SWI12 mode interator.
      	(*lea<SWI48:mode>_general_4): Split from *lea_general_4.
      	Use explicit SWI48 mode interator.
      
      From-SVN: r235286
      Uros Bizjak committed
    • Simplify ix86_expand_vector_move_misalign · 7ccc9536
      Since mov<mode>_internal patterns handle both aligned/unaligned load
      and store, we can simplify ix86_avx256_split_vector_move_misalign and
      ix86_expand_vector_move_misalign.
      
      	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
      	Short-cut unaligned load and store cases.  Handle all integer
      	vector modes.
      	(ix86_expand_vector_move_misalign): Short-cut unaligned load
      	and store cases.  Call ix86_avx256_split_vector_move_misalign
      	directly without checking mode class.
      
      From-SVN: r235283
      H.J. Lu committed
    • [AArch64] Work around PR target/64971 · 9e3e4fab
      2016-04-20  Andrew Pinski  <apinski@cavium.com>
                  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	PR target/64971
      	* config/aarch64/aarch64.md (sibcall): Force call
      	address to be DImode for ILP32.
      	(sibcall_value): Likewise.
      
      	* gcc.c-torture/compile/pr37433-1.c: New testcase.
      
      
      Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
      
      From-SVN: r235281
      Andrew Pinski committed
    • Replace -skip-rax-setup with -mskip-rax-setup · ce6d77a4
      	* doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
      
      From-SVN: r235275
      H.J. Lu committed
    • gimple-match.h (maybe_build_generic_op): Adjust prototype. · 545cd7ec
      2016-04-20  Richard Biener  <rguenther@suse.de>
      
      	* gimple-match.h (maybe_build_generic_op): Adjust prototype.
      	* gimple-match-head.c (maybe_build_generic_op): Pass all ops
      	by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
      	(maybe_push_res_to_seq): Adjust.
      	* gimple-fold.c (maybe_build_generic_op): Likewise.
      
      From-SVN: r235274
      Richard Biener committed
    • tree-if-conv.c (is_false_predicate): For NULL_TREE return false rather than true. · dd39022b
      	* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
      	rather than true.
      
      From-SVN: r235272
      Marek Polacek committed
    • * gnat.dg/self1.adb: Remove now incorrect test. · d7aa24e4
      From-SVN: r235271
      Arnaud Charlet committed
    • sse.md (vec_unpacks_lo_hi): Always use kmovw to support AVX512F target. · ab04f5cd
      gcc/
      
      	* config/i386/sse.md (vec_unpacks_lo_hi): Always
      	use kmovw to support AVX512F target.
      
      From-SVN: r235270
      Ilya Enkovich committed
    • tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR. · e6d62b46
      	* tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
      
      	* gcc.dg/tree-ssa/scev-11.c: New test.
      	* gcc.dg/tree-ssa/scev-12.c: New test.
      
      From-SVN: r235269
      Bin Cheng committed
    • [multiple changes] · 6905a049
      2016-04-20  Bob Duff  <duff@adacore.com>
      
      	* s-os_lib.ads: Minor comment fix.
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
      	a discriminant check for a type whose partial view has unknown
      	discriminants when the full view has discriminants with defaults.
      
      2016-04-20  Javier Miranda  <miranda@adacore.com>
      
      	* exp_util.adb (Remove_Side_Effects): When generating C code
      	remove side effect of type conversion of access to unconstrained
      	array type.
      	(Side_Effect_Free): Return false for the type
      	conversion of access to unconstrained array type when generating
      	C code.
      	* sem_res.adb (Resolved_Type_Conversion): Remove side effects
      	of access to unconstrained array type conversion when generating
      	C code.
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Build_Predicate_Function_Declaration): New
      	function, to construct the declaration of a predicate function
      	at the end of the current declarative part rather than at the
      	(possibly later) freeze point of the type. This also allows uses
      	of a type with predicates in instantiations elsewhere.
      	(Resolve_Aspect_Expression): New procedure to detect visiblity
      	errors in aspect expressions, at the end of the declarative part
      	that includes the type declaration.
      	* sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
      	predicate function from private to full view.
      	* einfo.adb (Predicate_Function): Refine search for predicate
      	function when type has a full view and predicate function may
      	be defined on either view.
      
      2016-04-20  Javier Miranda  <miranda@adacore.com>
      
      	* frontend.adb: Passing the root of the tree to
      	Unnest_Subprograms().
      	* exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
      	took care of adding subprograms to the Unest_Bodies table since
      	performing such action too early disables the ability to process
      	generic instantiations.
      	(Unnest_Subprograms): Adding parameter.
      	(Search_Unnesting_Subprograms): New subprogram.
      	* exp_ch6.ads (Unnest_Subrograms): Update documentation.
      
      From-SVN: r235268
      Arnaud Charlet committed
    • [multiple changes] · 268aeaa9
      2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_unst.adb (Check_Static_Type): For a private type, check
      	full view.
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Check_Type): Reject an attribute reference in
      	an aspect expression, when the prefix of the reference is the
      	current instance of the type to which the aspect applies.
      
      From-SVN: r235267
      Arnaud Charlet committed
    • [multiple changes] · 51b42ffa
      2016-04-20  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
      	hiding unless we're actually hiding something. The previous
      	code would (for example) warn about a "<" on a record type
      	because it incorrectly thought it was hiding the "<" on Boolean
      	in Standard. We need to check that the homonym S is in fact a
      	homograph of a predefined operator.
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
      	from exp_ch6.adb, for use in SPARK_To_C mode when creating the
      	procedure equivalent to a function returning an array, when this
      	construction is deferred to the freeze point of the function.
      	* sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
      	function that renames an instance of Unchecked_Conversion.
      	* freeze.adb (Freeze_Subprogram): Generate the proper procedure
      	declaration for a function returning an array.
      	* exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
      
      From-SVN: r235266
      Arnaud Charlet committed
    • sem_util.ads, [...] (Is_Expanded_Priority_Attribute): New predicate to determine… · f73dc37f
      sem_util.ads, [...] (Is_Expanded_Priority_Attribute): New predicate to determine that in a context with full run-time...
      
      2016-04-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
      	New predicate to determine that in a context with full run-time,
      	a function call is an expansion of a reference to attribute
      	Priority.
      	* sem_ch5.adb (Analyze_Function_Call): use it.
      	* exp_ch5.adb (Expand_N_Subprogram_Call): use it.
      
      From-SVN: r235265
      Ed Schonberg committed