2014-05-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads (Can_Never_Be_Null): Minor comment update.
	* sem_prag.adb (Check_Arg_Is_Task_Dispatching_Policy): Minor
	error message change.
	* s-arit64.adb ("abs"): New function. Use expression functions
	for the simple conversions and arithmetic.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210688 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads: Minor reformatting.
	* ceinfo.adb: Deal with slight format change of einfo.ads.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Part_Of): Further work on the proper
	implementation of the SPARK 2014 rule concerning private child
	units (LRM 7.2.6).

2014-05-21  Vincent Celier  <celier@adacore.com>

	* makeusg.adb: Add switch -d to usage.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Find_Actual): If an actual that is the prefix
	of an enclosing prefixed call has been rewritten, use Nkind
	and Sloc to identify the corresponding formal, when handling
	deferred references.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Document -gnatd.z switch.
	* sem_eval.adb (Why_Non_Static): Test -gnatd.z switch.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210689 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object):
	This was returning False if the Object is a constant view. Fix
	it to return True in that case, because it might be a view of
	a variable.
	(Has_Discriminant_Dependent_Constraint): Fix latent
	bug; this function was crashing when passed a discriminant.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Remove misplaced section that is now obsolete.
	* s-arit64.adb: Minor code reorganization.
	* sem_prag.adb: Minor comment fix (remove erroneous use of the
	term erroneous).

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* g-table.adb, g-dyntab.adb (Reallocate): Fix possible overflow in
	computing new table size.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210690 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Code clean up.

2014-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Document -Werror.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210691 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* tree.def (VOID_CST): New.
	* tree-core.h (TI_VOID): New.
	* tree.h (void_node): New.
	* tree.c (tree_node_structure_for_code, tree_code_size)
	(iterative_hash_expr): Handle VOID_CST.
	(build_common_tree_nodes): Initialize void_node.

gcc/c-family/
	* c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
	* c-common.c (c_common_nodes_and_builtins): Don't initialize
	void_zero_node.
	* c-pretty-print.c (pp_c_void_constant): New function.
	(c_pretty_printer::constant, c_pretty_printer::primary_expression)
	(c_pretty_printer::expression): Handle VOID_CST.
	* cilk.c (extract_free_variables): Likewise.
	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
	(ubsan_instrument_vla): Use void_node instead of void_zero_node.

gcc/c/
	* c-array-notation.c (expand_array_notations): Use void_node
	instead of void_zero_node.

gcc/cp/
	* cvt.c (convert_to_void): Use void_node instead of void_zero_node.
	* cp-array-notation.c (replace_invariant_exprs): Likewise.
	(expand_array_notation): Handle VOID_CST.
	* error.c (dump_expr): Likewise.
	* cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
	(cxx_pretty_printer::expression): Likewise.
	(pp_cxx_new_expression): Use void_node instead of void_zero_node.
	* decl.c (register_dtor_fn): Likewise.
	* init.c (build_raw_new_expr, build_new_1, build_vec_init)
	(build_delete, push_base_cleanups): Likewise.
	* mangle.c (write_expression): Likewise.
	* semantics.c (finish_break_stmt, empty_expr_stmt_p): Likewise.
	* pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
	(tsubst, tsubst_copy, build_non_dependent_expr): Handle VOID_CST.
	* tree.c (cp_tree_equal): Likewise.
	(build_dummy_object, is_dummy_object, stabilize_expr): Use void_node
	instead of void_zero_node.
	* typeck.c (check_return_expr): Likewise.
	* typeck2.c (build_functional_cast): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210692 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings).
	Clearly document -gnatyg (GNAT style switches).
	* usage.adb: Add line line for -gnatw.g (GNAT warnings) More
	detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is
	available for VMS after all.
	* warnsw.adb: Reorganize to eliminate duplicated code
	(Restore_Warnings): Add a couple of missing entries
	(Save_Warnings): Add a couple of missing entries.
	* warnsw.ads: Add missing entries to Warning_Record (not clear
	what the impact is).

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction
	warning) case.
	* errout.ads: Document ?*? (restriction warning) insertion.
	* erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction
	warning) case.
	* erroutc.ads: Document use of * for restriction warning tag.
	* restrict.adb (Restriction_Msg): Tag with ?*? instead of ??.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not
	make discriminants immediately visible when analyzing an aspect
	of a subtype declaration.
	(Uninstall_Discriminants): Do not apply to the entity in a
	subtype declaration.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210693 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  John Marino  <gnugcc@marino.st>

