1. 04 Aug, 2014 40 commits
    • [multiple changes] · 3ccedacc
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb: Minor reformatting.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Assert and related pragmas):
      	Before normalizing these pragmas into a pragma Check, preanalyze
      	the optional Message argument, (which is subsequently copied)
      	so that it has the proper semantic information for ASIS use.
      	* sem_case.adb: Initialize flag earlier.
      	* osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when
      	the full source path of a configuration file is requested.
      	(Read_Source_File): Use Full_Name parameter..
      
      From-SVN: r213571
      Arnaud Charlet committed
    • 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> · f3124d8f
      	* opt.ads Alphabetize various global flags. New flag
      	Ignore_Pragma_SPARK_Mode along with a comment on usage.
      	* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
      	Pragma SPARK_Mode is now allowed in generic units.
      	(Analyze_Subprogram_Body_Helper): Do not verify the compatibility
      	between the SPARK_Mode of a spec and that of a body when inside
      	a generic.
      	* sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the
      	compatibility between the SPARK_Mode of a spec and that of a
      	body when inside a generic.
      	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
      	Pragma SPARK_Mode is now allowed in generic units.
      	(Analyze_Package_Instantiation): Save and restore the value of
      	flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
      	the governing SPARK_Mode before analyzing the instance.
      	(Analyze_Subprogram_Instantiation): Save and restore the value
      	of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
      	the governing SPARK_Mode before analyzing the instance.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the
      	placement of a source pragma when inserting the generated pragma
      	for aspect SPARK_Mode.
      	* sem_prag.adb (Analyze_Pragma): Reimplement the handling of
      	pragma SPARK_Mode to allow for generics and their respective
      	instantiations.
      	* sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed.
      	(Set_Ignore_Pragma_SPARK_Mode): New routine.
      
      From-SVN: r213570
      Hristian Kirtchev committed
    • [multiple changes] · f10ff6cc
      2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
              * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with
              renaming discriminants in tagged types first.
              * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test
              the underlying type of the prefix.
              (Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..."
              (process_freeze_entity): Reset the nodes of
              all the view of a type, if any.
      
      2014-08-04  Doug Rupp  <rupp@adacore.com>
      	    Olivier Hainque  <hainque@adacore.com>
      
              * gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7
      	and remove incorrect EH_MECHANISM macros.
              Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to
      	EXTRA_LIBGNAT_OBJS.
      
      From-SVN: r213569
      Arnaud Charlet committed
    • exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix of constructed… · 74014283
      exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix of constructed 'Valid attribute in -gnatVa mode does not...
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix
      	of constructed 'Valid attribute in -gnatVa mode does not appear
      	to come from source.
      	* sem_attr.adb (Analyze_Access_Attribute): Don't set
      	Never_Set_In_Source for non-source reference.
      	* sem_util.adb: Minor reformatting.
      	* sem_warn.adb (Check_References): Don't check Address_Taken,
      	not necessary, see comment.
      
      From-SVN: r213568
      Robert Dewar committed
    • [multiple changes] · 536a2daf
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, sem_case.adb: Minor reformatting.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch9.adb (Extract_Entry): If the synchronized object is a
      	limited view, replace with non-limited view, which is available
      	at the point of an entry call.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Call): If the call is to a function in
      	a run-time unit that is marked Inline_Always, we must suppress
      	debugging information on it, so that the code that is eventually
      	inlined will not affect debugging of the user program.
      
      From-SVN: r213567
      Arnaud Charlet committed
    • [multiple changes] · 2e1295ad
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment
      	fixes.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Process_Import_Or_Interface): Handle properly
      	an aspect Import that specifies a False value.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Add section on aspect Invariant'Class.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_case.adb (Check_Choice_Set): New flag Predicate_Error,
      	for better control of cascaded error messages when some choice
      	in a case statement over a predicated type violates the given
      	static predicate.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Type): Modify the
      	inheritance of the rep chain to ensure that a non-tagged type's
      	items are not clobbered during the inheritance.
      
      From-SVN: r213566
      Arnaud Charlet committed
    • [multiple changes] · 82701811
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, einfo.ads: Minor reformatting.
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix
      	detection of subprograms that cannot be inlined in GNATprove mode.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.adb: Add guard to Returns_Limited_View.
      
      2014-08-04  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of
      	the secondary stack to respect the alignments of the returned objects.
      
      From-SVN: r213565
      Arnaud Charlet committed
    • [multiple changes] · a4b07ff0
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads, einfo.adb (Returns_Limited_View): New flag defined
      	on function entities whose return type is a limited view.
      	* freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine
      	where to place the freeze node for a function that returns the
      	limited view of a type, when the function is called and frozen
      	in a different unit.
      
      2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Private_Type): Minor code
      	refactoring.
      
      From-SVN: r213564
      Arnaud Charlet committed
    • [multiple changes] · d10bb9d5
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Clarify documentation on assertions.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn
      	if a component association has a box initialization when the
      	component type has no default initialization, either through an
      	initial value, an aspect, or an implicit initialization procedure.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb: Code clean up.
      
      From-SVN: r213563
      Arnaud Charlet committed
    • [multiple changes] · 0fea901b
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch5.adb: Minor reformatting.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Late_Freeze_Subprogram): Following AI05-151,
      	a function can return a limited view of a type declared
      	elsewhere. In that case the function cannot be frozen at the end
      	of its enclosing package. If its first use is in a different unit,
      	it cannot be frozen there, but if the call is legal the full view
      	of the return type is available and the subprogram can now be
      	frozen. However the freeze node cannot be inserted at the point
      	of call, but rather must go in the package holding the function,
      	so that the backend can process it in the proper context.
      
      From-SVN: r213562
      Arnaud Charlet committed
    • [multiple changes] · 11261647
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, sem_ch5.adb, einfo.ads: Minor reformatting.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_ch4.adb (Operator_Check): Refine previous change.
      
      From-SVN: r213561
      Arnaud Charlet committed
    • [multiple changes] · 1e3689bd
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_scil.ads: Improve comments.
      	* sem_ch4.adb (Analyze_Equality_Op): Add support for
      	Allow_Integer_Address (equality between Address and Integer).
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* a-cfhama.adb, a-cforse.adb: Minor fixes to avoid using prefix
      	notation on untagged objects.
      	* sem.ads: Update comment.
      	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do
      	not inline subprograms declared in the visible part of a package.
      
      From-SVN: r213560
      Arnaud Charlet committed
    • exp_ch5.adb: minor reformatting. · aa499784
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb: minor reformatting.
      	* einfo.ads, einfo.adb (Is_Processed_Transient): Applies to loop
      	parameters.
      
      From-SVN: r213559
      Ed Schonberg committed
    • [multiple changes] · 8f4a8bef
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* s-fatgen.adb: Minor reformatting.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_util.adb (Is_Possibly_Unaligned_Object): Always return
      	False on .NET.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Loop_Statement): Set properly the kind of
      	the loop parameter for element iterators over containers and
      	arrays, so that improper uses of it are detected in the loop
      	body when expansion is disabled.
      	* exp_ch5.adb (Expand_Iterator_Loop): The entity kind of the
      	generated cursor is that of the analyzed loop parameter.
      
      From-SVN: r213558
      Arnaud Charlet committed
    • [doc] Document clrsb optab and fix some inconsistencies. · e7a45277
      	* doc/md.texi (clrsb): Document.
      	(clz): Change reference to x into operand 1.
      	(ctz): Likewise.
      	(popcount): Likewise.
      
      Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
      
      From-SVN: r213557
      Kyrylo Tkachov committed
    • Fix ChangeLog date from r213551. · 97334291
      From-SVN: r213556
      Kyrylo Tkachov committed
    • PR 61713: ICE when expanding single-threaded version of atomic_test_and_set. · 0d03cda4
      	PR target/61713
      	* gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
      	move to subtarget in serial version if result is ignored.
      
      	PR target/61713
      	* gcc.dg/pr61756.c: New test.
      
      From-SVN: r213555
      Kyrylo Tkachov committed
    • [multiple changes] · 6d0b56ad
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Build_CPP_Init_Procedure): Remove
      	Flag_Decl. Do not analyze the declaration of the flag as it is
      	not part of the tree yet, instead add it to the freeze actions
      	of the C++ type.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Make sure we handle
      	case of OUT and IN OUT parameter correctly (where Source_Typ is
      	set), we were missing one case where a check must be applied.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on
      	the generated code. Instead of hiding the renaming and using the
      	wrapper as the proper association, have the subprogram renaming
      	alias the wrapper.
      	(Build_Spec): The entity of the wrapper is
      	now derived from the entity of the related primitive.
      
      2014-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when
      	using non-capturing groups.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Build_Body_To_Inline): Remove Unmodified and
      	related pragmas before copying the original body, to prevent
      	spurious errors when the pragmas apply to formals that will not
      	appear in the inlined body.
      
      From-SVN: r213554
      Arnaud Charlet committed
    • exp_prag.adb, [...]: Minor reformatting. · ff7a5bcb
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_prag.adb, sem_ch7.adb, einfo.adb, sem_prag.adb, sem_util.adb,
      	exp_ch3.adb: Minor reformatting.
      
      From-SVN: r213553
      Robert Dewar committed
    • [multiple changes] · e477d718
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* prj-strt.adb, prj-strt.ads, sem_attr.adb: Minor reformatting.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.adb Add an entry in table Canonical_Aspect for
      	Default_Initial_Condition.
      	* aspects.ads Add an entry in tables Aspect_Id, Aspect_Argument,
      	Aspect_Names and Aspect_Delay for Default_Initial_Condition.
      	* einfo.adb Flag3 is now Has_Default_Init_Cond. Flag132
      	is now Is_Default_Init_Cond_ Procedure. Flag133 is now
      	Has_Inherited_Default_Init_Cond.
      	(Default_Init_Cond_Procedure): New routine.
      	(Has_Default_Init_Cond): New routine.
      	(Has_Inherited_Default_Init_Cond): New routine.
      	(Is_Default_Init_Cond_Procedure): New routine.
      	(Set_Default_Init_Cond_Procedure): New routine.
      	(Set_Has_Default_Init_Cond): New routine.
      	(Set_Has_Inherited_Default_Init_Cond): New routine.
      	(Set_Is_Default_Init_Cond_Procedure): New routine.
      	(Write_Entity_Flags): Output all the new flags.
      	* einfo.ads New attributes Default_Init_Cond_Procedure,
      	Has_Inherited_Default_Init_Cond and Is_Default_Init_Cond_Procedure
      	along with usage in nodes.
      	(Default_Init_Cond_Procedure): New routine.
      	(Has_Default_Init_Cond): New routine and pragma Inline.
      	(Has_Inherited_Default_Init_Cond): New routine and
      	pragma Inline.
      	(Is_Default_Init_Cond_Procedure): New routine and
      	pragma Inline.
      	(Set_Default_Init_Cond_Procedure): New routine.
      	(Set_Has_Default_Init_Cond): New routine and pragma Inline.
      	(Set_Has_Inherited_Default_Init_Cond): New routine and pragma Inline.
      	(Set_Is_Default_Init_Cond_Procedure): New routine and pragma Inline.
      	* exp_ch3.adb (Expand_N_Object_Declaration): New constant
      	Next_N. Generate a call to the default initial condition procedure
      	if the object's type is subject to the pragma.	(Freeze_Type):
      	Generate the body of the default initial condition procedure or
      	inherit the spec from a parent type.
      	* exp_ch7.adb Add with and use clause for Exp_Prag.
      	(Expand_Pragma_Initial_Condition): Removed.
      	* exp_prag.ads, exp_prag.adb (Expand_Pragma_Initial_Condition): New
      	routine.
      	* par-prag.adb (Prag): Pragma Default_Initial_Condition does
      	not need special treatment by the parser.
      	* sem_ch3.adb (Build_Derived_Record_Type): Propagate the
      	attributes related to pragma Default_Initial_Condition to the
      	derived type.
      	(Process_Full_View): Propagate the attributes
      	related to pragma Default_Initial_Condition to the full view.
      	* sem_ch7.adb (Analyze_Package_Specification): Build the
      	declaration of the default initial condition procedure for all
      	types that qualify or inherit the one from the parent type.
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	Add processing for aspect Default_Initial_Condition.
      	(Check_Aspect_At_Freeze_Point): Aspect
      	Default_Initial_Condition does not require delayed analysis.
      	(Replace_Type_References_Generic): Moved to spec.
      	* sem_ch13.ads (Replace_Type_References_Generic): Moved from body.
      	* sem_prag.adb Add an entry in table Sif_Glags for
      	Default_Initial_Condition.
      	(Analyze_Pragma): Pragma
      	Default_Initial_Condition is now part of assertion
      	policy. Add processing for pragma Default_Initial_Condition.
      	(Is_Valid_Assertion_Kind): Pragma Default_Initial_Condition is
      	now recognized as a proper assertion policy.
      	* sem_util.ads, sem_util.adb (Build_Default_Init_Cond_Call): New
      	routine.
      	(Build_Default_Init_Cond_Procedure_Body): New routine.
      	(Build_Default_Init_Cond_Procedure_Declaration): New routine.
      	(Inherit_Default_Init_Cond_Procedure): New routine.
      	* snames.ads-tmpl Add new predefined name and pragma id for
      	Default_Initial_Condition.
      
      From-SVN: r213552
      Arnaud Charlet committed
    • [sched-deps] Generalise usage of macro fusion to work on any two insns. · dc549f34
      	* sched-deps.c (try_group_insn): Generalise macro fusion hook usage
      	to any two insns.  Update comment.  Rename to sched_macro_fuse_insns.
      	(sched_analyze_insn): Update use of try_group_insn to
      	sched_macro_fuse_insns.
      	* config/i386/i386.c (ix86_macro_fusion_pair_p): Reject 2nd
      	arguments that are not conditional jumps.
      
      Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
      
      From-SVN: r213551
      Ramana Radhakrishnan committed
    • [multiple changes] · bb304287
      2014-08-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-dect.adb (Parse_Case_Construction): It is no longer
      	an error if the variable for a case construction is not
      	typed, only if the variable value is not a single string. Call
      	Parse_Choice_List and End_Case_Construction with the new parameter
      	to indicate that the variable is typed.
      	* prj-strt.adb (End_Case_Construction): Only check the labels
      	if the variable is typed.  If the variable is not typed,
      	issue a warning when there is no "when others" allternative.
      	(Parse_Choice_List): Manage the labels only if the variable
      	is typed.
      	* prj-strt.ads (End_Case_Construction): New Boolean parameter
      	String_Type.
      	(Parse_Choice_List): Ditto.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: Additional fix to Check_Predicate_Use.
      
      2014-08-04  Vincent Celier  <celier@adacore.com>
      
      	* projects.texi: Update documentation of case constructions with
      	variables that are not typed.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries
      	an Eliminated pragma, indicate that the wrapper is also to be
      	eliminated, to prevent spurious errors when using gnatelim on
      	programs that include box-initialization of equality operators
      	(consequence of AI05-071)..
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Activate_Overflow_Check): Handle floating-point
      	case correctly.
      	* checks.ads (Activate_Overflow_Check): Clarify handling of
      	floating-point cases.
      	* exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check
      	flag if we generate an explicit overflow check (for
      	Check_Float_Overflow mode).
      
      From-SVN: r213550
      Arnaud Charlet committed
    • [multiple changes] · 7ed57189
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads,
      	prj-attr.adb, prj-attr.ads: Minor reformatting.
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* expander.adb (Expand): Always perform special
      	expansion in GNATprove mode, even when doing pre-analysis.
      
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* repinfo.adb (List_Scalar_Storage_Order): List bit order if
      	not default. Also list bit order if SSO is specified. Do not
      	assume that bit order is always equal to scalar storage order.
      
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* freeze.adb (Set_SSO_From_Default): Do not set scalar storage
      	order to reverse SSO for a type that has an explicit native
      	Bit_Order.
      
      2014-08-04  Doug Rupp  <rupp@adacore.com>
      
      	* cal.c: Macro check for VxWorks7.
      	* init.c (getpid): Likewise.
      	* mkdir.c (__gnat_mkdir): Likewise.
      	* sysdep.c (__gnat_is_file_not_found_error): Likewise.
      
      2014-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation
      	of an invariant check in the case where No_Initialization is set,
      	since the object is uninitialized.
      
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute
      	name, in addition to a pragma name.
      	* snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name,
      	Is_Pragma_Name): Adjust accordingly.
      	* sem_attr.ads, sem_attr.adb, exp_attr.adb
      	(Attribute_Default_Scalar_Storage_Order): Add handling of new
      	attribute.
      	* gnat_rm.texi: Document the above.
      
      From-SVN: r213549
      Arnaud Charlet committed
    • [multiple changes] · af6478c8
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer
      	mode for now, to revert to previous behavior.
      	* checks.adb: Revert previous change, no longer needed.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Don't set
      	Check_Float_Overflow if Machine_Oveflows_On_Target is True.
      	* sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't
      	set Check_Float_Overflow if Machine_Oveflows_On_Target is True.
      	* switch-c.adb (Scan_Front_End_Switches): Don't set
      	Check_Float_Overflow if Machine_Oveflows_On_Target is True.
      
      2014-08-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-attr.adb: Add new default indications for
      	attributes Object_Dir, Exec_Dir, Source_Dirs and Target.
      	(Attribute_Default_Of): New function (Initialize): Set the
      	default for those attributes that have one specified.
      	* prj-attr.ads (Attribute_Data): New component Default.
      	* prj-proc.adb (Expression): Take into account the new defaults
      	for attributes Object_Dir, Exec_Dir and Source_Dirs.
      	* prj-strt.adb (Attribute_Reference): Set the default for
      	the attribute.
      	* prj-tree.ads, prj-tree.adb (Default_Of): New function.
      	(Set_Default_Of): New procedure.
      	* prj.adb (The_Dot_String): New global Name_Id variable,
      	initialized in procedure Initialize.
      	(Dot_String): New function
      	(Initialize): Initialize The_Dot_String.
      	(Reset): Create the string list Shared.Dot_String_List.
      	* prj.ads (Attribute_Default_Value): New enumeration type.
      	(Project_Qualifier): Change enumeration value Dry to Abstract_Project.
      	(Dot_String): New function.
      	(Shared_Project_Tree_Data): New string list component Dot_String_List.
      	* projects.texi: Document new defaults for attribute Object_Dir,
      	Exec_Dir and Source_Dirs.
      
      From-SVN: r213548
      Arnaud Charlet committed
    • [multiple changes] · e943fe8a
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_util.adb, checks.adb (Check_Float_Op_Overflow): Add special
      	expansion in CodePeer_Mode.
      	(Selected_Range_Checks): Add handling of overflow checks in
      	CodePeer_Mode.
      
      From-SVN: r213547
      Arnaud Charlet committed
    • [multiple changes] · 29049f0b
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
      	Remove special test for Float'First, no longer required.
      	(Expand_N_Attribute_Reference, case Succ): Remove special test
      	for Float'First, no longer required.
      	* s-fatgen.adb (Pred): return infinity unchanged.
      	(Succ): ditto.
      
      2014-08-04  Claire Dross  <dross@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations): Defaults should only be
      	used if there is no explicit match.
      	* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
      	Also check for pragma external_axiomatization on generic units.
      
      From-SVN: r213546
      Arnaud Charlet committed
    • [multiple changes] · d26d790d
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Activate_Overflow_Check): Remove
      	Check_Float_Overflow processing.
      	(Apply_Scalar_Range_Check): Ditto.
      	(Generate_Range_Check): Ditto.
      	* exp_ch4.adb (Expand_N_Op_Add): Add call to
      	Check_Float_Op_Overflow.
      	(Expand_N_Op_Divide): ditto.
      	(Expand_N_Op_Multiply): ditto.
      	(Expand_N_Op_Subtract): ditto.
      	* exp_util.ads, exp_util.adb (Check_Float_Op_Overflow): New procedure.
      	* sem_attr.adb (Analyze_Attribute, case Pred): Make sure
      	Do_Range_Check is set for floating-point case in -gnatc or
      	GNATprove mode.
      	(Analyze_Attribute, case Succ): Make sure
      	Do_Range_Check is set for floating-point case in -gnatc or
      	GNATprove mode.
      	* sem_res.adb (Resolve_Type_Conversion): Make sure Do_Range_Check
      	flag is set for real to integer conversion in GNATprove or
      	-gnatc mode.
      
      2014-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Resolve
      	the expression of an Import or Export aspect as type Boolean
      	and require it to be static. Add ??? comment. Also, set the
      	Is_Exported flag when appropriate.
      
      From-SVN: r213545
      Arnaud Charlet committed
    • For cproj test-case, use glibc version xfail · b085b0e9
      2014-08-04  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc
      	version instead of required-target.
      	* lib/target-supports.exp
      	(check_effective_target_not_glibc_2_11_or_earlier): Replace by ...
      	(check_effective_target_glibc_2_11_or_earlier): ... this.
      
      	* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
      	(glibc_2_11_or_earlier): Document effective-target keywords.
      
      From-SVN: r213543
      Tom de Vries committed
    • exp_ch4.adb: Minor reformatting. · dfaff97b
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      	* exp_attr.adb: Minor reformatting.
      
      From-SVN: r213541
      Robert Dewar committed
    • [multiple changes] · 8575023c
      2014-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
      	(Unaligned_Valid): Remove now unused subprogram.
      	* exp_attr.adb (Expand_N_Attribute_Reference, case
      	Attribute_Valid): If the prefix is in reverse SSO or potentially
      	unaligned, copy it using a byte copy operation to a temporary
      	variable.
      	* einfo.adb: Minor comment fix.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Do not freeze formal subprograms.
      
      From-SVN: r213540
      Arnaud Charlet committed
    • s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf. · 8616baee
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
      	* s-fatgen.adb (Pred): Handle Float'First.
      	(Succ): Handle Float'Last.
      
      From-SVN: r213539
      Robert Dewar committed
    • [multiple changes] · 98bf4cf4
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Is_Potentially_Unevaluated): If the original
      	node of a parent node in the tree is a short-circuit operation,
      	the node is potentially unevaluated.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on
      	conversion from a real type to an integer type.
      
      From-SVN: r213538
      Arnaud Charlet committed
    • [multiple changes] · ce5ba43a
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
      	sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
      	exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
      	sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
      	SPARK_05 instead of SPARK.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem.ads: Minor reformatting.
      	* sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
      	reformatting.
      	(Analyze_Aspect_Specifications, case Convention): Put External_Name
      	before Link_Name when constructing pragma.
      
      From-SVN: r213537
      Arnaud Charlet committed
    • sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during… · 3dd7e28d
      sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis of a default component expression.
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem.adb, sem.ads (In_Default_Expr): Global flag that is set
      	to True during analysis of a default component expression.
      	(Semantics): Save and restore In_Default_Expr around analysis.
      	* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration):
      	Call new wrapper Preanalyze_Default_Expression.
      	(Preanalyze_Default_Expression): New wrapper on
      	Preanalyze_Spec_Expression which sets and restores In_Default_Expr.
      	* sem_res.adb (Resolve_Call): Mark calls inside default
      	expressions as not inlined in GNATprove mode.
      
      From-SVN: r213536
      Yannick Moy committed
    • [multiple changes] · 6c56d9b8
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      
      2014-08-04  Olivier Hainque  <hainque@adacore.com>
      
      	* link.c: remove const on __gnat_objlist_file_supported for AIX
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads: Minor addition of comment.
      
      2014-08-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-dect.adb (Check_Package_Allowed): Allow package IDE in
      	all projects, including aggregate and aggregate library projects.
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.adb (Test_In_Range): Always in range for
      	Is_Known_Valid target type, where input type has smaller or
      	equal size and does not have biased rep.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Eval_Attribute): Constrained is not treated as
      	a static attribute, and the Static flag must not be set on it
      	during resolution. It may be constant-folded during expansion,
      	but if expansion is disabled it is not a static expression.
      
      From-SVN: r213535
      Arnaud Charlet committed
    • [multiple changes] · ad5edba5
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as
      	referenced once resolution has taken place.
      
      2014-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Type_Conversion): Don't
      	compare access levels in the case where the target type is the
      	anonymous type of an access discriminant, since the level of
      	such types is defined based on context. Add comment.
      
      From-SVN: r213534
      Arnaud Charlet committed
    • [multiple changes] · b6621d10
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
      	cases related to equality.  Remove the special processing
      	for dispatching abstract subprograms as it is not needed.
      	(Interpretation_Error): Add a specialized error message for
      	predefined operators.
      	(Is_Intrinsic_Equality): New routine.
      	(Is_Suitable_Candidate): New routine.
      
      2014-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb: Minor comment reformatting.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* restrict.adb (Check_Restriction): For checked max_parameter
      	restrictions reset Violated flag, so that subsequent violations
      	are properly detected.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
      	mode.
      	(Process_Discriminants): Fix bad test of GNATprove mode
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch12.adb (Instantiate_Formal_Subprogram):
      	Move variable to their own section. Propagate the source
      	location of a formal parameter to the corresponding formal of
      	the subprogram renaming declaration. Code reformatting.
      
      From-SVN: r213533
      Arnaud Charlet committed
    • [multiple changes] · f5655e4a
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
      	if error already detected.  We may reach this point in spite of
      	previous errors when compiling with -gnatq, to force all possible
      	errors (this is the usual ACATS mode).
      
      2014-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb (Generate_Range_Check): For the case of converting
      	a base type with a larger range to a smaller target subtype, only
      	use unchecked conversions of bounds in the range check followed
      	by conversion in the case where both types are discrete. In other
      	cases, convert to the target base type and save in a temporary
      	followed by the range check.
      	(Convert_And_Check_Range): New procedure factoring code to save
      	conversion to a temporary followed by a range check (called two
      	places in Generate_Range_Check).
      	* exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
      	check-in, to generate range checks for conversions between
      	any floating-point types rather than limiting it to matching
      	base types.
      
      From-SVN: r213532
      Arnaud Charlet committed
    • Removed. · 52627911
      From-SVN: r213531
      Arnaud Charlet committed