2015-05-22 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
prj-conf.adb, sem_disp.adb: Minor reformatting.
2015-05-22 Vincent Celier <celier@adacore.com>
* clean.adb (Parse_Cmd_Line): For native gnatclean, check
for switch -P and, if found and gprclean is available, invoke
silently gprclean.
* make.adb (Initialize): For native gnatmake, check for switch -P
and, if found and gprbuild is available, invoke silently gprbuild.
2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
specific warning for discrete types when the source is larger
than the target.
From-SVN: r223555
2015-05-22 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
package instantiations. Holds the list of actuals in the instance
that are incomplete types, to determine where the corresponding
instance body must be placed.
* sem_ch6.adb (Conforming_Types): An incomplete type used as an
actual in an instance matches an incomplete formal.
* sem_disp.adb (Check_Dispatching_Call): Handle missing case of
explicit dereference.
(Inherited_Subprograms): In the presence of a limited view there
are no subprograms to inherit.
* sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
actuals of instance, for later placement of instance body and
freeze nodes for actuals.
(Install_Body): In the presence of actuals that incomplete types
from a limited view, the instance body cannot be placed after
the declaration because full views have not been seen yet. Any
use of the non-limited views in the instance body requires
the presence of a regular with_clause in the enclosing unit,
and will fail if this with_clause is missing. We place the
instance body at the beginning of the enclosing body, which is
the unit being compiled, and ensure that freeze nodes for the
full views of the incomplete types appear before the instance.
2015-05-22 Pascal Obry <obry@adacore.com>
* makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
(In_Place_Option): Removed.
(Relocate_Build_Tree_Option): New constant.
(Root_Dir_Option): New constant.
(Obj_Root_Dir): Removed.
(Build_Tree_Dir): New variable.
(Root_Src_Tree): Removed.
(Root_Dir): New variable.
* prj-conf.adb (Get_Or_Create_Configuration_File): Add check
for improper relocation.
* prj-nmsc.adb (Locate_Directory): Add check for improper
relocation.
From-SVN: r223553
2015-05-22 Pascal Obry <obry@adacore.com>
* makeutl.ads (In_Place_Option): New constant.
* prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
objects).
(Root_Src_Tree): New variable (absolute path of root source tree).
* prj-conf.adb (Do_Autoconf): Take into account the object root
directory (if defined) to generate configuration project.
* prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
is defined.
(Locate_Directory): Likewise.
From-SVN: r223543
2015-01-07 Vincent Celier <celier@adacore.com>
* clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
* make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
2015-01-07 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
errors/warnings in the first parsing of the project files,
to display the warnings when there is no errors.
2015-01-07 Tristan Gingold <gingold@adacore.com>
* i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
2015-01-07 Doug Rupp <rupp@adacore.com>
* s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
value from Int_Lock as parameter to Int_Unlock.
* s-osinte-vxworks.ads (Int_Unlock): Add parameter.
* s-vxwext.ads (Int_Unlock): Likewise.
* s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
* s-vxwext-kernel.ads (Int_Unlock): Likewise.
* s-vxwext-rtp.adb (Int_Unlock): Likewise.
* s-vxwext-rtp.ads (Int_Unlock): Likewise.
2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com>
* exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
keep ___XP suffixes
From-SVN: r219288
2015-01-06 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Check_Target): Improve error message when
there are mismatched targets between the on in the configuration
project file and the specified one, either in the main project
file or in the --target= switch.
2015-01-06 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
Install_Name attribute definitions.
2015-01-06 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
generated Import pragma for the internal imported procedure does
not come from an aspect, so that Is_Imported can be properly
set for it.
2015-01-06 Gary Dismukes <dismukes@adacore.com>
* sem_ch12.adb (Might_Inline_Subp): Record whether
any subprograms in the generic package are marked with
pragma Inline_Always (setting flag Has_Inline_Always).
(Analyze_Package_Instantiation): Add test of Has_Inline_Always
alongside existing test of Front_End_Inlining as alternative
conditions for setting Inline_Now. Also add test of
Has_Inline_Always along with Front_End_Inlining test as an
alternative condition for setting Needs_Body to False.
2015-01-06 Tristan Gingold <gingold@adacore.com>
* i-cpoint.adb (Copy_Array): Handle overlap.
From-SVN: r219253
2015-01-06 Pascal Obry <obry@adacore.com>
* bindgen.adb: Minor style fix.
2015-01-06 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb: Minor reformatting.
2015-01-06 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
with flags before parsing the projects.
* prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
* prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
to True in the flags, when Ignore_Missing_With is True and an
imported project cannot be found.
* prj-proc.adb (Expression): When there are incomplete withs and
a variable or attribute is not found, set the variable/attribute
to unknown.
* prj.ads (Processing_Flags): New flag Incomplete_Withs,
defaulted to False.
2015-01-06 Vasiliy Fofanov <fofanov@adacore.com>
* prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
prj-err.adb: Add new switch --no-command-line.
From-SVN: r219252
2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Analyze_Inlined_Bodies): Iterate between loading
of the inlined bodies and instantiation of the generic bodies
until no more bodies need to be loaded.
2014-11-20 Vincent Celier <celier@adacore.com>
* prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name:
Update_Ignore_Missing_With becomes Set_Ignore_Missing_With.
From-SVN: r217831
2014-11-07 Arnaud Charlet <charlet@adacore.com>
* debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding'
a keyword in Ada 95 mode when -gnatd.D is used.
* gnat_ugn.texi: Document -gnatd.D.
2014-11-07 Vasiliy Fofanov <fofanov@adacore.com>
* gnatls.adb: Lower severity of the program's return value in
some common cases.
2014-11-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Decorate_Type): The limited view of a tagged
type has an empty list of primitive operations.
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK
RM.
(Process_Full_View): Update references to SPARK RM.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
to SPARK RM.
(Analyze_Subprogram_Body_Helper): Update references
to SPARK RM.
* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
to SPARK RM.
* sem_prag.adb (Check_Ghost_Constituent): Update references to
SPARK RM.
* sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM.
(Resolve_Actuals): Ensure that the actual parameter of a Ghost
subprogram whose formal is of mode IN OUT or OUT is Ghost.
* sem_util.adb (Check_Ghost_Completion): Update references to
SPARK RM.
2014-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb (Make_Final_Call): If type of designated object is
derived from that of the formal of the Deep_Finalize procedure,
add an unchecked conversion to prevent spurious type error.
2014-11-07 Robert Dewar <dewar@adacore.com>
* table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb,
exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads:
Minor reformatting.
2014-11-07 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting.
From-SVN: r217227
2014-10-31 Vincent Celier <celier@adacore.com>
* prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of.
* prj-proc.adb (Recursive_Process): Call Display_Name_Of to
get the project Display_Name.
* prj-tree.adb (Display_Name_Of): New function
(Set_Display_Name_Of): New procedure.
(Create_Project): Call Set_Display_Name_Of.
* prj-tree.ads (Display_Name_Of): New function.
(Set_Display_Name_Of): New procedure.
(Project_Node_Record): New component Display_Name.
(Project_Name_And_Node): Remove component Display_Name.
* prj-conf.adb (Parse_Project_And_Apply_Config): Use the full
Config_File_Path as the Config_File_Name, not just its simple
name.
2014-10-31 Thomas Quinot <quinot@adacore.com>
* get_scos.adb: Minor reformatting.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Formal_Container_Loop): Create block to
capture declaration for cursor to prevent spurious errors when
several formal iterators that use the same cursoe name appear
in the same context.
From-SVN: r216978
2014-10-31 Vasiliy Fofanov <fofanov@adacore.com>
* prj-conf.adb (Do_Autoconf): Refactor the code so that empty
Normalized_Pathname doesn't inhibit the custom Selected_Target
value.
* prj-conf.adb (Parse_Project_And_Apply_Config): Make sure that
Automatically_Generated is correctly set after the first call
to Process_Project_And_Apply_Config and not modified after the
second call, if any.
2014-10-31 Yannick Moy <moy@adacore.com>
* Makefile.rtl, gnat_rm.texi, impunit.adb: Add mention of new library
files.
* a-cfinve.adb, a-cfinve.ads: New unit for formal indefinite
vectors, suitable for use in client SPARK code, also more
efficient than the standard vectors.
* a-coboho.adb, a-coboho.ads New unit for bounded holders, that
are used to define formal indefinite vectors in terms of formal
definite ones.
* a-cofove.adb, a-cofove.ads: Simplification of the API of formal
definite vectors, similar to the API of the new indefinite ones. A
new formal parameter of the generic unit called Bounded allows
to define growable vectors that use dynamic allocation.
From-SVN: r216967
2014-10-31 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Look_For_Project_Paths): New procedure
(Parse_Project_And_Apply_Config): Initially, parse the project
files ignoring missing withs. If there are missing withs, extend
the project path with directories rooted at the compiler roots,
including directories rooted at the runtime roots, if there are
non default runtimes, in the PATH orser.
* prj-env.adb (Initialize_Default_Project_Path): Do not add
any directory from the prefix if the target is "-".
* prj-part.adb (Parse): Initialize the tables, as Parse may be
call several times by gprbuild.
* prj.adb (Update_Ignore_Missing_With): New procedure.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* sem_aux.adb (First_Stored_Discriminant,
Has_Completely_Hidden_Discriminant): When scanning the list of
discriminants to locate possibly hidden (inherited) discriminants,
ignore itypes that may appear in the entity list, when an access
discriminants is constrained by an access attribute reference.
2014-10-31 Javier Miranda <miranda@adacore.com>
* freeze.adb (Freeze_Record_Type): Add missing
check to verify that all the primitives of an interface type
are abstract or null procedures.
2014-10-31 Vincent Celier <celier@adacore.com>
* s-os_lib.adb, s-os_lib.ads: New function Non_Blocking_Spawn that
redirects standard output and standard error to two different files.
2014-10-31 Bob Duff <duff@adacore.com>
* makeutl.ads: Minor comment fix.
2014-10-31 Arnaud Charlet <charlet@adacore.com>
* system-linux-x86_64.ads, system-mingw-x86_64.ads (Word_Size,
Memory_Size): Use Standard'Word_Size so that the value can be changed
via a target configuration file.
From-SVN: r216965
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb: Minor tweak.
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): Do not inline with
back-end inlining.
(Must_Inline_Subp): Delete.
* sem_util.ads, sem_util.adb (Must_Inline): Likewise.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): A default_pool does not apply to
internal access types generated for 'access references.
* sem_prag (Analyze_Pragma, case Default_Pool): If the name is
not null it must designate a variable.
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb: Minor reformatting.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Private_Type): If the derived
type has access discriminants, create itype references for their
anonymous types, so that they are elaborated before the generated
bodies for the primitive operations of the type.
2014-10-31 Tristan Gingold <gingold@adacore.com>
* prj-conf.adb (Locate_Runtime): Remove procedure.
From-SVN: r216963
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch6.adb: Remove obsolete comment.
2014-10-31 Olivier Hainque <hainque@adacore.com>
* g-allein.ads: bind vec_sld for pixels to 8hi vsldoi instead
of 4si, as pixels are short.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): Do not reject a call to a protected
operation in the spec of a protected type, when the call appears
in a pre/postcondition for another protected operation.
2014-10-31 Tristan Gingold <gingold@adacore.com>
* prj-conf.adb: Locate_Runtime: Always search the runtime in
project path.
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Check_Package_Body_For_Inlining): Adjust previous
change to use correct idiom for back-end inlining.
From-SVN: r216958
2014-10-20 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor
reformatting.
2014-10-20 Robert Dewar <dewar@adacore.com>
* par-prag.adb (Add_List_Pragma_Entry): New procedure.
* par.adb (P_Pragma): Document requirement to handle multiple calls.
2014-10-20 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
Fix error of bad inheritance of this pragma from with'ed unit.
2014-10-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype,
inherit convention from parent type, because the subtype may
have been declared on a partial view, prior to the pragma on
the parent.
2014-10-20 Olivier Hainque <hainque@adacore.com>
Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7.
Misc clean ups.
2014-10-20 Nicolas Roche <roche@adacore.com>
* gcc-interface/Make-lang.in: ensure that automatically generated
dependency are referencing generated gnatvsn rather than original
one.
From-SVN: r216482
2014-10-20 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New project level attribute Runtime.
* prj-conf.adb (Get_Project_Runtimes): New procedure to get
the attributes Runtime declared in the main project, to use
in auto-configuration.
(Get_Or_Create_Configuration_File): Call Get_Project_Runtimes.
* prj-proc.adb (Runtime_Defaults): New table to store
the default values of attributes Runtime (<language>).
(Set_Default_Runtime_For): New procedure to store the default
value of a Runtime (<language>) in table Runtime_Defaults.
(Expression): Use the value stored in table Runtime_Defaults as
the default for Runtime (<language>).
* prj-proc.ads (Set_Default_Runtime_For): New procedure.
* prj.ads (Attribute_Default_Value): New enumerated value
Runtime_Value.
2014-10-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): If the type is
an unconstrained unchecked_union type, rewrite declaration
as a renaming to prevent attempt to retrieve non- existent
discriminants from expression.
2014-10-20 Ed Schonberg <schonberg@adacore.com>
* gnat_ugn.texi: Minor reformatting.
From-SVN: r216479
2014-10-20 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (List_Inlining_Info): Minor tweaks.
(Add_Inlined_Body): Inline the enclosing package
if it is not internally generated, even if it doesn't come
from source.
2014-10-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Process_Function_Call): If the first actual
denotes a discrete type, the mode must be interpreted as a slice
of an array returned by a parameterless call.
2014-10-20 Vasiliy Fofanov <fofanov@adacore.com>
* prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit
searching for runtime referenced by a simple name on a project path.
2014-10-20 Olivier Hainque <hainque@adacore.com>
* vxworks-x86-link.spec: New file.
* system-vxworks-x86.ads: Add pragma Linker_Options to link with
vxworks-x86-link.spec.
2014-10-20 Vincent Celier <celier@adacore.com>
* opt.ads (Origin_Of_Target): New type.
(Target_Origin): New variable.
* prj-conf.adb (Parse_Project_And_Apply_Config): Record
Target_Value and Target_Origin. If target was not specified
on the command line with --target=, check if attribute Target
is declared in the main project. If it is and it is not the
native target, parse again the projects so that 'Target get
the new value. Fail if the target has changed again. Invoke
Process_Project_And_Apply_Config with Do_Phase_1 set to False
is Process_Project_Tree_Phase_1 has already been invoked.
* prj-conf.ads (Process_Project_And_Apply_Config): New Boolean
parameter Do_Phase_1, defaulted to True.
* prj-proc.adb (Expression): Check the special values and
defaults for attribute Target.
2014-10-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze
the subprogram spec of the body in full, because it will be
reanalyzed when the declaration itself is analyzed; otherwise. a
formal may end up duplicated in the list of formals leading to
spurious conformance errors with an existing declaration.
From-SVN: r216473
2014-10-17 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb (Expand_N_Task_Body): Add defense against
previous errors.
* freeze.adb (Freeze_Entity): Add defense against checking null
scope for generic.
* restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode.
* sem_ch13.adb (Freeze_Entity_Checks): Add defense against
previous errors.
* sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if
in No_Run_Time mode.
2014-10-17 Robert Dewar <dewar@adacore.com>
* prj-makr.adb: Minor reformatting.
2014-10-17 Robert Dewar <dewar@adacore.com>
* gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible.
2014-10-17 Ed Schonberg <schonberg@adacore.com>
* exp_prag.adb (Undo_Initialization): If Initialize_Scalars
is enabled, code will be generated for some composite types
to initialize an object after its declaration. If there is
a subsequent Import pragma for the object, that code must be
removed as specified byw the semantics of the pragma, and to
prevent out-of-order elaboration issues in the back-end.
2014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator
wrapping mechanism under debug flag -gnatd.h.
* debug.adb: Claim debug switch -gnatd.h.
From-SVN: r216384
2014-10-17 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Config_Switches): In CodePeer mode, do
not take into account any compiler command from package IDE.
2014-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Build_Function_Wrapper): The formals of the
wrapper must have the same identifiers as those of the formal
subprogram, because calls within the generic may use named
associations.
From-SVN: r216376
2014-10-17 Robert Dewar <dewar@adacore.com>
* lib-writ.ads, s-valdec.ads: Minor reformatting.
2014-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Additional work on function wrappers.
2014-10-17 Eric Botcazou <ebotcazou@adacore.com>
* exp_util.adb (Possible_Bit_Aligned_Component): Also recurse
on the renamed object of renamings.
2014-10-17 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer
mode, always use the native target.
From-SVN: r216368
2014-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb, sem_attr.adb: Minor reformatting.
2014-10-10 Johannes Kanig <kanig@adacore.com>
* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition"
to container type.
2014-10-10 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get
any configuration switches from the project file.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper.
(Build_Function_Wrapper): New function, to construct a wrapper
function for actuals that are functions with an arbitrary
number of parameters. Used in GNATProve mode to simplify proof
propagation in instantiations.
From-SVN: r216092
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Has_Preelaborable_Initialization): Check that
type is tagged before checking whether a user-defined Initialize
procedure is present.
2014-07-31 Gary Dismukes <dismukes@adacore.com>
* a-ngelfu.ads (Sqrt): Augment postcondition.
2014-07-31 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): An aggegate library
directory and ALI directory must be different than all object
and library directories of aggregated projects.
2014-07-31 Vincent Celier <celier@adacore.com>
* prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec
to package body, as it is not called from outside. Remove argument
Project_Tree, no longer used. When runtime cannot be found,
call Raise_Invalid_Config instead of failing the program.
From-SVN: r213330
2014-06-13 Eric Botcazou <ebotcazou@adacore.com>
* checks.adb (Apply_Address_Clause_Check): Only issue the new
warning if the propagation warning is issued.
2014-06-13 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor reformatting.
2014-06-13 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
Handle float range check case (Expand_N_Attribute_Reference,
case Succ): Handle float range check case.
* sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
range check case.
2014-06-13 Vincent Celier <celier@adacore.com>
* makeutl.ads (Compute_Builder_Switches): Change name of
parameter Root_Environment to Env.
* prj-conf.adb (Check_Switches): Call Locate_Runtime with the
Env parameter of procedure Get_Or_Create_Configuration_File.
(Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
of new parameter Env.
* prj-conf.ads (Locate_Runtime): New parameter Env of type
Prj.Tree.Environment.
2014-06-13 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.
From-SVN: r211623
2014-02-19 Robert Dewar <dewar@adacore.com>
* sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor
reformatting.
2014-02-19 Vincent Celier <celier@adacore.com>
* prj-part.adb (Parse_Single_Project): Use the fully resolved
project path, with all symbolic links resolved, to check if the
same project is imported with a different unresolved path.
* prj-tree.ads (Project_Name_And_Node): Component Canonical_Path
changed to Resolved_Path to reflect that all symbolic links
are resolved.
From-SVN: r207904
2014-02-19 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util
from sem_ch13, for use elsewhere.
* sem_ch13.adb (Get_Cursor_Type): Moved to sem_util.
* sem_ch5.adb (Analyze_Iterator_Specification): Set properly the
cursor type on the loop variable when the iteration is over o
formal container.
2014-02-19 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration
for an empty Target (Check_Target): Never fail when an empty
target is declared in the configuration project.
2014-02-19 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if
the pragma comes fron a predicate aspect and the context is a
record declaration within the scope that declares the type.
2014-02-19 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor clarifications.
* expander.adb, sem_aggr.adb: Add comments.
From-SVN: r207903
2014-02-06 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi: Small wording tweak.
2014-02-06 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns
and Included_Artifact_Patterns attribute definitions.
2014-02-06 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
SPARK_Mode pragma component for all subprograms, including stubs.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch10.adb (Analyze_Package_Body_Stub): Maintain
the configuration options of the enclosing context in a
stack-like fasion.
(Analyze_Subprogram_Body_Stub): Maintain the
configuration options of the enclosing context in a stack-like
fashion.
2014-02-06 Robert Dewar <dewar@adacore.com>
* debug.adb: -gnatd.u sets Modify_Tree_For C
* exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out
if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto.
(Expand_N_Op_Arithmetic_Right_Shift): ditto.
* exp_intr.adb (Expand_Shift): Call expander so we do
Modify_Tree_For_C expansions.
* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
if -gnatd.u set.
2014-02-06 Fedor Rybin <frybin@adacore.com>
* prj-proc.ads (Tree_Loaded_Callback): new type Callback used
after the phase 1 of the processing of each aggregated project
to get access to project trees of aggregated projects.
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded
If specified, On_New_Tree_Loaded is called after each aggregated
project has been processed succesfully.
(Process): new parameter On_New_Tree_Loaded.
* prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded
callback added after processing of each aggregated project.
(Recursive_Process): new parameter On_New_Tree_Loaded.
(Process): new parameter On_New_Tree_Loaded.
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded.
* prj-conf.ads (Parse_Project_And_Apply_Config): new parameter
On_New_Tree_Loaded.
* prj-conf.adb (Parse_Project_And_Apply_Config): new parameter
On_New_Tree_Loaded.
2014-02-06 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Implement --insert-blank-lines and
--preserve-blank-lines switches.
From-SVN: r207545
2014-01-23 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): Do not attempt
to find a configuration project file when Config_File_Name is
No_Configuration_File.
* prj-conf.ads (No_Configuration_File): New constant String.
* prj-pars.adb (Parse): Call Get_Or_Create_Configuration_File
with Config_File_Name set to No_Configuration_File, so that
no existing configuration project file will be used, and the
configuration project will be only created in memory when
Add_Default_GNAT_Naming_Scheme is called.
* projects.texi: Minor reformatting.
From-SVN: r206985
2014-01-23 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): Never parse
a config project file if On_Load_Config is not null.
* prj-pars.adb: Minor comment changes.
From-SVN: r206984
2014-01-23 Robert Dewar <dewar@adacore.com>
* exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb,
expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads,
sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info.
2014-01-23 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): call
On_Load_Config later.
2014-01-23 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Analyze_Declarations): Do not
generate the spec of the late primitive in ASIS mode. Add two
comments to explain the special cases when the expansion is
not performed.
2014-01-23 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Note_Possible_Modification): Fix error of
misbehaving for implicit dereference cases in -gnatc mode.
2014-01-23 Emmanuel Briot <briot@adacore.com>
* prj-pars.adb: Minor reformatting.
From-SVN: r206980
2013-10-10 Pascal Obry <obry@adacore.com>
* prj-conf.adb: Minor typo fixes in comment.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-taprop-posix.adb (Compute_Deadline): New local subprogram,
factors common code between Timed_Sleep and Timed_Delay.
2013-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Record_Type): Don't replace others if
expander inactive. This avoids clobbering the ASIS tree in
-gnatct mode.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Op_Expon): Avoid crash testing for
fixed-point case in preanalysis mode (error will be caught during
full analysis).
From-SVN: r203362
2013-04-23 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Significant
rewrite to make sure Is_Ignore is properly captured when aspect
is declared.
* sem_ch6.adb: Minor reformatting.
* sem_prag.adb (Analyze_Pragma): Do not test policy at time of
pragma for the case of a pragma coming from an aspect (already
tested when we analyzed the aspect).
2013-04-23 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Parse_Project_And_Apply_Config): New
Boolean parameter Implicit_Project, defaulted to False. Call
Prj.Part.Parse with Implicit_Project.
* prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
parameter Implicit_Project, defaulted to False.
* prj-part.adb (Parse_Single_Project): New Boolean parameter
Implicit_Project, defaulted to False. When Implicit_Project is
True, change the Directory of the project node to the Current_Dir.
* prj-part.ads (Parse): New Boolean parameter, defaulted to False
2013-04-23 Robert Dewar <dewar@adacore.com>
* exp_util.adb: Minor reformatting.
From-SVN: r198184
2013-02-06 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
runtime check on assignment to tagged types if compiling with checks
suppressed.
2013-02-06 Robert Dewar <dewar@adacore.com>
* exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
s-os_lib.adb: Minor reformatting
2013-02-06 Vincent Celier <celier@adacore.com>
* ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* snames.ads-tmpl: Add Name_Rational and pragma Rational.
* par-prag.adb: Recognize pragma Rational.
* opt.ads (Rational_Profile): flag to control compatibility mode
with Rational compiler.
* sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
is enable, accept renaming declarations where the new subprogram
and the renamed entity have the same name.
* sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
Rational as a profile.
From-SVN: r195793
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Expand_Loop_Entry_Attributes): When
dealing with a for loop that iterates over a subtype indication
with a range, use the low and high bounds of the subtype.
2013-02-06 Nicolas Roche <roche@adacore.com>
* s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
be quoted
2013-02-06 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Process_Project_And_Apply_Config): New variable
Conf_Project. New recursive procedure Check_Project to find a non
aggregate project and put its Project_Id in Conf_Project. Fails if
no such project can be found.
(Get_Or_Create_Configuration_File): New parameter Conf_Project.
(Do_Autoconf): Use project directory of project Conf_Project to store
the generated configuration project file.
* prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
Conf_Project.
2013-02-06 Javier Miranda <miranda@adacore.com>
* sem_res.adb (Resolve_Actuals): Generate a read
reference for out-mode parameters in the cases specified by
RM 6.4.1(12).
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
Loop_Entry, instead wait until the attribute has been expanded. The
delay ensures that any generated checks or temporaries are inserted
before the relocated prefix.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Code clean up.
From-SVN: r195792
2013-02-06 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
the special case of a user-defined equality that overrides
the predefined equality of a nonderived type declared in a
declarative part.
* sem_util.adb (Collect_Primitive_Operations): Add test for
Is_Primitive when looping over the subprograms following a type,
to catch the case of primitives such as a user-defined equality,
which otherwise won't be found when the type is not a derived
type and is declared in a declarative part.
2013-02-06 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Check_Target): Always return True when Target
is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
New procedure to get the value of attribute Target in the main
project.
(Get_Or_Create_Configuration_File.Do_Autoconf): No
need to get the value of attribute Target in the main project.
(Get_Or_Create_Configuration_File): Call Get_Project_Target and
use the target fom this call.
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
* erroutc.adb (Validate_Specific_Warning): Do not issue the
warning about an ineffective Pragma Warnings for -Wxxx warnings.
* sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
* gnat_rm.texi (Pragma Warnings): Document coordination with
warnings of the GCC back-end.
From-SVN: r195786
2013-01-04 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Clean up order of N_xxx subtypes
2013-01-04 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Check_Target): Allow --autoconf= with no target.
From-SVN: r194897
2013-01-04 Robert Dewar <dewar@adacore.com>
* types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
2013-01-04 Robert Dewar <dewar@adacore.com>
* par-ch6.adb (P_Subprogram): Better handling of missing IS
after expression function.
* par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
2013-01-04 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_util.adb (Insert_Actions): In expression with
actions case, new actions are appended to the sequence rather than
prepended.
2013-01-04 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
* usage.adb: Add lines for -gnatw.d/w.D switches.
* warnsw.adb: Minor fixes (some missing cases of setting
Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
From-SVN: r194895
2013-01-04 Robert Dewar <dewar@adacore.com>
* exp_util.adb (Remove_Side_Effects): Make sure scope suppress
is restored on exit.
2013-01-04 Robert Dewar <dewar@adacore.com>
* usage.adb: Document -gnateF (check overflow for predefined Float).
2013-01-04 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): Remove incorrect
prevention of call to Apply_Type_Conversion_Checks, which resulted
in missing check flags in formal mode.
2013-01-04 Vincent Celier <celier@adacore.com>
* makeutl.ads (Db_Switch_Args): New table used by gprbuild.
* prj-conf.adb (Check_Builder_Switches): Check for switches
--config= (Get_Db_Switches): New procedure to get the --db
switches so that they are used when invoking gprconfig in
auto-configuration.
(Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
From-SVN: r194894
2013-01-04 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb: Minor reformatting.
2013-01-04 Vincent Celier <celier@adacore.com>
* makeutl.ads (Root_Environment): New variable, moved rom
gprbuild (Load_Standard_Base): New Boolean variable, moved
from gprbuild.
* prj-conf.adb (Check_Builder_Switches): New procedure to check
for switch --RTS in package Builder. If a runtime specified
by --RTS is a relative path name, but not a base name, then
find the path on the Project Search Path.
(Do_Autoconf): Call Check_Builder_Switches.
(Locate_Runtime): New procedure, moved from gprbuild, to get the
absolute paths of runtimes when they are not specified as a base name.
* prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
From-SVN: r194893
2013-01-03 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
a record extension has the same scalar storage order as the parent type.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Add comment.
2013-01-03 Vincent Celier <celier@adacore.com>
* prj.adb: Minor spelling error correction in comment.
2013-01-03 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): If a single main has been specified
as an absolute path, use its simple file name to find specific
switches, instead of the absolute path.
2013-01-03 Javier Miranda <miranda@adacore.com>
* sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
parameters that are record types or array types generate warnings
only compiling under -gnatw.i
* opt.ads (Extensions_Allowed): Restore previous documentation.
2013-01-03 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): If Target is specified in the
main project, but not on the command line, use the Target in
the project to invoke gprconfig in auto-configuration.
* makeutl.ads (Default_Config_Name): New constant String.
2013-01-03 Arnaud Charlet <charlet@adacore.com>
* usage.adb: Minor: fix typo in usage.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
an illegal component clause for an inherited component in a
record extension.
From-SVN: r194849
2012-01-30 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
code clean up.
* s-diflio.ads: Minor change.
2012-01-30 Javier Miranda <miranda@adacore.com>
* exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
to Get_Entry_Index. Required to generate code which provides
the correct value of Entry_Index in the target entry.
2012-01-30 Nicolas Roche <roche@adacore.com>
* system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
fix issue with zcx on VxWorks5.
2012-01-30 Pascal Obry <obry@adacore.com>
* prj.ads, prj.adb (For_Every_Project_Imported): Remove
In_Aggregate_Lib.
(For_Every_Project_Imported_Context): New generic routine with
a context parameter.
* prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
distributed complexity.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
From-SVN: r183702
2011-12-23 Pascal Obry <obry@adacore.com>
* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
parameter to generic formal procedure.
* prj.adb (For_Every_Project_Imported): Update accordingly.
(Recursive_Check): Likewise. Do not parse imported project for
aggregate library. This is needed as the imported projects are
there just to handle dependencies.
(Look_For_Sources): Likewise.
(Recursive_Add): Likewise.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
Add In_Aggregate_Lib parameter to routines used with
For_Every_Project_Imported generic procedure.
* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
(Check): Move where it is used. Fix implementation
to not check libraries that are inside aggregate libraries.
(Recursive_Check): Add In_Aggregate_Lib parameter.
2011-12-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
package is a referencer regardless of whether there is a
subsequent subprogram with an Inline pragma.
2011-12-23 Geert Bosch <bosch@adacore.com>
* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
From-SVN: r182656
2011-12-21 Pascal Obry <obry@adacore.com>
* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
Library_Fully_Standalone_Options and
Library_Fully_Standalone_Supported attributes.
* prj-nmsc.adb (Check_Library): Update check to take into
account fully standalone libraries. Such shared libraries can
only depend on static libraries.
(Check_Stand_Alone_Library): Add support for fully standalone libraries.
(Process_Project_Level_Simple_Attributes): Store value for
configuration attribute Library_Fully_Standalone_Supported.
* prj.ads, makeutl.adb (Standalone): New enumeration type.
(Project_Data): Standalone_Library now of type Standlone.
(Project_Configuration): Add Lib_Fully_Standalone_Supported
field.
(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
field.
* clean.adb (Clean_Project): Adjust to new type for Standalone.
* make.adb (Library_Phase): Adjust to new type for Standalone.
(Gnatmake): Likewise.
* mlib-prj.adb (Build_Library): Adjust to new type for
Standalone.
2011-12-21 Thomas Quinot <quinot@adacore.com>
* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
Set_Standard_Output just before producing normal (non-diagnostic)
output.
* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
(and again after parsing project files).
2011-12-21 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): When the object directory does
not exist, create auto.cgpr in the directory where temporary
files are created.
From-SVN: r182573