gcc:

	* config.gcc (*-*-dragonfly*): New target.
	* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
	* configure: Regenerate.
	* config/dragonfly-stdint.h: New.
	* config/dragonfly.h: New.
	* config/dragonfly.opt: New.
	* config/i386/dragonfly.h: New.
	* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.

include:

	* liberty.h: Use basename function on DragonFly.

libcilkrts:

	* runtime/os-unix.c (__DragonFly__): New target.

libgcc:

	* config.host (*-*-dragonfly*): New target.
	* crtstuff.c: Make dl_iterate_support generic on *bsd.
	* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
	* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
	* config/i386/dragonfly-unwind.h: New.

libitm:

	* configure.tgt (*-*-dragonfly*): New target.

libstdc++-v3:

	* acinclude.m4 (*-*-dragonfly*): New target.
	* configure: Regenerate.
	* configure.host (*-*-dragonfly*): New target.
	* config/locale/dragonfly/c_locale.cc: New.
	* config/locale/dragonfly/ctype_members.cc: New.
	* config/os/bsd/dragonfly/ctype_base.h: New.
	* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
	* config/os/bsd/dragonfly/ctype_inline.h: New.
	* config/os/bsd/dragonfly/os_defines.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210694 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* errout.adb, erroutc.adb, erroutc.ads: Allow warning tag in pragma
	Warnings (Off, string).

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* osint.adb: Fix three error messages to say invalid instead
	of erroneous.
	* par-ch4.adb, exp_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
	sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_dim.adb, sem_res.adb,
	sem_util.adb, sem_util.ads: Fix incorrect use of erroneous in comments.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb, sem_ch13.adb, sem_ch13.ads, sem_ch9.adb,
	sem_ch9.ads: Move discriminant manipulation routines for analysis of
	aspect specifications from sem_ch9 to sem_ch13, where they belong.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210695 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* stand.adb (Tree_Read): Read missing entities.
	(Tree_Write): Write missing entities.

2014-05-21  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Wordsmithing edits to Coupling Metrics Control
	section in gnatmetric chapter.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb (Expand_Actuals): Spec moved here, since not used
	outside Exp_Ch6 (Expand_Actuals): Deal with proper insertion of
	post-call copy write back (see detailed comment in code).
	* exp_ch6.ads (Expand_Actuals): Moved to body, not used outside
	Exp_Ch6.
	* tbuild.ads: Minor reformatting.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* stand.ads: Add warning about adding new entities and
	Tree_Read/Tree_Write.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb (Set_Entity_With_Checks): Don't complain about
	references to restricted entities within the units in which they
	are declared.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Check_Bad_Body): Use Source_File_Is_Body to
	simplify the needed test, and also deal with failure to catch
	situations with non-standard names.
	* sinput-l.ads, sinput-l.adb (Source_File_Is_No_Body): New function
	(Source_File_Is_Subunit): Removed, no longer used.

2014-05-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb
	(Expand_Allocator_Expression.Apply_Accessibility_Check): for a
	renaming of an access to interface object there is no need to
	generate extra code to reference the tag.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210696 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression.Apply_Accessibility_Check):
	Complete previous patch.

2014-05-21  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
	Provide a behaviour more consistent with underlying datagram
	socket: do not attempt to loop over Send_Socket/Receive_Socket
	iterating along the buffer.

2014-05-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Record_Type): Ensure that a discriminated
	or a tagged type is not labelled as volatile. Ensure that a
	non-volatile type has no volatile components.
	* sem_ch3.adb (Analyze_Object_Contract): Add local constant
	Obj_Typ. Code reformatting.  Ensure that a discriminated or
	tagged object is not labelled as volatile.
	* sem_prag.adb (Process_Atomic_Shared_Volatile): Ensure that
	pragma Volatile applies to a full type declaration or an object
	declaration when SPARK mode is on.

