| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* freeze.adb (Freeze_All_Ent): An incomplete type is not
frozen by a subprogram body that does not come from source.
2011-11-23 Pascal Obry <obry@adacore.com>
* s-oscons-tmplt.c: Add PTY_Library constant. It contains
the library for pseudo terminal support.
* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
pragma.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb: No check on entry family index if generic.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
System.OS_Constants from shared spec of
System.Tasking.Primitive_Operations to the specific body variants
that really require this dependency.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
If the declaration has aspects, analyze them so they can be
properly rejected.
2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
Add with and use clause for Ada.Finalization. Type
Iterator and Child_Iterator are now derived from Limited_Controlled.
(Finalize): New routine.
(Iterate): Add a renaming of counter Busy and
increment it. Update the return aggregate.
(Iterate_Children): Add a renaming of
counter Busy and increment it. Update the return aggregate.
(Iterate_Subtree): Add a renaming of counter Busy and increment
it. Update the return aggregate.
* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
type.
* a-cihama.ads: Type Map_Access is now a general access type.
* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
associated with the tree.
* a-cohama.ads: Type Map_Access is now a general access type.
* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
access type.
* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
to wrap the loop as this is done at an earlier step, during
analysis. The declarations of the iterator and the cursor use
the usual Insert_Action mechanism when added into the tree.
* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
Loop_Statement and replace all respective uses by N. Add local
constant Loc. Preanalyze the loop iterator to discover whether
it is a container iterator and if it is, wrap the loop in a
block. This ensures that any controlled temporaries produced
by the iteration scheme share the same lifetime of the loop.
(Is_Container_Iterator): New routine.
(Is_Wrapped_In_Block): New routine.
(Pre_Analyze_Range): Move spec and body to the library level.
2011-11-23 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
that controls casing of type and subtype names.
2011-11-23 Yannick Moy <moy@adacore.com>
* sem_ch3.adb: Minor addition of comments.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* prj-part.adb (Extension_Withs): New global variable,
contains the head of the list of WITH clauses from the EXTENDS
ALL projects for which virtual packages are being created.
(Look_For_Virtual_Projects_For): When recursing through
an EXTENDS ALL, add the WITH clauses of the extending
project to Extension_Withs. When adding a project to the
Virtual_Hash, record the associated Extension_Withs list.
(Create_Virtual_Extending_Project): Add a copy of the appropriate
Extension_Withs to the virtual project.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* mlib-tgt-specific-vxworks.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181668 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181568 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_alfa.adb: Remove with and use clause for
Exp_Ch8. Add with and use clause for Exp_Util.
Remove local constant Disable_Processing_Of_Renamings.
(Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
object renamings has been reenabled.
(Expand_Possible_Renaming):
The expansion of identifier and expanded names has been
reenabled. Perform the substitutions only for entities that
denote an object.
* exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
* exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
(Remove_Side_Effects): Alphabetize local variables. Add a guard
to avoid the infinite expansion of an expression in Alfa mode. Add
processing for function calls in Alfa mode.
* exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): If the entity is an access to
subprogram whose designated type is itself a subprogram type,
its own return type must be decorated with size information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181091 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
2011-10-13 Geert Bosch <bosch@adacore.com>
* s-gearop.adb: Minor comment additions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179907 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gnat_ugn.texi: Add gnattest section.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* freeze.adb: Do not create body of renaming if declaration has
errors.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
further, to the ppc+kernel case only.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
Do not create a pool formal on .NET/JVM.
(Expand_N_Extended_Return_Statement): Alphabetize local
variables. Do not create a renaming of the build-in-place pool
parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
Add the user-defined pool only on non-VM targets.
(Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
local variables. Do not add a pool actual on .NET/JVM.
* sem_ch6.adb: Add with and use clause for Targparm.
(Create_Extra_Formals): Add build-in-place pool formal only on
non-VM targets.
* rtsfind.ads: Alphabetize entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179906 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
* s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
2011-10-06 Ed Schonberg <schonberg@adacore.com>
* a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
references.
2011-10-06 Matthew Heaney <heaney@adacore.com>
* a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
(Dequeue_Only_High_Priority): Protected procedure now implemented.
2011-10-06 Vincent Celier <celier@adacore.com>
* g-trasym.adb: Replace old implementation with the default
implementation that returns list of addresses as "0x...".
* g-trasym.ads: Update the list of platforms with the full
capability. Indicate that there is a default implementation
for other platforms.
* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
* gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
is now a default implementation for all platforms without the full
capability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179631 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* snames.ads-tmpl: Move declaration of Name_Annotate into range of
configuration pragma names so that Is_Configuration_Pragma_Name
will return True for Name_Annotate. Make corresponding change in
Pragma_Id enumeration type. This is needed to allow an Annotate
pragma to occur in a configuration pragma file (typically,
a gnat.adc file).
* gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
* gnat_rm.texi: Note that pragma Annotate may be used as a
configuration pragma.
2011-09-19 Ed Schonberg <schonberg@adacore.com>
* a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
2011-09-19 Yannick Moy <moy@adacore.com>
* exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
for expansion of set membership.
(Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
* exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
visible for use in Alfa expansion.
* sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
variable in Alfa mode.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb: Minor reformatting.
2011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Build_Renamed_Body): Generic subprograms
instantiations cannot be poperly inlined by the compiler, do
not set the Body_To_Inline attribute in such cases.
* sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
inlining-related flags from the generic subprogram declaration.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
(Build_Stub_Type): Remove, instead copy components from
System.Partition_Interface.RACW_Stub_Type.
(RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
(Copy_Component_List): New subprogram.
2011-09-19 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Ignore references to
constants in Standard.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178962 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_strm.adb: Remove with and use clause for Opt.
(Build_Array_Input_Function): Remove the version-dependent generation
of the return statement. The Ada 2005 tree is now the default.
2011-09-01 Yannick Moy <moy@adacore.com>
* put_alfa.adb: Unconditionnally write files in Alfa section, so that
it is never empty when compiling in Alfa mode.
2011-09-01 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
2011-09-01 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
* a-csquin.ads: New Ada 2012 unit that specifies the queue interface
* a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
unbounded queue container.
* a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
bounded queue container.
* a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
unbounded priority queue container.
* a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
bounded priority queue container.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178398 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-direct.adb: Do not try to create an UNC path on Windows.
(Create_Path): Skip leading computer name in UNC path if any.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
version-dependent generation of the return statement. The Ada 2005 tree
is now the default.
2011-08-31 Thomas Quinot <quinot@adacore.com>
* rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
types Stream_Element_Offset and Storage_Offset have a different native
type depending on whether the platform is 32 or 64 bits. When
exchanging them, always convert to 64 bits.
2011-08-31 Yannick Moy <moy@adacore.com>
* debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
--force-alfa to gnat2why.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Save_References): If the node has aspects, save
references within the corresponding expressions in a separate step,
because the aspects are not directly in the tree for the declaration
to which they belong.
2011-08-31 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Freeze_Record_Type): Omit test on variable size component
in CodePeer mode, since representation clauses are partially ignored.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178373 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
access types.
* affinity.c (__gnat_set_affinity_mask): Declare index variable.
2011-08-31 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
full-expander test.
Minor reformatting, renaming ALFA in Alfa (we dropped acronym)
* einfo.adb (Primitive_Operations): Correctly return list of primitive
operations in a case where it returned previously No_Elist.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178358 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_res.adb: Remove Build_Explicit_Dereference.
* sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
from sem_res.adb, used in analysis of additional constructs.
(Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
expansion of iterators.
(Is_Object_Reference): Recognize variables rewritten as explicit
dereferences in Ada2012.
* snames.ads-tmpl: Add Has_Element, Forward_Iterator,
Reversible_Iterator names, for expansion of Ada2012 iterators.
* aspects.ads, aspects.adb (Find_Aspect): Utility.
* a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
linked list container.
* a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
* a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
containers.
2011-08-29 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): Get the maximum number of simultaneous
compilation processes after the Builder switches has been scanned, as
there may include -jnn.
2011-08-29 Matthew Heaney <heaney@adacore.com>
* a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
GNAT_DRIVER_COMMAND_LINE to 255.
2011-08-29 Pascal Obry <obry@adacore.com>
* freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
reformatting and style fix (class attribute casing).
2011-08-29 Yannick Moy <moy@adacore.com>
* exp_ch11.adb: Yet another case where expansion should be common
between CodePeer and Alfa.
2011-08-29 Yannick Moy <moy@adacore.com>
* exp_ch9.adb: Partial revert of previous change for Alfa mode.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Matches_Limited_With_View): The limited views of an
incomplete type and its completion match.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178228 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
* exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
* gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
tagged types and dispatching calls in Alfa mode.
2011-08-29 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
we do not report an error on an Empty node.
2011-08-29 Geert Bosch <bosch@adacore.com>
* Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
a-nlrear.o and a-nurear.o.
2011-08-29 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor code reorganization.
Minor reformatting.
* sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
sem_ch6.adb: Minor reformatting
2011-08-29 Tristan Gingold <gingold@adacore.com>
* s-except.ads, s-except.adb: Provide dummy body.
2011-08-29 Yannick Moy <moy@adacore.com>
* sem_warn.adb (Within_Postcondition): Take into account the case of
an Ensures component in a Test_Case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178222 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
* a-exexda.adb (Set_Exception_C_Msg): Ditto.
(Set_Exception_Msg): Ditto.
* a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
Private_Data.
* a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
Use Save_Occurrence instead of Save_Occurrence_No_Private.
(Raise_With_Msg): Remove Cleanup_Flag.
* a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
Clean_Flag and Private_Data components.
2011-08-29 Yannick Moy <moy@adacore.com>
* freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
in CodePeer mode.
* sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
of an explicitly declared type, so that the base types of the original
type and this generated type are the same, and a "type" (not a subtype
like previously).
* errout.adb (Special_Msg_Delete): Do not issue messages "Size too
small" in Alfa mode, like in CodePeer mode.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
clauses in Alfa mode.
2011-08-29 Javier Miranda <miranda@adacore.com>
* exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
function to the package spec.
* sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
internally generated bodies of null procedures locate the internally
generated spec enforcing mode conformance.
(Is_Interface_Conformant): Ensure that the controlling formal of the
primitives match.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
reject the pragma if it appears to apply to a formal subprogram.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
inner expression, to prevent double evaluation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178216 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
2011-08-29 Bob Duff <duff@adacore.com>
* sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
of <>, because this is the routine that checks for dimensionality
errors (for example, for a two-dimensional array, (others => <>) should
be (others => (others => <>)).
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* impunit.adb: Add new run-time units.
* freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
s-stposu.ads, s-stposu.adb: Code clean up.
Handle protected class-wide or task class-wide types
Handle C/C++/CIL/Java types.
* s-spsufi.adb, s-spsufi.ads: New files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178205 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
system-linux-hppa.ads, system-linux-s390.ads,
system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
system-solaris-sparc.ads, system-lynxos-x86.ads,
system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
system-solaris-x86_64.ads, system-mingw-x86_64.ads,
system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
system-vxworks-x86.ads: Remove GCC_ZCX_Support
* s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
* opt.ads: Adjust comment.
* targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
* gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
* system.ads: Move GCC_ZCX_Support to obsolete entries.
2011-08-29 Emmanuel Briot <briot@adacore.com>
* makeutl.adb (Do_Complete): Resolve symbolic links when a relative
file name is specified on the gnatmake or gprbuild command line, and
before we search for that file in the project.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Within_Instance): New predicate in Collect_Interps,
used to determine whether a possible interpretation for an overloadable
entity is declared within the current instantiation and should be
included in the candidate set.
2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clean ups.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178186 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
for sibling when common parent.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
"pragma_".
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
for the return type when in ASIS mode.
2011-08-29 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): Get the default search dirs, then the target
parameters after getting the Builder switches, as the Builder switches
may include --RTS= and that could change the default search dirs.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
Make_Final_Call. Move the processing for class-wide types before the
processing for derivations from [Limited_]Controlled.
(Make_Final_Call): Move the processing for class-wide types before the
processing for derivations from [Limited_]Controlled.
* s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
Add code to account for alignments larger than the list header. Add a
comment illustrating the structure of the allocated object + padding +
header.
(Deallocate_Any_Controlled): Add code to account for alignments larger
than the list header.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: New node kind
N_Formal_Incomplete_Type_Definition, related flags.
par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
Parse formal incomplete types.
* sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
sem_ch12.
* sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
Formal incomplete types do not need completion.
* sem_ch12.adb (Analyze_Formal_Incomplete_Type,
Validate_Incomplete_Type_Instance): New procedures to handle formal
incomplete types.
* freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
that corresponds to a formal incomplete type.
* sprint.adb: Handle formal incomplete type declarations.
* exp_util.adb (Insert_Actions): An incomplete_type_definition is not
an insertion point.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178184 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-fihema.ads, a-fihema.adb: Unit removed.
* a-undesu.ads, a-undesu.adb: New unit implementing
Ada.Unchecked_Deallocate_Subpool.
* einfo.adb: Remove Associated_Collection from the node usage.
Add Finalization_Master to the node usage.
(Associated_Collection): Removed.
(Finalization_Master): New routine.
(Set_Associated_Collection): Removed.
(Set_Finalization_Master): New routine.
(Write_Field23_Name): Remove Associated_Collection from the output. Add
Finalization_Master to the output.
* einfo.ads: Remove attribute Associated_Collection and its uses in
entities.
Add new attribute Finalization_Master along with its uses in entitites.
(Associated_Collection): Removed along with its pragma import.
(Finalization_Master): New routine along with a pragma import.
(Set_Associated_Collection): Removed along with its pragma import.
(Set_Finalization_Master): New routine along with a pragma import.
* exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
Build_Finalization_Collection with Build_Finalization_Master.
(Expand_Freeze_Record_Type): Move the generation of Finalize_Address
before the bodies of the predefined routines. Add comment explaining
this. Replace call to Build_Finalization_Collection with
Build_Finalization_Master.
(Freeze_Type): Replace call to Build_Finalization_Collection with
Build_Finalization_Master.
(Make_Finalize_Address_Body): Comment reformatting.
(Make_Predefined_Primitive_Specs): Code reformatting.
(Stream_Operation_OK): Update comment mentioning finalization
collections. Replace RE_Finalization_Collection with
RE_Finalization_Master.
* exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
Associated_Collection with Finalization_Master. Replace call to
Build_Finalization_Collection with Build_Finalization_Master.
(Expand_Allocator_Expression): Replace call to Associated_Collection
with Finalization_Master. Replace call to Set_Associated_Collection with
Set_Finalization_Master. Remove the generation of
Set_Finalize_Address_Ptr.
(Expand_N_Allocator): Replace call to Associated_Collection with
Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
* exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
comment on usage. Replace call to Needs_BIP_Collection with
Needs_BIP_Finalization_Master Remplace BIP_Collection with
BIP_Finalization_Master. Update all comments which mention finalization
collections. Replace Associated_Collection with
Finalization_Master. Replace Build_Finalization_Collection with
Build_Finalization_Master.
(BIP_Formal_Suffix): Update BIP_Collection's case.
(Build_Heap_Allocator): Update the related comment. Rename local
variable Collect to Fin_Mas_Id and update its occurrences. Update
comments which mention finalization collections. Replace
Set_Associated_Collection with Set_Finalization_Master.
(Expand_Call): Update the code which detects a special piece of library
code for .NET/JVM.
(Make_Build_In_Place_Call_In_Allocator): Replace the call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
which generates a call to Make_Set_Finalize_Address_Ptr_Call.
(Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call.
(Make_Build_In_Place_Call_In_Assignment): Replace call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call.
(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
* exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
Rename local variable Collect to Fin_Mas_Id and update its occurrences.
Replace call to Set_Associated_Collection with Set_Finalization_Master.
(Build_Finalization_Collection): Renamed to Build_Finalization_Master.
Replace the call to Associated_Collection with Finalization_Master.
Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
Update the way finalization master names are generated. Update the
retrieval of the correct access type which will carry the pool and
master attributes.
(Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
(Make_Finalize_Address_Body): Abstract types do not need
Finalize_Address. Code reformatting.
(Make_Finalize_Address_Stmts): Update comment on usage.
(Make_Set_Finalize_Address_Ptr_Call): Removed.
(Process_Declarations): Update comments.
* exp_ch7.ads (Build_Finalization_Collection): Renamed to
Build_Finalization_Master. Update associated comment.
(Make_Set_Finalize_Address_Ptr_Call): Removed.
* exp_ch13.adb: Update comments which mention finalization collections.
(Expand_N_Free_Statement): Replace the call to Associated_Collection
with Finalization_Master.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
create calls to routines Allocate_Any_Controlled and
Deallocate_Any_Controlled.
(Find_Finalize_Address): New routine.
(Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
comparison.
(Requires_Cleanup_Actions): Update the comment on freeze node
inspection.
* exp_util.ads: Remove comment on generated code for
Build_Allocate_Deallocate_Proc. The code is now quite complex and it
is better to simply look in the body.
* freeze.adb (Freeze_All): Update the comment of finalization
collections. Replace the call to Associated_Collection with
Finalization_Master. Replace the call to Build_Finalization_Collection
with Build_Finalization_Master.
* impunit.adb: Add a-undesu and s-stposu to the list of units.
* Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
a-fihema.
* rtsfind.adb (Get_Unit_Name): Remove the processing for children of
Ada.Finalization. Add processing for children of System.Storage_Pools.
* rtsfind.ads: Remove the naming of second level children of
Ada.Finalization.
Remove Ada_Finalization_Heap_Management from the list of units.
Remove subtype Ada_Finalization_Child.
Remove the following subprogram entities:
RE_Allocate
RE_Deallocate
RE_Finalization_Collection
RE_Finalization_Collection_Ptr
RE_Set_Finalize_Address_Ptr
Add the naming of second level children of System.Storage_Pools.
Add System_Finalization_Masters and System_Storage_Pools_Subpools to
the list of units.
Add subtype System_Storage_Pools_Child.
Add the following subprogram entities to System.Finalization_Masters:
RE_Finalization_Master
RE_Finalization_Master_Ptr
Add the following subprogram entities to System.Storage_Pools.Subpools:
RE_Allocate_Any_Controlled
RE_Deallocate_Any_Controlled
RE_Root_Storage_Pool_With_Subpools
RE_Root_Subpool
RE_Subpool_Handle
Move the following subprogram entities from
Ada.Finalization.Heap_Management to System.Finalization_Masters:
RE_Add_Offset_To_Address
RE_Attach
RE_Base_Pool
RE_Detach
* sem_ch3.adb (Access_Type_Declaration): Replace the call to
Set_Associated_Collection with Set_Finalization_Master.
* sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
BIP_Finalization_Master is created.
* s-finmas.adb: New unit System.Finalization_Masters.
* s-finmas.ads: New unit System.Finalization_Masters.
* s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
* s-stposu.ads, s-stposu.adb: New unit implementing
System.Storage_Pools.Subpools.
2011-08-29 Bob Duff <duff@adacore.com>
* tbuild.adb: Add assertion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178183 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
Minor reformatting.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
Correct the check which involves the freeze node of a controlled or
access-to-controlled type.
2011-08-29 Geert Bosch <bosch@adacore.com>
* sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
statements.
* s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
Asm statements.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178160 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_prag.adb (Check_Precondition_Postcondition): In formal
verification mode, analyze pragma expression for correctness, for
pre/post on library-level subprogram, as it is not expanded later.
2011-08-29 Yannick Moy <moy@adacore.com>
* exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
in formal verification.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* sem_util.adb: Minor reformatting.
* freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
there's no pragma.
* par_sco.ads, par_sco.adb: Update comments.
2011-08-29 Yannick Moy <moy@adacore.com>
* einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
associated getter/setter.
* sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
2011-08-29 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
* prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
with declarations for Language_Kind and Dependency_Kind for Ada.
* prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
(Process_Compiler): Take into account the new attributes Dependency_Kind
and Language_Kind.
(Check_Configuration): Check if language kind is unit based, not if the
language name is Ada.
(Process_Exceptions_Unit_Based): Ditto
(Add_Language): Remove default additions of language and dependency kind
* prj.ads: Minor comment change
* snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
2011-08-29 Johannes Kanig <kanig@adacore.com>
* debug.adb: Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178156 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
if the node to wrap is a pragma check, this node and enclosed
expression are not expanded, so do not apply any transformations here.
* exp_prag.adb (Expand_Pragma_Check): document the need to avoid
introducing transient scopes.
2011-08-05 Jose Ruiz <ruiz@adacore.com>
* adaint.c (__gnat_set_writable, __gnat_set_readable,
__gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
__gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
routine is available, so we use the default implementation of these
functions.
* s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
support for copying attributes on VxWorks 6.
2011-08-05 Yannick Moy <moy@adacore.com>
* debug.adb: Remove use of -gnatd.D.
* gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
* opt.ads: Simplify variables for ALFA mode, to keep one only
* restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
to ALFA mode.
2011-08-05 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): Look also for --RTS in
Builder'Default_Switches.
2011-08-05 Vincent Celier <celier@adacore.com>
* makeusg.adb: Add lines for --create-map-file switches.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): For a subprogram, if a type in the
profile is incomplete and the full view is available, replace it with
the full view.
* sem_ch6.adb (Possible_Freeze): if a type in the profile is
incomplete, freezing the subprogram is delayed until the full view is
frozen.
* sem_type.adb (Disambiguate): an ambiguity between a user-defined
fixed-point multiplication operator and the predefined operator is
resolved in favor of the user-defined one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177432 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* layout.adb (Layout_Type): For composite types, do not set Esize.
* freeze.adb (Set_Small_Size): Remove test on alignment and do not
set Esize.
(Size_Known): Look at the RM size of components instead of the Esize.
(Freeze_Record_Type): Look at the RM size instead of the Esize to
issue warning and activate Implicit_Packing.
(Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
if the Esize is not known.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
for elementary types only.
(Analyze_Record_Representation_Clause): Look at the RM size instead
of the Esize to issue errors.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
is not known.
<E_Record_Type>: Look at the RM size instead of the Esize. Remove
obsolete block.
Look at the RM size instead of the Esize for types if the latter is
not known.
(gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
2011-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb: proper handling of equality not involving anonymous
access types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177339 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
Minor reformatting and code reorganization.
2011-08-04 Emmanuel Briot <briot@adacore.com>
* projects.texi: Added doc for aggregate projects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177320 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177275 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
2011-08-02 Robert Dewar <dewar@adacore.com>
* s-imenne.ads: Minor reformatting.
2011-08-02 Robert Dewar <dewar@adacore.com>
* a-stunau.ads: Add pragma Suppress_Initialization for Big_String
* freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
* s-stalib.ads: Add pragma Suppress_Initialization for Big_String
2011-08-02 Robert Dewar <dewar@adacore.com>
* einfo.ads (Materialize_Entity): Document this is only for renamings
* exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
required debug information in the case where we transform the object
declaration into a renaming declaration.
* exp_ch4.adb (Expand_Concatenate): Generate debug info for result
object
* exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
Materialize_Entity.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177162 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, einfo.adb (Suppress_Initialization): Replaces
Suppress_Init_Procs.
* exp_ch3.adb, exp_disp.adb, freeze.adb: Use
Suppress_Initialization/Initialization_Suppressed.
* gnat_rm.texi: New documentation for pragma Suppress_Initialization
* sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
* sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
* sem_prag.adb: New processing for pragma Suppress_Initialization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177161 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_attr.adb: Minor reformatting.
2011-08-02 Ed Falis <falis@adacore.com>
* init.c: Revert previous change.
2011-08-02 Robert Dewar <dewar@adacore.com>
* einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
(Has_Default_Component_Value): Removed
* einfo.ads Comment updates
(Has_Default_Aspect): Replaces Has_Default_Value
(Has_Default_Component_Value): Removed
* exp_ch13.adb
(Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
* exp_ch3.adb
(Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
(Get_Simple_Init_Val): Handle Default_Value aspect
(Needs_Simple_Initialization): Handle Default_Value aspect
* exp_ch3.ads: Needs_Simple_Initialization
* freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
* par-prag.adb (Pragma_Default[_Component]Value) Removed
* sem_ch13.adb
(Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
* sem_prag.adb (Pragma_Default[_Component]Value) Removed
* snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
package containing iteration primitives.
exp_ch5.adb (Expand_Iterator_Loop): ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177147 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
No_Dispatching_Calls, do not look for the Assign primitive, because
predefined primitives are not created in this case.
2011-08-02 Bob Duff <duff@adacore.com>
* stylesw.ads: Minor comment fixes.
2011-08-02 Robert Dewar <dewar@adacore.com>
* freeze.adb (Add_To_Result): New procedure.
2011-08-02 Jose Ruiz <ruiz@adacore.com>
* exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
time, if the specific run-time routines for handling streams of strings
are not available, use the default mechanism.
2011-08-02 Arnaud Charlet <charlet@adacore.com>
* s-regpat.ads: Fix typo.
2011-08-02 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
not null, call it to create the in memory config project file without
parsing an existing default config project file.
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_elim.adb: an abstract subprogram does not need an eliminate
pragma for its descendant to be eliminable.
2011-08-02 Ed Falis <falis@adacore.com>
* init.c: revert to handling before previous checkin for VxWorks
* s-intman-vxworks.adb: delete unnecessary declarations related to
using Ada interrupt facilities for handling signals.
Delete Initialize_Interrupts. Use __gnat_install_handler instead.
* s-intman-vxworks.ads: Import __gnat_install_handler as
Initialize_Interrupts.
* s-taprop-vxworks.adb: Delete Signal_Mask.
(Abort_Handler): change construction of mask to unblock exception
signals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177130 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.adb (Base_Type): Tune implementation for speed.
2011-08-02 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177122 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* scos.ads: Update comments.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
base type, because the parent may be a subtype of a private type whose
convention is established in a private part.
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
statement in a block when the expansion of the return expression has
created a finalization chain.
* freeze.adb (Freeze_Expression): Alphabetize all choices associated
with the parent node.
Add N_Extended_Return_Statement to handle the case where a transient
object declaration appears in the Return_Object_Declarations list of
an extended return statement.
2011-08-02 Matthew Gingell <gingell@adacore.com>
* adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
unused parameter 'name'.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_elim.adb (Set_Eliminated): If the overridden operation is an
inherited operation, check whether its alias, which is the source
operastion that it renames, has been marked eliminated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177121 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch12.adb, sem_ch11.adb: New calling sequence for
Analyze_Aspect_Specifications
* sem_ch13.adb
(Analyze_Aspect_Specifications): New handling for boolean aspects
* sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
* sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
sequence for Analyze_Aspect_Specifications
* sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
* sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
2011-08-02 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Remove handling of delayed boolean
aspects, since these no longer exist.
2011-08-02 Robert Dewar <dewar@adacore.com>
* par-ch13.adb (Aspect_Specifications_Present): Always return false on
semicolon, do not try to see if there are aspects following it.
* par-ch3.adb (P_Declarative_Items): Better message for unexpected
aspect spec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177095 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
expressions.
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* sem_ch8.adb: Minor code editing.
* s-vxwext.adb: Remove trailing space.
* freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
consistency with other files.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* par-ch10.adb: reject parameterized expressions as compilation unit.
* sem_ch4.adb: handle properly conditional expression with overloaded
then_clause and no else_clause.
2011-08-01 Tristan Gingold <gingold@adacore.com>
* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
like done by System.Aux_DEC.
* env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177050 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
"," in choice list.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
explicit raise of a predefined exception as Comes_From_Source if the
original N_Raise_Statement comes from source.
2011-08-01 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Add comment.
* sem_ch6.adb: Minor reformatting.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Refine check for bad component size
clause to avoid rejecting confirming clause when atomic/aliased present.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
better determine whether an entity reference is a write.
* sem_util.adb (Is_LHS): refine predicate to handle assignment to a
subcomponent.
* lib-xref.adb (Output_References): Do no suppress a read reference at
the same location as an immediately preceeding modify-reference, to
handle properly in-out actuals.
2011-08-01 Tristan Gingold <gingold@adacore.com>
* env.c (__gnat_setenv) [VMS]: Refine previous change.
2011-08-01 Quentin Ochem <ochem@adacore.com>
* i-cstrin.adb (New_String): Changed implementation, now uses only the
heap to compute the result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177029 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
here.
(Freeze_All_Ent): Fix error in handling inherited aspects.
* sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
already analyzed, but don't skip entire processing of a declaration,
that's wrong in some cases of declarations being rewritten.
(Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
Don't delay for integer, string literals
Treat predicates in usual manner for delay, remove special case code,
not needed.
(Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
(Build_Predicate_Function): Update saved expression in aspect
(Build_Invariant_Procedure): Update saved expression in aspect
* exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
of replacement of discriminant references if the reference is simple.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177010 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* atree.ads: Minor comment fix.
* a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
a-witeio.ads, sem_prag.adb: Minor reformatting.
2011-08-01 Doug Rupp <rupp@adacore.com>
* env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
pointers. Use descrip.h header file for convenience. Add some
comments.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
(Freeze_All): Call Check_Aspect_At_End_Of_Declarations
* sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
New procedure.
(Check_Aspect_At_End_Of_Declarations): New procedure
(Analye_Aspect_Specification): Minor changes for above procedures
* sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
specification node as well.
2011-08-01 Pascal Obry <obry@adacore.com>
* adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
Windows files. Use GetFilesAttributes() in this case to check for file
existence instead of returning with an error code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177008 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* aspects.ads (Boolean_Aspects): New subtype.
* exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
for derived types in cases where the parent type and derived type have
aspects.
* freeze.adb (Freeze_Entity): Fix problems in handling derived type
with aspects when parent type also has aspects.
(Freeze_Entity): Deal with delay of boolean aspects (must evaluate
boolean expression at this point).
* sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
accordance with final decision on the Ada 2012 feature.
* sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2011-08-01 Matthew Heaney <heaney@adacore.com>
* a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177005 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168082 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
appropriate.
* exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
this new abstraction where appropriate.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Code clean up.
2010-10-26 Paul Hilfinger <hilfinger@adacore.com>
* exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
debugging data.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Note_Possible_Modification): If the target of an
assignment is the bound variable in an iterator, the domain of
iteration, i.e. array or container, is modified as well.
2010-10-26 Bob Duff <duff@adacore.com>
* Make-generated.in: Make the relevant make targets depend on
ceinfo.adb and csinfo.adb.
* csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
so when called from xeinfo, the failure will be noticed.
* sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
* xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb: Set properly parent field of operands of concatenation.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Check_Infinite_Recursion): A recursive call within a
conditional expression or a case expression should not generate an
infinite recursion warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165946 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
when subtype is the same, caused legitimate checks to be missed.
* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
inheritance from right entity.
* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
derived type case if the ancestor type has predicates.
* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
* sem_prag.adb (Check_Enabled): Minor code reorganization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165807 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
(simplifies code).
* exp_ch13.adb (Build_Predicate_Function): Output info msgs for
inheritance.
* sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
freeze node for entities for which a predicate is specified.
(Analyze_Aspect_Specifications): Avoid duplicate calls
* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
duplicate calls to Analye_Aspect_Specifications.
2010-10-22 Thomas Quinot <quinot@adacore.com>
* a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165804 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, einfo.adb: Add handling of predicates.
Rework handling of invariants.
* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
handing of invariants.
* par-prag.adb: Add dummy entry for pragma Predicate
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
Predicate aspects.
* sem_prag.adb: Add implementation of pragma Predicate.
* snames.ads-tmpl: Add entries for pragma Predicate.
2010-10-21 Robert Dewar <dewar@adacore.com>
* elists.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165766 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* einfo.ads, einfo.adb: Add handling of predicates.
Rework handling of invariants.
* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
handing of invariants.
* par-prag.adb: Add dummy entry for pragma Predicate
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
Predicate aspects.
* sem_prag.adb: Add implementation of pragma Predicate.
* snames.ads-tmpl: Add entries for pragma Predicate.
2010-10-21 Robert Dewar <dewar@adacore.com>
* elists.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165764 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
correct, and to be in a more convenient order.
(Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
recording the Default_Storage_Pool for a parent library unit.
* einfo.ads (Etype): Document the case in which Etype can be Empty.
* sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
Default_Storage_Pool pragma.
* sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
* gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
pragma.
* freeze.adb (Freeze_Entity): When freezing an access type, take into
account any Default_Storage_Pool pragma that applies. We have to do
this at the freezing point, because up until that point, a Storage_Pool
or Storage_Size clause could occur, which should override the
Default_Storage_Pool.
* par-prag.adb: Add this pragma to the list of pragmas handled entirely
during semantics.
* sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
Default_Storage_Pool information.
* opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
currently-applicable Default_Storage_Pool pragmas.
* opt.adb: Save/restore the globals as appropriate.
* snames.ads-tmpl (Name_Default_Storage_Pool,
Pragma_Default_Storage_Pool): New pragma name.
2010-10-18 Vincent Celier <celier@adacore.com>
* make.adb (Switches_Of): Put the spec and body suffix in canonical
case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165637 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
library level, the pre/postconditions must be treated as global
declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
* freeze.adb (Freeze_Expression): If the expression is at library level
there is no enclosing record to check.
2010-10-18 Javier Miranda <miranda@adacore.com>
* sem_ch3.ads (Find_Type_Name): Add documentation.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
propagation of the class-wide entity is now done by routine
Find_Type_Name to factorize this code.
(Analyze_Private_Extension_Declaration): Handle private type that
completes an incomplete type.
(Tag_Mismatch): Add error message for tag mismatch in a private type
declaration that completes an incomplete type.
(Find_Type_Name): Handle completion of incomplete type by means of
a private declaration. Generate an error if a tagged incomplete type
is completed by an untagged private type.
* sem_ch7.adb (New_Private_Type): Handle private type that completes an
incomplete type.
* einfo.ads (Full_View): Add documentation.
2010-10-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
a renaming, generate a reference for it before analyzing the renamed
entity, to prevent spurious warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165636 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g-htable.ads (Get_First): New procedural version for Simple_HTable
(Get_Next): New procedural version for Simple_HTable
* s-htable.adb (Get_First): New procedural version for Simple_HTable
(Get_Next): New procedural version for Simple_HTable
* s-htable.ads (Get_First): New procedural version for Simple_HTable
(Get_Next): New procedural version for Simple_HTable
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Propagate_Discriminants): To gather the components of a
variant part, use the association list of the subaggregate, which
already includes the values of the needed discriminants.
2010-10-11 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Changes to accomodate aspect delay
(Tree_Write): New procedure.
* atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all
nodes.
* atree.h: Flag3 is now Has_Aspects and applies to all nodes
* debug.adb: Add debug flag gnatd.A
* einfo.adb (Has_Delayed_Aspects): New flag
(Get_Rep_Item_For_Entity): New function
* einfo.ads (Has_Delayed_Aspects): New flag
(Get_Rep_Item_For_Entity): New function
* exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into
tree.
* exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling
sequence for Freeze_Entity.
* freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source
ptr. All calls are changed to this new interface.
(Freeze_And_Append): Same change
(Freeze_Entity): Evaluate deferred aspects
* sem_attr.adb: New calling sequence for Freeze_Entity
(Eval_Attribute): Don't try to evaluate attributes of unfrozen types
when we are in spec expression preanalysis mode.
* sem_ch10.adb: New calling sequence for Freeze_Entity
* sem_ch11.adb: Simplify analysis of aspect specifications now that the
flag Has_Aspects applies to all nodes (no need to save aspects).
* sem_ch12.adb: Simplify analysis of aspect specifications now that the
flag Has_Aspects applies to all nodes (no need to save aspects).
* sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to
accomodate delaying aspect evaluation to the freeze point.
(Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also
accomodate delayed aspects.
(Rep_Item_Too_Late): Deal with delayed aspects case
* sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed aspects
* sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic
actual types are properly frozen (this is needed because of the new
check in Eval_Attribute that declines to evaluate attributes
for unfrozen types).
Simplify analysis of aspect specifications now that the flag
Has_Aspects applies to all nodes (no need to save aspects).
* sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed aspects
* sem_ch5.adb: Simplify analysis of aspect specifications now that the
flag Has_Aspects applies to all nodes (no need to save aspects).
New calling sequence for Freeze_Entity.
* sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect
specifications now that the flag Has_Aspects applies to all nodes
(no need to save aspects).
New calling sequence for Freeze_Entity
* sem_prag.adb (Check_Duplicate_Pragma): Simplify using
Get_Rep_Item_For_Entity
(Get_Pragma_Arg): Moved to Sinfo
* sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field
(Is_Delayed_Aspect): New flag
(Next_Rep_Item): Document use for aspects
(Get_Pragma_Arg): Moved here from Sem_Prag
* sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon
is output and removes semicolon (simplifies interface).
(Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects
applies to any node.
* tree_gen.adb: Write contents of Aspect_Specifications hash table
* tree_in.adb: Read and initialize Aspect_Specifications hash table
* treepr.adb (Print_Node): Print Has_Aspects flag
(Print_Node): Print Aspect_Specifications in Has_Aspects set
* xtreeprs.adb: Remove obsolete references to Flag1,2,3
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165300 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* exp_ch6.adb, freeze.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165297 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch6.adb (Expand_Call): For VM platforms, add missing expansion of
tag check in case of dispatching call through "=".
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): In Ada2012 an incomplete
type is legal in the profile of any basic declaration.
* sem_ch6.adb (Analyze_Return_Type, Process_Formals): In Ada2012 an
incomplete type, including a limited view of a type, is legal in the
profile of any subprogram declaration.
If the type is tagged, its use is also legal in a body.
* sem_ch10.adb (Install_Limited_With_Clause): Do not process context
item if misplaced.
(Install_Limited_Withed_Unit): Refine legality checks when both the
limited and the non-limited view of a package are visible in the context
of a unit.
If this is not an error case, the limited view is ignored.
freeze.adb (Freeze_Entity): In Ada2012, an incomplete type is legal in
access to subprogram declarations
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165295 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165283 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
others choice is a literal analyze it now to enable later optimizations.
* exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
and components can be handled by the backend even if it is of a limited
type.
2010-10-08 Arnaud Charlet <charlet@adacore.com>
* a-rttiev.adb (task Timer): Since this package may be elaborated
before System.Interrupt, we need to call Setup_Interrupt_Mask
explicitly to ensure that this task has the proper signal mask.
2010-10-08 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): For array case, move some processing for
pragma Pack, Component_Size clause and atomic/volatile components here
instead of trying to do the job in Sem_Ch13 and Freeze.
* layout.adb: Use new Addressable function
* sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
Component_Size): Move some handling to freeze point in
Freeze.Freeze_Entity.
* sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
freeze point in Freese.Freeze_Entity.
* sem_util.ads, sem_util.adb (Addressable): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165159 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
sequence of statements.
2010-10-07 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Only add a .ci files if it exists
2010-10-07 Javier Miranda <miranda@adacore.com>
* a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
* rtsfind.ads (RE_Type_Is_Abstract): New entity.
* exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
2010-10-07 Arnaud Charlet <charlet@adacore.com>
* sem_ch12.adb (Mark_Context): Removed, no longer needed.
(Analyze_Package_Instantiation): No longer analyze systematically a
generic body in CodePeer mode.
* freeze.adb, sem_attr.adb: Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165081 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch4.adb: Minor reformatting.
* exp_ch6.adb: Add comment on testing limited on full type
* gnat_rm.texi: Add documentation on Pure_Function.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
as a source of another project and of another language.
2010-09-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
errors.
* freeze.adb (Check_Unsigned_Type): Ditto.
* sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
* sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
(Set_Scalar_Range_For_Subtype): Ditto.
* sem_eval.adb (Subtypes_Statically_Match): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164170 138bc75d-0d04-0410-961f-82ee72b054a4
|