Age | Commit message (Collapse) | Author | Files | Lines |
|
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Swap_Private_Dependents): New internal routine
to Install_Private_Declarations, to make the installation of
private dependents recursive in the presence of child units.
* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
the Private_Dependents of a private subtype.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
retrieval of the block declarations.
* par-ch4.adb (P_Name): Let the name parsing machinery create
a sequence of nested indexed components for attribute Loop_Entry.
* sem_attr.adb (Analyze_Attribute): Add local constant
Context. Reimplement part of the analysis of attribute Loop_Entry.
(Convert_To_Indexed_Component): Removed.
* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
an indexed component after it has been rewritten into attribute
Loop_Entry.
From-SVN: r198240
|
|
* gnat_ugn.texi: Add description of '--help' and '--version'
options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
2013-04-24 Arnaud Charlet <charlet@adacore.com>
* gnat_rm.texi: Minor syntax fix.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
what and why is being analyzed. Remove the decoration of renamings as
this simply falls out of the general analysis mechanism.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Explain_Redundancy): New routine.
(Resolve_Equality_Op): Place the error concerning a redundant
comparison to True at the "=". Try to explain the nature of the
redundant True.
2013-04-24 Javier Miranda <miranda@adacore.com>
* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
check in interface thunks since it is performed at the caller
side.
(Expand_Simple_Function_Return): No accessibility check
needed in thunks since the check is done by the target routine.
2013-04-24 Vincent Celier <celier@adacore.com>
* xref_lib.adb (Add_Entity): Use the canonical file names
so that source file names with capital letters are found on
platforms where file names are case insensitive.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* par-ch4.adb (P_Name): Continue to parse the name extension when the
construct is attribute Loop_Entry. Do not convert the attribute
reference into an indexed component when there is at least one
expression / range following 'Loop_Entry.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
(Process_PPCs): Generate procedure _Postconditions
only when the context has invariants or predicates or enabled
aspects/pragmas.
From-SVN: r198236
|
|
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
* expander.adb: Add call to Expand_N_Raise_Expression.
* par-ch11.adb (P_Raise_Expression): New procedure.
* par-ch4.adb (P_Relation): Handle Raise_Expression.
* par.adb (P_Raise_Expression): New procedure.
* sem.adb: Add handling for N_Raise_Expression.
* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
* stand.ads (Any_Type): Document use with N_Raise_Expression.
From-SVN: r197764
|
|
2012-12-05 Robert Dewar <dewar@adacore.com>
* atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
reformatting.
2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* par-ch5.adb (P_Condition): Handle properly Ada 2012
expressions that must be parenthesized before checking for
redundant parentheses when that check is enabled.
From-SVN: r194210
|
|
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
uninitialized allocator cannot carry an explicit not null
indicator.
* sem_ch4.adb (Analyze_Allocator): Remove code that implements
the check for AI05-0104, the check is syntactic and performed
in the parser.
2012-12-05 Geert Bosch <bosch@adacore.com>
* sem_attr.adb (Analyze_Attribute): Use base type for floating
point attributes.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications,
Ahalyze_Aspect_Default_Value): For a scalar type attach default
value to base type as well, because it is a type-specific aspect
even though it can be specified on a first subtype.
From-SVN: r194209
|
|
2012-12-05 Yannick Moy <moy@adacore.com>
* urealp.ads: Minor rewording.
2012-12-05 Yannick Moy <moy@adacore.com>
* aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
Contract_Cases aspects.
* sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
POST_CASE into CONTRACT_CASE in both grammar and code, to be
consistent with current language definition. Issue a more precise
error message when the pragma duplicates another pragma or aspect.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
for attribute Update.
(Expand_Update_Attribute): New routine.
* par-ch4.adb (P_Name): The sole expression of attribute Update
is an aggregate, parse it accordingly.
* sem_attr.adb (Analyze_Attribute): Verify the legality of
attribute Update.
(Eval_Attribute): Attribute Update does not
need evaluation because it is never static.
* snames.ads-tmpl: Add Name_Update to the list of special names
recognized by the compiler. Add an Attribute_Id for Update.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Remove_Side_Effects): For purposes of removing
side effects, qualified expressions do not receive a special
treatment, even though in Ada 2012 they are defined as object
references.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* par-ch3.adb: Minor reformatting.
From-SVN: r194207
|
|
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
the generation of discriminant checks when the left-hand side
has a type with hidden discriminants.
* sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
specify the node on which component visibility is being checked.
* sem_ch3.adb (Is_Visible_Component): Use new parameter to
determine whether the reference comes from a type conversion to
a full view of a private type with unknown discriminants.
* sem_ch4.adb (Analyze_Selected_Component): Call
Is_Visible_Component with added parameter.
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* make.adb: Minor comment update.
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* gnatlink.adb: Also use -x adascil in CodePeer mode when
calling gcc.
* exp_ch5.adb: Minor reformatting.
2012-12-05 Bob Duff <duff@adacore.com>
* exp_ch4.adb: Minor comment.
2012-12-05 Bob Duff <duff@adacore.com>
* par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
containing a conditional expression or quantified expression.
* sprint.adb: Update comment.
2012-12-05 Bob Duff <duff@adacore.com>
* style.adb, scans.ads, styleg.adb: Update comments.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Selected_Component): Handle properly an
expanded name whose prefix is the expanded name of an enclosing
entry, that is to say a construct such as T.E.X, where T is an
enclosing concurrent type and E is an enclosing entry.
From-SVN: r194204
|
|
2012-11-06 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
s-tarest.adb: Minor reformatting.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* s-tposen.ads: Minor comment update.
2012-11-06 Arnaud Charlet <charlet@adacore.com>
* sysdep.c: Rename sig* wrappers to use unique names.
2012-11-06 Yannick Moy <moy@adacore.com>
* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
name after being treated, in formal verification mode.
2012-11-06 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Updating gnattest section to reflect changes
in default behaviour of the tool.
From-SVN: r193215
|
|
2012-11-06 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
on platforms that do not support sockets (for the benefit of
subtype IOCTL_Req_T).
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (P_Primary): if-expressions, case-expressions,
and quantified expressions are legal if surrounded by parentheses
from an enclosing context, such as a call or an instantiation.
2012-11-06 Yannick Moy <moy@adacore.com>
* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
predefined implementation files, instead of returning
Not_Predefined_Unit on all .adb files.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
partition elaboration policy is sequential.
(Build_Task_Activation_Call): Likewise. Use
Activate_Restricted_Tasks on restricted profile.
(Make_Task_Create_Call): Do not use the _Chain
parameter if elaboration policy is sequential. Call
Create_Restricted_Task_Sequential in that case.
* exp_ch3.adb (Build_Initialization_Call): Change condition to
support concurrent elaboration policy.
(Build_Record_Init_Proc): Likewise.
(Init_Formals): Likewise.
* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
and set it in generated code if the elaboration policy is
sequential. The procedure called to activate all tasks is now
named __gnat_activate_all_tasks.
* rtsfind.adb (RE_Activate_Restricted_Task,
RE_Create_Restricted_Task_Sequential): New RE_Id literals.
* s-tarest.adb (Create_Restricted_Task): Added to create a task without
adding it on an activation chain.
(Activate_Tasks): Has now a Chain parameter.
(Activate_All_Tasks_Sequential): Added. Called by the binder to
activate all tasks.
(Activate_Restricted_Tasks): Added. Called during elaboration to
activate tasks of the units.
* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
(Partition_Elaboration_Policy): New variable (set by the binder).
(Create_Restricted_Task): Revert removal of the chain parameter.
(Create_Restricted_Task_Sequential): New procedure.
(Activate_Restricted_Tasks): Revert removal.
(Activate_All_Tasks_Sequential): New procedure.
From-SVN: r193214
|
|
2012-10-29 Thomas Quinot <quinot@adacore.com>
* sem_elab.adb: Minor reformatting and code reorganization.
2012-10-29 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Primary): Warn on bad use of unary minus.
2012-10-29 Robert Dewar <dewar@adacore.com>
* s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
* s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
s-vallli.adb: Use Bad_Value everywhere.
2012-10-29 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
in Alfa mode.
From-SVN: r192915
|
|
2012-10-02 Robert Dewar <dewar@adacore.com>
* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
sprint.ads, styleg.ads: Change name Conditional_Expression to
If_Expression.
* gcc-interface/trans.c (gnat_to_gnu): Replace
N_Conditional_Expression by N_If_Expression.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r191967
|
|
2012-10-02 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
typo preventing proper processing of Overflow_Checks pragmas
for general case.
2012-10-02 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
checks mode when bignum mode is used.
2012-10-02 Robert Dewar <dewar@adacore.com>
* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
From-SVN: r191962
|
|
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_ch9.adb (Check_Node): Allow attributes
that denote static function for lock-free implementation.
(Is_Static_Function): New routine.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Adjust skip_frames on Win64.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
* raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
_Unwind_GetGR on hpux when using libgcc unwinder. Part of
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb, sem_attr.adb: Minor reformatting.
* par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
considering that internal attribute names are not defined anymore
in the main attribute names list.
* snames.adb-tmpl (Get_Attribute_Id): Special processinf
for names CPU, Dispatching_Domain and Interrupt_Priority.
(Is_Internal_Attribute_Name): Minor reformatting.
* snames.ads-tmpl: New list of internal attribute names. Internal
attributes moved at the end of the attribute Id list.
From-SVN: r189380
|
|
2012-07-09 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor code reorganization (use Ekind_In).
* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Adjust previous patch.
2012-07-09 Vincent Celier <celier@adacore.com>
* make.adb (Compilation_Phase): Do not build libraries in
Codepeer mode (do not call Library_Phase).
From-SVN: r189379
|
|
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb: Extend previous change to elementary types.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
previous patch since unconditionally handling as renaming_as_body
renamings of predefined dispatching equality and unequality operator
cause visibility problems with private overridings of the equality
operator (see ACATS C854001).
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
case of internal attribute names (already rejected by the parser).
* par-ch13.adb (P_Representation_Clause): Complain if an internal
attribute name that comes from source occurs.
* par-ch4.adb (P_Name): Complain if an internal attribute name
occurs in the context of an attribute reference.
* par-util.adb (Signal_Bad_Attribute): Don't complain about
mispelling attribute with internal attributes.
* sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
of internal attribute names (already rejected by the parser).
* snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
* snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
Interrupt_Priority are marked as INT attributes since they
don't denote real attribute and are only used internally in
the compiler.
(Is_Internal_Attribute_Name): New routine.
From-SVN: r189378
|
|
2012-03-19 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Minor code clean up.
2012-03-19 Vincent Celier <celier@adacore.com>
* make.adb (Scan_Make_Arg): Make sure all significant -m switches
on the command line are counted.
2012-03-19 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
reference case
2012-03-19 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (Check_Bad_Exp): New procedure
2012-03-19 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
initial framework for Valid_Scalars attribute.
2012-03-19 Robert Dewar <dewar@adacore.com>
* scng.adb (Scan): Recognize incorrect preprocessor directive
2012-03-19 Robert Dewar <dewar@adacore.com>
* atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
* atree.ads (Num_Extension_Nodes): New variable
* debug.adb: New debug flag -gnatd.N
* gnat1drv.adb (Adjust_Global_Switches): Adjust
Num_Extension_Nodes if -gnatd.N set
2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
descriptions.
2012-03-19 Robert Dewar <dewar@adacore.com>
* opt.ads: Remove HLO_Active flag.
* sem.adb: Remove call of high level optimizer.
* sem.ads (New_Nodes_OK): Removed.
* sem_ch10.adb: Remove references to New_Nodes_OK.
* switch-c.adb: Remove handling of -gnatH switch.
From-SVN: r185528
|
|
2011-11-21 Robert Dewar <dewar@adacore.com>
* sinput.ads: Minor comment fix.
2011-11-21 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
Last_Bit, Position): Handle 2005 case.
2011-11-21 Robert Dewar <dewar@adacore.com>
* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
(Increment): Same fix.
* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
volatile if the B component is volatile. This affects the check
for passing such a by reference volatile actual to a non-volatile
formal (which should be illegal)
2011-11-21 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
size and alignment for foreign convention enumeration types.
* layout.adb (Set_Elem_Alignment): Redo setting of alignment
when size is set.
2011-11-21 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
Apply_Discriminant_Check, Apply_Divide_Check,
Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
Selected_Range_Checks): Replace reference to Expander_Active
with reference to Full_Expander_Active, so that expansion of
checks is not performed in Alfa mode
2011-11-21 Tristan Gingold <gingold@adacore.com>
* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
fact that we properly detect the error if Access is used.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* exp_imgv.adb: Add with and use clause for Errout.
(Expand_Width_Attribute): Emit a warning when in
configurable run-time mode to provide a better diagnostic message.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* s-finmas.adb (Finalize): Add comment concerning double finalization.
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): If the access definition
is itself the return type of an access to function definition
which is ultimately the return type of an access to subprogram
declaration, its scope is the enclosing scope of the ultimate
access to subprogram.
2011-11-21 Steve Baird <baird@adacore.com>
* sem_res.adb (Valid_Conversion): If a conversion was legal
in the body of a generic, then the corresponding conversion is
legal in the expanded body of an instance of the generic.
From-SVN: r181568
|
|
2011-08-30 Jose Ruiz <ruiz@adacore.com>
* s-taskin.ads (Common_ATCB): Add field domain which contains the
dispatching domain to which the task belongs.
* s-taskin.adb (Initialize): Create the default system dispatching
domain and make the environment task part of it.
* s-mudido.ads: Add this new spec for standard Ada 2012 package
Ada.Multiprocessors.Dispatching_Domains.
* s-mudido.adb: Add this new body for targets not supporting
dispatching domains.
* s-mudido-affinity.adb: Add this new body for targets supporting
dispatching domains setting the affinity to a CPU set.
* bindgen.adb (Dispatching_Domain_Used, Check_Dispatching_Domains_Used,
Gen_Adainit): When package System.Multiprocessors.Dispatching_Domains
is used we call the procedure to signal that when we are about to call
the main subprogram no new dispatching domain can be created.
(Check_File_In_Partition): Factor out the common functionality used by
Check_System_Restrictions_Used and Check_Dispatching_Domains_Used.
* s-tassta.adb (Create_Task): Tasks inherit the dispatching domain of
their activators.
* s-taprop.ads (Set_Task_Affinity): Add this new procedure to set task
affinities.
* s-taprop-dummy.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vms.adb
(Set_Task_Affinity): Dummy null body for these targets not supporting
task affinities.
s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
s-taprop-vxworks.adb (Create_Task, Enter_Task, Initialize): Handle
dispatching domains and set the affinity of the environment task.
(Set_Task_Affinity): Procedure that uses the underlying CPU set
functionality to handle dispatching domains, pragma CPU and Task_Info.
s-winext.ads (SetThreadAffinityMask): Import this function needed to
set CPU masks.
* s-osinte-solaris.ads (psetit_t, pset_create, pset_assign, pset_bind):
Import the functionality to handle CPU set affinities.
* affinity.c: New file.
* s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads,
s-vxwext-rtp.ads (taskMaskAffinitySet): Add this new spec for setting
affinity masks.
* s-vxwext.adb, s-vxwext-kernel.adb, s-vxwext-rtp.adb
(taskMaskAffinitySet): Body returning an error indicating that task
affinities are not supported.
Makefile.rtl: Indicate that s-mudido is part of libgnarl.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks SMP,
Solaris, Windows, and {x86,PowerPC, ia64,x86_64} Linux): Use the
s-mudido-affinity.adb body which supports task affinities.
2011-08-30 Thomas quinot <quinot@adacore.com>
* sem_ch13.adb: Minor reformatting.
2011-08-30 Vincent Celier <celier@adacore.com>
* vms_conv.adb (Process_Argument): When the qualifier
/UNCHECKED_SHARED_LIB_IMPORTS is for GNAT COMPILE, do not put the
corresponding switch --unchecked-shared-lib-imports after -cargs, as it
is for gnatmake, not for the compiler.
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Quantified_Expression): Analyze iterator
specification and condition only in Semantics_Only mode. Otherwise the
analysis is done after expression has been rewritten as loop.
* sem_ch5.adb (Analyze_Iterator_Specification): Always generate a
temporary for the iterator name (the domain of iteration) because it
may need finalization actions and these must be generated outside of
the loop.
* sem_res.adb (Resolve_Quantified_Expression): Resolve only in
Semantic_Only mode.
* exp_ch4.adb (Expand_Quantified_Expression): Analyze and resolve once
rewritten as loop.
* exp_ch5.adb (Expand_Iterator_Loop): Code clean-up, now that the
iterator is always an expression.
2011-08-30 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Unparen_Cond_Case_Quant_Expression): New function
(P_Expression_If_OK): New spec checks parens
(P_Expression_Or_Range_Attribute_If_OK): New spec checks parens
* par.adb (P_Expression_If_OK): New spec checks parens
(P_Expression_Or_Range_Attribute_If_OK): New spec checks parens
From-SVN: r178321
|
|
2011-08-29 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting.
2011-08-29 Bob Duff <duff@adacore.com>
* par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
* par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
rather than Name_Some, since Tok_Some is now recognized as reserved.
* scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
reserved word.
* scans.ads: Minor comment fixes.
* snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
for other language versions.
* scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name.
* par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
Ada 2012.
(P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
unreserved in earlier Ada versions. This is now handled in
Snames.Is_Keyword_Name.
* snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
words as for other language versions.
* gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
Ada 2012, not just Ada 2005.
From-SVN: r178191
|
|
2011-08-05 Bob Duff <duff@adacore.com>
* sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
subpools.
* par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
general indexing aspects of Ada2012. Called when analyzing indexed
components when other interpretations fail.
* sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
in an expression context where overloading is meaningful. This excludes
the occurrence in an aspect specification (efficiency only).
* sem_attr.adb (Analyze_Attribute): indicate that the attributes
related to iterators can be set by an attribute specification, but
cannot be queried.
* sem_ch13.adb (Analyze_Aspect_Specifications): handle
Constant_Indexing and Variable_Indexing.
(Check_Indexing_Functions): New procedure to perform legality checks.
Additional semantic checks at end of declarations.
From-SVN: r177446
|
|
2011-08-04 Yannick Moy <moy@adacore.com>
* par-ch4.adb (P_Primary): preferentially issue an error message about
a missing parenthesis arount a conditional or case expression in Ada
2012 mode, if we detect that the alignment is not correct for a
statement.
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Process_Declarations): Do not consider the result of a
tag-to-class-wide conversion as needing finalization actions.
* exp_util.adb (Has_Controlled_Objects): Do not consider the result of
a tag-to-class-wide conversion as needing finalization actions.
(Is_Finalizable_Transient): The result of a tag-to-class-wide
conversion does not need finalization actions.
(Is_Tag_To_CW_Conversion): New routine.
* exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
whether an object is the result of a tag-to-class-wide conversion.
2011-08-04 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
the left-hand-side and right-hand-side of a conjunct are inserted when
translating a pre- or postcondition
* sem_ch6.adb: Correct typo in comment
2011-08-04 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi: Ravenscar does not prohibit dependence on
Unchecked_Conversion and Unchecked_Deallocation.
2011-08-04 Thomas Quinot <quinot@adacore.com>
* make.adb: Minor reformatting.
From-SVN: r177371
|
|
the message strings when...
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
* a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
Rewritten to create the message strings when the exception is not
raised by an abort during finalization.
* a-except.ads, a-except-2005.ads: Add pragma Export for procedure
Raise_From_Controlled_Operation and update its associated comment.
* a-fihema.ads, a-fihema.adb: New GNAT unit.
Ada.Finalization.Heap_Management provides key functionality
associated with controlled objects on the heap, their creation,
finalization and reclamation. Type Finalization_Collection is
effectively a wrapper which sits ontop of a storage pool and performs
all necessary bookkeeping for all the objects it contains. Each
access-to-controlled or access-to-class-wide type receives a collection
as part of its expansion. The compiler generates buffer code and
invokes Allocate / Deallocate to create and destroy allocated
controlled objects.
* a-finali.adb ("="): Removed.
* a-finali.ads ("="): Removed. Controlled types no longer carry hidden
fields Prev and Next.
* ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
A library unit with at least one controlled object on the library level
has a special finalizer which is invoked by the binder. To signal this,
ali files carry field PF.
* ali.ads: New field in type Unit_Record called Has_Finalizer. Add
associated comment on field usage.
* a-tags.adb (Get_RC_Offset): Removed.
(Needs_Finalization): New routine.
* a-tags.ads: Update the structure of the GNAT dispatch tables.
Dispatch tables now carry field Needs_Finalization which provides
runtime indication whether a type is controlled or has controlled
components or both. Remove field RC_Offset.
(Get_RC_Offset): Removed along with its associated pragma Export.
Since tagged types with controlled components no longer carry hidden
field _controller, the special mechanism to retrieve its location is no
longer needed.
(Needs_Finalization): New routine.
* atree.ads, atree.adb (Elist24): New routine.
(Set_Elist24): New routine.
* atree.h: Add a define clause for Elist24.
* bindgen.adb New library-level variable Lib_Final_Built.
(Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
presence of a VM target, the routine generates calls to the proper
library finalization routine.
(Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
targets. Set the correct library finalization routine depending on
whether the library has controlled objects or this is a VM compilation.
(Gen_Finalize_Library_Ada): New routine. This procedure generates calls
to library-level finalizers of compiled units in reverse order of
elaboration. It also produces exception management code and reraises a
potential exception after all units have been finalized.
(Gen_Finalize_Library_C): New routine. This procedure generates calls to
library-level finalizers of compiled units in reverse order of
elaboration.
(Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
definitions of all library-level finalizers available to the compilation
(Gen_Main_Ada): Directly call Adafinal which now contails all target
dependent code.
(Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
System.Standard_Library.Adafinal directly. If the library needs
finalization actions, create the sequence of finalization calls.
(Gen_Output_File_Ada): Alphabetize local variables and constants.
Generate a with clause for System.Soft_Links when compiling for a VM.
Remove the code which imports System.Standard_Library.Adafinal as
Do_Finalize. Generate the library finalization routine.
(Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
If the library needs finalization actions, create all the definitions
of library- level finalizers.
(Has_Finalizer): New routine. Determines whether at least one compiled
unit has a library-level finalizer.
Add type Qualification_Mode.
(Set_Unit_Name): Add a formal which controls the replacement of a dot.
* einfo.adb: New usage of field 15 as Return_Flag.
Remove Finalization_Chain_Entity from the usages of field 19.
Remove Associated_Final_Chain from the usages of field 23.
New usage of field 23 as Associated_Collection.
New usage of field 24 as Finalizer.
New usage of flag 252 as Is_Processed_Transient.
(Associated_Final_Chain): Removed.
(Associated_Collection): New routine.
(Finalization_Chain_Entity): Removed.
(Finalizer): New routine.
(Is_Finalizer): New routine.
(Is_Processed_Transient): New routine.
(Return_Flag): New routine.
(Set_Associated_Final_Chain): Removed.
(Set_Associated_Collection): New routine.
(Set_Finalization_Chain_Entity): Removed.
(Set_Finalizer): New routine.
(Set_Is_Processed_Transient): New routine.
(Set_Return_Flag): New routine.
(Write_Entity_Flags): Include Is_Processed_Transient to the list of
displayed flags.
(Write_Field8_Name): Alphabetize the output.
(Write_Field11_Name): Alphabetize the output.
(Write_Field12_Name): Alphabetize the output.
(Write_Field13_Name): Alphabetize the output.
(Write_Field14_Name): Alphabetize the output.
(Write_Field15_Name): Alphabetize the output.
(Write_Field16_Name): Alphabetize the output.
(Write_Field17_Name): Alphabetize the output.
(Write_Field18_Name): Alphabetize the output.
(Write_Field19_Name): Alphabetize the output. Remove the output of
Finalization_Chain_Entity.
(Write_Field20_Name): Alphabetize the output.
(Write_Field21_Name): Alphabetize the output.
(Write_Field22_Name): Alphabetize the output.
(Write_Field23_Name): Alphabetize the output. Remove the output of
Associated_Final_Chain. Add output for Associated_Collection.
(Write_Field24_Name): Alphabetize the output.
(Write_Field25_Name): Add output for Finalizer.
(Write_Field26_Name): Alphabetize the output.
(Write_Field27_Name): Alphabetize the output.
(Write_Field28_Name): Alphabetize the output.
* einfo.ads: Add new field description for Associated_Collection and
its uses in nodes.
Remove Associated_Final_Chain and its uses in nodes.
Remove Finalization_Chain_Entity and its uses in nodes.
Add new field description for Finalizer and its uses in nodes.
Add new synthesized attribute Is_Finalizer.
Add new flag description for Is_Processed_Transient and its uses in
nodes.
Add new field description for Return_Flag and its uses in nodes.
(Associated_Final_Chain): Removed along with its pragma Inline.
(Associated_Collection): New routine and pragma Inline.
(Finalization_Chain_Entity): Removed along with its pragma Inline.
(Finalizer): New routine and pragma Inline.
(Is_Finalizer): New routine and pragma Inline.
(Is_Processed_Transient): New routine and pragma Inline.
(Return_Flag): New routine and pragma Inline.
(Set_Associated_Final_Chain): Removed along with its pragma Inline.
(Set_Associated_Collection): New routine and pragma Inline.
(Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
(Set_Finalizer): New routine and pragma Inline.
(Set_Is_Processed_Transient): New routine and pragma Inline.
(Set_Return_Flag): New routine and pragma Inline.
* exp_aggr.adb: Alphabetize subprograms.
(Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
(Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
associated comments. Remove local variables External_Final_List and
Attach.
Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
Ancestor. Remove the retrieval of finalization lists. Update the call to
Make_Adjust_Call.
(Convert_Aggr_In_Allocator): Remove the retrieval of finalization
lists. Update the call to Late_Expansion.
(Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
(Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
(Gen_Assign): Remove the retrieval of the finalization list used to
build the assignment. Update the calls to Make_Init_Call and
Make_Adjust_Call.
(Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
Remove the mechanism to determine attachment levels and finalization
list retrieval. Remove the processing for coextensions.
(Init_Controller): Removed. Controllers no longer exist.
(Late_Expansion): Remove formals Flist and Obj along with their
associated comments. Update the calls to Build_Record_Aggr_Code and
Build_Array_Aggr_Code.
* exp_ch13.adb (Expand_N_Free_Statement): New routine.
(Expand_N_Freeze_Entity): Add special processing for finalizers which
appear in entry bodies, protected subprograms and task bodies.
* exp_ch13.ads (Expand_N_Free_Statement): New routine.
* exp_ch3.adb (Add_Final_Chain): Removed.
(Build_Array_Init_Proc): Alphabetize local variables.
(Build_Assignment): Alphabetize local variables. Update the call to
Maked_Adjust_Call.
(Build_Class_Wide_Master): Rename local variables to better reflect
their role.
(Build_Discriminant_Assignments): Code reformatting.
(Build_Init_Call_Thru): Code reformatting.
(Build_Init_Procedure): Code reformatting. Generate a special version
of Deep_Finalize which is capable of finalizing all initialized
components and ignore the rest.
(Build_Init_Statements): Rename local variables to better reflect their
role.
Reimplement the mechanism to include the creation and update of an index
variable called a "counter". It is used as a bookmark for tracing
initialized and non-initialized components.
(Build_Initialization_Call): Remove local variable Controller_Typ.
Alphabetize all local variables. Remove the initialization of the
record controller and update the call to Make_Init_Call.
(Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
New local variable Counter.
(Constrain_Array): Alphabetize.
(Expand_Freeze_Array_Type): Create a collection instead of a
finalization list.
(Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
Finalize_Address which is used in conjunction with allocated controlled
objects.
(Expand_N_Object_Declaration): Remove the creation of a finalization
list for anonymous access types. Update the calls to Make_Init_Call and
Make_Adjust_Call.
(Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
retrieval of finalization lists. Remove the expansion of the record
controller. Create TSS primitive Finalize_Address used in conjunction
with controlled objects on the heap. Create finalization collections
for access-to-controlled record components.
(Expand_Record_Controller): Removed.
(Freeze_Type): Remove the freezing of record controllers. Freezing of
class-wide types now requires additional processing. Create
finalization collections for access-to-controlled types.
(Increment_Counter): New routine.
(Make_Counter): New routine.
(Make_Eq_If): Remove the mention of Name_uController.
(Make_Predefined_Primitive_Specs): There is no longer need to skip
types coming from System.Finalization_Root.
(Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
(Predefined_Primitive_Bodies): There is no longer need to skip types
coming from System.Finalization_Root.
(Stream_Operation_OK): Do not generate stream routines for
type Ada.Finalization.Heap_Management.Finalization_Collection.
* exp_ch3.ads: Alphabetize subprograms.
* exp_ch4.adb: Remove with and use clause for Sem_Ch8.
Add with and use clause for Lib.
(Complete_Coextension_Finalization): Removed.
(Complete_Controlled_Allocation): New routine. Create a finalization
collection for anonymous access-to-controlled types. Create a custom
Allocate which interfaces with the back end and the machinery in
Heap_Management.
(Expand_Allocator_Expression): Add necessary calls to
Complete_Controlled_Allocation. Remove the retrieval of finalization
lists. Update the calls to Make_Adjust_Call. Generate a call to
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
the associated collection.
(Expand_N_Allocator): Remove the processing for dynamic coextensions.
Code clean up. Remove the retrieval of finalization lists and
attachment levels.
Update the call to Make_Init_Call. Generate a call to
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
the associated collection.
(Get_Allocator_Final_List): Removed. Finalization lists are not
available.
(Suitable_Element): Remove the mention of Name_uController.
* exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
(Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
the left hand side, carry out the assignment and adjust the left hand
side.
* exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
(Add_Collection_Actual_To_Build_In_Place_Call): New routine.
(BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
BIP_Collection and BIPcollection.
(Build_Heap_Allocator): New routine used to allocate the return object
of a build-in-place function onto a collection.
(Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
(Expand_Call): Do not replace direct calls to Deep routines with their
aliases.
(Expand_N_Extended_Return_Statement): Give all variables shorter names
and update their occurrences. Add a special return flag to monitor the
[ab]normal execution of the function. The flag is set right before the
return statement.
Rewrite the mechanism used to allocate a build-in-place return object
on the heap or on a storage pool.
(Is_Direct_Deep_Call): New routine.
(Make_Build_In_Place_Call_In_Allocator): Add a collection to a
build-in-place function call instead of a final list. Build a call to
Set_Finalize_Address_Ptr to decorate the associated collection.
(Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
order to name the build-in-place function call's result for later
finalization. Add a collection to a build-in-place function call
instead of a final list.
(Make_Build_In_Place_Call_In_Assignment): Add a collection to a
build-in-place function call instead of a final list. Remove the code
which moves one final list and transforms it into the actual in a
nested build-in-place call.
(Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
build-in-place function call instead of a final list.
(Move_Final_List): Removed.
(Needs_BIP_Collection): New routine.
(Needs_BIP_Final_List): Removed.
* exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
enumeration type BIP_Formal_Kind.
Update the related comment.
(Needs_BIP_Collection): New routine.
(Needs_BIP_Final_List): Removed.
* exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
majority of subprograms in this unit. Add Name_Finalize_Address to
array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
(Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
statements for an array type.
(Build_Adjust_Statements): Create the adjust statements for a record
type.
(Build_Cleanup_Statements): New routine. A procedure which given any
construct containing asynchronous calls, references to _master, or is a
task body, a task allocation or a protected body produces the necessary
runtime calls to clean up these constructs.
(Build_Exception_Handler): New routine.
(Build_Final_List): Removed.
(Build_Finalization_Collection): New routine. A core procedure which
creates a collection to service heap allocated controlled objects
associated with an access-to-controlled type.
(Build_Finalize_Statements): Create the finalization statements for a
record types.
(Build_Finalizer): New routine. A core procedure which given any
construct with declarations and/or statements detects all objects which
need any type of clean up (controlled objects, protected objects) and
generates all necessary code to clean up the said objects in the proper
order.
(Build_Finalizer_Call): New routine.
(Build_Initialize_Statements): Create the initialization statements for
an array type. The generated routine contains code to finalize partially
initialized arrays.
(Build_Object_Declarations): New routine.
(Build_Raise_Statement): New routine.
(Clean_Simple_Protected_Objects): Removed.
(Controller_Component): Removed.
(Enclosing_Function): New routine.
(Expand_Cleanup_Actions): Create a finalizer for a construct which has
either declarations or statements or both.
(Expand_N_Package_Body): Create a finalizer for a non-generic package.
(Expand_N_Package_Declaration): Create a finalizer for a non-generic
package.
(Find_Final_List): Removed.
(Global_Flist_Ref): Removed.
(In_Finalization_Root): Removed.
(Insert_Actions_In_Scope_Around): Determine the range of the transient
scope in terms of tree nodes. Process all transient variables within
that range.
(Make_Adjust_Call): Rewritten. There is no longer an attach call
generated after the adjust.
(Make_Attach_Call): Removed.
(Make_Call): New routine.
(Make_Clean): Removed.
(Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
build routines.
(Make_Deep_Proc): Rewritten to generate the new profile signature used
in Deep routines.
(Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
build routines.
(Make_Final_Call): Modified to simply create a call to either
Deep_Finalize or Finalize.
(Make_Finalize_Address_Body): New routine.
(Make_Finalize_Address_Stmts): New routine. A function which produces
TSS primitive Finalize_Address used in conjunction with heap allocated
controlled objects.
(Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
(Make_Init_Call): Rewritten. There is no longer an attach call
generated after initialization.
(Make_Local_Deep_Finalize): New routine.
(Make_Set_Finalize_Address_Ptr_Call): New routine.
(Make_Transient_Block): Remove the finalization list retrieval and
manipulation.
(Needs_Finalization): Moved to Exp_Util.
(Parent_Field_Type): New routine.
(Preprocess_Components): New routine.
(Process_Transient_Objects): New routine.
(Wrap_HSS_In_Block): New routine.
(Wrap_Transient_Declaration): Remove finalization list management and
controller insertion.
(Wrap_Transient_Expression): Code reformatting.
(Wrap_Transient_Statement): Code reformatting.
* exp_ch7.ads (Build_Final_List): Removed.
(Build_Finalization_Collection): New routine.
(Build_Raise_Statement): New routine.
(Controller_Component): Removed.
(Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
(Find_Final_List): Removed.
(In_Finalization_Root): Removed.
(Is_Simple_Protected_Type): Update related comment.
(Make_Adjust_Call): New parameter profile and associated comments.
(Make_Attach_Call): Removed.
(Make_Final_Call): New parameter profile and associated comments.
(Make_Finalize_Address_Body): New routine.
(Make_Init_Call): New parameter profile and associated comments.
(Make_Local_Deep_Finalize): New routine.
(Make_Set_Finalize_Address_Ptr_Call): New routine.
(Needs_Finalization): Moved to Exp_Util.
* exp_ch9.adb (Add_Object_Pointer): Code reformatting.
(Expand_N_Protected_Body): Remove the handling of finalization lists.
(Find_Protection_Type): Moved to Exp_Util.
* exp_disp.adb: Remove with and use clauses for Exp_Ch7.
(Make_DT): Update sequence of dispatch table initialization. Remove the
initialization of field RC_Offset. Add initialization of field Needs_
Finalization.
* exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
Reimplement how an object is first finalized, then deallocated.
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
Code reformatting.
* exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
Register TSS_Finalize_Address with type TSS_Names.
* exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
procedure provides the interface between an allocation / deallocation
and the support machinery in Ada.Finalization.Heap_Management.
(Find_Init_Call): Code reformatting.
(Find_Init_Call_In_List): Code reformatting.
(Find_Protection_Type): Moved from Exp_Ch9.
(Find_Prim_Op): Reimplement to add preference of recovered primitive.
(Has_Controlled_Coextensions): Removed.
(Has_Controlled_Objects): New routine.
(In_Library_Level_Package_Body): New routine.
(Insert_Action_After): New routine.
(Is_Finalizable_Transient): New routine. This predicate determines
whether an object declaration is one of the many variants of controlled
transients.
(Is_Null_Access_BIP_Func_Call): New routine.
(Is_Non_BIP_Func_Call): New routine.
(Is_Related_To_Func_Return): New routine.
(Needs_Finalization): Moved from Exp_Ch7.
* exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
(Find_Protection_Type): Moved from Exp_Ch9.
(Has_Controlled_Coextensions): Removed.
(Has_Controlled_Objects): New routine.
(In_Library_Level_Package_Body): New routine.
(Insert_Action_After): New routine.
(Is_Finalizable_Transient): New routine.
(Is_Null_Access_BIP_Func_Call): New routine.
(Is_Non_BIP_Func_Call): New routine.
(Is_Related_To_Func_Return): New routine.
(Needs_Finalization): Moved from Exp_ch7.
* expander.adb (Expand): Add a case for N_Free_Statement.
* freeze.adb (Freeze_All): Replace the generation of a finalization
list with a collection for access-to-controlled types.
(Freeze_Entity): Code reformatting.
(Freeze_Record_Type): Remove the freezing of a record controller
component.
(Freeze_Subprogram): Code reformatting.
* inline.adb (Cleanup_Scopes): Remove the reset of the scope
finalization list.
* lib-writ.adb (Write_Unit_Information): Output "PF" when a package
has a library-level finalizer.
* lib-writ.ads: Add "PF" to the sequence of unit attributes.
* a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
* Makefile.rtl: Remove a-filico and s-finimp from the list of object
files. Add a-fihema to the list of object files.
* par-ch4.adb:
Alphabetize the associations in type Is_Parameterless_Attribute.
* rtsfind.ads: Ada.Finalization_List.Controller and
System.Finalization_Implementation are no longer a GNAT unit.
Update the range of type Ada_Finalization_Child. Remove the following
recoverable entities:
RE_Attach_To_Final_List
RE_Deep_Tag_Attach
RE_Finalize_List
RE_Finalize_One
RE_Finalizable_Ptr_Ptr
RE_Global_Final_List
RE_Limited_Record_Controller
RE_List_Controller
RE_Move_Final_List
RE_Record_Controller
RE_Simple_List_Controller
Add the following recoverable entities:
RE_Add_Offset_To_Address
RE_Allocate
RE_Base_Pool
RE_Deallocate
RE_Exception_Identity
RE_Finalization_Collection
RE_Finalization_Collection_Ptr
RE_Needs_Finalization
RE_Save_Library_Occurrence
RE_Set_Finalize_Address_Ptr
RE_Set_Storage_Pool_Ptr
RE_Storage_Count
* sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
Name_uController.
* sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
(First_Stored_Discriminant): Remove the mention of Name_uController.
* sem_aux.ads: Comment reformatting.
* sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
to redecorate an already existing class-wide type.
(Decorate_Tagged_Type): New parameter profile and associated comment.
Create a "shadow class-wide type" for a shadow entity.
* sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
of the final chain along with the associated comment.
* sem_ch3.adb (Access_Type_Declaration): Add new local variable
Full_Desig and set it to the full view of the designated type.
Initialize the finalization collection to empty.
(Build_Derived_Record_Type): Alphabetize local variables. Code
reformatting.
(Collect_Fixed_Components): Remove the mention of Name_uController.
(Create_Constrained_Components): Remove the mention of Name_uController.
(Make_Class_Wide_Type): Add specialized code to redecorate an existing
class-wide type of a shadow entity.
(Process_Full_View): Update the machinery which marks type
Limited_Controlled's entity as limited.
* sem_ch4.adb (Analyze_One_Call): Code reformatting.
* sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
list, instead make a collection build-in-place formal.
* sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
a designated type in order to establish a match between the renaming
and the renamed entity.
(Find_Selected_Component): Add guard to prevent spurious exceptions
from being raised on .NET/JVM.
* sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
to the list of primitive that need special processing. Update arrays
C_Names and D_Names.
(Replace_Types): Handle class-wide types.
* sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
different parameter profile, look at the first formal.
* sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
use clauses for Exp_Util.
* sem_res.adb: Remove with and use clauses for Elists.
(Propagate_Coextensions): Removed.
(Resolve_Allocator): Do not propagate the list of coextensions from one
allocator to another.
* sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
Deaccessed_T to Desig_Typ.
(Enter_Name): Remove the mention of Name_uController.
(Gather_Components): Remove the mention of Name_uController.
(Incomplete_Or_Private_View): New routine.
(Is_Coextension_Root): Removed.
(Is_Fully_Initialized_Type): Remove the mention of Name_uController.
* sem_util.ads (Incomplete_Or_Private_View): New routine.
(Is_Coextension_Root): Removed.
* s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
Controlled types are now derived from a null tagged record. Remove
types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
* sinfo.adb (Coextensions): Removed.
(Set_Coextensions): Removed.
* sinfo.ads: Remove Coextensions from the explanation of node fields
and its uses in nodes.
Update the field usage of N_Allocator.
(Coextensions): Removed along with its pragma Inline.
(Set_Coextensions): Removed along with its pragma Inline.
* snames.ads-tmpl: Remove names
Name_uClean
Name_uController
Name_uFinal_List
Name_uLocal_Final_List
Name_Finalization_Root
Name_Next
Name_Prev
Add names
Name_uFinalizer
Name_Finalize_Address
* s-pooglo.adb (Allocate): Add overriding indicator.
(Deallocate): Add overriding indicator.
(Storage_Size): Add overriding indicator.
* s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
than Finalize_Global_List.
(Null_Finalize_Global_List): Removed.
(Save_Library_Occurrence): New routine.
* s-soflin.ads: Remove variable Finalize_Global_List along with its
initialization. Add variable Finalize_Library_Objects along with its
pragma Export. Add variables Library_Exception and
Library_Exception_Set along with their pragma Export.
(Null_Finalize_Global_List): Removed.
(Save_Library_Occurrence): New routine.
* s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
rather than Finalize_Global_List.
* tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
of the constructed node.
From-SVN: r177275
|
|
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: guard against error nodes in return statements.
2011-08-03 Arnaud Charlet <charlet@adacore.com>
* errout.adb (Error_Msg_Internal): the main unit has not been read yet,
a warning can only appear on a configuration file, so emit warning
without further checks.
2011-08-03 Arnaud Charlet <charlet@adacore.com>
* s-interr.ads: add overriding keyword.
2011-08-03 Geert Bosch <bosch@adacore.com>
* exp_attr.adb: Fix minor typo.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb: improve error recovery.
From-SVN: r177245
|
|
2011-08-02 Pascal Obry <obry@adacore.com>
* prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
Set the associated loop as the related expression of internally
generated cursors.
* exp_ch7.adb (Is_Container_Cursor): New routine.
(Wrap_Transient_Declaration): Supress the finalization of the list
controller when the declaration denotes a container cursor.
2011-08-02 Yannick Moy <moy@adacore.com>
* opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
command line now.
* par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
expression is a simple expression. This check cannot be performed in
the semantics, so just drop it.
(P_Index_Or_Discriminant_Constraint): move check that the index or
discriminant is a subtype mark to Analyze_Subtype_Declaration in the
semantics. Other cases were previously checked in the semantics.
* par-ch4.adb (P_Name): move checks that a selector name is not
character literal or an operator symbol to Find_Selected_Component in
the semantics
* par-ch5.adb (Parse_Decls_Begin_End): move check that basic
declarations are not placed after later declarations in a separate
procedure in Sem_Util (possibly not the best choice?), to be used both
during parsing, for Ada 83 mode, and during semantic analysis, for
SPARK mode.
* par-endh.adb (Check_End): move check that end label is not missing
to Process_End_Label in the semantics
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
the special case for SPARK restriction
* par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
* restrict.adb, restrict.ads (Check_Formal_Restriction): add a
parameter Force to issue the error message even on internal node (used
for generated end label). Call Check_Restriction to check when an error
must be issued. In SPARK mode, issue an error message even if the
restriction is not set.
(Check_Restriction): new procedure with an additional out parameter to
inform the caller that a message has been issued
* sem_aggr.adb: Minor modification of message
* sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
instead of issuing an error message directly
* sem_ch3.adb (Analyze_Declarations): move here the check that basic
declarations are not placed after later declarations, by calling
Check_Later_Vs_Basic_Declarations
(Analyze_Subtype_Declaration): move here the check that an index or
discriminant constraint must be a subtype mark. Change the check that
a subtype of String must start at one so that it works on subtype marks.
* sem_ch4.adb (Analyze_Call): move here the check that a named
association cannot follow a positional one in a call
* sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
instead of issuing an error message directly
* sem_ch8.adb (Find_Selected_Component): move here the check that a
selector name is not a character literal or an operator symbol. Move
here the check that the prefix of an expanded name cannot be a
subprogram or a loop statement.
* sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
procedure called from parsing and semantics to check that basic
declarations are not placed after later declarations
(Process_End_Label): move here the check that end label is not missing
2011-08-02 Arnaud Charlet <charlet@adacore.com>
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
representation clause in codepeer mode, since it confuses CodePeer and
does not bring useful info.
2011-08-02 Ed Falis <falis@adacore.com>
* init.c: initialize fp hw on MILS.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* errout.adb (First_Node): for bodies, return the node itself (small
optimization). For other nodes, do not check source_unit if the node
comes from Standard.
From-SVN: r177151
|
|
2011-08-01 Yannick Moy <moy@adacore.com>
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
literal or operator symbol which is prefixed
* sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
mode on access attributes.
* sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
that concatenation operands are properly restricted in formal mode
(Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
Analyze_Concatenation_Operand. Issue an error in formal mode if the
result of the concatenation has a type different from String.
(Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
Analyze_Quantified_Expression, Analyze_Slice,
Analyze_Null): issue an error in formal mode on unsupported constructs
* sem_ch5.adb
(Analyze_Block_Statement): only issue error on source block statement
* sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
function which returns the last node in a list of nodes for which
Comes_From_Source returns True, if any
* sem_ch6.adb (Check_Missing_Return): minor refactoring to use
Last_Source_Node_In_Sequence
* sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
mode on unsupported constructs
* sem_ch9.adb Do not return after issuing error in formal mode, as the
rest of the actions may be needed later on since the error is marked as
not serious.
* sinfo.ads: Typos in comments.
2011-08-01 Pascal Obry <obry@adacore.com>
* projects.texi: Minor editing.
From-SVN: r177057
|
|
2011-08-01 Yannick Moy <moy@adacore.com>
* err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
insertion character ~~
* errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
(Set_Error_Msg_Lang): new procedure which fixes the language for use
with insertion character ~~
(Set_Msg_Text): treat insertion character ~~
* par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
Formal_Error_Msg_... procedures by equivalent Error_Msg_...
procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
errors related to the formal language restriction not serious
(insertion character |).
* par.adb (Par): set formal language for error messages if needed
* sem_ch6.adb (Check_Missing_Return): take into account possible
generated statements at the end of the function
* snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
enumeration value to define a new pragma SPARK_95
* opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
SPARK_Version): new type and variables to store the SPARK version
(none by default).
(SPARK_Mode): return True when SPARK_Version is set
* par-prag.adb: Correct indentation
(Prag): take Pragma_SPARK_95 into account
* sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
into account.
From-SVN: r177056
|
|
2011-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
From-SVN: r177055
|
|
label at end of declaration...
2011-08-01 Yannick Moy <moy@adacore.com>
* par-endh.adb (Check_End): issue a syntax error in SPARK mode for
missing label at end of declaration (subprogram or package)
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
of positional and named parameter association
* par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
Error_Msg_SP which adds a prefix to the error message giving the name
of the formal language analyzed
* sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
access result type in subprogram, unconstrained array as result type,.
(Analyze_Subprogram_Declaration): issue an error in formal mode for null
procedure
* sem_ch8.adb: Code clean up.
From-SVN: r177048
|
|
gcc/ada/:
* projects.texi: Fix typos.
* gnat_rm.texi: Likewise.
* gnat_ugn.texi: Likewise.
* sem_util.adb: Fix typo in variable, typos in comments.
* a-btgbso.adb: Fix typos in comments.
* a-cbdlli.adb, a-cbhase.ads, a-cdlili.adb, a-cobove.adb,
a-coinve.adb, a-convec.adb, a-direct.ads, a-strunb-shared.adb,
a-strunb-shared.ads, a-stuten.ads, a-stwiun-shared.adb,
a-stwiun-shared.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
a-suenco.adb, a-suenst.adb, a-suewst.adb, a-suezst.adb, ali.ads,
aspects.ads, atree.ads, binde.adb, bindgen.adb, checks.adb,
checks.ads, einfo.ads, err_vars.ads, errout.adb, errout.ads,
exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch3.adb,
exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb,
exp_dbug.ads, exp_disp.adb, exp_fixd.ads, freeze.adb,
g-altive.ads, g-comlin.ads, g-excact.ads, g-mbdira.adb,
g-sechas.ads, g-sehash.ads, g-sha1.ads, g-sha224.ads,
g-sha256.ads, g-sha384.ads, g-sha512.ads, g-shsh32.ads,
g-shsh64.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
gcc-interface/decl.c, gcc-interface/trans.c,
gcc-interface/utils2.c, gnat1drv.adb, init.c, inline.adb,
link.c, locales.c, make.adb, mingw32.h, namet.ads, osint.adb,
par-ch12.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb,
par-prag.adb, par.adb, par_sco.adb, prepcomp.adb,
prj-conf.ads, prj-dect.adb, prj-env.adb, prj-env.ads,
prj-nmsc.adb, prj-tree.ads, prj-util.ads, prj.adb, prj.ads,
s-auxdec-vms-alpha.adb, s-auxdec-vms_64.ads, s-oscons-tmplt.c,
s-osinte-vxworks.ads, s-osprim-mingw.adb, s-regexp.adb,
s-stusta.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
scn.adb, scos.ads, sem.adb, sem_aggr.adb, sem_attr.adb,
sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch12.ads,
sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb,
sem_disp.ads, sem_eval.adb, sem_intr.adb, sem_prag.adb,
sem_res.adb, sem_scil.adb, sem_util.ads, sem_warn.adb,
sem_warn.ads, sinfo.ads, socket.c, styleg.adb, switch.ads,
sysdep.c, tb-alvxw.c, xoscons.adb: Likewise.
From-SVN: r168082
|
|
2010-10-22 Robert Dewar <dewar@adacore.com>
* par-ch5.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2010-10-22 Robert Dewar <dewar@adacore.com>
* a-except.adb, a-except-2005.adb: Add new Rcheck entry.
* exp_ch13.adb (Add_Call): Make sure subtype is marked with
Has_Predicates set to True if it inherits predicates.
* sem_attr.adb: Handle 'First/'Last/'Range for predicated types
* types.ads (PE_Bad_Attribute_For_Predicate): New reason code
* types.h: Add new Rcheck entry.
* einfo.ads, einfo.adb (Static_Predicate): New field.
Minor code reorganization (file float routines in proper section)
Fix bad field name in comments.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
case.
2010-10-22 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Config_Switches): Detect if there is at least one
declaration of IDE'Compiler_Command for one of the language in the main
project.
(Do_Autoconf): If there were at least one Compiler_Command declared and
no target, invoke gprconfig with --target=all instead of the normalized
host name.
2010-10-22 Robert Dewar <dewar@adacore.com>
* par-ch4.adb: Update syntax in comments for Ada 2012.
* sinfo.ads: Update syntax in comments for Ada 2012
* par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
from msg.
From-SVN: r165822
|
|
2010-10-22 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
reformatting.
From-SVN: r165814
|
|
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
(Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
iterator forms over arrays and containers, in loops and quantified
expressions.
* exp_util.adb (Insert_Actions): include N_Iterator_Specification.
* par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
* par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
P_Iteration_Scheme to handle both loop forms.
* sem.adb: Handle N_Iterator_Specification.
* sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
subprogram.
* sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
N_Iteration_Scheme can now include an Iterator_Specification. Ditto
for N_Quantified_Expression.
* snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
and Previous, to support iterators over predefined containers.
* sprint.adb: Handle N_Iterator_Specification.
From-SVN: r165811
|
|
2010-10-21 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb,
sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor
reformatting.
* snames.ads-tmpl: Add note on Name_Some (not a reserved keyword).
2010-10-21 Geert Bosch <bosch@adacore.com>
* ttypef.ads: Further cleanup of Safe_XXX float attributes.
From-SVN: r165756
|
|
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure
* exp_util.adb (Insert_Actions): Include Quantified_Expression.
* expander.adb: Call Expand_Qualified_Expression.
* par.adb: New procedure P_Quantified_Expression. Make
P_Loop_Parameter_Specification global for use in quantified expressions.
* par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if
version < Ada2012.
* par-ch4.adb: New procedure P_Quantified_Expression.
* par-ch5.adb: P_Loop_Parameter_Specification is now global.
* scans.adb, scans.ads: Introduce token Some. For now leave as
unreserved.
* scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada,
treat Some as a regular identifier.
* sem.adb: Call Analyze_Quantified_Expression.
* sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression.
* sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use
in quantified expressions.
* sem_res.adb: New procedure Resolve_Qualified_Expression.
* sinfo.adb, sinfo.ads: New node N_Quantified_Expression
* snames.ads-tmpl: New name Some.
* sprint.adb: Output quantified_expression.
2010-10-19 Robert Dewar <dewar@adacore.com>
* a-exexda.adb: Minor reformatting
Minor code reorganization.
From-SVN: r165698
|
|
2010-10-19 Javier Miranda <miranda@adacore.com>
* par-ch4.adb: Update documentation of Ada 2012 syntax rules for
membership test.
2010-10-19 Bob Duff <duff@adacore.com>
* sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation
attribute.
* exp_attr.adb (Expand_N_Attribute_Reference): Add
Attribute_Max_Alignment_For_Allocation to the case statement.
* snames.ads-tmpl (Name_Max_Alignment_For_Allocation,
Attribute_Max_Alignment_For_Allocation): New attribute name.
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to
parameterless function appears syntactically as an explicit dereference.
2010-10-19 Thomas Quinot <quinot@adacore.com>
* sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb,
i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting
2010-10-19 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Collect_Primitive_Operations): A function with an
anonymous access result designating T is a primitive operation of T.
From-SVN: r165692
|
|
2010-10-11 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
about nondispatching subprograms to use In_Same_List (reducing use of
Parent links).
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
reference in a static call.
2010-10-11 Steve Baird <baird@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
attribute should always be transformed into a string literal in
Analyze_Attribute.
* par-ch4.adb: Type_Key attribute's type is String; update value of
Is_Parameterless_Attribute constant to reflect this.
* sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
rewrite it as a string literal (attribute value is always known
statically).
* snames.ads-tmpl: Add entries for Type_Key attribute.
From-SVN: r165285
|
|
2010-10-11 Bob Duff <duff@adacore.com>
* par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
instead of Ada_05 (Ada_Version_Type).
From-SVN: r165283
|
|
2010-10-11 Bob Duff <duff@adacore.com>
* sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
(Ada_Version_Type).
2010-10-11 Javier Miranda <miranda@adacore.com>
* exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
dereference then do not exclude dereferences of access-to-constant
types to handle them as constant view of variables (and hence remove
side effects when required).
* sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
are properly handled.
From-SVN: r165282
|
|
2010-10-07 Robert Dewar <dewar@adacore.com>
* par-ch6.adb: Fix error in handling of parametrized expressions.
* par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
mode.
(P_Simple_Expression): Better message for qualified expression prefix
* s-crc32.adb: Minor reformatting.
* exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
storage pool (this test is moved to Sem_Intr).
* sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
empty storage pool, moved here from Exp_Intr and made into error.
(Check_Intrinsic_Call): Remove assumption in generating not-null free
warning that the name of the instantiation is Free.
* sinput.adb (Tree_Read): Document use of illegal free call allowed in
GNAT mode.
* types.ads: Remove storage size clauses from big types (since we may
need to do deallocations, which are now illegal for empty pools).
2010-10-07 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add missing word.
From-SVN: r165099
|
|
2010-10-07 Robert Dewar <dewar@adacore.com>
* exp_util.adb (Insert_Actions): Add handling of
N_Parametrized_Expression.
* par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
* sem.adb: Add entry for N_Parametrized_Expression
* sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
* sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
* sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
* sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
* par-ch4.adb: Minor reformatting.
From-SVN: r165098
|
|
2010-09-10 Robert Dewar <dewar@adacore.com>
* frontend.adb: Minor reformatting.
2010-09-10 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
* par-ch5.adb (P_Condition): Move from body to spec
* par.adb (Ch5.P_Condition): Move from body to spec
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_cg.adb (Write_Call_Info): If a type that has been registered in
the call table is private, use its full view to generate information
on its operations.
From-SVN: r164181
|
|
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (Box_Error): New procedure.
2010-09-09 Thomas Quinot <quinot@adacore.com>
* sem.adb: Minor reformatting.
2010-09-09 Pascal Obry <obry@adacore.com>
* prj-env.adb: Style fix, use /and then/ and /or else/.
* gnat_ugn.texi: Fix typos.
From-SVN: r164053
|
|
2010-08-10 Robert Dewar <dewar@adacore.com>
* a-chahan.ads: Add comments on handling of obsolescent entries.
* opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
* restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
* restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
* sem_attr.adb (Analyze_Access_Attribute): Call
Check_Obsolescent_2005_Entity to check for access to obsolescent
Ada.Characters.Handling subprogram.
(Analyze_Attribute, case Class): Applying Class to untagged incomplete
type is obsolescent in Ada 2005.
(Analyze_Attribute, case Constrained): Better placement of flag when
flagged as obsolescent feature.
(Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
* sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
is an obsolescent feature.
* sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
feature.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Call
Check_Obsolescent_2005_Entity to check for renaming obsolete
Ada.Characters.Handling subprogram.
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
for obsolescent restrictions in Ada 2005.
(Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
(Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
* sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
check for obsolescent references to Ada.Characters.Handling subprograms
2010-08-10 Robert Dewar <dewar@adacore.com>
* einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
2010-08-10 Robert Dewar <dewar@adacore.com>
* errout.ads: Add VMS table entries for 2005, 12, 2012 switches
* par-ch4.adb: Change wording of Ada 2012 messages
* vms_data.ads: Add VMS entries for /2005, /12, /2012
From-SVN: r163063
|
|
2010-06-23 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
label to the new sequence of statements. Set the sloc of the raise
statement onto the new goto statements.
2010-06-23 Robert Dewar <dewar@adacore.com>
* a-stuten.ads, a-stuten.adb: New files.
* impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
* Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
2010-06-23 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation of -gnat12 switch
Add documentation of -gnatX switch.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* inline.ads: Include the current Ada_Version in the info for pending
instance bodies, so that declaration and body are compiled with the
same Ada_Version.
* inline.adb: Move with_clause for Opt to spec.
* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Save current Ada_Version in
Pending_Instantiation information.
(Instantiate_Package_Body, Instantiate_Subprogram_Body,
Inline_Package_Body): Use the Ada_Version present in the body
information.
2010-06-23 Robert Dewar <dewar@adacore.com>
* usage.adb: Add documentation for -gnat12 switch.
* errout.ads: Add VMS alias entry for -gnat12 switch
* gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
Add documentation for pragma Extensions_Allowed.
* opt.ads: Add entry for Ada 2012 mode.
* sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
features.
* sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
Ada_2012.
* sem_ch13.adb: Add handling for Ada 2012 mode.
* snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
* switch-c.adb: Add handling for -gnat12 switch.
Implement -gnat2005 and -gnat2012.
* usage.adb: Add documentation for -gnat12 switch.
* vms_data.ads: Add /12 switch for Ada 2012 mode.
From-SVN: r161268
|
|
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
2010-06-22 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
* sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
Ada 95 mode as an implementation defined attribute.
From-SVN: r161166
|
|
* par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
errout.ads: Update comments. Minor reformatting.
From-SVN: r160979
|
|
(cannot count on a particular branch being executed).
2010-06-18 Robert Dewar <dewar@adacore.com>
* checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
expression (cannot count on a particular branch being executed).
* exp_ch4.adb (Expand_N_Case_Expression): New procedure.
* exp_ch4.ads (Expand_N_Case_Expression): New procedure.
* exp_util.adb (Insert_Actions): Deal with proper insertion of actions
within case expression.
* expander.adb (Expand): Add call to Expand_N_Case_Expression
* par-ch4.adb Add calls to P_Case_Expression at appropriate points
(P_Case_Expression): New procedure
(P_Case_Expression_Alternative): New procedure
* par.adb (P_Case_Expression): New procedure
* par_sco.adb (Process_Decisions): Add dummy place holder entry for
N_Case_Expression.
* sem.adb (Analyze): Add call to Analyze_Case_Expression
* sem_case.ads (Analyze_Choices): Also used for case expressions now,
this is a documentation change only.
* sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
* sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
expressions.
* sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
* sem_res.adb (Resolve_Case_Expression): New procedure.
* sem_scil.adb (Find_SCIL_Node): Add processing for
N_Case_Expression_Alternative.
* sinfo.ads, sinfo.adb (N_Case_Expression): New node.
(N_Case_Expression_Alternative): New node.
* sprint.adb (Sprint_Node_Actual): Add processing for new nodes
N_Case_Expression and N_Case_Expression_Alternative.
2010-06-18 Robert Dewar <dewar@adacore.com>
* par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
* gnat1drv.adb: Fix typo.
2010-06-18 Robert Dewar <dewar@adacore.com>
* par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
for -gnatg.
* sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
gnat style for -gnatg.
* gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
From-SVN: r160971
|
|
2009-10-28 Robert Dewar <dewar@adacore.com>
* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
to body).
(Initialize_Standard_Files): New procedure.
* a-tienau.adb: Minor change to make EOF directly visible
* a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
* gnat_rm.texi: Add documentation for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
* Makefile.rtl: Add entries for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
2009-10-28 Thomas Quinot <quinot@adacore.com>
* exp_ch9.ads: Minor reformatting
* sem_ch3.adb: Minor reformatting
* sem_aggr.adb: Minor reformatting.
* sem_attr.adb: Minor reformatting
* tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
New subprogram.
Minor code reorganization/factoring.
From-SVN: r153656
|
|
2009-07-23 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
comma.
From-SVN: r150003
|
|
if extensions permitted.
2009-07-13 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
expression if extensions permitted.
* par-ch4.adb (P_Membership_Test): New procedure (implement membership
set tests).
(P_Relation): Use P_Membership_Test
* par.adb (P_Membership_Test): New procedure (implement membership set
tests).
* sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
* sprint.adb (Sprint_Node): Handle set form for membership tests.
From-SVN: r149556
|