2014-05-21  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi: For ASIS tools, reword the paragraph about
	providing options needed for compiling the argument source for
	the situation when a project file can be used as a tool parameter.

2014-05-21  Gary Dismukes  <dismukes@adacore.com>

	* gnat_rm.texi: Minor typo fix.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210697 138bc75d-0d04-0410-961f-82ee72b054a4
Previous change (rev 210697) should have mentioned PR ada/9535:
        
        PR ada/9535
        * g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
        Provide a behaviour more consistent with underlying datagram
        socket: do not attempt to loop over Send_Socket/Receive_Socket
        iterating along the buffer.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210698 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base
	to the full view of the parent type when processing a derived type
	which is the full view of a private type not defined in a generic
	unit which is derived from a private type with discriminants
	whose full view is a non-tagged record type.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210699 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb, lib-xref.ads, lib-xref.adb
	(Enclosing_Subprogram_Or_Package): Only return a library-level
	package.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210700 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor reformatting.
	* lib-xref-spark_specific.adb, sem_util.adb: Minor reformatting.
	* sem_prag.adb: Minor error message improvement.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210701 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Insert_Delayed_Pragma is now used for the case of Attach_Handler.
	* sem_prag.adb: Minor comment improvements.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Install_Body): When checking whether freezing of
	instantiation must be delayed, verify that the common enclosing
	subprogram to generic and instance is in fact an overloadable
	entity.

2014-05-21  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all
	mains with the same name and fail if there is more than one.
	* prj.ads, prj.adb (Find_All_Sources): New function



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210702 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb,
	sem_elab.ads: Minor reformatting.
	* erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag
	parameter optional.

2014-05-21  Pascal Obry  <obry@adacore.com>

	* prj-dect.adb: Allow package Install in aggregate project.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210703 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb, prj-dect.adb: Minor reformatting.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* erroutc.ads: Minor comment addition.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Add documentation for use of >*> tag.
	* restrict.adb: Make sure we use >*> tag for restriction warnings.

2014-05-21  Gary Dismukes  <dismukes@adacore.com>

	* debug.adb: Add case of illegal overriding_indicator for a
	protected subprogram body to description of -gnatd.E switch.
	* sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
	for cases of giving overriding_indicators on protected subprogram
	bodies, but change this to a warning if -gnatd.E is enabled. No
	longer give a style warning about missing indicators on protected
	subprogram bodies.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210704 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb: Minor reformatting.
	* s-taprop.ads: Minor comment fix.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to
	Kill_Elaboration_Checks.
	* errout.adb, erroutc.adb: Minor reformatting.

2014-05-21  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte
	component. No byte swapping occurs, but this procedure also takes
	care of appropriately justifying the argument.

2014-05-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub):
	New routine.
	(Analyze_Subprogram_Body_Helper): Move the
	analysis of aspect specifications and the processing of the
	subprogram body contract after inlining has taken place.
	(Diagnose_Misplaced_Aspect_Specifications): Removed.

2014-05-21  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Revert previous change.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not
	continuations any more.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual,
	present in formal_Private_Definitions and on private extension
	declarations of a formal derived type. Set when the use of the
	formal type in a generic suggests that the actual should be a
	fully initialized type.
	* sem_warn.adb (May_Need_Initialized_Actual): new subprogram
	to indicate that an entity of a generic type has default
	initialization, and that the corresponing actual type in any
	subsequent instantiation should be fully initialized.
	* sem_ch12.adb (Check_Initialized_Type): new subprogram,
	to emit a warning if the actual for a generic type on which
	Needs_Initialized_Actual is set is not a fully initialized type.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210705 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210706 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb: Minor fix to warning messages (use ?? instead
	of ?).

2014-05-21  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (GNATCmd): For platforms other than VMS, recognize
	switch --version and --help.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Is_Call_Of_Generic_Formal): New function.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Set type of
	iterator variable when the domain of iteration is a formal
	container and this is an element iterator.

2014-05-21  Bob Duff  <duff@adacore.com>

	* sem_ch12.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210707 138bc75d-0d04-0410-961f-82ee72b054a4