15262 lines
586 KiB
Plaintext
15262 lines
586 KiB
Plaintext
2011-12-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
|
||
parameter to generic formal procedure.
|
||
* prj.adb (For_Every_Project_Imported): Update accordingly.
|
||
(Recursive_Check): Likewise. Do not parse imported project for
|
||
aggregate library. This is needed as the imported projects are
|
||
there just to handle dependencies.
|
||
(Look_For_Sources): Likewise.
|
||
(Recursive_Add): Likewise.
|
||
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
|
||
Add In_Aggregate_Lib parameter to routines used with
|
||
For_Every_Project_Imported generic procedure.
|
||
* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
|
||
(Check): Move where it is used. Fix implementation
|
||
to not check libraries that are inside aggregate libraries.
|
||
(Recursive_Check): Add In_Aggregate_Lib parameter.
|
||
|
||
2011-12-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
|
||
package is a referencer regardless of whether there is a
|
||
subsequent subprogram with an Inline pragma.
|
||
|
||
2011-12-23 Geert Bosch <bosch@adacore.com>
|
||
|
||
* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
|
||
|
||
2011-12-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
|
||
|
||
2011-12-22 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
|
||
associated with exception handling unconditionally.
|
||
(Build_Adjust_Statements): Create the objects associated with
|
||
exception handling unconditionally.
|
||
(Build_Components): Create the objects associated with exception
|
||
handling unconditionally.
|
||
(Build_Finalize_Statements): Create the objects associated with
|
||
exception handling unconditionally.
|
||
(Build_Initialize_Statements): Create the objects associated with
|
||
exception handling unconditionally.
|
||
(Build_Object_Declarations): Set the proper location of the data
|
||
record when exception propagation is forbidden.
|
||
|
||
2011-12-22 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-tienio.adb (Put): Test validity of Item parameters before
|
||
applying Image, and raise Constraint_Error for invalid values.
|
||
|
||
2011-12-22 Bob Duff <duff@adacore.com>
|
||
|
||
* a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
|
||
* a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
|
||
overriding indicators.
|
||
|
||
2011-12-22 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-osinte-hpux-dce.ads: Update header to GPLv3
|
||
|
||
2011-12-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
|
||
aspect Constant_Reference to set type, and corresponding
|
||
functions.
|
||
* a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
|
||
function Reference to provide a proper element iterator construct
|
||
over indefinite maps.
|
||
|
||
2011-12-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
|
||
implicit conversion on prefix of Unrestricted_Access when prefix
|
||
is an explicit dereference.
|
||
|
||
2011-12-22 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
|
||
errors using continuation marks.
|
||
(Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.
|
||
|
||
2011-12-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.
|
||
|
||
2011-12-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.
|
||
|
||
2011-12-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
|
||
(Process_Full_View): Invoke Check_CPP_Type if processing the
|
||
full-view of a CPP type.
|
||
* sem_prag.adb (Process_Import_Or_Interface): Add missing support
|
||
for importing a CPP type that has an incomplete declaration. Move
|
||
to new routine Check_CPP_Type the code that verifies that
|
||
components of imported CPP types do not have default expressions.
|
||
|
||
2011-12-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
|
||
no sources even for languages that are not allowed.
|
||
(Add_Source): Get the source even when the language is not allowed.
|
||
|
||
2011-12-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): Add defensive code.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
|
||
invariant procedure of a type declaration that is a completion and has
|
||
aspect specifications.
|
||
(Build_Invariant_Procedure): If the procedure is built for a
|
||
type declaration that is a completion, analyze body expliitly
|
||
because all private declarations have been already analyzed.
|
||
|
||
2011-12-21 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
|
||
a-cofove.adb: Minor reformating on formal containers
|
||
|
||
2011-12-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
|
||
any main that is not in the list of restricted languages.
|
||
(Insert_Project_Sources.Do_Insert): Only add sources of languages
|
||
in the list of restricted languages.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): A type conversion is valid when
|
||
the target type is an anonymous access type and the operand is a
|
||
rewriting of an allocator. The conversion is typically inserted
|
||
when the designated type is an interface.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Establish_Task_Master): If the enclosing block
|
||
has no declarations, create new declarative list for it.
|
||
|
||
2011-12-21 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
|
||
|
||
2011-12-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
|
||
ignore representation attributes in Alfa mode, since formal
|
||
verification backend does not depend on actual physical
|
||
representation, but code may still refer to attribute values.
|
||
|
||
2011-12-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch13.adb (P_Aspect_Specifications): Recognize the cases
|
||
where a comma between two aspects is missing, or erroneously
|
||
replaced by a semicolon, issue an error and proceed with next
|
||
aspect.
|
||
* par.adb, sinfo.ads: Fix typos.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Mark_Coextensions): A coextension for an
|
||
object that is part of the expression in a return statement,
|
||
or part of the return object in an extended return statement,
|
||
must be allocated dynamically.
|
||
|
||
2011-12-21 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If the name
|
||
of an element iterator is not an entity name we introduce a
|
||
local renaming declaration for it. To prevent spurious warnings
|
||
on parameterless function calls that return a container, when
|
||
expansion is disabled (either explicitly or because of a previous
|
||
errors) the name must be marked as not coming from source.
|
||
|
||
2011-12-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
|
||
handling in CodePeer mode and only ignore Component_Size
|
||
attribute.
|
||
|
||
2011-12-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): Set proper mechanism for
|
||
formals whose types have conventions Ada_Pass_By_Copy or
|
||
Ada_Pass_By_Reference.
|
||
|
||
2011-12-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1Drv): Always delete old scil files in
|
||
CodePeer mode.
|
||
|
||
2011-12-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* comperr.adb: Minor reformatting.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads: New table Base_Aspect, to indicate that an aspect
|
||
is defined on a base type.
|
||
* aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
|
||
examine the representation items of the base type.
|
||
|
||
2011-12-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
|
||
snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.
|
||
|
||
2011-12-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
|
||
to kill warning.
|
||
|
||
2011-12-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
|
||
Fix implementation for child packages and package specs.
|
||
(Delete_SCIL_Files.Decode_Name_Buffer): New function.
|
||
|
||
2011-12-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
|
||
a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.
|
||
|
||
2011-12-21 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
|
||
s-llflex.ads: Fix header.
|
||
|
||
2011-12-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
|
||
AIX 5.2, define as a dummy weak symbol in init.c.
|
||
(CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.
|
||
|
||
2011-12-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
|
||
* sem_prag.adb: Minor comment clarification.
|
||
|
||
2011-12-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Report_No_Sources): New argument Lang for the
|
||
language name as a Name_Id. Do not report no sources if language
|
||
is not allowed.
|
||
(Add_Source): Do not add source if language is not allowed.
|
||
* prj.adb (Add_Restricted_Language): New procedure
|
||
(Is_Allowed_Language): New function
|
||
* prj.ads (Add_Restricted_Language): New procedure
|
||
(Is_Allowed_Language): New function
|
||
|
||
2011-12-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
|
||
Minor reformatting.
|
||
|
||
2011-12-21 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads (Constant_Indexing, Default_Iterator,
|
||
Iterator_Element): Added to type List.
|
||
(Not_No_Element, List_Iterator_Interfaces, Iterate,
|
||
Constant_Reference_Type, Constant_Reference): New.
|
||
* a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
|
||
Previous, Iterate, Not_No_Element, Constant_Reference): New.
|
||
|
||
2011-12-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor reformatting.
|
||
|
||
2011-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
|
||
Has_Element is the formal of Iterator_Interfaces, and within
|
||
the instantion of this package it is a renaming of some local
|
||
function with an unrelated name. Retrieve the operation from
|
||
the instance itself, not from the container package.
|
||
|
||
2011-12-21 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
|
||
replaced by Expand_Put_Call_With_Dimension_Symbol
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): New check for
|
||
System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
|
||
* sem_ch3.adb (Analyze_Declarations): Removed
|
||
Remove_Dimension_In_Declaration call.
|
||
* sem_dim.adb: Update comments. Redefine the
|
||
representation of a Rational. Propagate all changes involving
|
||
data structures and types throughout the pakage. Output the
|
||
dimension aggregates for each error messages.
|
||
("/"): Rational constructor "/" removed for Whole operands.
|
||
("/"): New rational operation "/" for Rational operands.
|
||
("*"): Operation "*" between Rational and Int removed.
|
||
("abs"): New unary operator "abs" for Rational.
|
||
(Analyze_Aspect_Dimension_System): Reorganized.
|
||
(Analyze_Dimension_Identifier): Removed.
|
||
(Copy_Dimensions): Removed.
|
||
(Create_Rational_From_Expr): New Boolean parameter.
|
||
(Dimensions_Msg_Of): New routine. Return
|
||
a string with the dimensions of the parameter.
|
||
(From_Dimension_To_String_Of_Symbols): Renaming of
|
||
From_Dimension_To_String_Id.
|
||
* sem_dim.ads: Update comments.
|
||
(Is_Dim_IO_Package_Instantiation): New routine.
|
||
(Remove_Dimension_In_Declaration): Removed.
|
||
* sem_res.adb (Resolve_Op_Expon): Reorganized calls of
|
||
Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
|
||
* s-diflio.ads, s-diinio.ads: Update comments.
|
||
|
||
2011-12-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
|
||
Library_Fully_Standalone_Options and
|
||
Library_Fully_Standalone_Supported attributes.
|
||
* prj-nmsc.adb (Check_Library): Update check to take into
|
||
account fully standalone libraries. Such shared libraries can
|
||
only depend on static libraries.
|
||
(Check_Stand_Alone_Library): Add support for fully standalone libraries.
|
||
(Process_Project_Level_Simple_Attributes): Store value for
|
||
configuration attribute Library_Fully_Standalone_Supported.
|
||
* prj.ads, makeutl.adb (Standalone): New enumeration type.
|
||
(Project_Data): Standalone_Library now of type Standlone.
|
||
(Project_Configuration): Add Lib_Fully_Standalone_Supported
|
||
field.
|
||
(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
|
||
field.
|
||
* clean.adb (Clean_Project): Adjust to new type for Standalone.
|
||
* make.adb (Library_Phase): Adjust to new type for Standalone.
|
||
(Gnatmake): Likewise.
|
||
* mlib-prj.adb (Build_Library): Adjust to new type for
|
||
Standalone.
|
||
|
||
2011-12-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
|
||
Set_Standard_Output just before producing normal (non-diagnostic)
|
||
output.
|
||
* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
|
||
(and again after parsing project files).
|
||
|
||
2011-12-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Do_Autoconf): When the object directory does
|
||
not exist, create auto.cgpr in the directory where temporary
|
||
files are created.
|
||
|
||
2011-12-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Further
|
||
refinements on the placement of a freeze node for a package
|
||
instantiation, when the generic appears within a previous
|
||
instantiation in the same unit.If the current instance is within
|
||
the one that contains the generic, the freeze node for the
|
||
current one must appear in the current declarative part. Ditto
|
||
if the current instance is within another package instance. In
|
||
these cases the freeze node of the previous instance is is not
|
||
relevant. New predicate Enclosing_Body simplifies the process.
|
||
(Freeze_Subprogram_Body): Rename Enclosing_Body to
|
||
Enclosing_Package_Body, to prevent confusion with subprogram of
|
||
same name elsewhere.
|
||
(Install_Body): Recognize enclosing subprogram bodies to determine
|
||
whether freeze_node belongs in current declarative list.
|
||
|
||
2011-12-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
|
||
attribute definition clause for renaming if generated internally
|
||
and generate duplicate clause to apply to renamed object.
|
||
(Rep_Item_Too_Late): Only diagnose source level entities
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-12-20 Bob Duff <duff@adacore.com>
|
||
|
||
* opt.ads (List_Inherited_Aspects): Default to False
|
||
(i.e. -gnatw.L is the default).
|
||
* usage.adb: Document new default for -gnatw.L.
|
||
* gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
|
||
* warnsw.adb (Set_Warning_Switch): Do not include
|
||
List_Inherited_Aspects in -gnatwa.
|
||
|
||
2011-12-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Type_Conversion_Checks): For a discrete type
|
||
with predicates, indicate unconditionally that a range check
|
||
is needed.
|
||
* exp_ch4.adb (Expand_N_In): When the membership test is rewritten
|
||
to incorporate a call to a predicate function, analyze expression
|
||
with checks suppressed, to prevent infinite recursion.
|
||
|
||
2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch11.adb (Find_Local_Handler): Guard the
|
||
search over individual exception choices in case the list of
|
||
handlers contains other (possibly illegal) constructs.
|
||
|
||
2011-12-20 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Type): Test taggedness
|
||
of the Available_Type when checking for an illegal use of an
|
||
incomplete type, when the incomplete view is a limited view of
|
||
a type. Remove redundant Is_Tagged test.
|
||
|
||
2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb: Add with and use clause for Aspects.
|
||
(Is_Finalizable_Transient): Objects which denote Ada containers
|
||
in the context of iterators are not considered transients. Such
|
||
object must live for as long as the loop is around.
|
||
(Is_Iterated_Container): New routine.
|
||
|
||
2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Width_Attribute): Add a
|
||
type conversion from the enumeration subtype to its base subtype.
|
||
|
||
2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): Update the call to
|
||
Is_Dimensioned_Type.
|
||
* sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
|
||
all type declarations and datastructures involved. Propagate
|
||
all changes involving data structures and types throughout
|
||
the pakage. Alphabetize all subprograms. Add ??? comments.
|
||
(AD_Hash): Removed.
|
||
(Analyze_Aspect_Dimension): Rewritten. This
|
||
routine now does all its checks in one pass rather than
|
||
two. Refactor code. The error message are now in a more GNAT-ish style.
|
||
(Create_Rational_From_Expr): This is now a function.
|
||
(Get_Dimensions): Removed.
|
||
(Get_Dimensions_String_Id): Removed.
|
||
(Dimensions_Of): New rouitne.
|
||
(Exists): New routines.
|
||
(Is_Invalid): New routine.
|
||
(Permits_Dimensions): Removed.
|
||
(Present): Removed.
|
||
(Set_Symbol): New routine.
|
||
(System_Of): New routine.
|
||
* sem_dim.ads: Rewrite the top level description of the
|
||
package. Alphabetize subprograms. Add various comments on
|
||
subprogram usage. Add ??? comments.
|
||
(Is_Dimensioned_Type):
|
||
Renamed to Has_Dimension_System.
|
||
* sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type
|
||
|
||
2011-12-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Indexing_Functions): The return type of an
|
||
indexing function can be the default element type, and does not
|
||
need to be a reference type.
|
||
* sem_ch4.adb (Try_Container_Indexing): Ditto.
|
||
|
||
2011-12-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.
|
||
|
||
2011-12-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.
|
||
|
||
2011-12-20 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
|
||
Defined Additions to System.
|
||
* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
|
||
* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.
|
||
|
||
2011-12-20 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
|
||
within an instance, even if the homonym is marked Is_Hidden at
|
||
this point.
|
||
|
||
2011-12-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
|
||
sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
|
||
s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
|
||
reformatting.
|
||
* aspects.ads: Dimension[_Aspects] are GNAT defined.
|
||
|
||
2011-12-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
|
||
renaming case.
|
||
|
||
2011-12-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
|
||
a child unit that is an illegal instantiation, mark the WITH clause in
|
||
error.
|
||
(Install_Siblings, Validate_Categorization_Dependency): Guard
|
||
against WITH clause marked as in error.
|
||
|
||
2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Allocator): Warning on allocation
|
||
of tasks on a subpool and rewrite the allocator into a raise
|
||
Program_Error statement.
|
||
* s-stposu.ads, s-stposu.adb: Code reformatting.
|
||
(Create_Subpool): Remove formal parameter Storage_Size.
|
||
(Default_Subpool_For_Pool): Add the default implementation of this
|
||
routine.
|
||
(Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
|
||
all the uses of the parameter.
|
||
|
||
2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (%86 linux%):
|
||
(LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
|
||
(LIBGNAT_TARGET_PAIRS_64): New.
|
||
(LIBGNAT_TARGET_PAIRS): Add either depending on multilib.
|
||
|
||
2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Add comment about double
|
||
reference and DECL_POINTS_TO_READONLY_P.
|
||
* gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the
|
||
TREE_READONLY flag on the first dereference of a double dereference.
|
||
|
||
2011-12-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,
|
||
s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
|
||
s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.
|
||
|
||
2011-12-15 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads Aspect_Dimension and
|
||
Aspect_Dimension_System added
|
||
* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
|
||
case added
|
||
* gcc-interface/Make-lang.in: s-llflex, sem_dim added.
|
||
* impunit.adb :s-diflio and s-diinio defined as GNAT Defined
|
||
Additions to System.
|
||
* Makefile.rtl: s-diflio, s-diinio and s-llflex added
|
||
* par-prag.adb, sem_prag.adb: Pragma_Dimension removed
|
||
* rtsfind.ads: Expon_LLF added
|
||
* sem_aggr.adb (Resolve_Aggregate): handles aggregate for
|
||
Aspect_Dimension case
|
||
* sem_attr.adb (Resolve_Attribute): analyze dimension for
|
||
attribute
|
||
* sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
|
||
due to the use of a GNAT library for Dimension packages
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Aspect_Dimension and Aspect_Dimension_System cases added
|
||
(Check_Aspect_At_Freeze_Point): Aspect_Dimension and
|
||
Aspect_Dimension_System cases added
|
||
* sem_ch2.adb (Analyze_Identifier): analyze dimension for
|
||
identifier
|
||
* sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
|
||
for component declaration (Analyze_Object_Declaration): analyze
|
||
dimension for object declaration (Analyze_Subtype_Declaration):
|
||
analyze dimension for subtype declaration
|
||
* sem_ch4.adb (Operator_Check): checks exponent is a rational
|
||
for dimensioned operand for a N_Op_Expon
|
||
* sem_ch5.adb (Analyze_Assignment): analyze dimension for
|
||
assignment (Analyze_Statements): removal of dimensions in all
|
||
statements
|
||
* sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
|
||
return statement
|
||
* sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
|
||
object renaming
|
||
* sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
|
||
analyze the expression for aspect dimension and store the
|
||
values in a Htable.
|
||
(Analyze_Aspect_Dimension_System): analyze
|
||
the expression for aspect dimension system and store the new
|
||
system in a Table.
|
||
(Analyze_Dimension): propagates dimension
|
||
(Expand_Put_Call_With_Dimension_String): add the dimension
|
||
string as a suffix of the numeric value in the output
|
||
(Has_Dimension): return True if the node has a dimension
|
||
(Remove_Dimension_In_Declaration): removal of dimension in the
|
||
expression of the declaration.
|
||
(Remove_Dimension_In_Statement): removal of dimension in statement
|
||
* sem_res.adb (Resolve): analyze dimension if the node
|
||
has already been analyzed.
|
||
(Resolve_Arithmetic_Op): analyze
|
||
dimension for arithmetic op.
|
||
(Resolve_Call): analyze dimension for function call.
|
||
(Resolve_Comparison_Op): analyze dimension for comparison op.
|
||
(Resolve_Equality_Op): analyze dimension for equality op.
|
||
(Resolve_Indexed_Component): analyze dimension for indexed component.
|
||
(Resolve_Op_Expon): analyze dimension for op expon.
|
||
(Resolve_Selected_Component): analyze dimension
|
||
for selected component.
|
||
(Resolve_Slice): analyze dimension for slice.
|
||
(Resolve_Unary_Op): analyze dimension for unary op
|
||
(Resolve_Type_Conversion): analyze dimension for type conversion
|
||
(Resolve_Unchecked_Type_Conversion): analyze dimension for
|
||
unchecked type conversion
|
||
* snames.ads-tmpl Name_Dimension, Name_Dimension_System,
|
||
Name_Dim_Float_IO, Name_Dim_Integer_IO,
|
||
Name_Generic_Elementary_Functions, Name_Sqrt added.
|
||
Pragma_Dimension removed
|
||
* s-diflio.adb, s-diflio.ads New GNAT library generic package
|
||
for dimensioned float type IO
|
||
* s-diinio.adb, s-diinio.ads New GNAT library generic package
|
||
for dimensioned integer type IO
|
||
* s-llflex.ads (Expon_LLF): exponentiation routine for long long
|
||
floats operand and exponent
|
||
|
||
2011-12-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb: Minor comment addition.
|
||
|
||
2011-12-15 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
|
||
task dispatching point.
|
||
* s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.
|
||
|
||
2011-12-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sigtramp-ppcvxw.c, sigtramp.h: Fix header.
|
||
|
||
2011-12-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
|
||
applied to a class-wide type under VM targets generate code which
|
||
invokes the function Get_Alignment to retrieve the value of the
|
||
alignment from the TSD.
|
||
* rtsfind.ads (RE_Get_Alignment): New entity.
|
||
|
||
2011-12-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-comlin.adb: Fix header.
|
||
|
||
2011-12-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatls.adb: Fix typo.
|
||
|
||
2011-12-15 Ed Falis <falis@adacore.com>
|
||
|
||
* s-tpopsp-vxworks.adb: Update comment.
|
||
|
||
2011-12-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
|
||
the component type has predicates, generate corresponding check.
|
||
(Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
|
||
|
||
2011-12-13 Cesar Strauss <cestrauss@gmail.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/49084
|
||
* types.h (Byte): Change typedef to 'unsigned char'.
|
||
* atree.h (struct Flag_Word): Use Byte for 'convention' field.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-taprop-mingw.adb: Minor reformatting.
|
||
|
||
2011-12-12 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
Add gnattools4 target when building tools in canadian mode
|
||
|
||
2011-12-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_VM_TSD): Complete previous patch.
|
||
|
||
2011-12-12 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tpobop.adb: Use named notation.
|
||
* g-bytswa.ads, s-taprop.ads: Minor comment fix.
|
||
|
||
2011-12-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb: Minor comment update.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb, gnatls.adb: Minor reformatting.
|
||
|
||
2011-12-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): If a type declared in a generic
|
||
context has predicates, generate a freeze node for it.
|
||
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
|
||
has not been analyzed yet, entity has not been frozen, so analyze
|
||
it now.
|
||
|
||
2011-12-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_VM_TSD): Generate code to store the value of
|
||
'alignment in the TSD.
|
||
|
||
2011-12-12 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
|
||
mode.
|
||
|
||
2011-12-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator): Update the master of an
|
||
anonymous access-to-controlled type to utilize the heterogeneous
|
||
master associated with the current unit.
|
||
|
||
2011-12-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): If the function
|
||
is not a completion, pre-analyze the expression now to prevent
|
||
spurious visibility on later entities. The body is inserted at
|
||
the end of the current declaration list or package to prevent
|
||
early freezing, but the visibility is established at the point
|
||
of definition.
|
||
|
||
2011-12-12 Bob Duff <duff@adacore.com>
|
||
|
||
* sem.adb, sem.ads: Add debugging routines.
|
||
|
||
2011-12-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatls.adb: (gnatls): Also add the objects dir in search list.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
|
||
sem_ch13.adb: Minor reformatting.
|
||
|
||
2011-12-12 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch7.adb (Uninstall_Declarations): Don't
|
||
apply check for incomplete types used as a result type for an
|
||
access-to-function type when compiling for Ada 2012 or later.
|
||
* sem_ch6.adb (Analyze_Subprogram_Declaration):
|
||
Specialize error message for interface subprograms that are
|
||
not declared abstract nor null (functions can't be declared as
|
||
null). Also, remove "(Ada 2005)" from message.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (GNAT_Pragma): Check comes from source.
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatls.adb: Minor reformatting.
|
||
|
||
2011-12-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* a-tags.ads (Alignment): New TSD field.
|
||
(Max_Predef_Prims): Value lowered to 15 (or 9 in case of
|
||
configurable runtime) Update documentation of predefined
|
||
primitives since Alignment has been removed.
|
||
* exp_disp.ads Update documentation of slots of dispatching
|
||
primitives.
|
||
* exp_disp.adb (Default_Prim_Op_Position): Update slot
|
||
values since alignment is no longer a predefined primitive.
|
||
(Is_Predefined_Dispatch_Operation): Remove _alignment.
|
||
(Is_Predefined_Internal_Operation): Remove _alignment.
|
||
(Make_DT): Update static test on the value stored in a-tags.ads
|
||
for Max_Predef_Prims; store the value of 'alignment in the TSD.
|
||
* exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
|
||
that retrieves the alignment from the TSD
|
||
* exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
|
||
of class-wide types obtain the value of alignment from the TSD.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
|
||
applied to a class-wide type invoke Build_Get_Alignment to
|
||
generate code which retrieves the value of the alignment from
|
||
the TSD.
|
||
* rtsfind.ads (RE_Alignment): New Ada.Tags entity
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
|
||
types if the value of the alignment is bigger than the Maximum
|
||
alignment then set the value of the alignment to the Maximum
|
||
alignment and report a warning.
|
||
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
|
||
spec of _alignment.
|
||
(Predefined_Primitive_Bodies): Do not generate body of _alignment.
|
||
|
||
2011-12-12 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Allow freezing of static
|
||
scalar subtypes that are prefixes of an attribute, even if not
|
||
yet marked static. Such attributes will get marked as static
|
||
later in Eval_Attribute (as called from Resolve_Attribute).
|
||
* sem_attr.adb (Eval_Attribute): Remove wrong code that does an
|
||
early return for attribute prefixes that are unfrozen source-level
|
||
types. This code was incorrectly bypassing folding of unfrozen
|
||
static subtype attributes in default expressions (the executable
|
||
example in the now-deleted comment was in fact illegal).
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
|
||
gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.
|
||
|
||
2011-12-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gsocket.h: Adjust previous patch.
|
||
|
||
2011-12-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_disp.adb: Minor reformatting.
|
||
|
||
2011-12-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatls.adb (Search_RTS): New procedure.
|
||
(Scan_Ls_Arg): Move code that search the RTS.
|
||
(Gnatls): search the RTS later.
|
||
* prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.
|
||
|
||
2011-12-12 Ed Falis <falis@adacore.com>
|
||
|
||
* sysdep.c: Fix treatment of VxWorks task options so that run-times
|
||
built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.
|
||
|
||
2011-12-12 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
|
||
Minor cleanup and fiddling with debug printouts.
|
||
|
||
2011-12-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Get_Directories): For a non extending project,
|
||
always get a declared object and/or exec directory if it already
|
||
exists, even when there are no sources, but do not create them.
|
||
|
||
2011-12-12 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb (Resolve): Deal with the case where an abstract
|
||
operator is called with operands of type universal_integer.
|
||
|
||
2011-12-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Minor fix to dominance marker referencing WHILE
|
||
decision.
|
||
|
||
2011-12-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.
|
||
|
||
2011-12-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Adjust dominant marker for branches of CASE
|
||
statements.
|
||
|
||
2011-12-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
|
||
header file prior to redefining FD_SETSIZE.
|
||
|
||
2011-12-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
|
||
a generic context the aspect expressions may not have been
|
||
preanalyzed if there was no previous freeze point, so the
|
||
expressions must be preanalyzed now, and there is no conformance
|
||
to check for visibility changes.
|
||
|
||
2011-12-12 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
|
||
subtype Index_Type'Base for Index component (Finalize): Remove
|
||
unnecessary access check (First, Last): Cursor return value
|
||
depends on iterator index value (Iterate): Use start position as
|
||
iterator index value (Next, Previous): Forward to corresponding
|
||
cursor-based operation.
|
||
* a-cborma.adb (Iterate): Properly initialize iterator object (with 0
|
||
as node index).
|
||
|
||
2011-12-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.
|
||
|
||
2011-12-12 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Completion): Improve a comment.
|
||
|
||
2011-12-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* cstand.adb: Minor comment fix.
|
||
|
||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
|
||
flag of elements to compute that of the constructor.
|
||
|
||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
|
||
on references built for parameters which aren't specifically by-ref.
|
||
|
||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
|
||
alignment set on a renaming, assert that the renamed object is aligned
|
||
enough as to make it possible to honor it.
|
||
|
||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Initialize the linemap earlier.
|
||
|
||
2011-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
|
||
Correctly detect cygwin, which no longer has the '32' suffix, and use
|
||
appropriate implementations of the sockets and memory packages.
|
||
* sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
|
||
setmode/_setmode for MinGW and Cygwin, respectively.
|
||
(__gnat_set_binary_mode [windows targets]): Use the above, and enable
|
||
the windows version for Cygwin as well as MinGW.
|
||
(__gnat_set_text_mode [windows targets]): Likewise.
|
||
(__gnat_ttyname [windows targets]): Provide a Cygwin implementation
|
||
in addition to the MinGW version.
|
||
(__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
|
||
(__gnat_get_stack_bounds): Likewise.
|
||
|
||
2011-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor comment fix.
|
||
|
||
2011-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for -gnatw.e.
|
||
|
||
2011-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* treepr.adb (pn): Print something useful for
|
||
Elmt_Ids. Add Write_Eol to 'when others' case, so the output
|
||
will be seen immediately in gdb.
|
||
|
||
2011-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
|
||
is never a main program.
|
||
|
||
2011-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Various minor adjustments to dominance markers
|
||
generation.
|
||
|
||
2011-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): If the function is
|
||
a completion, generate a body reference for its defining entity,
|
||
before rewriting the node as a body.
|
||
* sem_util.adb (Defining_Entity): Add entry for expression
|
||
function.
|
||
|
||
2011-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
|
||
to the Comes_From_Source check, to deal properly with the case
|
||
of indirect inheritance of "=".
|
||
|
||
2011-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
PR ada/51307
|
||
* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
|
||
not a macro.
|
||
|
||
2011-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
|
||
information in SCOs.
|
||
|
||
2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
|
||
(INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
|
||
Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
|
||
which allows the file to be installed in adainclude.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-12-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Access): Undo previous
|
||
patch for this routine. Required since the RM rule 3.7.1(7/3)
|
||
applies to all access types.
|
||
|
||
2011-12-02 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor comment fix.
|
||
|
||
2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||
|
||
* s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
|
||
for consistency with other ports.
|
||
* s-osinte-rtems.adb: Add body for dummy implementation of
|
||
pthread_rwlockattr_setkind_np().
|
||
* s-osinte-rtems.ads: Add missing clock and rwlock bindings.
|
||
* terminals.c: Add __rtems__ conditionals to account for differences
|
||
in termios implementation.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
|
||
a-cbmutr.ads: Minor reformatting.
|
||
|
||
2011-12-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_dbug.adb: Comment reformatting.
|
||
(Get_External_Name): Use Reset_Buffers to reset the contents of
|
||
Name_Buffer and Homonym_Numbers.
|
||
(Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
|
||
Homonym_Numbers before creating a new qualified name for a particular
|
||
entity.
|
||
(Reset_Buffers): New routine.
|
||
|
||
2011-12-02 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbmutr.ads (No_Node): Moved declaration from body to spec
|
||
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
|
||
from Root_Iterator.
|
||
(Child_Iterator): Derives from Root_Iterator.
|
||
(Finalize): Implemented as an override operation for Root_Iterator.
|
||
(First): Return value depends on Subtree component.
|
||
(Last): Component was renamed from Parent to Subtree.
|
||
(Next): Checks parameter value, and uses simplified loop.
|
||
(Iterate): Forwards to Iterate_Subtree.
|
||
(Iterate_Children): Component was renamed from Parent to Subtree.
|
||
(Iterate_Subtree): Checks parameter value
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb: Add lines for -gnatw.n and -gnatw.N
|
||
(atomic sync info msgs).
|
||
|
||
2011-12-02 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Completion): An Ada 2012
|
||
generic formal type doesn't require a completion.
|
||
|
||
2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
|
||
packed array type if it is to be set on the array type used to
|
||
represent it.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Eliminate confusing use of type name.
|
||
|
||
2011-12-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
|
||
body that acts as spec, do not create a shallow copy of the context
|
||
clause for the synthetized spec (instead, use the same list as
|
||
in the body).
|
||
|
||
2011-12-02 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Clarify usage of -p binder switch.
|
||
|
||
2011-12-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
|
||
(Effectively_Has_Constrained_Partial_View): Moved to sem_aux
|
||
(In_Generic_Body): Moved to sem_aux.
|
||
(Unit_Declaration_Node): Moved to sem_aux.
|
||
* einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
|
||
documentation.
|
||
* exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
|
||
rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
|
||
exp_ch13.adb: Add with-clause on Sem_Aux.
|
||
|
||
2011-12-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Unique_Name): Reach through Unique_Entity to
|
||
get the name of the entity.
|
||
(Unique_Entity): Correct case for subprogram stubs.
|
||
|
||
2011-12-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Initialization): Do not emit warning on
|
||
initialization of limited type object in Alfa mode.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Minor reformatting.
|
||
* gnat_ugn.texi: Fix confusion in use of term "type name".
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor change in error message.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
|
||
reformatting.
|
||
|
||
2011-12-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
|
||
static check of the rule of general access types whose designated
|
||
type has discriminants.
|
||
* sem_util.ads, sem_util.adb
|
||
(Effectively_Has_Constrained_Partial_View): New subprogram.
|
||
(In_Generic_Body): New subprogram.
|
||
* einfo.ads (Has_Constrained_Partial_View): Adding documentation.
|
||
* sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
|
||
subprogram In_Generic_Body.
|
||
* exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
|
||
sem_ch4.adb: In addition, this patch replaces the occurrences of
|
||
Has_Constrained_Partial_View by
|
||
Effectively_Has_Constrained_Partial_View.
|
||
|
||
2011-12-02 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
|
||
Position component.
|
||
(Finalize): Remove unnecessary access check.
|
||
(First): Forward to First_Child.
|
||
(Last): Forward to Last_Child.
|
||
(Iterate): Check preconditions for parent node parameter.
|
||
(Next): Forward to Next_Sibling.
|
||
(Previous): Forward to Previous_Sibling.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
|
||
a-coormu.adb, a-convec.adb: Minor reformatting.
|
||
|
||
2011-12-02 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
|
||
* a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
|
||
Iterator type.
|
||
(Finalize): Decrement busy counter.
|
||
(First, Last): Cursor return value depends on iterator node value.
|
||
(Iterate): Use start position as iterator node value.
|
||
(Next, Previous): Forward to corresponding cursor-based operation.
|
||
|
||
2011-12-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
|
||
a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
|
||
a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
|
||
a-ciorma.adb, a-cobove.adb: Minor reformatting.
|
||
|
||
2011-12-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/51201
|
||
* gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.
|
||
|
||
2011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
|
||
only on platforms where this is required, as determined by
|
||
s-oscons.h.
|
||
|
||
2011-11-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb: No check on entry index if error on index.
|
||
|
||
2011-11-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
|
||
return statements nested inside an extended_return_statement.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
|
||
|
||
2011-11-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-11-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
|
||
Iterator type as limited (First, Last): Cursor return value
|
||
depends on iterator node value (Iterate): Use start position as
|
||
iterator node value (Next, Previous): Forward to corresponding
|
||
cursor-based operation.
|
||
|
||
2011-11-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
|
||
Renamed from Ordered_Set_Iterator_Interfaces.
|
||
* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
|
||
Iterator type as limited (First, Last): Cursor return value
|
||
depends on iterator node value (Iterate): Use start position as
|
||
iterator node value (Next, Previous): Forward to corresponding
|
||
cursor-based operation.
|
||
* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
|
||
* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
|
||
node component (First, Next): Forward call to corresponding
|
||
cursor-based operation (Iterate): Representation of iterator no
|
||
longer has node component
|
||
|
||
2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
|
||
dereference has a proper type before the side effect removal
|
||
mechanism kicks in.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
|
||
where the base type of the subtype is a private itype created
|
||
to act as the partial view of a constrained record type. This
|
||
scenario manifests with equivalent class-wide types for records
|
||
with unknown discriminants.
|
||
|
||
2011-11-23 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
|
||
reformatting/reorganization.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-htable.ads: Remove old comments.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_imgv.adb: Minor reformatting.
|
||
|
||
2011-11-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
|
||
family bounds out of range.
|
||
|
||
2011-11-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
|
||
type as limited, and remove node component.
|
||
(First, Next): Forward call to corresponding cursor-based operation.
|
||
(Iterate): Representation of iterator no longer has node component.
|
||
|
||
2011-11-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_util.adb: Revert previous change to remove side-effects in Alfa
|
||
mode, which is not the correct thing to do for renamings.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
|
||
s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
|
||
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
|
||
s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
|
||
s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
|
||
s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
|
||
s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
|
||
s-taprop-posix.adb: Remove hard-coded clock ids;
|
||
instead, generate them in System.OS_Constants.
|
||
(System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
|
||
id of the clock providing Ada.Real_Time.Monotonic_Clock.
|
||
* thread.c: New file.
|
||
(__gnat_pthread_condattr_setup): New function. For platforms where
|
||
CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
|
||
variable attribute.
|
||
|
||
2011-11-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb: Restore the use of Expander_Active instead of
|
||
Full_Expander_Active, so that the evaluation is forced in Alfa
|
||
mode too. Otherwise, we end up with an unexpected insertion in a
|
||
place where it is not supposed to happen, on default parameters
|
||
of a call.
|
||
|
||
2011-11-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
|
||
for Pretty_Print, for use from within gdb.
|
||
|
||
2011-11-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
|
||
and the cursor declarations in a block, so that the loop variable
|
||
is local to the construct.
|
||
|
||
2011-11-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
|
||
type Reversible_Iterator'Class.
|
||
* a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
|
||
Declare type as limited.
|
||
(First, Last): Return value depends on iterator's start node value.
|
||
(Next, Previous): Call corresponding Cursor-based operation.
|
||
(Iterate): Indicate whether complete or partial iteration
|
||
|
||
2011-11-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb: Minor reformattin (Finalize): Take templates into
|
||
account for warning suppression.
|
||
* errout.ads (Set_Specific_Warning_Off): Add Used parameter.
|
||
* erroutc.adb: Minor reformatting (Finalize): Take generic
|
||
templates into account for warning suppress.
|
||
* erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
|
||
* sem_prag.adb: Minor reformatting (Analyze_Pragma,
|
||
case Warnings): Provide Used parameter in call to
|
||
Set_Specific_Warnings_Off (to deal with generic template case).
|
||
|
||
2011-11-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Better error message for
|
||
stdcall convention on dispatching calls.
|
||
|
||
2011-11-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2011-11-23 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): Add missing
|
||
implicit type conversion when the returned object is allocated
|
||
in the secondary stack and the type of the returned object is
|
||
an interface. Done to force generation of displacement of the
|
||
"this" pointer.
|
||
|
||
2011-11-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* impunit.adb: Add g-exptty and g-tty units.
|
||
|
||
2011-11-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_imgv.adb: Minor code reorganization (use Make_Temporary).
|
||
|
||
2011-11-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
|
||
reformatting.
|
||
|
||
2011-11-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
|
||
line of precondition/ postcondition/invariant.
|
||
|
||
2011-11-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
|
||
terminals.c: New files.
|
||
Makefile.rtl: Add these new files.
|
||
* gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
|
||
* gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
|
||
* sem_attr.adb (Eval_Attribute, case Width): Ditto.
|
||
|
||
2011-11-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads: Minor reformatting.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_util.adb: Minor reformatting. Update comments.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
|
||
sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
|
||
sem_ch6.adb: Minor reformatting.
|
||
|
||
2011-11-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
|
||
Unrestricted_Access to deal with fact that we properly detect the
|
||
error if Access is used.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): Place error on first character
|
||
of expression.
|
||
* sem_res.adb (Resolve_Short_Circuit): Place error on first
|
||
character of expression.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
|
||
|
||
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case
|
||
Max_Size_In_Storage_Elements): Account for the size of the
|
||
hidden list header which precedes controlled objects allocated
|
||
on the heap.
|
||
* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
|
||
tables.
|
||
* sinfo.adb (Header_Size_Added): New routine.
|
||
(Set_Header_Size_Added): New routine.
|
||
* sinfo.ads: Add flag Controlled_Header_Added along with
|
||
associated comment.
|
||
(Header_Size_Added): New inlined routine.
|
||
(Set_Header_Size_Added): New inlined routine.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Use
|
||
Header_Size_With_Padding to calculate the proper
|
||
size of the header.
|
||
(Deallocate_Any_Controlled): Use
|
||
Header_Size_With_Padding to calculate the proper size
|
||
of the header. (Header_Size_With_Padding): New routine.
|
||
(Nearest_Multiple_Rounded_Up): Removed along with its uses.
|
||
* s-stposu.ads (Header_Size_With_Padding): New routine.
|
||
|
||
2011-11-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.adb: Aspect specifications are allowed on renaming
|
||
declarations
|
||
* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
|
||
subprogram renaming declaration
|
||
|
||
2011-11-21 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* env.c: Remove unused declaration.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads: Minor style fix.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
|
||
identical, do nothing on Windows XP.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
|
||
Use Full_Expander_Active instead of Expander_Active to control
|
||
the forced evaluation of expressions for the sake of generating
|
||
checks.
|
||
|
||
2011-11-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* init.c: On FreeBSD, stack checking failures may raise SIGBUS.
|
||
|
||
2011-11-21 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
|
||
mode_read_binary, mode_write_binary, mode_append_binary,
|
||
mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
|
||
mode_read_binary_plus, mode_write_binary_plus,
|
||
mode_append_binary_plus): Remove unused declarations.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor rewording.
|
||
|
||
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Width_Attribute): Emit
|
||
an error message rather than a warning when pragma Discard_Names
|
||
prevents the computation of 'Width. Do not emit an error through
|
||
the use of RE_Null.
|
||
|
||
2011-11-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
|
||
implicit type conversion when the type of the allocator is an
|
||
interface. Done to force generation of displacement of the "this"
|
||
pointer when required.
|
||
|
||
2011-11-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
|
||
functions, and is set when the expression is a completion of a
|
||
previous declaration.
|
||
* sem_ch6.adb (Analyze_Expression_Function): To determine properly
|
||
whether an expression function completes a previous declaration,
|
||
use Find_Corresponding_Spec, as when analyzing a subprogram body.
|
||
|
||
2011-11-21 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
|
||
(Type_Access_Level): Improve comment.
|
||
|
||
2011-11-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
|
||
means of -iquote unconditionally.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
|
||
reformatting.
|
||
|
||
2011-11-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
|
||
to deal with fact that we properly detect the error if Access
|
||
is used.
|
||
|
||
2011-11-21 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.ads: Update comment describing function
|
||
Deepest_Access_Level.
|
||
* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
|
||
generic formal type.
|
||
(Type_Access_Level): Return library level
|
||
for a generic formal type.
|
||
* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
|
||
calls with calls to Deepest_Type_Access_Level.
|
||
* sem_ch3.adb (Analyze_Component_Declaration): replace a
|
||
Type_Access_Level call with a call to Deepest_Type_Access_Level.
|
||
* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
|
||
Replace three Type_Access_Level calls with calls to
|
||
Deepest_Type_Access_Level.
|
||
(Resolve_Allocator): Replace a Type_Access_Level call with a call to
|
||
Deepest_Type_Access_Level.
|
||
(Valid_Conversion.Valid_Array_Conversion): Replace a
|
||
Type_Access_Level call with a call to Deepest_Type_Access_Level.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinput.ads: Minor comment fix.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
|
||
Last_Bit, Position): Handle 2005 case.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
|
||
to deal with fact that we properly detect the error if Access
|
||
is used.
|
||
(Increment): Same fix.
|
||
* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
|
||
to deal with fact that we properly detect the error if Access
|
||
is used.
|
||
* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
|
||
volatile if the B component is volatile. This affects the check
|
||
for passing such a by reference volatile actual to a non-volatile
|
||
formal (which should be illegal)
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
|
||
size and alignment for foreign convention enumeration types.
|
||
* layout.adb (Set_Elem_Alignment): Redo setting of alignment
|
||
when size is set.
|
||
|
||
2011-11-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
|
||
Apply_Discriminant_Check, Apply_Divide_Check,
|
||
Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
|
||
Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
|
||
Selected_Range_Checks): Replace reference to Expander_Active
|
||
with reference to Full_Expander_Active, so that expansion of
|
||
checks is not performed in Alfa mode
|
||
|
||
2011-11-21 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
|
||
fact that we properly detect the error if Access is used.
|
||
|
||
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
|
||
|
||
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_imgv.adb: Add with and use clause for Errout.
|
||
(Expand_Width_Attribute): Emit a warning when in
|
||
configurable run-time mode to provide a better diagnostic message.
|
||
|
||
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finmas.adb (Finalize): Add comment concerning double finalization.
|
||
|
||
2011-11-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Definition): If the access definition
|
||
is itself the return type of an access to function definition
|
||
which is ultimately the return type of an access to subprogram
|
||
declaration, its scope is the enclosing scope of the ultimate
|
||
access to subprogram.
|
||
|
||
2011-11-21 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): If a conversion was legal
|
||
in the body of a generic, then the corresponding conversion is
|
||
legal in the expanded body of an instance of the generic.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
|
||
line terminator.
|
||
* sinput.ads: Add section on Handling of Source Line Terminators.
|
||
* types.ads (Line_Terminator): Adjust comments.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb (Frontend): Capture restrictions from config files
|
||
* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
|
||
information
|
||
* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
|
||
references. This was noticed during debugging, but it is not
|
||
known if it causes real bugs.
|
||
* restrict.ads, restrict.adb: New routines to save/set/restore
|
||
non-partition-wide restrictions.
|
||
* s-rident.ads: Comment changes for new handling of
|
||
No_Elaboration_Code
|
||
* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
|
||
attempt to save/restore non-partition-wide restrictions (now
|
||
this work is all done in Sem).
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Special handling for restriction No_Elaboration_Code.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document new handling of restrictions pragmas.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
|
||
attribute as not needed.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_rm.texi: Document restriction for stdcall convention on
|
||
dispatching calls.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): A dispatching call cannot
|
||
have a stdcall calling convention.
|
||
|
||
2011-11-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-taprop-linux.adb (Initialize_Lock): Do not allocate a
|
||
mutex attribute as not needed.
|
||
(Initialize_TCB): Likewise.
|
||
(Initialize): Likewise.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
|
||
(Process_PPCs): Invariants only apply to public subprograms.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
|
||
restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-finali.ads: Use pragma Pure_12 for this unit
|
||
* aspects.adb: Add aspect Pure_12
|
||
* aspects.ads: Add aspect Pure_12
|
||
* opt.ads: Add note on Pure_12
|
||
* par-prag.adb: Add dummy entry for Pure_12
|
||
* sem_prag.adb: Implement Pure_12 pragma
|
||
* snames.ads-tmpl: Add Entry for Pure_12
|
||
|
||
2011-11-21 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* vms_data.ads: Add qualifiers for new gnatpp options
|
||
'--call_threshold' and '--par_threshold".
|
||
* gnat_ugn.texi: Add description for new gnatpp options
|
||
'--call_threshold' and '--par_threshold".
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.ads: Minor reformatting.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-load.ads: Add comment.
|
||
|
||
2011-11-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_elab.adb: Minor reformatting
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb: Minor reformatting.
|
||
|
||
2011-11-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
|
||
subprogram of the formal package is covered by an others
|
||
association with a box initialization, no check is needed
|
||
against the actual in the instantiation of the formal package.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
|
||
elab warning from within precondition/postcondition etc.
|
||
|
||
2011-11-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
|
||
with out parameters may generate assignments to force constraint
|
||
checks. These checks must be properly placed in the code after the
|
||
declaration or statement that contains the call.
|
||
|
||
2011-11-21 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Adding info on current gnattest limitations an
|
||
support of -X option.
|
||
|
||
2011-11-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
|
||
|
||
2011-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb, exp_util.adb: Minor reformatting
|
||
|
||
2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sinfo.ads (Reference): Document that it is OK to set
|
||
Is_Known_Non_Null on a temporary initialized to a N_Reference
|
||
node.
|
||
|
||
2011-11-20 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
|
||
for Source list.
|
||
|
||
2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
|
||
Declare NEW_EXPR local variable and attach the
|
||
temporary to it. Set Is_Known_Non_Null on the temporary.
|
||
(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
|
||
* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
|
||
the temporary created to hold the 'Reference of the expression,
|
||
if any.
|
||
* checks.adb (Install_Null_Excluding_Check): Bail out for the
|
||
Get_Current_Excep.all.all idiom generated by the expander.
|
||
|
||
2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
|
||
(f_gnat_ret): New macro.
|
||
(struct nrv_data): Add GNAT_RET.
|
||
(finalize_nrv_unc_r): New helper function.
|
||
(finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the
|
||
function returns unconstrained, use finalize_nrv_unc_r as callback.
|
||
(return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
|
||
RET_OBJ is non-null.
|
||
(Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
|
||
(gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
|
||
if optimization is enabled, record candidates for the Named Return
|
||
Value optimization.
|
||
|
||
2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
|
||
(gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
|
||
test. Tweak default case.
|
||
<N_Goto_Statement>: Use better formatting.
|
||
* gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
|
||
MODIFY_EXPR to initialize the storage.
|
||
(build_allocator): Likewise.
|
||
|
||
2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
|
||
call to components_to_record.
|
||
(components_to_record): Add FIRST_FREE_POS parameter. For the variant
|
||
part, reuse enclosing union even if there is a representation clause
|
||
on the Unchecked_Union. If there is a variant part, compute the new
|
||
first free position, if any. Adjust call to self. Use a single field
|
||
directly only if it hasn't got a representation clause or is placed at
|
||
offset zero. Create the variant part at offset 0 if all the fields
|
||
down to this level have a rep clause. Do not chain the variant part
|
||
immediately and adjust downstream.
|
||
Do not test ALL_REP before moving the fields without rep clause to the
|
||
previous level. Call create_rep_part to create the REP part and force
|
||
a minimum size on it if necessary. Do not chain it immediately.
|
||
Create a fake REP part if there are fields without rep clause that need
|
||
to be laid out starting from FIRST_FREE_POS.
|
||
At the end, chain the REP part and then the variant part.
|
||
(create_rep_part): New function.
|
||
(get_rep_part): Minor tweak.
|
||
* gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
|
||
|
||
2011-11-18 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
PR target/50678
|
||
* init.c (__gnat_error_handler) [Darwin]: Move workaround to the
|
||
bug filed as radar #10302855 from __gnat_error_handler to...
|
||
(__gnat_adjust_context_for_raise) [Darwin]: ...here. New function.
|
||
(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
|
||
|
||
2011-11-18 Tristan Gingold <gingold@adacore.com>
|
||
Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
PR target/49992
|
||
* mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
|
||
* gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
|
||
|
||
2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
|
||
s-oscons.ads.
|
||
(OSCONS_CPP, OSCONS_EXTRACT): New.
|
||
(./bldtools/oscons/xoscons): New target.
|
||
($(RTSDIR)/s-oscons.ads): Likewise.
|
||
(gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
|
||
* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
|
||
* Make-generated.in: Remove machinery to generate xoscons and
|
||
ada/s-oscons.ads.
|
||
|
||
2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Serious_Errors_Detected): New macro.
|
||
* gcc-interface/gigi.h (build_atomic_load): Declare.
|
||
(build_atomic_store): Likewise.
|
||
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
|
||
(call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable.
|
||
Build an atomic load for an In or In Out parameter if needed.
|
||
Build an atomic store for the assignment of an Out parameter if needed.
|
||
Build an atomic store to the target if ATOMIC_SYNC is true.
|
||
(present_in_lhs_or_actual_p): New predicate.
|
||
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
|
||
<N_Explicit_Dereference>: Likewise.
|
||
<N_Indexed_Component>: Likewise.
|
||
<N_Selected_Component>: Likewise.
|
||
<N_Assignment_Statement>: Adjust call to call_to_gnu.
|
||
Build an atomic store to the LHS if needed.
|
||
<N_Function_Call>: Adjust call to call_to_gnu.
|
||
* gcc-interface/utils2.c: Include toplev.h.
|
||
(resolve_atomic_size): New static function.
|
||
(build_atomic_load): New function.
|
||
(build_atomic_store): Likewise.
|
||
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
|
||
|
||
2011-11-07 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* sigtramp-ppcvxw.c: Add general comments.
|
||
(CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
|
||
rules for r2 to r13, plus CTR and XER.
|
||
(CFA_REG): New, register number used to hold the local CFA.
|
||
(CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
|
||
Make that 15, not 14, with documentation.
|
||
(TCR): Undef before definition, preventing conflict with reg number in
|
||
VxWorks headers.
|
||
|
||
2011-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
|
||
aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb: A tagged type is a legal actual for an aliased
|
||
formal.
|
||
|
||
2011-11-07 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-socket.adb, g-socket.ads: Minor reformatting.
|
||
|
||
2011-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Minor error message improvement.
|
||
|
||
2011-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add discussion of default mode handling of
|
||
source representation with no -gnatW option given, in particular
|
||
noting that NEL (next line) is not recognized in this context.
|
||
|
||
2011-11-07 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Note_Possible_Modification): In Alfa mode,
|
||
generate a reference for a modification even when the modification
|
||
does not come from source.
|
||
|
||
2011-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
|
||
use the indexing attributes rather than the Element function,
|
||
to obtain variable references.
|
||
* sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
|
||
Find_Aspect rather than iterating over representation
|
||
items. Improve error message.
|
||
* a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
|
||
of Reference functions.
|
||
|
||
2011-11-07 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Unique_Entity): For a parameter on a subprogram
|
||
body that has a corresponding parameter on the subprogram
|
||
declaration, define the unique entity as being the declaration
|
||
one.
|
||
|
||
2011-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
|
||
return type of a function is the class-wide type of an incomplete
|
||
type T, T can be a Taft-amendment type and does not have to be
|
||
completed in the current private part.
|
||
|
||
2011-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads (Inherited_Aspect): Map that indicates type aspects
|
||
that are inherited by default, and apply to the class-wide type
|
||
as well.
|
||
* aspects.adb (Find_Aspect): If the entity is class-wide and the
|
||
aspect is inherited, use the aspect of the specific type.
|
||
|
||
2011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-11-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
|
||
Avoid junk semicolon after argument of machine code Asm operand.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
|
||
CodePeer mode or if restriction No_Exception_Handlers is present.
|
||
* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
|
||
nodes in CodePeer mode or if restriction No_Exception_Handlers
|
||
is present.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Specification): The
|
||
specification is legal if it is a function that returns an
|
||
abstract type, if it comes from an attribute renaming of a stream
|
||
attribute of an abstract type.
|
||
|
||
2011-11-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
|
||
components, check whether recursively check whether the prefix
|
||
denotes an unaligned object.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
|
||
the pragma is legal if it is an expanded name that denotes a
|
||
procedure that be can called without parameters.
|
||
|
||
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi (Performance Considerations) <Vectorization
|
||
of loops>: New sub-section. <Other Optimization Switches>:
|
||
Minor tweak.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor reformatting.
|
||
|
||
2011-11-04 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
|
||
when Target and Source denote same non-empty object
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Minor reformatting.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Assign_Record): Do not generate a
|
||
discriminant assignment within an initialization proc if the
|
||
record is an unchecked union, as it can only come from the
|
||
initialization of an unchecked union component.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor reformatting.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
|
||
warning message.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code reorganization (remove junk obsolete
|
||
var Save_Space).
|
||
|
||
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_alfa.adb: Add local constant
|
||
Disable_Processing_Of_Renamings;
|
||
(Expand_Alfa_N_Object_Renaming_Declaration): Disable
|
||
the name evaluation of object renamings for now.
|
||
(Expand_Potential_Renaming): Do not perform the substitution
|
||
for now.
|
||
* exp_util.adb (Remove_Side_Effects): Remove processing for
|
||
functions with side effects in Alfa mode.
|
||
|
||
2011-11-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Elab_Calls): In the case
|
||
of the AAMP target, set elaboration entities to 1 rather than
|
||
incrementing.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Install_Limited_With_Unit): To establish the
|
||
proper entities on the ancestors of a child unit that appear
|
||
in a limited_with clause, follow the unit links because the
|
||
units are not analyzed and scope information is incomplete.
|
||
|
||
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Selected_Component): Refine code
|
||
setting the Atomic_Sync_Required flag to detect one more case.
|
||
* exp_util.adb (Activate_Atomic_Synchronization): Refine code
|
||
setting the Atomic_Sync_Required flag to exclude more cases,
|
||
depending on the parent of the node to be examined.
|
||
|
||
2011-11-04 Bob Duff <duff@adacore.com>
|
||
|
||
* g-excact.adb: Minor: use named notation.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Improve error messages for illegal iterators.
|
||
|
||
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
|
||
Sem_Util.
|
||
(Expand_Alfa): Alphabetize cases on first choice. Add
|
||
processing for object renaming declarations, identifiers and
|
||
expanded names.
|
||
(Expand_Alfa_N_In): Remove useless return.
|
||
(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
|
||
(Expand_Potential_Renaming): New routine.
|
||
* exp_ch8.adb (Evaluate_Name): Moved to the top level.
|
||
(Expand_N_Object_Declaration): Alphabetize local variables. Move
|
||
Evaluate_Name out to the top level.
|
||
* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
|
||
* exp_util.adb (Remove_Side_Effects): Add processing for
|
||
functions with side effects in Alfa mode.
|
||
|
||
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gnat_rm.texi: Add entries for
|
||
restrictions No_Relative_Delay, No_Requeue_Statements and
|
||
No_Stream_Optimizations.
|
||
|
||
2011-11-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb: Set type of entity in prefixed call, for
|
||
completeness in a generic context.
|
||
|
||
2011-11-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb: Minor refactoring (renaming of a parameter).
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
|
||
and -gnatd.e here
|
||
* exp_ch2.adb (Expand_Entity_Reference): Use
|
||
Activate_Atomic_Synchronization
|
||
* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
|
||
Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
|
||
Activate_Atomic_Synchronization (Expand_N_Selected_Component):
|
||
Use Activate_Atomic_Synchronization
|
||
* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
|
||
procedure.
|
||
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
|
||
N_Selected_Component node
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
|
||
|
||
2011-11-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* atree.adb, atree.ads (Set_Original_Node): New set procedure.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
|
||
In ASIS mode, no splitting of aspects between conjuncts.
|
||
(Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
|
||
expressions refer to the original aspect expressions through
|
||
the Original_Node link. This is used in semantic analysis for
|
||
ASIS mode, so that the original expression also gets analyzed.
|
||
* sem_prag.adb (Preanalyze_TC_Args,
|
||
Check_Precondition_Postcondition,
|
||
Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
|
||
generated from a source aspect, also analyze the original aspect
|
||
expression.
|
||
(Check_Expr_Is_Static_Expression): New procedure
|
||
similar to existing procedure Check_Arg_Is_Static_Expression,
|
||
except called on expression inside pragma.
|
||
|
||
2011-11-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
|
||
Find_Project.Try_Path_Name.
|
||
(Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
|
||
|
||
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
|
||
|
||
2011-11-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Add short description for qualifiers aggregate
|
||
and aggregate library.
|
||
|
||
2011-11-04 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
|
||
* a-cgaaso.adb: Replaced implementation with instantiation
|
||
of Generic_Sort.
|
||
* a-cogeso.ad[sb] This is the new Ada 2012 unit
|
||
Ada.Containers.Generic_Sort
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch2.adb (Expand_Entity_Reference): Do not set
|
||
Atomic_Sync_Required for the case of a prefix of an attribute.
|
||
* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
|
||
atomic synchronization
|
||
(Expand_N_Indexed_Component): Ditto.
|
||
(Expand_B_Selected_Component): Ditto.
|
||
* sem_prag.adb (Process_Suppress_Unsuppress):
|
||
Disable/Enable_Atomic_Synchronization can now occur for array
|
||
types with pragma Atomic_Components.
|
||
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
|
||
N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
|
||
|
||
2011-11-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_ugn.texi: Editorial corrections for gnattest section.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
* gnat_rm.texi: Update documentation for pragma Warnings (Off,
|
||
"***") usage.
|
||
* exp_ch2.adb (Expand_Entity_Reference): Only set
|
||
Atomic_Sync_Required on entities that are variables. Doesn't
|
||
make any sense on anything else.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
|
||
atomic sync to type case.
|
||
* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
|
||
apply to types.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
|
||
for call vs assign.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
|
||
compile time.
|
||
|
||
2011-11-04 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
|
||
* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
|
||
a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
|
||
* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
|
||
a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
|
||
a-sulcin.ad[sb]: New files.
|
||
|
||
2011-11-04 Geert Bosch <bosch@adacore.com>
|
||
|
||
* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
|
||
s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
|
||
i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
|
||
s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
|
||
* gcc-interface/Makefile.in: Remove libgnala and related objects.
|
||
|
||
2011-11-04 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
|
||
a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
|
||
a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
|
||
a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
|
||
added to package.
|
||
|
||
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
|
||
that the type of the parameters isn't dummy in type_annotate_only mode.
|
||
|
||
2011-11-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor reformatting
|
||
|
||
2011-11-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
|
||
initialize elaboration entities to zero when specs are processed.
|
||
|
||
2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/50678
|
||
* init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
|
||
bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
|
||
|
||
2011-10-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/50842
|
||
* gcc-interface/Makefile.in (SYMDEPS): Delete.
|
||
(LIBICONV): New variable.
|
||
(LIBICONV_DEP): Likewise.
|
||
(LIBS): Add $(LIBICONV).
|
||
(LIBDEPS): Add $(LIBICONV_DEP).
|
||
(EXTRA_GNATTOOLS_OBJS): Merge into...
|
||
(TOOLS_LIBS): ...this. Add $(LIBICONV).
|
||
|
||
2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
|
||
variable. Always create the elaboration variable, if any, as constant.
|
||
|
||
2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
|
||
make a packable type for fields of union types as well.
|
||
<is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
|
||
(gnat_to_gnu_component_type): Try to make a packable type for fields
|
||
of union types as well.
|
||
(make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
|
||
(maybe_pad_type): Try to make a packable type for fields of union types
|
||
as well.
|
||
(gnat_to_gnu_field): Likewise.
|
||
(is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
|
||
(set_rm_size): Likewise.
|
||
(rm_size): Likewise.
|
||
* gcc-interface/misc.c (gnat_type_max_size): Likewise.
|
||
* gcc-interface/trans.c (add_decl_expr): Likewise.
|
||
* gcc-interface/utils.c (finish_record_type): Likewise.
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Likewise.
|
||
|
||
2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Always check components
|
||
declared as atomic. Move around conditionally executed code.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.adb (Initialize): Fix bug that blew up if called a second time.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
|
||
tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
|
||
name in error msg.
|
||
|
||
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gnat_rm.texi: Add an entry for restriction No_Finalization.
|
||
|
||
2011-10-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): If the
|
||
current instance is within the one that contains the generic,
|
||
the freeze node for the current one must appear in the current
|
||
declarative part. Ditto if the current instance is within another
|
||
package instance. In both of these cases the freeze node of the
|
||
previous instance is not relevant.
|
||
|
||
2011-10-24 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Add recognition
|
||
of AAMP-specific switches -univ and -aamp_target.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-tienau.adb (Put): Deal properly with limited line length.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb, sem_ch12.adb: Minor reformatting.
|
||
|
||
2011-10-24 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Use GNU ld switches to generate map files
|
||
on AIX.
|
||
|
||
2011-10-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Earlier): make available globally. If both
|
||
nodes have the same sloc, the freeze node that does not come
|
||
from source is the later one.
|
||
(True_Parent): Make available globally.
|
||
(Previous_Instance): Subsidiary of
|
||
Insert_Freeze_Node_For_Instance, to check whether the generic
|
||
parent of the current instance is declared within a previous
|
||
instance in the same unit or declarative part, in which case the
|
||
freeze nodes of both instances must appear in order to prevent
|
||
elaboration problems in gigi.
|
||
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
|
||
freeze point, and the freeze node of a preceding instantiation
|
||
must be inserted before it.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb: Add handling of Synchronization_Check
|
||
* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
|
||
atomic sync).
|
||
* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
|
||
flag Minor code reorganization.
|
||
* opt.ads (Warn_On_Atomic_Synchronization): New switch.
|
||
* par-prag.adb: Add dummy entries for pragma
|
||
Disable/Enable_Atomic_Synchronization.
|
||
* sem_prag.adb (Process_Suppress_Unsuppress): Handle
|
||
case of Atomic_Synchronization specially (not suppressed
|
||
by All_Checks, cannot be set from Source).
|
||
(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
|
||
* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
|
||
* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
|
||
entry for pragma Disable/Enable_Atomic_Synchronization
|
||
* switch-c.adb: The -gnatp switch does not disable
|
||
Atomic_Synchronization Add -gnatep switch to disable
|
||
Atomic_Synchronization.
|
||
* types.ads: Add entry for Synchronization_Check
|
||
* usage.adb: Add line for -gnated switch
|
||
* warnsw.adb: Settings for Warn_On_Atomic_Synchronization
|
||
|
||
2011-10-24 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
|
||
at Integer'First.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb, s-gearop.adb: Minor reformatting.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
|
||
* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
|
||
|
||
2011-10-24 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Expression_Variable_Decl): No special
|
||
handling for Project_Path unless it is an attribute.
|
||
|
||
2011-10-24 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
|
||
(Install_Hidden_Primitives): New subprogram.
|
||
(Restore_Hidden_Primitives): New subprogram.
|
||
(Analyze_Formal_Package_Declaration,
|
||
Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
|
||
Invoke Check_Hidden_Primitives after every call to
|
||
Analyze_Associations, and invoke Restore_Hidden_Primitives to
|
||
restore their visibility after processing the instantiation.
|
||
(Instantiate_Package_Body): Install visible primitives before
|
||
analyzing the instantiation and uninstall them to restore their
|
||
visibility when the instantiation has been analyzed.
|
||
* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
|
||
(Remove_Suffix): New subprogram
|
||
* sem_ch3.adb (Derive_Subprogram): When handling
|
||
a derived subprogram for the instantiation of a formal derived
|
||
tagged type, inherit the dispatching attributes from the actual
|
||
subprogram (not from the parent type).
|
||
|
||
2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document explicit use of XDECGNAT library.
|
||
|
||
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
|
||
update its uses.
|
||
(Build_Discriminant_Assignments): Add local variable D_Loc and update
|
||
its uses.
|
||
(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
|
||
Var_Loc and update their uses.
|
||
(Build_Record_Init_Proc): Code reformatting.
|
||
(Increment_Counter): Add formal parameter Loc.
|
||
(Make_Counter): Add formal parameter Loc.
|
||
|
||
2011-10-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_disp.adb (Covers_Some_Interface): Fix typo.
|
||
|
||
2011-10-24 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
|
||
of predicate.
|
||
|
||
2011-10-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
|
||
Translate arguments in positional notation into pragma argument
|
||
association arguments for the generated pragma.
|
||
|
||
2011-10-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch5.adb: Fix minor typo.
|
||
|
||
2011-10-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Is_Visible_Component): Refine predicate for
|
||
the case of a component reference in an instance body, when the
|
||
enclosing type is private.
|
||
|
||
2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
|
||
driver for getting the project support into gnatelim section.
|
||
|
||
2011-10-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor correction to documentation on address clause.
|
||
|
||
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finmas.adb (Attach): Synchronize and call the unprotected version.
|
||
(Attach_Unprotected): New routine.
|
||
(Delete_Finalize_Address): Removed.
|
||
(Delete_Finalize_Address_Unprotected): New routine.
|
||
(Detach): Synchronize and call the unprotected version.
|
||
(Detach_Unprotected): Remove locking.
|
||
(Finalize): Add various comment on synchronization. Lock the critical
|
||
region and call the unprotected versions of routines.
|
||
(Finalize_Address): Removed.
|
||
(Finalize_Address_Unprotected): New routine.
|
||
(Set_Finalize_Address): Synchronize and call
|
||
the unprotected version.
|
||
(Set_Finalize_Address_Unprotected): New routine.
|
||
(Set_Heterogeneous_Finalize_Address): Removed.
|
||
(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
|
||
(Set_Is_Heterogeneous): Add comment on synchronization and
|
||
locking.
|
||
* s-finmas.ads: Flag Finalization_Started is no longer atomic
|
||
because synchronization uses task locking / unlocking.
|
||
(Attach): Add comment on usage.
|
||
(Attach_Unprotected): New routine.
|
||
(Delete_Finalize_Address): Renamed to
|
||
Delete_Finalize_Address_Unprotected.
|
||
(Detach): Add comment on usage.
|
||
(Detach_Unprotected): New routine.
|
||
(Finalize_Address): Renamed to Finalize_Address_Unprotected.
|
||
(Set_Finalize_Address): Add comment on usage.
|
||
(Set_Finalize_Address_Unprotected): New routine.
|
||
(Set_Heterogeneous_Finalize_Address): Renamed to
|
||
Set_Heterogeneous_Finalize_Address_Unprotected.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Add local variable
|
||
Allocation_Locked. Add various comments on synchronization. Lock
|
||
the critical region and call the unprotected version of
|
||
routines.
|
||
(Deallocate_Any_Controlled): Add various comments on
|
||
synchronization. Lock the critical region and call the unprotected
|
||
version of routines.
|
||
|
||
2011-10-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
|
||
are universal and must carry the corresponding type.
|
||
* sem_eval.adb (Check_Non_Static_Context): If the type of the
|
||
expression is universal real, as may be the case for a fixed point
|
||
expression with constant operands in the context of a conversion,
|
||
there is nothing to check.
|
||
* s-finmas.adb: Minor reformatting
|
||
|
||
2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (create_concat_name): Add explicit cast.
|
||
|
||
2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
|
||
TRACE): Reintroduce.
|
||
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
|
||
ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
|
||
|
||
2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (lhs_or_actual_p): New predicate.
|
||
(unchecked_conversion_nop): Use it.
|
||
(gnat_to_gnu): Likewise.
|
||
|
||
2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* back_end.adb (Call_Back_End): Pass the maximum logical line number
|
||
instead of the maximum physical line number to gigi.
|
||
* gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
|
||
|
||
2011-10-16 Tom Tromey <tromey@redhat.com>
|
||
Dodji Seketeli <dodji@redhat.com>
|
||
|
||
* gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
|
||
public ordinary map interface.
|
||
|
||
2011-10-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* link.c (_AIX): Add support for GNU ld.
|
||
|
||
2011-10-16 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fixing gnattest example names in the doc.
|
||
Adding explanation to additional tests usage.
|
||
|
||
2011-10-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb, sem_ch6.adb: Minor reformatting.
|
||
|
||
2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* a-convec.adb: Fix minor inconsistencies.
|
||
|
||
2011-10-16 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
|
||
Implementation): Specify pragma Implementation_Defined.
|
||
|
||
2011-10-15 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
|
||
either rtp-smp or ravenscar-cert-rtp runtimes.
|
||
|
||
2011-10-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
|
||
Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
|
||
is available.
|
||
(Expand_N_Extended_Return_Statement): Do not create a renaming of the
|
||
build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
|
||
available.
|
||
(Make_Build_In_Place_Call_In_Allocator): Add the user-defined
|
||
pool only if RE_Root_Storage_Pool_Ptr is available.
|
||
(Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
|
||
pool actual unless RE_Root_Storage_Pool_Ptr is available.
|
||
* sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
|
||
formal only if RE_Root_Storage_Pool_Ptr is available.
|
||
|
||
2011-10-15 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
|
||
type): Specify Priority aspect for protected type.
|
||
|
||
2011-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_disp.adb (Check_Premature_Freezing): If an untagged type
|
||
is a generic actual, it is a subtype of a type that was frozen
|
||
by the instantiation, and even if not marked frozen it does not
|
||
affect the construction of the dispatch table.
|
||
|
||
2011-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
|
||
reformatting.
|
||
* s-rident.ads: Add missing Compiler_Unit pragma.
|
||
|
||
2011-10-14 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
|
||
Code and comment reformatting. Use BIP_Task_Master
|
||
when creating a _master.
|
||
(BIP_Formal_Suffix): Code reformatting. Correct the case for
|
||
BIP_Task_Master.
|
||
(Make_Build_In_Place_Call_In_Object_Declaration): Use
|
||
BIP_Task_Master when creating a reference to the enclosing
|
||
function's _master formal.
|
||
(Move_Activation_Chain): Use BIP_Task_Master when creating a reference
|
||
to the _master.
|
||
* exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
|
||
(Needs_BIP_Finalization_Master): Alphabetized.
|
||
* sem_ch6.adb (Create_Extra_Formals): Update the usage of
|
||
BIP_Task_Master.
|
||
|
||
2011-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
|
||
reject an aliased keyword on the object declaration of an extended
|
||
return statement. In older versions of the language indicate
|
||
that this is illegal in the standard.
|
||
|
||
2011-10-14 Pascal Obry <obry@adacore.com>
|
||
|
||
* sem_util.adb, sem_ch4.adb: Minor reformatting.
|
||
|
||
2011-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Recognize properly procedure calls that are
|
||
transformed into code statements.
|
||
|
||
2011-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Minor fix in project example.
|
||
|
||
2011-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb: Return objects are aliased if their type is
|
||
immutably limited as per AI05-0053.
|
||
|
||
2011-10-14 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
|
||
expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
|
||
Short_Circuit_And_Or expansion code (moved to sem_res).
|
||
* sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
|
||
"and" and "or" operators as short-circuit "and then" and "or
|
||
else", when pragma Short_Circuit_And_Or is active.
|
||
|
||
2011-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
|
||
sem_ch6.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-10-13 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
|
||
|
||
2011-10-13 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
|
||
|
||
2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* a-convec.ads (Cursor): Minor reformatting.
|
||
* a-convec.adb (Next): Fix minor inconsistencies.
|
||
(Previous): Likewise.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
|
||
New predicate to determine whether some operations on an array
|
||
type are available when the full view of its component may differ
|
||
from the view of the point of the array declaration.
|
||
* sem_ch4.adb (Find_Equality_Types): Use
|
||
Available_Full_View_Of_Component.
|
||
* sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb: Analyze aspects while discriminants of protected
|
||
type are visible.
|
||
|
||
2011-10-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
|
||
a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
|
||
longer depend on an external library.
|
||
* gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
|
||
a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
|
||
Update dependencies.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-10-13 Cyrille Comar <comar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor editing.
|
||
|
||
2011-10-13 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add documentation on packages and attributes
|
||
that are inherited from a project being extended into the
|
||
extended project.
|
||
|
||
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Master): Rewritten.
|
||
(Expand_N_Full_Type_Declaration): Reformat the declarative
|
||
region. Update the call to Build_Master_Renaming.
|
||
(Expand_Previous_Access_Type): Rewritten.
|
||
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
|
||
Add local constant Result_Subt and update related usage.
|
||
(Expand_N_Extended_Return_Statement): Add local constant
|
||
Result_Subt and update related usage.
|
||
* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
|
||
new context detection mechanism.
|
||
(Build_Class_Wide_Master):
|
||
Use Insert_Action to add the renaming into the tree.
|
||
(Build_Master_Entity): Rewritten to use the new context detection
|
||
mechanism.
|
||
(Build_Master_Renaming): Add formal parameter Ins_Nod
|
||
and related usage. Use Insert_Action to add the renaming into the
|
||
tree.
|
||
(Find_Enclosing_Context): New subsidiary routine. Rather
|
||
than relying on enclosing scopes, this routine looks at the
|
||
tree structure to figure out the proper context for a _master
|
||
or a _chain. This approach eliminates the issues with transient
|
||
scopes which have not been converted into blocks.
|
||
* exp_ch9.ads (Build_Master_Entity): Change parameter profile
|
||
to better reflect the new usage. Update the related comment.
|
||
(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
|
||
the comment on usage.
|
||
* sem_ch3.adb (Access_Definition): Update the calls to
|
||
Build_Master_Entity and Build_Master_Renaming.
|
||
* sem_ch6.adb (Create_Extra_Formals): Add local variable
|
||
Full_Subt. Code reformatting.
|
||
* sem_util.adb (Is_Iterator): Alphabetized.
|
||
(Is_LHS): Alphabetized.
|
||
(Is_Limited_Class_Wide_Type): New routine.
|
||
* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
|
||
|
||
2011-10-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-ngrear.adb (Solve): Make generic and move to
|
||
System.Generic_Array_Operations.
|
||
* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
|
||
New generic solvers to compute a vector resp. matrix Y such
|
||
that A * Y = X, approximately.
|
||
* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
|
||
Implement using Forward_Eliminate and Back_Substitute
|
||
* a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
|
||
on BLAS and LAPACK.
|
||
* a-ngcoar.ads ("abs"): Fix return type to be real.
|
||
|
||
2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/50589
|
||
* s-linux-alpha.ads: Do not "with" Interfaces.C.
|
||
* s-linux-sparc.ads: Likewise.
|
||
|
||
2011-10-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-gearop.ads (Forward_Eliminate): Add "abs" formal function
|
||
returning a Real.
|
||
* s-gearop.adb (Forward_Eliminate): Remove local "abs" function
|
||
and use formal.
|
||
* a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
|
||
new profile.
|
||
|
||
2011-10-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
|
||
move to System.Generic_Array_Operations.
|
||
|
||
2011-10-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
|
||
* s-gearop.ads (L2_Norm): Change profile to be suitable for
|
||
Complex_Vector
|
||
* s-gearop.adb (L2_Norm): Reimplement using direct definition,
|
||
not inner product
|
||
|
||
2011-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-10-13 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-10-13 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor correction.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor error message improvement.
|
||
|
||
2011-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-10-13 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
|
||
of a for loop for an enumeration type with an enumeration rep
|
||
clause, which involves moving the original loop parameter into
|
||
a nested block, the loop parameter's entity must be removed from
|
||
the entity list of the loop scope.
|
||
|
||
2011-10-13 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
|
||
that gets passed in the same cases where BIP_Alloc_Form is passed
|
||
(caller-unknown-size results). BIP_Storage_Pool is used when
|
||
BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
|
||
to the user-defined storage pool is passed at the call site,
|
||
and this pool is used in callee to allocate the result.
|
||
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
|
||
version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
|
||
the additional BIP_Storage_Pool actual.
|
||
(Expand_N_Extended_Return_Statement): Allocate the function
|
||
result using the user-defined storage pool, if BIP_Alloc_Form =
|
||
User_Storage_Pool.
|
||
* sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
|
||
* exp_ch4.adb: Don't overwrite storage pool set by
|
||
Expand_N_Extended_Return_Statement.
|
||
* s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
|
||
for use in build-in-place function calls within allocators
|
||
where the access type has a user-defined storage pool.
|
||
|
||
2011-10-13 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
|
||
literal casing.
|
||
|
||
2011-10-13 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
|
||
with 'rtp'.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
|
||
account that an unchecked union type can be limited.
|
||
|
||
2011-10-13 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* init.c (__gnat_error_handler) <VxWorks version>: Add comments on
|
||
the use of the signal trampoline for PPC in the sjlj case as well.
|
||
Add legitimate casts, preventing compile time warnings on the
|
||
(sighandler *) profile.
|
||
|
||
2011-10-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
|
||
in Alfa mode.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
|
||
expressions are legal limited return values if each one of their
|
||
dependent expressions are legal.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
|
||
if the prefix of the call is a qualified expression, rewrite as
|
||
a code statement.
|
||
* sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
|
||
code statement is legal if it is a rewriting of a procedure call.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Flatten): If a component association has a box,
|
||
assume that aggregate is not static.
|
||
(Safe_Aggregate): If a component association in a non-limited
|
||
aggregate has a box, assume that it cannot be expanded in place.
|
||
|
||
2011-10-13 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Or_Create_Configuration_File): Call
|
||
Process_Project_Tree_Phase_1 with Packages_To_Check.
|
||
(Process_Project_And_Apply_Config): Ditto
|
||
* prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
|
||
Remove default for argument Packages_To_Check.
|
||
* prj-proc.adb (Recursive_Process): New argument
|
||
Packages_To_Check.
|
||
(Process): Ditto.
|
||
(Process_Project_Tree_Phase_1): Ditto.
|
||
(Recursive_Project.Process_Aggregated_Projects): Call
|
||
Prj.Part.Parse and Process_Project_Tree_Phase_1 with
|
||
Packages_To_Check.
|
||
* prj-proc.ads (Process): New argument Packages_To_Check
|
||
(Process_Project_Tree_Phase_1): Ditto
|
||
|
||
2011-10-13 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Fix typo.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Formal_{Floating_Type,
|
||
Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
|
||
Use sloc of defining identifier of farmal type declaration,
|
||
as sloc of generated internal entity, to prevent misplaced
|
||
references in ali.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_intr.adb (Check_Intrinsic_Operator): Check that type
|
||
is fully defined before checking that it is a numeric type.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): If a component
|
||
association for component X has a box, then X is covered in the
|
||
aggregate even if there is not default value for X in the type
|
||
declaration, and X has to be default-initialized.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
|
||
literals as referenced only if reference is in current source unit.
|
||
|
||
2011-10-13 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
|
||
|
||
2011-10-13 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* sigtramp.h: New file. Prototype and spec of the signal
|
||
trampoline to be called by an established handler to provide
|
||
dwarf call frame info before the real signal processing code.
|
||
* sigtramp-ppcvxw.c: New file. Implementation of the signal
|
||
trampoline for ppc-vxworks.
|
||
* init.c (vxworks section): Use it for ppc.
|
||
|
||
2011-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
|
||
(Check_Future_Identifier): New subprogram,
|
||
factors duplicated code from Par.Ch2.P_Identifier and
|
||
Par.Ch3.P_Defining_Identifier.
|
||
|
||
2011-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taprop-posix.adb (Initialize): Always raise Storage_Error
|
||
if we fail to initialize CV attributes or CV.
|
||
|
||
2011-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-tasren.adb (Timed_Selective_Wait, case
|
||
Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
|
||
we know abortion is already deferred.
|
||
|
||
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
|
||
(Build_Master_Renaming (function)): Removed.
|
||
(Build_Master_Renaming (procedure)): Moved to exp_ch9.
|
||
(Expand_Full_Type_Declaration): Alphabetize
|
||
variables. Reformatting of code and comments. Rewrite the
|
||
section on processing of anonymous access-to-task types in
|
||
record components.
|
||
* exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
|
||
(Build_Master_Renaming): Moved to exp_ch9.
|
||
* exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
|
||
(Build_Master_Entity): Add formal parameter
|
||
Use_Current. Reformatting of code and comments.
|
||
(Build_Master_Renaming): Moved from exp_ch3.
|
||
* exp_ch9.ads (Build_Class_Wide_Master): Moved from
|
||
exp_ch3. Update comment on usage.
|
||
(Build_Master_Entity):
|
||
Add formal parameter Use_Current. Update comment on usage.
|
||
(Build_Master_Renaming): Moved from exp_ch3.
|
||
* sem_ch3.adb (Access_Definition): Remove redundant code to
|
||
create a _master and a renaming.
|
||
|
||
2011-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb: Do no emit reference to overridden operation,
|
||
if it is internally generated.
|
||
|
||
2011-10-13 Vincent Celier <celier@adacore.com>
|
||
|
||
* bindgen.adb: Remove any processing related to g-trasym
|
||
* Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
|
||
* mlib-prj.adb: Remove any processing related to g-trasym.
|
||
|
||
2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
|
||
* gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
|
||
(ALL_ADAFLAGS): Include WARN_ADAFLAGS.
|
||
(ADA_FLAGS_TO_PASS): Likewise.
|
||
(COMMON_FLAGS_TO_PASS): New.
|
||
(ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
|
||
native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
|
||
(gnatlib): Use COMMON_FLAGS_TO_PASS.
|
||
(ada.install-common): Likewise.
|
||
(install-gnatlib): Likewise.
|
||
(install-gnatlib-obj): Likewise.
|
||
(gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
|
||
(gnat-cross): Delete.
|
||
(gnatboot): Likewise.
|
||
(gnatboot2): Likewise.
|
||
(gnatboot3): Likewise.
|
||
(gnatstage1): Likewise.
|
||
(gnatstage2): Likewise.
|
||
* gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
|
||
(MOST_ADAFLAGS): Likewise.
|
||
(LOOSE_CFLAGS): Likewise.
|
||
(gnat-cross): Likewise.
|
||
(GNATLIBFLAGS): Add -W -Wall.
|
||
(GNATLIBCFLAGS_FOR_C): Likewise.
|
||
* gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
|
||
* gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
|
||
|
||
2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
|
||
(push_range_check_info): Likewise.
|
||
(gnat_to_gnu) <N_Code_Statement>: Likewise.
|
||
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
|
||
(gnat_invariant_expr): Likewise.
|
||
* gcc-interface/utils.c (compute_related_constant): Likewise.
|
||
(max_size): Fix handling of SAVE_EXPR.
|
||
(remove_conversions): Fix formatting.
|
||
|
||
2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
|
||
(DECL_INDUCTION_VAR): New macro.
|
||
(SET_DECL_INDUCTION_VAR): Likewise.
|
||
* gcc-interface/gigi.h (convert_to_index_type): Declare.
|
||
(gnat_invariant_expr): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
|
||
parameter, set DECL_LOOP_PARM_P on it.
|
||
* gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
|
||
is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
|
||
* gcc-interface/trans.c (gnu_loop_label_stack): Delete.
|
||
(struct range_check_info_d): New type.
|
||
(struct loop_info_d): Likewise.
|
||
(gnu_loop_stack): New stack.
|
||
(Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
|
||
built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
|
||
is set, do not test DECL_RENAMED_OBJECT.
|
||
(push_range_check_info): New function.
|
||
(Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
|
||
the label. Reference the label and the iteration variable from it.
|
||
Build the special induction variable in the unsigned version of the
|
||
size type, if it is larger than the base type. And attach it to the
|
||
iteration variable if the latter isn't by-ref. In the iteration scheme
|
||
case, initialize the invariant conditions in front of the loop if
|
||
deemed profitable. Use gnu_loop_stack.
|
||
(gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
|
||
<N_Raise_Constraint_Error>: Always process the reason. In the range
|
||
check and related cases, and if loop unswitching is enabled, compute
|
||
invariant conditions and push this information onto the stack.
|
||
Do not translate again the condition if it has been already translated.
|
||
* gcc-interface/utils.c (record_global_renaming_pointer): Assert that
|
||
DECL_LOOP_PARM_P isn't set.
|
||
(convert_to_index_type): New function.
|
||
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
|
||
to convert the index from the base index type to sizetype.
|
||
(gnat_invariant_expr): New function.
|
||
|
||
2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* gcc-interface/utils.c (def_builtin_1): Delete old interface with
|
||
two parallel arrays to hold standard builtin declarations, and
|
||
replace it with a function based interface that can support
|
||
creating builtins on the fly in the future.
|
||
* gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
|
||
(gnat_to_gnu): Ditto.
|
||
|
||
2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR lto/50492
|
||
* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
|
||
* gcc-interface/utils.c (global_context): New variable.
|
||
(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
|
||
that are either public external or at top level. Use "No" macro.
|
||
(end_subprog_body): Call decl_function_context.
|
||
(rest_of_subprog_body_compilation): Likewise.
|
||
|
||
2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
|
||
(rest_of_subprog_body_compilation): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
|
||
test for useless conversions by means of gnat_useless_type_conversion.
|
||
* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
|
||
(language_function): Add named_ret_val and other_ret_val.
|
||
(f_named_ret_val): New macro.
|
||
(f_other_ret_val): Likewise.
|
||
(gigi): Call rest_of_subprog_body_compilation.
|
||
(struct nrv_data): New structure.
|
||
(is_nrv_p): New predicate.
|
||
(prune_nrv_r): New helper function.
|
||
(prune_nrv_in_block): New function.
|
||
(finalize_nrv_r): New helper function.
|
||
(finalize_nrv): New function.
|
||
(return_value_ok_for_nrv_p): New predicate.
|
||
(build_return_expr): If optimization is enabled, record candidates for
|
||
the Named Return Value optimization.
|
||
(build_function_stub): Call rest_of_subprog_body_compilation.
|
||
(Subprogram_Body_to_gnu): If optimization is enabled and there are
|
||
candidates, finalize the Named Return Value optimization.
|
||
Call rest_of_subprog_body_compilation.
|
||
(call_to_gnu): At the end, if a return value is needed, simplify the
|
||
result before wrapping it up in a COMPOUND_EXPR.
|
||
* gcc-interface/utils.c (end_subprog_body): Split into...
|
||
(rest_of_subprog_body_compilation): ...this. New function.
|
||
(gnat_useless_type_conversion): Likewise.
|
||
|
||
2011-10-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-10-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
|
||
a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
|
||
a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
|
||
reorganization (use conditional expressions).
|
||
|
||
2011-10-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
|
||
floating divide by zero.
|
||
|
||
2011-10-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Limited interfaces that are not immutably limited
|
||
are OK in return statements.
|
||
|
||
2011-09-30 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (Darwin): Partial reversion of previous
|
||
change to powerpc section.
|
||
|
||
2011-09-29 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
|
||
across the port.
|
||
|
||
2011-09-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
|
||
a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
|
||
a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
|
||
indefinite sets.
|
||
* a-coorma.ads: Minor reformmating.
|
||
* einfo.ads: Improve the comment describing the
|
||
Directly_Designated_Type function.
|
||
* a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
|
||
ordered maps.
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
|
||
dependencies.
|
||
|
||
2011-09-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-comutr.ads: Minor reformatting.
|
||
|
||
2011-09-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
|
||
iterators to multiway trees.
|
||
|
||
2011-09-27 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb (d.D): New option for strict Alfa mode.
|
||
* opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
|
||
permissions as strictly as possible.
|
||
* sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
|
||
Alfa mode, now, interpret ranges of base types like GNAT does; in
|
||
strict mode, simply change the range of the implicit base Itype.
|
||
* gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.
|
||
|
||
2011-09-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor comment fixes.
|
||
|
||
2011-09-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-comutr.adb, a-comutr.ads: Add children iterators on multiway
|
||
trees.
|
||
|
||
2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
|
||
instead of Directly_Designated_Type in the indirect array case.
|
||
|
||
2011-09-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, exp_aggr.adb: Minor reformatting.
|
||
|
||
2011-09-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
|
||
on subtype declarations.
|
||
* exp_aggr.adb: Minor comment update.
|
||
|
||
2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_util.adb (Safe_Prefixed_Reference): Remove always-false
|
||
test in the N_Explicit_Dereference case. Fold double logical
|
||
negation in the special loop case and conditionalize it on
|
||
Variable_Ref being true.
|
||
|
||
2011-09-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
|
||
single protected object and the selector is a discriminant or an
|
||
entry family, this is a non-overloaded candidate interpretation,
|
||
and possible primitive operations of the type must not be
|
||
examined.
|
||
|
||
2011-09-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
|
||
s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
|
||
Add dummy definitions for pthread_rwlock_t
|
||
and pthread_rwlockattr_t on all POSIX platforms.
|
||
* s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
|
||
reference.
|
||
(Finalize_Lock): Likewise.
|
||
(Write_Lock): Likewise.
|
||
(Unlock): Likewise.
|
||
|
||
2011-09-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
|
||
windows 64.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
|
||
s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
|
||
s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
|
||
s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
|
||
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
|
||
s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
|
||
s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
|
||
s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
|
||
s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
|
||
s-taprop-posix.adb: Revert previous changes.
|
||
(Lock): Now a record containing the two possible lock
|
||
(mutex and read/write) defined in OS_Interface.
|
||
* s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
|
||
'R' locking policy.
|
||
(Initialize_Protection): Likewise.
|
||
(Lock): Likewise.
|
||
(Lock_Read_Only): Likewise.
|
||
(Unlock): Likewise.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
|
||
OS_Interface.pthread_rwlock_t.
|
||
|
||
2011-09-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
|
||
a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
|
||
sem_ch5.adb, sem_util.adb: Minor reformatting.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
|
||
(Finalize_Lock)[RW_Lock]: Likewise.
|
||
(Write_Lock)[RW_Lock]: Likewise.
|
||
(Unlock)[RW_Lock]: Likewise.
|
||
(Read_Lock): Define L as RW_Lock (instead of Lock).
|
||
* s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
|
||
routine for r/w lock.
|
||
(Finalize_Lock)[RW_Lock]: Likewise.
|
||
(Write_Lock)[RW_Lock]: Likewise.
|
||
(Unlock)[RW_Lock]: Likewise.
|
||
(Read_Lock): Define L as RW_Lock (instead of Lock).
|
||
|
||
* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
|
||
s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
|
||
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
|
||
(Initialize_Lock)[RW_Lock]: Same implementation as corresponding
|
||
routine for standard lock.
|
||
(Finalize_Lock)[RW_Lock]: Likewise.
|
||
(Write_Lock)[RW_Lock]: Likewise.
|
||
(Unlock)[RW_Lock]: Likewise.
|
||
(Read_Lock): Define L as RW_Lock (instead of Lock).
|
||
* s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
|
||
in the record definition.
|
||
* s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
|
||
lock for 'R' locking policy.
|
||
(Initialize_Protection): Likewise.
|
||
(Lock): Likewise.
|
||
(Lock_Read_Only): Likewise.
|
||
(Unlock): Likewise.
|
||
* s-taspri-posix.ads (RW_Lock): New type defined as
|
||
OS_Interface.pthread_rwlock_t.
|
||
|
||
* s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
|
||
s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
|
||
s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
|
||
s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
|
||
s-osinte-hpux.ads, s-osinte-irix.ads,
|
||
s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
|
||
pthread_mutex_t.
|
||
(pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
|
||
* s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
|
||
pthread_rwlockattr_init, pthread_rwlockattr_destroy,
|
||
pthread_rwlockattr_setkind_np, pthread_rwlock_init,
|
||
pthread_rwlock_destroy, pthread_rwlock_rdlock,
|
||
pthread_rwlock_wrlock, pthread_rwlock_unlock): New.
|
||
|
||
2011-09-27 Pascal Obry <obry@adacore.com>
|
||
|
||
* rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
|
||
(RE_Id): Add RE_Lock_Read_Only.
|
||
(RE_Unit_Table): Likewise.
|
||
* sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
|
||
to lift restriction on first character. Handle now the
|
||
Name_Concurrent_Readers_Locking where policy character is set to
|
||
'R'.
|
||
* snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
|
||
constant.
|
||
* exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
|
||
read only lock for function in protected object.
|
||
* s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
|
||
this routine is now used.
|
||
|
||
2011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* s-atocou-x86.adb (Decrement): Use %;.
|
||
(Increment): Likewise.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
|
||
dereference of the pointer to the storage area. Remove useless type
|
||
conversions and factor out common code.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
|
||
variable and use it throughout.
|
||
<UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
|
||
<RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
|
||
first step. Also convert to the unpadded type as a last step.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
|
||
DECL_CHAIN in comment.
|
||
* gcc-interface/trans.c (gigi): Likewise.
|
||
(Attribute_to_gnu): Likewise.
|
||
(build_function_stub): Likewise.
|
||
(gnat_to_gnu): Likewise.
|
||
* gcc-interface/utils.c (create_subprog_decl): Likewise.
|
||
(convert_vms_descriptor64): Likewise.
|
||
(convert_vms_descriptor32): Likewise.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
|
||
issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
|
||
the type of the record is TYPE_READONLY.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
|
||
OUT formal parameter which is of an null-exclusion access subtype.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
|
||
(gnat_to_gnu_param): Likewise.
|
||
* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
|
||
maybe_unconstrained_array instead of doing the work manually.
|
||
(maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
|
||
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
|
||
is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
|
||
(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
|
||
(gnat_stabilize_reference): Likewise.
|
||
|
||
2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
|
||
(SET_TYPE_NULL_BOUNDS): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
|
||
TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
|
||
pointer types.
|
||
* gcc-interface/utils.c (create_var_decl_1): If the object is external,
|
||
check that the initializer is a valid constant expression for use in
|
||
initializing a static variable. Add missing guard.
|
||
(update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
|
||
(convert_to_fat_pointer): In the null fat pointer case, build a valid
|
||
pointer for the bounds.
|
||
* gcc-interface/utils2.c (compare_fat_pointers): New function.
|
||
(build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
|
||
|
||
2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
|
||
the by-ref case. Do not set TREE_READONLY on a renamed object. Set
|
||
TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
|
||
(Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
|
||
to the indirect case.
|
||
* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
|
||
the TREE_THIS_NOTRAP flag.
|
||
|
||
2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
|
||
iteration scheme, always generate the do-while form if optimization
|
||
is enabled. Use more straightforward test at the end.
|
||
|
||
2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
|
||
XNEW instead of xmalloc. Do not build useless pointer type.
|
||
<E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
|
||
* gcc-interface/utils2.c (build_unary_op): Remove local variable.
|
||
|
||
2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
|
||
the alignment if this doesn't prevent BLKmode access to the object.
|
||
|
||
2011-09-24 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (darwin): Do not issue the
|
||
'-flat_namespace' linker flag during Ada build.
|
||
* mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
|
||
default shared library options.
|
||
|
||
2011-09-19 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* gcc-interface/decl.c (annotate_value): Look up expression for
|
||
insertion in the cache at the end.
|
||
|
||
2011-09-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-09-19 Steve Baird <baird@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-09-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads, errout.ads: Minor reformatting.
|
||
|
||
2011-09-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads (Impl_Defined_Aspects): New array
|
||
* lib-writ.adb (No_Dependences): New name for No_Dependence
|
||
* restrict.adb (No_Dependences): New name for No_Dependence
|
||
(Check_Restriction_No_Specification_Of_Aspect): New
|
||
procedure.
|
||
(Set_Restriction_No_Specification_Of_Aspect): New procedure
|
||
(Restricted_Profile_Result): New variable
|
||
(No_Specification_Of_Aspects): New variable
|
||
(No_Specification_Of_Aspect_Warning): New variable
|
||
* restrict.ads (No_Dependences): New name for No_Dependence
|
||
(Check_Restriction_No_Specification_Of_Aspect): New procedure
|
||
(Set_Restriction_No_Specification_Of_Aspect): New procedure
|
||
* s-rident.ads: Add restriction
|
||
No_Implementation_Aspect_Specifications, this is also added to
|
||
the No_Implementation_Extensions profile.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Check
|
||
No_Implementation_Defined_Aspects
|
||
(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
|
||
* sem_prag.adb (Analyze_Aspect_Specifications): Check
|
||
No_Implementation_Aspects
|
||
(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
|
||
* snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
|
||
|
||
2011-09-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Take into account multiple
|
||
renamings for Alfa refs.
|
||
|
||
2011-09-19 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socthi-mingw.adb: Minor reformatting.
|
||
|
||
2011-09-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set tagged type
|
||
expansion to False in mode Alfa
|
||
|
||
2011-09-19 Pascal Obry <obry@adacore.com>
|
||
|
||
* mingw32.h: Remove obsolete code needed for old versions
|
||
of MingW.
|
||
|
||
2011-09-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Minor reformatting.
|
||
|
||
2011-09-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): When the expression
|
||
function is transformed into a declaration and a body, insert
|
||
body at the end of the declarative part, to prevent premature
|
||
freeze actions, and preserve original specification in the
|
||
subprogram declaration.
|
||
|
||
2011-09-19 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Minor editing.
|
||
|
||
2011-09-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
|
||
exp_aggr.adb: Minor reformatting.
|
||
|
||
2011-09-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Change entity referenced
|
||
to underlying object if any, or else reference to the HEAP.
|
||
|
||
2011-09-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-09-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* tree_io.ads: Minor reformatting.
|
||
* a-intnam.ads: Fix bad header.
|
||
|
||
2011-09-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb: Minor reformatting.
|
||
|
||
2011-09-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb: Propagate information that an expression function comes
|
||
from source (otherwise references to this entity are not stored).
|
||
|
||
2011-09-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
|
||
a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
|
||
a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
|
||
|
||
2011-09-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
|
||
if the expression function is not a completion, create a
|
||
new specification for the generated declaration, and keep the
|
||
original specification in the generated body. Shorter code also
|
||
ensures that proper warnings are generated for unused formals
|
||
in all cases.
|
||
|
||
2011-09-15 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number because of the changes
|
||
in the tree structures for expression functions.
|
||
|
||
2011-09-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
|
||
s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
|
||
s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
|
||
(CLOCK_REALTIME): Fix wrong value on some OSes.
|
||
* s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
|
||
|
||
2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (maybe_unconstrained_array): In the reference
|
||
to unconstrained array case, deal with each branch of a COND_EXPR.
|
||
* gcc-interface/utils2.c (build_allocator): Deal with each branch of
|
||
a COND_EXPR in the initializer, if present.
|
||
|
||
2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
|
||
of an addressable type.
|
||
* gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
|
||
Deal with those cases for which creating a temporary is mandatory.
|
||
|
||
2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
|
||
this is a real formal parameter before testing whether it is by ref.
|
||
|
||
2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (build_call_0_expr): Delete.
|
||
(build_call_1_expr): Likewise.
|
||
(build_call_2_expr): Likewise.
|
||
(build_call_n_expr): New prototype.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
|
||
* gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
|
||
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
|
||
(Exception_Handler_to_gnu_zcx): Likewise.
|
||
(gnat_to_gnu): Likewise.
|
||
(build_binary_op_trapv): Likewise.
|
||
* gcc-interface/utils2.c (build_call_0_expr): Delete.
|
||
(build_call_1_expr): Likewise.
|
||
(build_call_2_expr): Likewise.
|
||
(build_call_n_expr): New function.
|
||
(build_call_raise): Use build_call_n_expr.
|
||
(build_call_raise_range): Likewise.
|
||
(build_call_raise_column): Likewise.
|
||
(build_call_alloc_dealloc_proc): Likewise.
|
||
(maybe_wrap_malloc): Likewise.
|
||
(maybe_wrap_free): Likewise.
|
||
|
||
2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (build_return_expr): Use void_type_node for
|
||
MODIFY_EXPR.
|
||
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
|
||
the result type is null if ENABLE_CHECKING. Set operation_type at the
|
||
end unconditionally if not set in the previous cases.
|
||
Use build2 and void_type_node for MODIFY_EXPR.
|
||
(build_allocator): Use NULL_TREE for MODIFY_EXPR.
|
||
|
||
2011-09-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (unchecked_convert): Use a field of the right
|
||
precision when converting to or from an integral type whose precision
|
||
is not equal to its size.
|
||
|
||
2011-09-08 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
|
||
|
||
2011-09-07 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (darwin): Provide powerpc64 system
|
||
implementation.
|
||
* system-darwin-ppc64.ads: New file.
|
||
|
||
2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
|
||
reference to "-lm".
|
||
|
||
2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
|
||
size switches to the link phase for shared libs.
|
||
|
||
2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
|
||
|
||
* gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
|
||
LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in
|
||
(gnattools, regnattools, cross-gnattools, canadian-gnattools,
|
||
gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
|
||
New targets.
|
||
(TOOLS_FLAGS_TO_PASS): New.
|
||
(../stamp-tools): Reintroduce, to avoid merge conflicts.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
|
||
name for Is_RM_Defined_Unit. Also several fixes to this unit.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
|
||
* s-rident.ads: New restriction No_Implementation_Units
|
||
(this restriction is also part of the profile
|
||
No_Implementation_Extensions)
|
||
* sem_ch10.adb (Analyze_With_Clause): Add check for
|
||
No_Implementation_Units restriction.
|
||
|
||
2011-09-06 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
|
||
on vThreads.
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-solita.adb: Minor reformatting.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
|
||
is a rewriting of an expression function does not freeze previous
|
||
entities.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
|
||
|
||
2011-09-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
|
||
powerpc-wrs-vxworksae.
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-os_lib.ads (Spawn): Minor documentation clarification,
|
||
Success is True for a zero exit status.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Add message for common iterator error.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Initialization_Call): If the target is a
|
||
selected component discriminated by a current instance, replace
|
||
the constraint with a reference to the target object, regardless
|
||
of whether the context is an init_proc.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Descriptor_Size is never static.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gnat_rm.texi: Clarify that attribute Descriptor_Size is
|
||
non-static.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve): An expression that is the body of an
|
||
expression function does not freeze.
|
||
|
||
2011-09-06 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
|
||
a-cuprqu.adb: Changed copyright notice to indicate current
|
||
year only.
|
||
|
||
2011-09-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb: Minor spelling error fix in comment
|
||
* sem_res.adb: Minor reformatting
|
||
|
||
2011-09-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* sysdep.c (winflush_nt): Removed as not needed anymore.
|
||
(winflush_95): Likewise.
|
||
(winflush_init): Likewise.
|
||
(winflush_function): Likewise.
|
||
(getc_immediate_common): Remove call to winflush_function.
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
|
||
processing for Descriptor_Size.
|
||
* gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
|
||
to account for its broader usage.
|
||
* sem_attr.adb (Analyze_Attribute): Change the error detection
|
||
circuitry for Descriptor_Size as the attribute is now applicable
|
||
to all types.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
|
||
in a parameter association must not set the Referenced flag on
|
||
the formal.
|
||
* prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gnat_rm.texi: Add a section on attribute Descriptor_Size
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (common-tools, gnatmake-re,
|
||
gnatlink-re): Speed up by using -j0.
|
||
|
||
2011-09-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Call
|
||
Set_Corresponding_Aspect when creating pragma from aspect.
|
||
(Add_Predicates): Use new field Corresponding_Aspect.
|
||
* sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
|
||
name when present, for the purpose of issuing error messages;
|
||
remove local procedure Error_Pragma_Arg_Alternate_Name.
|
||
* sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
|
||
N_Pragma node.
|
||
(From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
|
||
N_Pragma node.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Build_Heap_Allocator): Add new
|
||
local variable Desig_Typ. Code and comment reformatting. Add
|
||
machinery to ensure that the allocation uses a fat pointer when
|
||
the type of the return object is a constrained array and the
|
||
function return type is an unconstrained array.
|
||
|
||
2011-09-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
|
||
parameters in subprograms.
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taprop-mingw.adb (Finalize_TCB): Fix typo.
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
|
||
(System.Tasking.Primitive_Operations.Specific.Delete): Remove
|
||
subprogram.
|
||
(System.Tasking.Primitive_Operations.Specific.Set): If argument
|
||
is null, destroy task specific data, to make API consistent with
|
||
other platforms, and thus compatible with the shared version
|
||
of s-tpoaal.adb.
|
||
(System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
|
||
Document the above assumption.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
|
||
variable for type of return value when return type is
|
||
unconstrained and context is an assignment.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
|
||
class-wide operation if expansion is not enabled.
|
||
|
||
2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Deal with access
|
||
type prefix.
|
||
|
||
2011-09-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications, case
|
||
Aspect_Invariant): Do not issue error at this point on illegal
|
||
pragma placement, as this is checked later on when analyzing
|
||
the corresponding pragma.
|
||
* sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
|
||
similar to Error_Pragma_Arg, except the source name of the
|
||
aspect/pragma to use in warnings may be equal to parameter
|
||
Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
|
||
message to distinguish source name of pragma/aspect, and whether
|
||
the illegality resides in the type being public, or being private
|
||
without a public declaration
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
|
||
size check (fd_set is implemented differently on that platform).
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
|
||
s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
|
||
s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
|
||
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
|
||
(ATCB_Allocation): New subpackage of
|
||
System.Tasking.Primitive_Operations, shared across all targets
|
||
with full tasking runtime.
|
||
(ATCB_Allocation.New_ATCB): Moved there (from target specific
|
||
s-taprop bodies).
|
||
(ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
|
||
taking care of establishing a local temporary ATCB if the one
|
||
being deallocated is Self, to avoid a reference to the freed
|
||
ATCB in Abort_Undefer.
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
|
||
terminated, mark it for deallocation upon termination.
|
||
(Terminate_Task): Call Free_Task again if the task is marked
|
||
for automatic deallocation upon termination.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
|
||
a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
|
||
a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
|
||
a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
|
||
a-intnam-solaris.ads, a-intnam-tru64.ads,
|
||
a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
|
||
cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
|
||
* einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
|
||
* par-prag.adb: Add dummy entry for pragma Implementation_Defined
|
||
* s-rident.ads: Add new restriction No_Implementation_Identifiers
|
||
Add new profile No_Implementation_Extensions
|
||
* sem_prag.adb: Implement pragma Implementation_Defined Implement
|
||
profile No_Implementation_Extensions
|
||
* sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
|
||
Check violation of restriction No_Implementation_Identifiers
|
||
* snames.ads-tmpl: Add entries for pragma Implementation_Defined
|
||
Add entry for Name_No_Implementation_Extensions
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.ads: Minor reformatting.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
|
||
|
||
2011-09-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
|
||
types.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-socket.adb: Minor reformatting
|
||
|
||
2011-09-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* ali.adb (Scan_ALI): Add missing support to load references of
|
||
entities imported from other languages.
|
||
* ali.ads (Xref_Record): Adding new fields to store the language and
|
||
name of an imported entity.
|
||
* lib-xref.adb (Output_Import_Export_Info): Fix typo
|
||
in comment.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
|
||
is allowed on a full type declaration if it is the completion of
|
||
a private declarations.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
|
||
aspect is allowed on a full type declaration in the private part
|
||
of a package.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.ads: Minor reformatting
|
||
|
||
2011-09-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
|
||
Guard against socket values that are not in [0;FD_SETSIZE[
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
|
||
reformatting.
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-linux-alpha.ads: Minor reformatting
|
||
* s-oscons-tmplt.c: Fix generated comments in s-oscons template.
|
||
Use sizeof instead of corresponding C defines in s-oscons template.
|
||
|
||
2011-09-06 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-convec.ads, a-iteint.ads: Minor reformatting.
|
||
|
||
2011-09-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add menus and @node lines.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
|
||
where the return type is an unconstrained array and the context
|
||
is an assignment. Optimize the case when the target of the
|
||
assignment is a selected component.
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-solita.adb: Update comments.
|
||
|
||
2011-09-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
|
||
s-linux-sparc.ads: Remove hard coded and now wrong definitions.
|
||
* s-oscons-tmplt.c: Add support for generating pthread related
|
||
types size on GNU/Linux as done for Darwin.
|
||
* s-osinte-linux.ads: Use s-oscons to define the pthread types.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb: Fix minor typo.
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb: Remove with and use clauses for Get_Targ.
|
||
(Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
|
||
(Double_Size_Of): Alphabetized. Update the comment on usage.
|
||
(Make_Finalize_Address_Stmts): Update comments and reformat code.
|
||
(Nearest_Multiple_Rounded_Up): New routine.
|
||
(Size_Of): Update comment on usage. The generated expression now
|
||
accounts for alignment gaps by rounding the size of the type to the
|
||
nearest multiple rounded up of the type's alignment.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, g-comlin.adb: Minor reformatting.
|
||
|
||
2011-09-06 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Look through
|
||
derived subprograms in checking for presence of an
|
||
Extra_Accessibility_Of_Result formal parameter.
|
||
* exp_ch6.adb (Expand_Call): Look through derived subprograms in
|
||
checking for presence of an Extra_Accessibility_Of_Result formal
|
||
parameter.
|
||
(Expand_Call.Add_Actual_Parameter): Fix a bug in the
|
||
case where the Parameter_Associatiations attribute is already set,
|
||
but set to an empty list.
|
||
(Needs_Result_Accessibility_Level):
|
||
Unconditionally return False. This is a temporary
|
||
change, disabling the Extra_Accessibility_Of_Result
|
||
mechanism.
|
||
(Expand_Simple_Function_Return): Check for
|
||
Extra_Accessibility_Of_Result parameter's presence instead of
|
||
testing Ada_Version when generating a runtime accessibility
|
||
check which makes use of the parameter.
|
||
|
||
2011-09-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
|
||
expression in a given case alternative must be attached to the
|
||
statement list of the ccrresponding case statement alternative
|
||
They cannot be propagated ahead of the case statement, because
|
||
the validity of the expression that generated the action may
|
||
hold only for that alternative.
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb: Remove with and use clauses for Get_Targ.
|
||
(Alignment_Of): Remove the code for strict alignment targets.
|
||
(Double_Alignment_Of): Removed.
|
||
(Double_Size_Of): New routine.
|
||
(Make_Finalize_Address_Stmts): Change the
|
||
calculation of the dope's size. Update relevant comments.
|
||
(Size_Of): New routine.
|
||
|
||
2011-09-06 Steve Baird <baird@adacore.com>
|
||
|
||
* einfo.ads (Extra_Accessibility): Update associated comment to use
|
||
the term "present" correctly ("present" just means that it is not
|
||
an error to query the value of the attribute - it does not imply
|
||
that the value must be non-null).
|
||
(Extra_Constrained): Ditto.
|
||
(Is_Visible_Formal): Ditto.
|
||
(Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
|
||
(Set_Extra_Accessibility_Of_Result): Add Inline pragma.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
|
||
* exp_ch6.adb (Expand_Call): The callee may require an
|
||
Extra_Accessibility_Of_Result actual parameter even if Ada_Version
|
||
< Ada_2012. This can occur if the callee is exported from a Gnat
|
||
runtimes unit. Also improve a comment.
|
||
|
||
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb: Add with and use clauses for Get_Targ.
|
||
(Alignment_Of): Rename formal parameter Some_Typ
|
||
to Typ, update related comment. Use the allocator alignment on
|
||
strict alignment targets such as SPARC.
|
||
(Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
|
||
related comment.
|
||
|
||
2011-09-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch9.adb (Check_Interfaces): Test
|
||
Is_Limited_Type rather than Is_Limited_Record when checking that
|
||
the partial view of a synchronized full view must be limited.
|
||
|
||
2011-09-06 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Free): Fix memory leak.
|
||
|
||
2011-09-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
|
||
|
||
2011-09-06 Steve Baird <baird@adacore.com>
|
||
|
||
* einfo.ads (Extra_Accessibility_Of_Result): New function; in the
|
||
(Ada2012) cases described in AI05-0234 where the accessibility
|
||
level of a function result is "determined by the point of
|
||
call", an implicit parameter representing that accessibility
|
||
level is passed in. Extra_Accessibilty_Of_Result yields this
|
||
additional formal parameter. Extra_Accessibility_Of_Result
|
||
is analogous to the existing Extra_Accessibility
|
||
function used in the implementation of access parameters.
|
||
(Set_Extra_Accessibility_Of_Result): New procedure; sets
|
||
Extra_Accessibility_Of_Result attribute.
|
||
* einfo.adb (Extra_Accessibility_Of_Result): New function.
|
||
(Set_Extra_Accessibility_Of_Result): New procedure.
|
||
(Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
|
||
* sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
|
||
an accessibility level literal to Natural; introduce a nested
|
||
function, Make_Level_Literal, to do this.
|
||
* exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
|
||
determines whether a given function (or access-to-function
|
||
type) needs to have an implicitly-declared accessibility-level
|
||
parameter added to its profile.
|
||
(Add_Extra_Actual_To_Call): Export an existing procedure which was
|
||
previously declared in the body of Exp_Ch6.
|
||
* exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
|
||
it to exp_ch6.ads.
|
||
(Has_Unconstrained_Access_Discriminants): New Function; a
|
||
predicate on subtype entities which returns True if the given
|
||
subtype is unconstrained and has one or more access discriminants.
|
||
(Expand_Call): When expanding a call to a function which takes an
|
||
Extra_Accessibility_Of_Result parameter, pass in the appropriate
|
||
actual parameter value. In the case of a function call which is
|
||
used to initialize an allocator, this may not be possible because
|
||
the Etype of the allocator may not have been set yet. In this
|
||
case, we defer passing in the parameter and handle it later in
|
||
Expand_Allocator_Expression.
|
||
(Expand_Simple_Function_Return): When returning from a function which
|
||
returns an unconstrained subtype having at least one access
|
||
discriminant, generate the accessibility check needed to ensure that
|
||
the function result will not outlive any objects designated by its
|
||
discriminants.
|
||
(Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
|
||
description.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): When a function call
|
||
is used to initialize an allocator, we may need to pass in "the
|
||
accessibility level determined by the point of call" (AI05-0234)
|
||
to the function. Expand_Call, where such actual parameters are
|
||
usually generated, is too early in this case because the Etype of
|
||
the allocator (which is used in determining the level to be passed
|
||
in) may not have been set yet when Expand_Call executes. Instead,
|
||
we generate code to pass in the appropriate actual parameter
|
||
in Expand_Allocator_Expression.
|
||
* sem_ch6.adb (Create_Extra_Formals): Create
|
||
the new Extra_Accessibility_Of_Result formal if
|
||
Needs_Result_Accessibility_Level returns True. This includes the
|
||
introduction of a nested procedure, Check_Against_Result_Level.
|
||
|
||
2011-09-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
|
||
declaration.
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finmas.adb (Set_Finalize_Address): Explain the reason
|
||
for the synchronization. Move the test for null from
|
||
s-stposu.Allocate_Any_Controlled to this routine since the check
|
||
needs to be protected too.
|
||
(Set_Heterogeneous_Finalize_Address): Explain the reason for the
|
||
synchronization code.
|
||
* s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
|
||
explaining the context in which this routine is used.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Move the test for null
|
||
to s-finmas.Set_Finalize_Address.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Document that itypes have no parent field.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* rtsfind.adb (Check_CRT): Check for overloaded entity
|
||
* rtsfind.ads: Document that entities to be found by rtsfind
|
||
cannot be overloaded
|
||
* s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
|
||
(Lock_Entries_With_Status): New name for Lock_Entries with two
|
||
arguments (changed to meet rtsfind no overloading rule).
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finmas.adb (Set_Finalize_Address (Address,
|
||
Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
|
||
(Set_Finalize_Address (in out Finalization_Master,
|
||
Finalize_Address_Ptr): Add synchronization code.
|
||
* s-finmas.ads (Set_Finalize_Address (Address,
|
||
Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Update the call to
|
||
Set_Finalize_Address for the heterogeneous case.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Undo previous change, not suitable after all.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads: Minor comment clarification.
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
|
||
no longer needs to search through the entities of the return
|
||
statement scope to find the _chain.
|
||
* sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
|
||
(Analyze_Block_Statement): Add local variable
|
||
Is_BIP_Return_Statement. Add machinery to install all entities
|
||
produced by the expansion of the return object declaration.
|
||
(Install_Return_Entities): New routine.
|
||
* sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Context): Apply simple fixup if context
|
||
of subunit is incomplete.
|
||
(Analyze_Proper_Body): If parent spec is not available, do not
|
||
attempt analysis.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Find_Controlling_Arg): Add checks for
|
||
interface type conversions, that are expanded into dereferences.
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
|
||
Examine the parameter and return profile of a subprogram and swap
|
||
any incomplete types coming from a limited context with their
|
||
corresponding non-limited views.
|
||
(Exchange_Limited_Views): New routine.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
|
||
of internal entity to the subtype declaration, so that when
|
||
entities are subsequently exchanged in a package body, the tree
|
||
remains properly formatted for ASIS.
|
||
|
||
2011-09-05 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* g-comlin.adb (Set_Usage): Additional optional argument to set help
|
||
message.
|
||
(Display_Help): display the user given help message, if available.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
|
||
is legal if the original node is an identifier that is a
|
||
parameterless function call.
|
||
|
||
2011-09-05 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
Add support for standalone aggregate library.
|
||
(Check_Stand_Alone_Library): Handle standalone aggregate library.
|
||
* projects.texi: Fix documentation for aggregate library projects.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor reformatting.
|
||
|
||
2011-09-05 Matthew Gingell <gingell@adacore.com>
|
||
|
||
* s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
|
||
stack guard page on PPC Linux. This patch ensures the 64K guard page at
|
||
the bottom of the stack is not overwritten.
|
||
|
||
2011-09-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_intr.adb, s-tasini.adb: Minor reformatting.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Definition): If an access type declaration
|
||
appears in a child unit, the scope of whatever anonymous type
|
||
may be generated is the child unit itself.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Do not set
|
||
Comes_From_Source on rewritten body.
|
||
(Analyze_Subprogram_Body_Helper): Check that the original node for
|
||
the body comes from source, when determining whether expansion
|
||
of a protected operation is needed.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Replace_Type): If the target of the assignment is
|
||
a selected component and the right-hand side is a self-referential
|
||
access, the proper prefix of the rewritten attribute is a copy
|
||
of the left-hand side, not of its prefix.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb: Minor reformatting.
|
||
* sem_ch3.adb: Minor code clean up.
|
||
|
||
2011-09-05 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* exp_ch9.adb (Make_Initialize_Protection): The fact that
|
||
restriction No_Dynamic_Attachment is in effect or not should
|
||
not influence the default priority associated to a protected
|
||
object. With this change, when the restriction is in effect (as
|
||
is the case for the Ravenscar profile) the default priority of
|
||
a protected object with an interrupt handler is in the range of
|
||
interrupt priorities (Default_Interrupt_Priority) as required
|
||
by D.3(10).
|
||
|
||
2011-09-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-iteint.ads: Fix header.
|
||
|
||
2011-09-05 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
|
||
with a directory separator to avoid output such as:
|
||
"/path/to/objauto.cgpr" has been deleted.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Better error message.
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_aggr.adb: Add with and use clause for Exp_Ch6.
|
||
(Expand_Array_Aggregate): Detect a special case of an aggregate
|
||
which contains tasks in the context of an unexpanded return
|
||
statement of a build-in-place function.
|
||
* exp_ch6.adb: Add with and use clause for Exp_Aggr.
|
||
(Expand_N_Extended_Return_Statement): Detect a delayed aggregate
|
||
which contains tasks and expand it now that the original simple
|
||
return statement has been rewritten.
|
||
* exp_ch9.adb (Build_Activation_Chain_Entity): Code
|
||
reformatting. Do not create a chain for an extended return
|
||
statement if one is already available.
|
||
(Has_Activation_Chain): New routine.
|
||
|
||
2011-09-05 Marc Sango <sango@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Remove
|
||
the wrong test and add the correct test to detect the violation
|
||
of illegal use of unconstrained string type in SPARK mode.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iteration_Specification): Improve error
|
||
message on an iterator over an array.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Minor reformatting.
|
||
|
||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
|
||
exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
|
||
|
||
2011-09-05 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch6.adb: Minor reformatting.
|
||
|
||
2011-09-05 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Update comments.
|
||
|
||
2011-09-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
|
||
present, create them now. Needed in case the return type was
|
||
a limited view in the function declaration.
|
||
(Make_Build_In_Place_Call_In_Allocator): If return type contains
|
||
tasks, build the activation chain for it. Pass a reference to
|
||
the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
|
||
* exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
|
||
with build_in_place calls.
|
||
* sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
|
||
incomplete, inatialize its Corresponding_Record_Type component.
|
||
* sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
|
||
of limited views.
|
||
|
||
2011-09-05 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
|
||
information.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
|
||
appears within a package specification and the token after "IS"
|
||
is not a parenthesis, assume that this is an unparenthesized
|
||
expression function, even if the token appears in a line by
|
||
itself.
|
||
* par.adb: Clarify use of Labl field of scope stack in error
|
||
recovery.
|
||
|
||
2011-09-05 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
|
||
conversions instead of normal type conversions in all cases where a
|
||
type conversion would be illegal. In particular, use unchecked
|
||
conversions when the operand types are private.
|
||
|
||
2011-09-05 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
|
||
objects of task type or protected type.
|
||
|
||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): If the expression
|
||
function comes from source, indicate that so does its rewriting,
|
||
so it is compatible with any subsequent expansion of the
|
||
subprogram body (e.g. when it is a protected operation).
|
||
* sem_ch4.adb: minor reformatting
|
||
|
||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
|
||
Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
|
||
may lead to wrong ancestor package in the case of instantiated subunit
|
||
bodies. If a subunit is instantiated, follow the chain of instantiations
|
||
rather than the stub structure.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb, sem_ch6.adb: Minor reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-09-02 Marc Sango <sango@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Change
|
||
comment and add additional check to differentiate constant of
|
||
type string from others unconstrained type.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
|
||
present in incomplete type declarations to refine the error
|
||
message the full declaration is in the same unit.
|
||
* sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
|
||
an incomplete type, set the Premature_Use for additional message.
|
||
* sem_ch3.adb (Find_Type_Name): If partial view is incomplete
|
||
and Premature_Use is set, place additional information at the
|
||
point of premature use.
|
||
|
||
2011-09-02 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch6.adb: (Check_Post_State): Suppress warning
|
||
"postcondition refers only to pre-state" when the expression has not
|
||
yet been analyzed, because it causes false alarms. This can happen when
|
||
the postcondition contains a quantified expression, because those are
|
||
analyzed later. This is a temporary/partial fix.
|
||
(Process_Post_Conditions): Minor: change wording of warning.
|
||
|
||
2011-09-02 Marc Sango <sango@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
|
||
illegal use of unconstrained string type in SPARK mode.
|
||
* sem_res.adb (Analyze_Operator_Symbol): Set the
|
||
right place where the string operand of concatenation should be
|
||
violate in SPARK mode.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
|
||
exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
|
||
as the compiler driver so Is_Compilable returns True for sources.
|
||
* prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
|
||
for the body.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
|
||
condition, a reference to a controlling formal must be interpreted
|
||
as having the class-wide type (or an access to such) so that the
|
||
inherited condition can be properly applied to any overriding
|
||
operation (see ARM12 6.6.1 (7)).
|
||
|
||
2011-09-02 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c (__gnat_is_vms_v7): Fix case and add prototype
|
||
for LIB$GETSYI.
|
||
|
||
2011-09-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
|
||
initializing expression of a class-wide interface object declaration
|
||
if its type is limited.
|
||
|
||
2011-09-02 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* sem_util.adb (Unique_Name): To obtain a unique name for enumeration
|
||
literals, take into account the type name; the type is *not*
|
||
the scope for an enumeration literal.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Overriding_Indicator): add special check
|
||
to reject an overriding indicator on a user-defined Adjust
|
||
subprogram for a limited controlled type.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): add missing call to Resolve
|
||
for an actual that is a function call returning an unconstrained
|
||
limited controlled type.
|
||
|
||
2011-09-02 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
|
||
|
||
2011-09-02 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
|
||
from "HEAP" to __HEAP Change comment that refers to that variable
|
||
* put_alfa.adb: Change comment that refers to that variable
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Extract_Renamed_Object): Renamed to
|
||
Find_Renamed_Object. This routine has been reimplemented and now uses
|
||
tree traversal to locate a renamed object.
|
||
(Is_Aliased): Replace call to Extract_Renamed_Object with
|
||
Find_Renamed_Object.
|
||
|
||
2011-09-02 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c: (__gnat_is_vms_v7): New function.
|
||
|
||
2011-09-02 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
|
||
that have a misaligned backchain, necessarily bogus.
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
|
||
TSS routine Finalize_Address when compiling in Alfa mode.
|
||
(Expand_Freeze_Record_Type): Do not create TSS routine
|
||
Finalize_Address when compiling in Alfa mode.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
|
||
call to Set_Finalize_Address in Alfa mode because Finalize_Address is
|
||
not built.
|
||
(Expand_N_Allocator): Do not produce a call to
|
||
Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
|
||
produce a call to primitive Set_Finalize_Address in Alfa mode because
|
||
Finalize_Address is not built.
|
||
* exp_ch7.adb (Build_Finalization_Master): Do not create
|
||
finalization masters in Afa mode since they are not needed.
|
||
(Build_Finalizer): Do not create scope and library-level
|
||
finalizers in Alfa mode since they are not needed.
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
|
||
"new" and "free" when applied to controlled objects in Alfa mode since
|
||
this is not needed.
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
|
||
only library names with the syntax of Ada identifiers, to avoid errors
|
||
when compiling the binder generated files.
|
||
* projects.texi: Document restriction on SAL library names
|
||
|
||
2011-09-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-chtgbo.adb: Minor comment fix.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-xref.adb: Minor reformatting
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
|
||
gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
|
||
--version and --help in usage.
|
||
* switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
|
||
|
||
2011-09-02 Bob Duff <duff@adacore.com>
|
||
|
||
* lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
|
||
compilers don't understand it.
|
||
|
||
2011-09-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Pass the
|
||
underlying subtype rather than its base type on the call to
|
||
Build_Record_Or_Elementary_Input_Function, so that any
|
||
constraints on a discriminated subtype will be available for
|
||
doing the check required by AI05-0192.
|
||
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
|
||
If the prefix subtype of the 'Input attribute is a constrained
|
||
discriminated subtype, then check each constrained discriminant value
|
||
against the corresponding value read from the stream.
|
||
|
||
2011-09-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
|
||
warnings on suspicious contracts, and enable them with -gnatwa.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
|
||
reformatting.
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb (Install_Private_Data_Declarations): Add guards
|
||
which ensure that restriction No_Dynamic_Attachment has not been
|
||
violated.
|
||
(Make_Initialize_Protection): Protected types with attach or
|
||
interrupt handlers must not violate restriction No_Dynamic_Attachment.
|
||
* exp_util.adb (Corresponding_Runtime_Package): Add a guard
|
||
which ensures that restriction No_Dynamic_Attachment has not been
|
||
violated.
|
||
* sem_attr.adb: (Eval_Attribute): Transform
|
||
VAX_Float_Type'First and 'Last into references to
|
||
the temporaries which store the corresponding bounds. The
|
||
transformation is needed since the back end cannot evaluate
|
||
'First and 'Last on VAX.
|
||
(Is_VAX_Float): New routine.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
|
||
generic unit is not intrinsic and has an explicit convention,
|
||
the instance inherits it.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
|
||
prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
|
||
|
||
2011-09-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
|
||
Guard against a prefix that is an N_Has_Entity but has no
|
||
associated entity.
|
||
|
||
2011-09-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
|
||
references.
|
||
|
||
2011-09-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* opt.ads (Warn_On_Suspicious_Contract): New warning flag.
|
||
* sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
|
||
contracts.
|
||
* sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
|
||
procedure looking for suspicious postconditions.
|
||
* usage.adb (Usage): New options -gnatw.t and -gnatw.T.
|
||
* warnsw.adb (Set_Dot_Warning_Switch): Take into account new
|
||
options -gnatw.t and -gnatw.T.
|
||
|
||
2011-09-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.adb: Minor code refactoring. Move check for null project in
|
||
Project_Changed.
|
||
* projects.texi: Fix minor typos.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If the domain
|
||
of iteration is an expression, its value must be captured in a
|
||
renaming declaration, so that modification of the elements is
|
||
propagated to the original container.
|
||
|
||
2011-09-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
|
||
prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
|
||
prj-tree.adb: Minor reformatting and style fixes.
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-rident.ads: Add new restriction No_Implicit_Aliasing
|
||
* sem_attr.adb: (Analyze_Access_Attribute): Deal with
|
||
No_Implicit_Aliasing
|
||
(Analyze_Attribute, case Address): ditto
|
||
(Analyze_Attribute, case Unrestricted_Access): ditto
|
||
* sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
|
||
No_Implicit_Aliasing restriction.
|
||
* gnat_rm.texi: Add documentation for No_Implicit_Aliasing
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb: (Possible_Bit_Aligned_Object): If the object
|
||
is an unchecked conversion, apply test to its expression.
|
||
|
||
2011-09-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): When
|
||
traversing the chain of aliased subprograms avoid reporting a
|
||
redundant error on the current entity.
|
||
|
||
2011-09-02 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor clean up.
|
||
|
||
2011-09-02 Bob Duff <duff@adacore.com>
|
||
|
||
* s-htable.adb (Set_If_Not_Present): Use renaming
|
||
instead of ":=", because the type Key is limited in the generic (even
|
||
if not in the instances).
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
|
||
g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
|
||
reformatting.
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
|
||
inherited component with the enclosing derived type. Code reformatting.
|
||
|
||
2011-09-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* checks.adb: (Determine_Range): Add test of OK1 to prevent the early
|
||
return done when overflow checks are enabled, since comparisons against
|
||
Lor and Hir should not be done when OK1 is False.
|
||
|
||
2011-09-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
|
||
Add new formal Master_Exp. When present, add that expression to the
|
||
call as an extra actual.
|
||
(Make_Build_In_Place_Call_In_Object_Declaration): Add variable
|
||
Fmaster_Actual and in the case of a BIP call initializing a return
|
||
object of an enclosing BIP function set it to a
|
||
new reference to the implicit finalization master
|
||
formal of the enclosing function. Fmaster_Actual is
|
||
then passed to the new formal Master_Exp on the call to
|
||
Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
|
||
initializations of Enclosing_Func to its declaration.
|
||
|
||
2011-09-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* csets.ads: Minor reformatting
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
|
||
the full view of a private type coming from an instantiation.
|
||
* exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
|
||
loop to iterate over the declarations rather than use the
|
||
First_Entity / Next_Entity scheme.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
|
||
X'range (N) into X'First (N) .. X'Last (N), do not share the
|
||
dimension indicator N, if present. Even though it is a static
|
||
constant, its source location may be modified when printing
|
||
expanded code under -gnatDL, and node sharing will lead to chaos
|
||
in Sprint on large files, by generating a sloc value that does
|
||
not correspond to any source file.
|
||
|
||
2011-09-02 Bob Duff <duff@adacore.com>
|
||
|
||
* einfo.adb: (Has_Xref_Entry): Do not call
|
||
Implementation_Base_Type. Lib.Xref has been
|
||
rewritten to avoid the need for it, and it was costly.
|
||
* s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
|
||
functions in support of efficient xref.
|
||
* lib-xref-alfa.adb: Misc changes related to Key component of
|
||
type Xref_Entry.
|
||
* lib-xref.adb: (Add_Entry,etc): Speed improvement.
|
||
(New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
|
||
no longer does. This is the one place where it is needed.
|
||
|
||
2011-09-02 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* g-comlin.adb (Getopt): New optional argument Concatenate to have
|
||
similar interface as the other Getopt function.
|
||
|
||
2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
|
||
a call to Set_Finalize_Address if there is no allocator available.
|
||
* exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
|
||
a case of allocator expansion where the allocator is not expanded but
|
||
needs a custom allocate routine. Code reformatting.
|
||
(Is_Finalizable_Transient): Remove local variables Has_Rens and
|
||
Ren_Obj. Code reformatting.
|
||
(Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
|
||
through the use of 'reference.
|
||
* sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
|
||
as part of build-in-place expansion. They are intentionally marked as
|
||
coming from source, but their parents are not.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_With_Clause): If the library unit
|
||
is the generated subprogram declaration for a child unit body
|
||
that acts as spec, use the original body in the with_clause,
|
||
to prevent binding errors.
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
|
||
qualifier /MULTI_UNIT_INDEX=
|
||
|
||
2011-09-02 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* g-comlin.adb (Getopt): Return when switch is dealt with automatically,
|
||
instead of calling the callback function
|
||
|
||
2011-09-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
|
||
prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb: (Find_Sources): When the list of sources is
|
||
explicitly declared in an extending project, do not warn if a source
|
||
for an inherited naming exception is not found.
|
||
|
||
2011-09-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
|
||
expansion is inactive.
|
||
|
||
2011-09-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Note_Possible_Modification): If the entity
|
||
being modified is the renaming generated for an Ada2012 iterator
|
||
element, the enclosing container or array is modified as well.
|
||
|
||
2011-09-02 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
|
||
Initialize): Define and initialize the
|
||
mutex attributes and condition variable attributes locally.
|
||
|
||
2011-09-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
|
||
exception replaced in an extending project.
|
||
(Check_Object): No error when the other source is locally removed.
|
||
|
||
2011-09-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
|
||
unresolved calls.
|
||
|
||
2011-08-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
|
||
run-time files.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
|
||
|
||
2011-09-01 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* adaint.h (__gnat_cpu_free): Fix the name of this profile.
|
||
* adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
|
||
__gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
|
||
specific for systems where their glibc version does not define the
|
||
routines to handle dynamically allocated CPU sets.
|
||
|
||
2011-09-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
|
||
prj-env.adb: Implement inheritance of naming exceptions in extending
|
||
projects.
|
||
|
||
2011-09-01 Romain Berrendonner <berrendo@adacore.com>
|
||
|
||
* gnatls.adb: Display simple message instead of content of
|
||
gnatlic.adl.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
|
||
access discriminant and anonymous access component scopes.
|
||
(Inherit_Component): Reuse the itype of an access discriminant
|
||
or anonymous access component by copying it in order to set the proper
|
||
scope. This is done only when the parent and the derived type
|
||
are in different scopes.
|
||
(Set_Anonymous_Etype): New routine.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-convec.adb: Minor reformatting throughout.
|
||
|
||
2011-09-01 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
|
||
__gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
|
||
CPU_ALLOC_SIZE and CPU_FREE linux macros.
|
||
(__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
|
||
CPU_SET_S respectively because we are now using dynamically allocated
|
||
CPU sets which are more portable across different glibc versions.
|
||
* s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
|
||
CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
|
||
masks dynamically according to the number of processors in the target
|
||
platform.
|
||
(CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
|
||
respectively, so we need to pass the size of the masks as
|
||
parameters.
|
||
* s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
|
||
created cpu_set_t masks
|
||
with the number of processors available in the target platform,
|
||
instead of static bit arrays. It enhances portability because
|
||
it uses the information from the target platform.
|
||
* sem_ch8.adb: (Attribute_Renaming): When checking whether we
|
||
are using a restricted run-time library, use the flag
|
||
Configurable_Run_Time_Mode instead of Restricted_Profile.
|
||
|
||
2011-09-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
|
||
* vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
|
||
|
||
2011-09-01 Nicolas Roche <roche@adacore.com>
|
||
|
||
* adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
|
||
on VxWorks in kernel mode.
|
||
|
||
2011-09-01 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
|
||
macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
|
||
directly the bit array.
|
||
* s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
|
||
the linux macros with the same name.
|
||
* adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
|
||
wrappers around the CPU_ZERO and CPU_SET linux macros.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Insertion_List): Removed.
|
||
(Process_Transient_Objects): Insert the declarations of the hook
|
||
access type and the hook object before the associated transient object.
|
||
|
||
2011-09-01 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
|
||
package System.Aux_Dec when using restricted run-time libraries which
|
||
do not have this package.
|
||
|
||
2011-09-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
|
||
|
||
2011-09-01 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Access_Attribute): Do not call
|
||
Kill_Current_Values for P'Unrestricted_Access, where P is library level
|
||
|
||
2011-09-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch5.adb: Minor reformatting
|
||
* gnat_ugn.texi: Fix minor typos.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, sem_aggr.adb: Minor reformatting.
|
||
|
||
2011-09-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-convec.adb: Proper handling of cursors for Ada2012 iterators.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
|
||
|
||
2011-09-01 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
|
||
body" the same as "in inlined body", because visibility shouldn't
|
||
apply there.
|
||
|
||
2011-09-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Add_Inlined_Body): Refine previous change.
|
||
|
||
2011-09-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
Test for case where call
|
||
initializes an object of a return statement before testing for
|
||
a constrained call, to ensure that all such cases get handled
|
||
by simply passing on the caller's parameters. Also, in that
|
||
case call Needs_BIP_Alloc_Form to determine whether to pass on
|
||
the BIP_Alloc_Form parameter of the enclosing function rather
|
||
than testing Is_Constrained. Add similar tests for the return
|
||
of a BIP call to later processing to ensure consistent handling.
|
||
(Needs_BIP_Alloc_Form): New utility function.
|
||
* sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
|
||
a BIP_Alloc_Form formal with call to new utility function
|
||
Needs_BIP_Alloc_Form.
|
||
|
||
2011-09-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-part.adb: Minor reformatting.
|
||
|
||
2011-09-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Create_Mapping_File.Process): Encode the upper
|
||
half character in the unit name.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code and comment reformatting.
|
||
|
||
2011-09-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
|
||
for Is_Limited_Type and Is_Tagged_Type in condition checking
|
||
for by-reference type.
|
||
* inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
|
||
subprograms may have a completion because of a previous
|
||
Inline_Always clause, but the enclosing package must be marked
|
||
inlined for the subprogram body to become visible to the backend.
|
||
|
||
2011-09-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_aux.adb, exp_ch4.adb: Minor reformatting
|
||
|
||
2011-09-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
|
||
|
||
2011-09-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
|
||
the formals of a subprogram stub that acts as a spec.
|
||
|
||
2011-09-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
|
||
type, declare a renaming for it, not an object declaration.
|
||
|
||
2011-09-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
|
||
Ignore_Errors to ignore failures to read ALI files when True.
|
||
|
||
2011-09-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
|
||
constructor calls associated with non-tagged record types.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-socthi-vms.adb: Minor reformatting.
|
||
|
||
2011-09-01 Nicolas Roche <roche@adacore.com>
|
||
|
||
* sysdep.c: Don't use macro functions for stdio functions on VxWorks
|
||
in order to avoid impact of imcompatible changes.
|
||
* cstreams.c: Likewise
|
||
* cio.c: Likewise
|
||
* aux-io.c: Likewise
|
||
|
||
2011-09-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-writ.adb (Write_With_Lines): Always output complete information
|
||
on "with" line in Alfa mode, as this is required by formal verification
|
||
back-end.
|
||
|
||
2011-09-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* g-socthi-vms.adb: Add comments.
|
||
|
||
2011-09-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads: Minor reformatting.
|
||
|
||
2011-09-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
|
||
exceptions in the config pragmas file.
|
||
|
||
2011-09-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Insertion_List): New routine.
|
||
(Process_Transient_Objects): Add code to handle the abnormal
|
||
finalization of a controlled transient associated with a subprogram
|
||
call. Since transients are cleaned up right after the associated
|
||
context, an exception raised during a subprogram call may bypass the
|
||
finalization code.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
|
||
aliased.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb, a-exexda.adb: Minor reformatting.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2011-09-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
|
||
GNATRTL_NONTASKING_OBJS.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads (Is_Aliased): Fix existing documentation and add note on
|
||
possibility of this flag being set for formals in Ada 2012 mode.
|
||
* par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
|
||
2012.
|
||
* sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
|
||
mode.
|
||
* sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
|
||
Ada 2012.
|
||
* sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
|
||
Ada 2012.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
|
||
insertion node in a tree of nested Expression_With_Actions nodes.
|
||
(Process_Transient_Object): In the case where a complex if statement
|
||
has been converted into nested Expression_With_Actions nodes, the
|
||
"hook" object and the associated access type must be inserted before
|
||
the top most Expression_With_Actions.
|
||
|
||
2011-09-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
|
||
a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
|
||
|
||
2011-09-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
|
||
|
||
2011-09-01 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
|
||
aspect.
|
||
* aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
|
||
in a similar way as we do for the Priority or Dispatching_Domain aspect.
|
||
* s-mudido-affinity.adb (Dispatching_Domain_Tasks,
|
||
Dispatching_Domains_Frozen): Move this local data to package
|
||
System.Tasking because with the CPU aspect we need to have access
|
||
to this data when creating the task in System.Tasking.Stages.Create_Task
|
||
* s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
|
||
Move these variables from the body of
|
||
System.Multiprocessors.Dispatching_Domains because with the CPU aspect
|
||
we need to have access to this data when creating the task in
|
||
System.Tasking.Stages.Create_Task.
|
||
* s-taskin.adb (Initialize): Signal the allocation of the environment
|
||
task to a CPU, if any, so that we know whether the CPU can be
|
||
transferred to a different dispatching domain.
|
||
* s-tassta.adb (Create_Task): Check whether the CPU to which this task
|
||
is being allocated belongs to the dispatching domain where the task
|
||
lives. Signal the allocation of the task to a CPU, if any, so that we
|
||
know whether the CPU can be transferred to a different dispatching
|
||
domain.
|
||
|
||
2011-09-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
|
||
attributes Same_Storage and Overlaps_Storage.
|
||
|
||
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
|
||
s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
|
||
to any dispatching domain.
|
||
|
||
2011-08-31 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-31 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
|
||
on nodes for which it is not defined.
|
||
(Is_Non_Overriding_Operation): Exit the loop when we find a generic
|
||
parent type.
|
||
|
||
2011-08-31 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Full_View): Disable legality check if
|
||
In_Instance, to avoid spurious errors.
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
|
||
if In_Instance, to avoid spurious errors.
|
||
|
||
2011-08-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-direct.adb: Use Dir_Seps everywhere to properly handle all
|
||
directory speparators.
|
||
(Compose): Use Dir_Seps to handle both forms.
|
||
(Create_Path): Use Dir_Seps instead of explicit check, no semantic
|
||
changes.
|
||
(Extension): Use Dir_Seps to handle both forms.
|
||
|
||
2011-08-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-conf.adb: Minor reformatting.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
|
||
dispatching domain aspect.
|
||
* aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
|
||
aspect.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
|
||
Dispatching_Domain aspect in a similar way as we do for the Priority
|
||
aspect.
|
||
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
|
||
Dispatching_Domain component if a Dispatching_Domain pragma or aspect
|
||
is present.
|
||
(Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
|
||
* par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
|
||
* sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
|
||
Dispatching_Domain and add it to the task definition.
|
||
(Sig_Flags): Add Pragma_Dispatching_Domain.
|
||
* rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
|
||
support to find the types Dispatching_Domain and
|
||
Dispatching_Domain_Access.
|
||
* sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
|
||
Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
|
||
query the availability of a pragma Dispatching_Domain.
|
||
* snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
|
||
the expander to pass the Dispatching_Domain when creating a task.
|
||
(Name_Dispatching_Domain): Add this new name for a pragma.
|
||
(Pragma_Id): Add the new Pragma_Dispatching_Domain.
|
||
* s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
|
||
task has been allocated at creation time.
|
||
* s-tarest.adb (Create_Restricted_Task): The dispatching domain using
|
||
Ravenscar is always null.
|
||
* s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
|
||
the task has been allocated at creation time.
|
||
* s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
|
||
a specific dispatching domain.
|
||
* s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
|
||
s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
|
||
and CPU are specified for the task, and the CPU value is not contained
|
||
within the range of processors for the domain.
|
||
|
||
2011-08-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Original_Gcc) : New constant String_Access.
|
||
(Gnatmake): For VM targets, do not use VM version of the compiler if
|
||
--GCC= has been specified.
|
||
|
||
2011-08-31 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch5.adb: Minor reformatting.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
|
||
not reanalyze it.
|
||
|
||
2011-08-31 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
|
||
the access type is private; we don't care about privacy in expansion.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
|
||
subcomponents tnat may be limited, because they originate in view
|
||
conflicts. If the original aggregate is legal and the actuals are
|
||
legal, the aggregate itself is legal.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
|
||
status.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Set kind of loop parameter properly, to preserve all
|
||
errors in B tests.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
|
||
Interrupt_Priority aspects, force the analysis of the aspect expression
|
||
(when building the equivalent pragma). Otherwise, its analysis is done
|
||
too late, after the task or protected object has been created.
|
||
* sem_ch9.adb (Analyze_Single_Protected_Declaration,
|
||
Analyze_Single_Task_Declaration): Remove the code to move the aspects
|
||
to the object declaration because they are needed in the type
|
||
declaration.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
|
||
a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
|
||
reformatting.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Find_Protection_Type): Do not look for fields _object
|
||
if the corresponding type is malformed due to restriction violations.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-ransee.ads, s-ransee.adb: Minor reformatting.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
|
||
would cause the generation of Set_Finalize_Address if the target is a
|
||
VM and the designated type is not derived from [Limited_]Controlled.
|
||
|
||
2011-08-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
|
||
subprogram.
|
||
(Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
|
||
case of a compilation error.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* init.c (__gnat_error_handler): Standardize the stack overflow or
|
||
erroneous memory access message.
|
||
* seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
|
||
or erroneous memory access message.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
* sem_ch6.adb: Minor code reorganization (use Ekind_In).
|
||
|
||
2011-08-31 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.ads: Minor documentation clarification.
|
||
* put_scos.adb: Do not generate SCO unit header line for a unit that
|
||
has no SCO lines.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
|
||
|
||
2011-08-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
|
||
hold variables between these following subprograms.
|
||
(Build_Exception_Handler, Build_Object_Declarations,
|
||
Build_Raise_Statement): Use the above type as parameter.
|
||
Make the above adjustments.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Adjust.
|
||
|
||
2011-08-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Minor reformatting.
|
||
|
||
2011-08-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
|
||
* s-rannum.adb (Reset): Use Get_Seed from s-ransee.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb: Minor code cleanup.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
|
||
prevent cascaded errors.
|
||
(Analyze_Loop_Statement): In semantics-only mode, introduce loop
|
||
variable of an iterator specification in current scope.
|
||
* sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
|
||
postconditions on the stack, as they contain no return statements.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
|
||
Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
|
||
call Qualify_Entity_Names.
|
||
(Expand_Alfa): call Qualify_Entity_Names in more cases
|
||
* lib-xref-alfa.adb: Take into account system package.
|
||
* sem_prag.adb Take into account restrictions in Alfa mode, contrary to
|
||
CodePeer mode in which we are interested in finding bugs even if
|
||
compiler cannot compile source.
|
||
* sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
|
||
deferred constant.
|
||
|
||
2011-08-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
|
||
denoted by the subtype mark to ensure getting the concurrent type in
|
||
the case where the subtype mark denotes a private subtype of a
|
||
concurrent type (needed when using -gnatc).
|
||
(Process_Subtype): For the processing specific to type kinds, case on
|
||
the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
|
||
subtype denotes a private subtype whose base type is nonprivate (needed
|
||
for subtypes of private fulfilled by task types when compiling with
|
||
-gnatc).
|
||
|
||
2011-08-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
|
||
late primitives that override interface operations when the full
|
||
expander is not active, to avoid blowups in Register_Primitive when
|
||
types don't have associated secondary dispatch tables.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa_test.adb: Code clean up.
|
||
|
||
2011-08-31 Marc Sango <sango@adacore.com>
|
||
|
||
* restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
|
||
by Comes_From_Source (Original_Node (N)) in order to treat also the
|
||
nodes which have been rewritten.
|
||
* sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
|
||
explicit dereference and slice violation in spark mode on the nodes
|
||
coming only from the source code.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
|
||
lib-xref-alfa.adb: Minor reformatting.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
|
||
|
||
2011-08-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
|
||
only for class-wide subprograms conflicting with entities of concurrent
|
||
tagged types.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
|
||
node to null value.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
|
||
general description of the routine.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
|
||
doubly-linked lists.
|
||
|
||
2011-08-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
|
||
check is needed for a left-hand side that is a dereference, and the
|
||
base type is private without discriminants (whereas the full type does
|
||
have discriminants), an extra retrieval of the underlying type may be
|
||
needed in the case where the subtype is a record subtype whose base
|
||
type is private. Update comments.
|
||
|
||
2011-08-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
|
||
found check if there is a class-wide subprogram covering the primitive.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb: Further cases where full expansion test is needed,
|
||
rather than expansion test.
|
||
|
||
2011-08-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb: Handle iterators over derived container types.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
|
||
(Has_Anonymous_Master): New routine.
|
||
(Set_Has_Anonymous_Master): New routine.
|
||
(Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
|
||
* exp_ch4.adb: Add with and use clause for Sem_Ch8.
|
||
(Current_Anonymous_Master): New routine.
|
||
(Current_Unit_First_Declaration): Removed.
|
||
(Current_Unit_Scope): Removed.
|
||
(Expand_N_Allocator): Anonymous access-to-controlled types now chain
|
||
their objects on a per-unit heterogeneous finalization master.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
|
||
array.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
|
||
when not needed.
|
||
|
||
2011-08-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_disp.adb (Propagate_Tag): Return without propagating in the case
|
||
where the actual is an unexpanded call to 'Input.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch4.adb: Code clean up.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
|
||
and TSS primitive Finalize_Address if finalization is suppressed.
|
||
(Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
|
||
primitive Finalize_Address if finalization is suppressed.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
|
||
s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
|
||
sure that the underlying task has already been created before trying
|
||
to change its affinity.
|
||
(Set_CPU): Use the term processor instead of CPU, as we do in
|
||
Assign_Task.
|
||
|
||
2011-08-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: New Compiler attribute Source_File_Switches.
|
||
* prj-nmsc.adb (Process_Compiler): Process attribute
|
||
Source_File_Switches.
|
||
* prj.ads (Language_Config): New name list component
|
||
Name_Source_File_Switches.
|
||
* snames.ads-tmpl (Name_Source_File_Switches): New standard name.
|
||
|
||
2011-08-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
|
||
discriminated component of an actual, expand at once to prevent
|
||
ouf-of-order references with generated subtypes.
|
||
|
||
2011-08-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
|
||
reference to operator in Alfa xrefs.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
|
||
where the parent instance was frozen before the current instance due to
|
||
the presence of a source body. Update calls to Insert_After_Last_Decl.
|
||
(Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
|
||
Update the comment which illustrates the purpose of the routine.
|
||
Package instances are now frozen by source bodies which appear after
|
||
the instance. This ensures that entities coming from within the
|
||
instance are available for use in the said bodies.
|
||
(Install_Body): Add code to handle the case where the parent instance
|
||
was frozen before the current instance due to the presence of a source
|
||
body. Update calls to Insert_After_Last_Decl.
|
||
|
||
2011-08-31 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* 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.
|
||
* alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
|
||
errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
|
||
freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
|
||
lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
|
||
opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
|
||
sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
|
||
sem_prag.adb, sem_res.adb, sem_util.adb: 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.
|
||
|
||
2011-08-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
|
||
s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
|
||
sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
|
||
s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
|
||
s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
|
||
s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12 (Check_Private_View): Revert previous change.
|
||
* sem_res.adb (Conversion_Check): Do not emit the error message if the
|
||
conversion is in a generic instance.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
|
||
* a-chtgbo.adb (Free): Allow 0 as index value.
|
||
|
||
2011-08-31 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cborma.adb (Insert): Add comment to explain why no element
|
||
assignment.
|
||
|
||
2011-08-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
|
||
spec discriminant is already a concurrent type, in which case just use
|
||
it, otherwise fetch the Corresponding_Concurrent_Type as before.
|
||
|
||
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
|
||
system-linux-mips.ads, system-linux-mipsel.ads,
|
||
system-linux-mips64el.ads, system-linux-ppc64.ads,
|
||
system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
|
||
|
||
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
|
||
* gcc-interface/utils2.c (build_binary_op): Tighten condition.
|
||
(build_unary_op): Likewise.
|
||
|
||
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* raise-gcc.c: Do not include coretypes.h and tm.h.
|
||
(setup_to_install): Remove test for compiler macro.
|
||
* targext.c: Document use for the library.
|
||
* gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
|
||
|
||
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
|
||
the expression to the nominal type if the latter is a record type with
|
||
a variant part and the type of the former is a record type without one.
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
|
||
expansion in Alfa mode.
|
||
* exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
|
||
* exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
|
||
Alfa mode.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Update Comment.
|
||
* sem_res.adb: Ditto.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.ads: Minor documentation adjustment.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
|
||
exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
|
||
exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
|
||
gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
|
||
Revert change which introduced files for "light"
|
||
expansion, to be replaced by a single file for Alfa expansion.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
|
||
Minor code reorg/reformatting.
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* opt.adb, opt.ads (Full_Expander_Active): New function defines a
|
||
common shorthand for (Expander_Active and not ALFA_Mode) that can be
|
||
used for testing full expansion, that is active expansion not in the
|
||
reduced mode for Alfa
|
||
* exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
|
||
sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
|
||
of the verbose (Expander_Active and not ALFA_Mode)
|
||
|
||
2011-08-30 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
|
||
s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
|
||
s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
|
||
Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
|
||
|
||
2011-08-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
|
||
access conversions to check that the conversion is a rewritten node,
|
||
rather than just having Comes_From_Source set to False, which wasn't
|
||
sufficient.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
|
||
g-socket.ads: Minor reformatting.
|
||
|
||
2011-08-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2011-08-30 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
|
||
to be compliant with the ABI.
|
||
|
||
2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Private_View): Exchange the private and full view
|
||
of a designated type when the related access type is an actual in an
|
||
instance. This ensures that the full view of designated type is
|
||
available when inside the body of the instance.
|
||
|
||
2011-08-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
|
||
in a position to be modified, a slice is treated like an indexed
|
||
component.
|
||
|
||
2011-08-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
|
||
field tv_sec in struct timeval.
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
|
||
blocks of code doing full expansion, previously only guarded by
|
||
Expander_Active, by anding the test that ALFA_Mode is not set
|
||
|
||
2011-08-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
|
||
add the function to the list of private dependents, for subsequent
|
||
legality check on Taft amendment types.
|
||
* sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
|
||
Private_Dependents, as for other incomplete types.
|
||
* sem_util.adb (Wrong_Type): Avoid cascaded errors when a
|
||
Taft-amendment type is used as the return type of a function.
|
||
|
||
2011-08-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
|
||
which emits an error by a call to a new routine which report the error.
|
||
* exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
|
||
entity does not cover an existing interface.
|
||
* errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
|
||
code.
|
||
* sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
|
||
protected procedures or entries whose mode is not conformant.
|
||
(Check_Synchronized_Overriding): Code cleanup: replace code which emits
|
||
an error by a call to a new routine which report the error.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor change.
|
||
* exp_attr_light.adb: Minor reformatting.
|
||
|
||
2011-08-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Patch inheritance of aspects in
|
||
Complete_Private_Subtype, to avoid infinite loop.
|
||
|
||
2011-08-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
|
||
been reported and a subprogram covering an interface primitive is not
|
||
found then skip generating the internal entity. Done to avoid crashing
|
||
the frontend.
|
||
(Check_Abstract_Overriding): Change text of error of wrong formal of
|
||
protected subprogram or entry. Done for consistency to emit exactly the
|
||
same error reported by Check_Synchronized_Overriding. In addition, the
|
||
error is restricted to protected types (bug found working on AI05-0090)
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
|
||
expansion in Alfa mode.
|
||
* exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
|
||
* exp_light.adb, exp_light.ads: New package defining light expansion.
|
||
* expander.adb (Expand): Call light expansion in Alfa mode
|
||
* exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
|
||
constructs.
|
||
* exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
|
||
constructs.
|
||
* exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
|
||
* gnat1drv.adb (Adjust_Global_Switches): Comment
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Minor refactoring.
|
||
|
||
2011-08-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
|
||
mode.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
|
||
expansion in Alfa mode.
|
||
* sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
|
||
mode.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug_a.adb: Update comment.
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
|
||
sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
|
||
exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
|
||
sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
|
||
|
||
2011-08-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
|
||
volatile.
|
||
|
||
2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
|
||
Build_Finalization_Master by supplying an insertion node and enclosing
|
||
scope. In its old version, the call did not generate a finalization
|
||
master.
|
||
(Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
|
||
recognize anonymous access-to-controlled components. Rewrite the
|
||
machinery which creates finalization masters to service anonymous
|
||
access-to-controlled components of a record type. In its current state,
|
||
only one heterogeneous master is necessary to handle multiple anonymous
|
||
components.
|
||
(Freeze_Type): Comment reformatting.
|
||
* rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
|
||
RE_Unit_Table.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
|
||
associates TSS primitive Finalize_Address with either the master itself
|
||
or with the internal hash table depending on the mode of operation of
|
||
the master.
|
||
|
||
2011-08-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
|
||
interface type then do not generate code to compare this component.
|
||
Required since they have no components and their equality operator is
|
||
abstract.
|
||
|
||
2011-08-30 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.ads (Deepest_Type_Access_Level): New function; for the type
|
||
of a saooaaat (i.e, a stand-alone object of an anonymous access type),
|
||
returns the (static) accessibility level of the object. Otherwise, the
|
||
same as Type_Access_Level.
|
||
(Dynamic_Accessibility_Level): New function; given an expression which
|
||
could occur as the rhs of an assignment to a saooaaat (i.e., an
|
||
expression of an access-to-object type), return the new value for the
|
||
saooaaat's associated Extra_Accessibility object.
|
||
(Effective_Extra_Accessibility): New function; same as
|
||
Einfo.Extra_Accessibility except that object renames are looked through.
|
||
* sem_util.adb
|
||
(Deepest_Type_Access_Level): New function; see sem_util.ads description.
|
||
(Dynamic_Accessibility_Level): New function; see sem_util.ads
|
||
description.
|
||
(Effective_Extra_Accessibility): New function; see sem_util.ads
|
||
description.
|
||
* einfo.ads (Is_Local_Anonymous_Access): Update comments.
|
||
(Extra_Accessibility): Update comments.
|
||
(Init_Object_Size_Align): New procedure; same as Init_Size_Align
|
||
except RM_Size field (which is only for types) is unaffected.
|
||
* einfo.adb
|
||
(Extra_Accessibility): Expand domain to allow objects, not just formals.
|
||
(Set_Extra_Accessibility): Expand domain to allow objects, not just
|
||
formals.
|
||
(Init_Size): Add assertion that we are not trashing the
|
||
Extra_Accessibility attribute of an object.
|
||
(Init_Size_Align): Add assertion that we are not trashing the
|
||
Extra_Accessibility attribute of an object.
|
||
(Init_Object_Size_Align): New procedure; see einfo.ads description.
|
||
* sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
|
||
differently for the type of a (non-library-level) saooaaat depending
|
||
whether Ada_Version < Ada_2012. This is the only point where Ada_Version
|
||
is queried in this set of changes - everything else (in particular,
|
||
setting of the Extra_Accessibility attribute in exp_ch3.adb) is
|
||
driven off of the setting of the Is_Local_Anonymous_Access attribute.
|
||
The special treatment of library-level saooaaats is an optimization,
|
||
not required for correctnesss. This is based on the observation that the
|
||
Ada2012 rules (static and dynamic) for saooaaats turn out to be
|
||
equivalent to the Ada2005 rules in the case of a library-level saooaaat.
|
||
* exp_ch3.adb
|
||
(Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
|
||
false for the type of a saooaaat, declare and initialize its
|
||
accessibility level object and set the Extra_Accessibility attribute
|
||
of the saooaaat to refer to this object.
|
||
* checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
|
||
* exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
|
||
calls to Effective_Extra_Accessibility in order to support
|
||
renames of saooaaats.
|
||
(Expand_N_Type_Conversion): Add new local function,
|
||
Has_Extra_Accessibility, and call it when determining whether an
|
||
accessibility check is needed.
|
||
It returns True iff Present (Effective_Extra_Accessibility (Id)) would
|
||
evaluate to True (without raising an exception).
|
||
* exp_ch5.adb
|
||
(Expand_N_Assignment_Statement): When assigning to an Ada2012
|
||
saooaaat, update its associated Extra_Accessibility object (if
|
||
it has one). This includes an accessibility check.
|
||
* exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
|
||
a saooaaat, update its Extra_Accessibility object too (if it
|
||
has one).
|
||
(Expand_Call): Replace a couple of calls to Type_Access_Level
|
||
with calls to Dynamic_Access_Level to handle cases where
|
||
passing a literal (any literal) is incorrect.
|
||
* sem_attr.adb (Resolve_Attribute): Handle the static accessibility
|
||
checks associated with "Saooaat := Some_Object'Access;"; this must
|
||
be rejected if Some_Object is declared in a more nested scope
|
||
than Saooaat.
|
||
* sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
|
||
assignment to a saooaaat even if Is_Local_Anonymous_Access
|
||
returns False for its type (indicating a 2012-style saooaaat).
|
||
* sem_ch8.adb
|
||
(Analyze_Object_Renaming): Replace a call to Init_Size_Align
|
||
(which is only appropriate for objects, not types) with a call
|
||
of Init_Object_Size_Align in order to avoid trashing the
|
||
Extra_Accessibility attribute of a rename (the two attributes
|
||
share storage).
|
||
* sem_res.adb
|
||
(Valid_Conversion) Replace six calls to Type_Access_Level with
|
||
calls to Deepest_Type_Access_Level. This is a bit tricky. For an
|
||
Ada2012 non-library-level saooaaat, the former returns library level
|
||
while the latter returns the (static) accessibility level of the
|
||
saooaaat. A type conversion to the anonymous type of a saooaaat
|
||
can only occur as part of an assignment to the saooaaat, so we
|
||
know that such a conversion must be in a lhs context, so Deepest
|
||
yields the result that we need. If such a conversion could occur,
|
||
say, as the operand of an equality operator, then this might not
|
||
be right. Also add a test so that static accessibilty checks are
|
||
performed for converting to a saooaaat's type even if
|
||
Is_Local_Anonymous_Access yields False for the type.
|
||
|
||
2011-08-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Operation): Complete condition that
|
||
controls generation of a warning associated with late declaration of
|
||
dispatching functions. Required to avoid generating spurious
|
||
warnings.
|
||
|
||
2011-08-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
|
||
return object has an anonymous access type and the function's type is
|
||
a named access type.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
|
||
conversions on implicit conversions, since such conversions can occur
|
||
for anonymous access cases due to expansion. Issue error for attempt
|
||
to rename an anonymous expression as an object of a named access type.
|
||
* sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
|
||
to indicate whether this function should report errors on invalid
|
||
conversions.
|
||
* sem_res.adb (Resolve): For Ada 2012, in the case where the type of
|
||
the expression is of an anonymous access type and the expected type is
|
||
a named general access type, rewrite the expression as a type
|
||
conversion, unless this is an expression of a membership test.
|
||
(Valid_Conversion.Error_Msg_N): New procedure that conditions the
|
||
calling of Error_Msg_N on new formal Report_Errs.
|
||
(Valid_Conversion.Error_Msg_NE): New procedure that conditions the
|
||
calling of Error_Msg_NE on new formal Report_Errs.
|
||
(Valid_Conversion): Move declaration of this function to the package
|
||
spec, to allow calls from membership test processing. For Ada 2012,
|
||
enforce legality restrictions on implicit conversions of anonymous
|
||
access values to general access types, disallowing such conversions in
|
||
cases where the expression has a dynamic accessibility level (access
|
||
parameters, stand-alone anonymous access objects, or a component of a
|
||
dereference of one of the first two cases).
|
||
* sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
|
||
in the context of a named general access expected type.
|
||
* exp_ch4.adb Add with and use of Exp_Ch2.
|
||
(Expand_N_In): Add processing for membership tests applied to
|
||
expressions of an anonymous access type. First, Valid_Conversion is
|
||
called to check whether the test is statically False, and then the
|
||
conversion is expanded to test that the expression's accessibility
|
||
level is no deeper than that of the tested type. In the case of
|
||
anonymous access-to-tagged types, a tagged membership test is applied
|
||
as well.
|
||
(Tagged_Membership): Extend to handle access type cases, applying the
|
||
test to the designated types.
|
||
* exp_ch6.adb (Expand_Call): When creating an extra actual for an
|
||
accessibility level, and the actual is a 'Access applied to a current
|
||
instance, pass the accessibility level of the type of the current
|
||
instance rather than applying Object_Access_Level to the prefix. Add a
|
||
??? comment, since this level isn't quite right either (will eventually
|
||
need to pass an implicit level parameter to init procs).
|
||
|
||
2011-08-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.ads: Minor comment fix.
|
||
|
||
2011-08-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Check_Parameterless_Call): If the node is a selected
|
||
component and the selector is a dispatching operation, check if it is
|
||
a prefixed call before rewriting as a parameterless function call.
|
||
|
||
2011-08-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
|
||
tsystem.h into $(RTSDIR) instead of rts.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
|
||
reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.ads (Name_Of_Heap_Variable): New constant name.
|
||
* lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
|
||
table to hold dereferences.
|
||
(Add_ALFA_Xrefs): Take into account dereferences as special
|
||
reads/writes to the variable "HEAP".
|
||
(Enclosing_Subprogram_Or_Package): Move subprogram here.
|
||
(Generate_Dereference): New procedure to store a read/write dereferencew
|
||
in the table Drefs.
|
||
* put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
|
||
the special "HEAP" var.
|
||
* sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
|
||
in ALFA mode.
|
||
* sem_util.adb (Note_Possible_Modification): Store write dereference
|
||
in ALFA mode.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Freeze_Type): Generate an accessibility check which
|
||
ensures that the level of the subpool access type is not deeper than
|
||
that of the pool object.
|
||
* sem_util.adb (Object_Access_Level): Expand to handle defining
|
||
identifiers.
|
||
* sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
|
||
subpool handle name of a rewritten allocator.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
|
||
values, we generate multiple triples of parameters in the TypeCode.
|
||
Bump Choice_Index for each such triple so that a subsequent default
|
||
choice is associated with the correct index in the typecode.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cdlili.adb (Iterate): Initialize properly an iterator over a null
|
||
container.
|
||
(First, Last): Handle properly an iterator over a null container.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
|
||
processing if we run across a node with no Scope. This can happen if
|
||
we're with-ing an library-level instance, and that instance got errors
|
||
that caused "instantiation abandoned".
|
||
* sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
|
||
an exception instead of using Assert, so it won't go into an infinite
|
||
loop, even when assertions are turned off.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coorse.adb: Proper handling of empty ordered sets.
|
||
|
||
2011-08-29 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Add comments.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-except.adb, a-except-2005.adb: Minor comment rewording and
|
||
reformatting.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Remove insertion of
|
||
declaration for Itypes in Alfa mode.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
|
||
a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
|
||
a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
|
||
reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
|
||
package spec.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
|
||
* a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
|
||
while raising PE.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbhama.adb, a-cbhama.ads: Minor reformatting.
|
||
|
||
2011-08-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
|
||
renamings of formal subprograms when the actual for a formal type is
|
||
class-wide.
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
|
||
to Target.
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
|
||
components of record type.
|
||
* a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
|
||
to Target.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
|
||
a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
|
||
container packages.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
|
||
reformatting.
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
|
||
components of record type.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
|
||
by the termination handler.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
|
||
created in Alfa mode, instead of inserting artificial declarations of
|
||
non-Itypes in the tree.
|
||
* sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
|
||
know if an Itype has a corresponding declaration, as defined in
|
||
itypes.ads.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb: Minor rewrite.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasuti.adb (Make_Passive): Work around race condition in
|
||
Make_Independent, which can cause Wait_Count to be zero. So instead of
|
||
asserting that Wait_Count > 0, and then decrementing it, decrement it
|
||
only if Wait_Count > 0.
|
||
* s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
|
||
should be nonnegative, so declare them Natural instead of Integer.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
|
||
sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
|
||
a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
|
||
a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
|
||
exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
|
||
|
||
2011-08-29 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-parint.ads: Minor comment clarification.
|
||
|
||
2011-08-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb (Initialize): Make sure that new reserved words after Ada 95
|
||
may be used as identifiers.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coinho.ads: Minor reformating.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
|
||
container of a derived type.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
|
||
a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
|
||
|
||
2011-08-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* exp_disp.adb: Minor comment fix.
|
||
(Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
|
||
to avoid warnings when compiling with -Wall.
|
||
(Make_Disp_Conditional_Select_Body): Likewise.
|
||
(Make_Disp_Timed_Select_Body): Likewise.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
|
||
an entity name, generate reference for it.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
|
||
iterator form.
|
||
* sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
|
||
the class-wide type.
|
||
* sem_ch5.adb: Move some rewriting to the expander, where it belongs.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Check_Constrained_Object): Do not create an actual
|
||
subtype for an object whose type is an unconstrained union.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
|
||
is allowed in a component definition, by AI95-406.
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-except-2005.adb: Alphabetize all routines.
|
||
(Triggered_By_Abort): New routine.
|
||
* a-except-2005.ads (Triggered_By_Abort): New routine.
|
||
* a-except.adb Alphabetize all routines.
|
||
(Triggered_By_Abort): New routine.
|
||
* a-except.ads (Triggered_By_Abort): New routine.
|
||
* exp_ch7.adb: Update all comments involving the detection of aborts in
|
||
finalization code.
|
||
(Build_Object_Declarations): Do not generate code to detect the
|
||
presence of an abort at the start of finalization code, use a runtime
|
||
routine istead.
|
||
* rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
|
||
RE_Unit_Table.
|
||
* sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
|
||
allocate a task on a subpool.
|
||
* s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
|
||
The flag disables all actions related to the maintenance of
|
||
Finalize_Address_Table when subpools are not in use.
|
||
(Allocate_Any_Controlled): Signal the machinery that subpools are in
|
||
use.
|
||
(Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
|
||
performs costly task locking when subpools are not in use.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
|
||
types and dispatching calls in Alfa mode.
|
||
* lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
|
||
correspondance between body and spec scopes, to reuse utility functions
|
||
(Traverse_Declarations_Or_Statements): Protect access to body for stub
|
||
by testing the presence of the library unit for the body
|
||
* sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
|
||
mode the expansion of accept statements is skipped
|
||
* sem_util.adb, sem_util.ads (Unique_Entity): New function returning
|
||
the unique entity corresponding to the one returned by
|
||
Unique_Defining_Entity applied to the enclosing declaration of the
|
||
argument.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
|
||
gdb when x is not a node (it can be a node list, name_id, etc). pp is
|
||
an alias for pn. ppp is an alias for pt.
|
||
|
||
2011-08-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
|
||
aggregate to take a consistent decision on the need to convert into
|
||
assignments aggregates that initialize constant objects.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Add a call to
|
||
Build_Allocate_Deallocate_Proc in order to handle allocation of
|
||
non-controlled objects on subpools.
|
||
* impunit.adb: Remove s-finmas and s-spsufi since they were never meant
|
||
to be end-user visible.
|
||
* s-finmas.adb: Add with and use clause for System.HTable.
|
||
Add an instantiation of Simple_HTable which provides a mapping between
|
||
the address of a controlled object and the corresponding
|
||
Finalize_Address used to clean up the object. The table is used when a
|
||
master is operating in heterogeneous mode.
|
||
(Attach): Explain why the input node is not verified on being already
|
||
attached.
|
||
(Delete_Finalize_Address): New routine.
|
||
(Detach): Add pragma Assert which ensures that a node is already
|
||
attached.
|
||
(Finalize): Add local variable Cleanup. Rewrite the iteration scheme
|
||
since nodes are no longer removed on traversal. Explain why node
|
||
detachment is undesirable in this case.
|
||
(Get_Finalize_Address): New routine.
|
||
(Hash): New routine.
|
||
(Is_Empty_List): Removed.
|
||
(pm): Renamed to Print_Master. Add output for discriminant
|
||
Is_Homogeneous.
|
||
Comment reformatting.
|
||
(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
|
||
* s-finmas.ads: Various comments additions / improvements.
|
||
Type Finalization_Master has a discriminant which determines the mode of
|
||
operation.
|
||
(Delete_Finalize_Address): New routine.
|
||
(Get_Finalize_Address): New routine.
|
||
(pm): Renamed to Print_Master.
|
||
(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
|
||
* s-stposu.adb: Add with clause for System.Address_Image; Add with and
|
||
use clause for System.IO.
|
||
(Allocate_Any_Controlled): Add machinery to set TSS primitive
|
||
Finalize_Address depending on the mode of allocation and the mode of
|
||
the master.
|
||
(Deallocate_Any_Controlled): Remove the relation pair object -
|
||
Finalize_Address regardless of the master mode. Add comment explaining
|
||
the reason.
|
||
(Detach): Ensure that fields Prev and Next are null after detachment.
|
||
(Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
|
||
scheme to check whether the list of subpools is empty. There is no
|
||
longer need to store the next subpool or advance the current pointer.
|
||
(Is_Empty_List): New routine.
|
||
(Print_Pool): New routine.
|
||
(Print_Subpool): New routine.
|
||
* s-stposu.ads: Various comments additions / improvements.
|
||
Field Master of type Root_Subpool is now a heterogeneous collection.
|
||
(Print_Pool): New routine.
|
||
(Print_Subpool): New routine.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
|
||
forms, using aspects of container types.
|
||
* sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
|
||
Has_Implicit_Dereference flags, that may be set on the partial view.
|
||
* sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
|
||
container type with an indexing aspect.
|
||
(Analyze_Quantified_Expression): Analyze construct with expansion
|
||
disabled, because it will be rewritten as a loop during expansion.
|
||
(Try_Container_Indexing): The prefix itself may be a container type
|
||
with an indexing aspect, as with a vector of vectors.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
|
||
the original doamin of iteration, for name capture.
|
||
(Analyze_Iterator_Specification): If the domain is an expression that
|
||
needs finalization, create a separate declaration for it.
|
||
For an iterator with "of" retrieve default iterator info from aspect of
|
||
container type. For "in" iterator, retrieve type of Iterate function.
|
||
* sem_ch13.adb (Check_Iterator_Function): Fix typo.
|
||
(Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
|
||
analysis, to prevent spurious errors about late attributes.
|
||
* sprint.adb: Handle quantified expression with either loop or iterator
|
||
specification.
|
||
* a-convec.ads, a-convec.adb: Iterate function returns a reversible
|
||
iterator.
|
||
|
||
2011-08-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
|
||
Binder or Linker of the main project file.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
|
||
unit.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch9.adb: Partial revert of previous change for Alfa mode
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch11.adb: Minor expansion of comment.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
|
||
interpretation, set the type before resolving the operands, because
|
||
legality checks on an exponention operand need to know the type of the
|
||
context.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
|
||
cleanups on a master if the instance is within a generic unit.
|
||
Complement to the corresponding fix to inline.adb for K520-030.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
|
||
occurrence.
|
||
* exp_intr.adb: Minor comment fix.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
|
||
Delay_Required was used as an uninitialized variable.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
|
||
sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
|
||
a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
|
||
Remove unused variables.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch13.adb: Adjust previous change.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
|
||
exp_ch4.adb, sem_ch8.adb: Minor code reorganization
|
||
Minor reformatting.
|
||
|
||
2011-08-29 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
|
||
initialize aggregated projects.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
|
||
depth of candidates to resolve a potentially spurious ambiguity between
|
||
two visible subprograms.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
|
||
Requires/Ensures.
|
||
* sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
|
||
Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
|
||
Requires/Ensures.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
|
||
Add comment.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2011-08-29 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
|
||
mode.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set
|
||
Use_Expressions_With_Actions to False in ALFA mode.
|
||
* sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
|
||
ALFA mode.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
|
||
* rtsfind.ads (RTU_Id): Replaces System_Exceptions by
|
||
System_Exceptions_Debug
|
||
(RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
|
||
* a-except.adb: With and use System.Exceptions_Debug instead of
|
||
System.Exceptions.
|
||
* a-except-2005.adb: Likewise.
|
||
* s-assert.adb: Likewise.
|
||
* s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
|
||
* Makefile.rtl: Add s-excdeb. Adjust compilation rule.
|
||
* gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
|
||
s-excdeb. Update dependencies.
|
||
(GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
|
||
as these no longer need external libraries.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Op_Expon): Additional check to reject an
|
||
exponentiation operator on universal values in a context that requires
|
||
a fixed-point type.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
|
||
before calling notify_handled_exception.
|
||
* a-exextr.adb: Fix comment.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
|
||
Finalize_Address of the access type's finalization master.
|
||
(Expand_N_Allocator): Add code to set attribute Finalize_Address of the
|
||
access type's finalization master. Add a guard to prevent
|
||
Associated_Storage_Pool from being set on .NET/JVM.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
|
||
attribute Finalize_Address of the access type's finalization master.
|
||
* exp_ch7.adb (Make_Finalize_Address_Call): New routine.
|
||
* exp_ch7.ads (Make_Finalize_Address_Call): New routine.
|
||
* rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
|
||
RE_Unit_Table.
|
||
* s-finmas.adb: Add with clause for System.Address_Image. Add with and
|
||
use clause for System.IO
|
||
(Detach): Relax the assertion, to be reinstated later.
|
||
(Finalize): Rewrite the iteration loop to avoid pointer comparison.
|
||
Relax the assertion on Finalize_Address, to be reinstated later.
|
||
(Is_Empty_List): New routine.
|
||
(pm): New debug routine.
|
||
(Set_Finalize_Address): New routine.
|
||
* s-finmas.ads (pm): New debug routine.
|
||
(Set_Finalize_Address): New routine.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
|
||
Remove convention C.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
|
||
(Initialize_TCB): Remove Exc_Stack_Ptr initialization.
|
||
(Finalize_TCB): Remove its finalization.
|
||
(Initialize): Remove assignment of GET_Exc_Stack_Addr
|
||
* s-soflin.adb (NT_Exc_Stack): Remove
|
||
(Get_Exc_Stack_Addr_NT): Likewise.
|
||
(Get_Exc_Stack_Addr_Soft): Likewise.
|
||
* s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
|
||
(Get_Exc_Stack_Addr): Likewise.
|
||
(Get_Exc_Stack_Addr_Soft): Likewise
|
||
* s-taspri-vms.ads (Exc_Stack_T): Remove.
|
||
(Exc_Stack_Ptr_T): Likewise.
|
||
(Private_Data): Remove Exc_Stack_Ptr component.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (get_ip_from_context): New function. Factorize code.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
|
||
|
||
2011-08-29 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
|
||
L2_Norm, Swap_Column): New generic subprograms
|
||
* s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
|
||
L2_Norm, Swap_Column): Implement new subprograms in order to
|
||
eliminate dependency on BLAS and LAPACK libraries in
|
||
Ada.Numerics.Generic_Real_Arrays and eventually also the complex
|
||
version. Forward_Eliminate/Back_Substitute can be used to put a
|
||
matrix in row echelon or reduced row echelon form using partial
|
||
pivoting.
|
||
* a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
|
||
Swap_Column): Instantiate from System.Generic_Array_Operations.
|
||
("*", "abs"): Implement by instantiation from Generic_Array_Operations.
|
||
(Sqrt): Local function for simple computation of square root without
|
||
adding dependencies on Generic_Elementary_Functions.
|
||
(Swap): New subprogram to exchange floating point numbers.
|
||
(Inverse): Reimplement using Jordan-Gauss elimination.
|
||
(Jacobi): New procedure implementing Jacobi's method for computation
|
||
of eigensystems, based on Rutishauser's implementation.
|
||
(L2_Norm): Implement directly using the inner product.
|
||
(Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
|
||
decreasing eigenvalue as required by the Ada RM.
|
||
(Swap_Column): New helper procedure for Sort_Eigensystem.
|
||
Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
|
||
Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
|
||
Sort_Eigensystems.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* put_scos.adb (Put_SCOs): Do not emit a newline for an empty
|
||
statements line.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finmas.adb (Finalize): Check Finalize_Address of the master rather
|
||
than the current node.
|
||
* s-finmas.ads: Move field Finalize_Address from type FM_Node to
|
||
Finalization_Master. The list headers have two fields instead of three.
|
||
This should fix alignment issue but subpool allocations are now
|
||
unusable. Alphabetize subprograms.
|
||
* s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
|
||
the size of the header when converting the beginning of the object to
|
||
a FM_Node. Set the master's Finalize_Address attribute if not already
|
||
set.
|
||
(Deallocate_Any_Controlled): Use the offset rather than the size of the
|
||
header when converting the beginning of the object to a FM_Node.
|
||
|
||
2011-08-29 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
|
||
reraise when compiling for CodePeer.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
|
||
now needed by a-convec.adb. Fix warning.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
|
||
processing of TSS routine Finalize_Address when compiling in
|
||
CodePeer_Mode.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
|
||
sem_warn.adb: Minor reformatting.
|
||
|
||
2011-08-29 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Config_Switches): Also collect the list of
|
||
languages from aggregated projects.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
|
||
Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
|
||
Traverse_Package_Declaration, Traverse_Subprogram_Body,
|
||
Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
|
||
for stubs are traversed too when parameter is set
|
||
(Traverse_All_Compilation_Units): Traverse without going inside stubs
|
||
(Traverse_Declarations_Or_Statements): Do the special traversing for
|
||
stubs when required.
|
||
* sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
|
||
return subprogram or package body from stub.
|
||
(Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
|
||
stubs without prior subprogram decl.
|
||
|
||
2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
|
||
which accounts for size vs alignment issues and calculates the size of
|
||
the list header.
|
||
(Deallocate_Any_Controlled): Ditto.
|
||
(Nearest_Multiple_Rounded_Up): New routine.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr.adb (Propagate_Exception): Remove all the parameters as
|
||
they were unused.
|
||
* a-exexpr-gcc.adb (Propagate_Exception): Ditto.
|
||
* a-except-2005.adb (Propagate_Exception): Adjust spec.
|
||
(Raise_Current_Excep): Adjust call.
|
||
(Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_disp.adb: Minor reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr.adb (Setup_Exception): Removed.
|
||
* a-exexpr-gcc.adb (Setup_Exception): Removed.
|
||
* a-except.adb (Exception_Propagation): Removed.
|
||
* a-except-2005.adb (Setup_Exception): Removed.
|
||
(Reraise): Remove call to Setup_Exception.
|
||
(Reraise_Occurrence): Ditto.
|
||
(Reraise_Occurrence_Always): Ditto.
|
||
(Reraise_Occurrence_No_Defer): Ditto.
|
||
(Transfer_Occurrence): Ditto.
|
||
* a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
|
||
(Set_Exception_Msg): Ditto.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-convec.adb, exp_disp.adb: Minor reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
|
||
|
||
2011-08-29 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
|
||
Exception_Handlers to No_List instead of Empty_List in the case where
|
||
there are no handlers.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (enum standard_datatypes): Add
|
||
ADT_reraise_zcx_decl
|
||
(reraise_zcx_decl): New macro.
|
||
* gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
|
||
(gigi): Set reraise_zcx_decl.
|
||
(Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
|
||
(gnat_to_gnu): Handle N_Raise_Statement.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
|
||
a-undesu.adb: Minor reformatting.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_disp.adb (Check_Premature_Freezing): When building a dispatch
|
||
table, accept an unfrozen untagged component if it is an actual for a
|
||
formal incomplete type.
|
||
* a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
|
||
provide new iterator forms over vectors.
|
||
Introduce type Iterator in package body to implement operations of
|
||
Reversible_Iterator interface.
|
||
* a-iteint.ads: Make package pure so it is usable with new container
|
||
packages, that are categorized Remote_Types.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
|
||
library-level subprogram.
|
||
* sem_prag.adb (Check_Test_Case): Stricter rules for test-case
|
||
placement.
|
||
(Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
|
||
component.
|
||
* snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
|
||
component.
|
||
* gnat_rm.texi: Update doc for Test_Case pragma.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
|
||
convention C.
|
||
(GCC_Exception_Access): New type.
|
||
(Unwind_DeleteException): New imported procedure
|
||
(Foreign_Exception): Import it.
|
||
(GNAT_GCC_Exception): Simply have the occurrence inside.
|
||
(To_GCC_Exception): New function.
|
||
(To_GNAT_GCC_Exception): New function.
|
||
(GNAT_GCC_Exception_Cleanup): New procedure..
|
||
(Propagate_GCC_Exception): New procedure.
|
||
(Reraise_GCC_Exception): New procedure.
|
||
(Setup_Current_Excep): New procedure.
|
||
(CleanupUnwind_Handler): Change type of UW_Exception parameter.
|
||
(Unwind_RaiseException): Ditto.
|
||
(Unwind_ForcedUnwind): Ditto.
|
||
(Remove): Removed.
|
||
(Begin_Handler): Change type of parameter.
|
||
(End_Handler): Ditto. Now delete the exception if still present.
|
||
(Setup_Key): Removed.
|
||
(Is_Setup_And_Not_Propagated): Removed.
|
||
(Set_Setup_And_Not_Propagated): Ditto.
|
||
(Clear_Setup_And_Not_Propagated): Ditto.
|
||
(Save_Occurrence_And_Private): Ditto.
|
||
(EID_For): Add 'not null' constraint on parameter.
|
||
(Setup_Exception): Does nothing.
|
||
(Propagate_Exception): Simplified.
|
||
* exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
|
||
re-raise is not expanded anymore.
|
||
* s-except.ads (Foreign_Exception): New exception - placeholder for
|
||
non Ada exceptions.
|
||
* raise-gcc.c (__gnat_setup_current_excep): Declare
|
||
(CXX_EXCEPTION_CLASS): Define (not yet used)
|
||
(GNAT_EXCEPTION_CLASS): Define.
|
||
(is_handled_by): Handle foreign exceptions.
|
||
(PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* a-synbar.adb (Synchronous_Barrier): Some additional clarification.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-synbar-posix.adb: Minor reformatting.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
|
||
a-exetim-default.ads (Interrupt_Clocks_Supported,
|
||
Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
|
||
definitions to be compliant with AI-0171. The target systems do not
|
||
support separate account for the execution time of interrupt handlers.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* a-synbar.adb (Wait): Change the order of evaluation of the conditions
|
||
in the barrier to put first the easiest to evaluate (and the one which
|
||
will be True more often). More efficient.
|
||
|
||
2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* s-atocou-x86.adb: Fix constraint in machine code insertion.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add new aspects for various pragmas and
|
||
attributes that are now aspects, as specified by AI05-0229-1.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications,
|
||
Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
|
||
pragmas or attribute references, as appropriate.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
|
||
a-synbar-posix.ads: Minor reformatting.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add name Force.
|
||
|
||
2011-08-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* a-exetim.ads (Interrupt_Clocks_Supported,
|
||
Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
|
||
definitions to be compliant with AI-0171.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ngelfu.adb: Add comments.
|
||
|
||
2011-08-29 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
|
||
the closest machine number to Pi / 2.0.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
|
||
package Ada.Synchronous_Barriers.
|
||
* a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
|
||
Add new specs and bodies for Ada.Synchronous_Barriers. There is a
|
||
default implementation using protected objects and another one
|
||
a-synbar-posix using POSIX barriers as the underlying support.
|
||
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
|
||
x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
|
||
Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
|
||
Clean up dependencies.
|
||
* Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
|
||
exp_dist.adb: Minor code reorganization.
|
||
Minor reformatting.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
|
||
primitive operation must support external streaming if it is not a
|
||
controlling access result.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads, sem_ch7.adb: Minor reformatting.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
|
||
restriction on allocators, as required by AI05-0013-1.
|
||
* restrict.ads: Minor comment fix.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
|
||
(To_Jmpbuf_Address): Ditto
|
||
(builtin_longjmp): Ditto
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2011-08-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Gnatmake): Move special processing for VM targets after the
|
||
call to Get_Target_Parameters.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch12.adb, par-ch12.adb: Minor reformatting.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
|
||
where an anonymous access discriminant of a limited designated type
|
||
appears in a non-immutably limited discriminated type and issue an
|
||
error message. Add local variable Desig_T and replace all occurrences
|
||
of Designated_Type.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* a-rttiev.adb (Set_Handler): Update comment to indicate that our
|
||
implementation is compliant to RM D.15(15/2) after the modification
|
||
imposed by AI05-0094-1 (binding interpretation).
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
|
||
s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-endh.adb (Check_End): For an END where it is mandatory to repeat
|
||
the scope name, do not report a missing label as a style violation (it
|
||
will be diagnosed as an illegality).
|
||
* exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
|
||
variant records: Get_Enum_Lit_From_Pos already returns a usage
|
||
occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
|
||
on Expr in Integer_Literal case so that it can be used by
|
||
Build_To_Any_Call.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
|
||
Adjust comment.
|
||
* exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
|
||
(Build_Abort_Block_Handler): New function to build an Abort_Signal
|
||
exception handler.
|
||
* exp_ch9.adb (Expand_N_Asynchronous_Select): Call
|
||
Build_Abort_Block_Handler to build the exception handler. Do not
|
||
undefer aborts for the Abort_Signal exception handler if back-end
|
||
exception mechanism.
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
|
||
back_end exceptions for all others and abort_signal.
|
||
* s-except.ads (ZCX_By_Default): New constant.
|
||
* a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
|
||
(Raise_Exception_Always): Ditto.
|
||
(Raise_From_Signal_Handler): Ditto.
|
||
(Raise_With_Location_And_Msg): Ditto.
|
||
(Raise_With_Msg): Ditto.
|
||
(Reraise): Ditto.
|
||
(Reraise_Occurence): Ditto.
|
||
(Reraise_Occurrence_Always): Ditto.
|
||
* s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
|
||
* s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* snames.adb-tmpl, sem_ch13.adb: Minor reformatting
|
||
Minor code reorganization.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
|
||
2012, not just Ada 2005.
|
||
|
||
2011-08-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
|
||
with a project file or with gprbuid, if -gnatep= is specified, the
|
||
builder may need to be invoked with -x.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb: Minor comment fix.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
|
||
* par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
|
||
treating "some" as unreserved in earlier Ada versions. This is now
|
||
handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
|
||
rather than Name_Some, since Tok_Some is now recognized as reserved.
|
||
* scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
|
||
reserved word.
|
||
* scans.ads: Minor comment fixes.
|
||
* snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
|
||
for other language versions.
|
||
* scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
|
||
treating "some" as unreserved in earlier Ada versions. This is now
|
||
handled in Snames.Is_Keyword_Name.
|
||
* par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
|
||
Ada 2012.
|
||
(P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
|
||
unreserved in earlier Ada versions. This is now handled in
|
||
Snames.Is_Keyword_Name.
|
||
* snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
|
||
words as for other language versions.
|
||
* gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
|
||
Ada 2012, not just Ada 2005.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Additional semantic checks for aspects involved in
|
||
iterators.
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
|
||
a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
|
||
Container parameter.
|
||
(Ancestor_Find): ditto.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-endh.adb: Minor reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
|
||
(GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
|
||
(Adjust_N_CLeanups_For): Remove.
|
||
(CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
|
||
stack is reached.
|
||
(Propgate_Exception): Adjust.
|
||
* raise-gcc.c: Add a few static/const.
|
||
(Adjust_N_Cleanups_For): Remove declaration.
|
||
(PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb: Use type of function return when rewriting as object
|
||
declaration.
|
||
|
||
2011-08-29 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_type.adb: Minor reformatting.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* makeutl.adb: Minor reformatting.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
|
||
function call of a limited type, the expansion of the renaming is
|
||
complicated by the presence of various temporaries and subtypes that
|
||
capture constraints of the renamed object.
|
||
Rewrite node as an object declaration, whose expansion is simpler.
|
||
Given that the object is limited there is no copy involved and no
|
||
performance hit.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Use base type to determine whether an
|
||
access subtype is access_to_subprogram, when applying checks for
|
||
RM 3.10.2 (27).
|
||
|
||
2011-08-29 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-pooglo.adb: Minor reformatting.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
|
||
an indexed component of a packed array whose element type is a record
|
||
with a representation clause different from that of the right-hand
|
||
side, generate a temporary to minimuze the number of bit-field
|
||
operations generated.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Insert_Actions): Use clauses can be part of lists of
|
||
declarations, and thus are likely insertion points for actions.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* einfo.ads: Minor comment fix.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb, gnat1drv.adb: Minor reformatting.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
|
||
* a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
|
||
space in front of the header.
|
||
|
||
2011-08-29 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* frontend.adb (Frontend): Exit after creating Standard package when
|
||
-gnatd.H is present.
|
||
* gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
|
||
present.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
|
||
makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
|
||
snames.ads-tmpl: Minor reformatting.
|
||
|
||
2011-08-29 Philippe Gil <gil@adacore.com>
|
||
|
||
* prj.adb (Reset_Units_In_Table): New procedure.
|
||
Reset units to avoid access to freed memory.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* get_scos.adb: When reading a P statement SCO without a pragma name
|
||
(from an older ALI file), ensure that the Pragma_Name component is set
|
||
to Unknown_Pragma (not left uninitialized).
|
||
|
||
2011-08-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
|
||
modified to compute correctly the object path of a SAL project that is
|
||
extending another library project.
|
||
(Write_Path_File): New procedure.
|
||
* makeutl.ads (Directories): New table moved from Buildgpr
|
||
(Get_Directories): New procedure moved from Buildgpr
|
||
(Write_Path_File): New procedure
|
||
* mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
|
||
paths before binding SALs, instead of Set_Ada_Paths.
|
||
* prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
|
||
Prj.
|
||
* prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
|
||
(Current_Source_Path_File_Of): New function
|
||
(Set_Current_Object_Path_File_Of): New procedure
|
||
(Current_Source_Object_File_Of): New function
|
||
(Set_Current_Object_Path_File_Of): New procedure
|
||
* prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
|
||
(Current_Source_Path_File_Of): New function
|
||
(Set_Current_Object_Path_File_Of): New procedure
|
||
(Current_Source_Object_File_Of): New function
|
||
(Set_Current_Object_Path_File_Of): New procedure
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
|
||
packed entity, use a bit-field assignment only if there is no change of
|
||
representation.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
|
||
Is_RTU instead of using Chars comparisons.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
|
||
temporary object if the actual is constrained, and the discriminants
|
||
read from the stream don't match.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_attr.adb, exp_attr.adb: Add handling of
|
||
Attribute_System_Allocator_Alignment
|
||
* snames.ads-tmpl: Add Name_System_Allocator_Alignment and
|
||
Attribute_System_Allocator_Alignment.
|
||
* ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
|
||
* gcc-interface/targtyps.c, gcc-interface/utils2.c,
|
||
gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
|
||
get_target_system_allocator_alignment.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
|
||
dependencies.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb (In_Runtime): Fix typo.
|
||
|
||
2011-08-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
|
||
and a separate tag assignment is generated, ensure that the tag
|
||
assignment is analyzed.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* atree.ads, atree.adb (Copy_Separate_List): New function that applies
|
||
Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
|
||
of statement lists that may contain local declarations.
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
|
||
duplicate the triggering statements needed for the expansion of this
|
||
construct, when the trigger is a dispatching call to a synchronized
|
||
primitive.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi: Add doc for 'Elab_Subp_Body.
|
||
* bindgen.adb: Add comments.
|
||
* snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
|
||
in CodePeer mode.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Minor reformatting.
|
||
Minor code reorganization and commenting.
|
||
* par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* get_scos.adb: Ignore chaining indicators not currently supported
|
||
by Ada.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* system.ads: Minor editing.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
|
||
CodePeer mode.
|
||
* sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
|
||
Attribute_Elab_Subp_Body.
|
||
* snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
|
||
* sem_util.adb: Update comments.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
|
||
pragma name for each SCO statement corresponding to a pragma.
|
||
|
||
2011-08-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* opt.ads: Minor editing.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
|
||
that only made sense for CodePeer mode.
|
||
|
||
2011-08-29 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
|
||
which is no longer used.
|
||
* targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
|
||
handling of the 64-bit division check.
|
||
* exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
|
||
division available.
|
||
* system*.ads (Support_64_Bit_Divides): Remove this flag which is no
|
||
longer used.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* get_scos.adb: Minor reformatting.
|
||
|
||
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
|
||
statement list is wrapped in a block, the block is explicitly analyzed
|
||
in order to properly redecorate the entities and create a servicing
|
||
finalizer.
|
||
|
||
2011-08-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
|
||
(Set_Zero_Cost_Handling): Remove.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
|
||
|
||
2011-08-29 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
|
||
instruction, as the latter may produce -0.0, which is not a valid VAX
|
||
F float number.
|
||
(Neg_G): Likewise for VAX F float.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb: Minor reformatting.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor comment update.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
|
||
the operand type.
|
||
|
||
2011-08-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
|
||
current statement sequence on a generic instantiation or a subprogram
|
||
declaration.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
|
||
for every index type and component type that is not a subtype_mark.
|
||
(Process_Subtype): Set Etype of subtype.
|
||
|
||
2011-08-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
|
||
reorganization. Minor reformatting.
|
||
|
||
2011-08-29 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
|
||
for CodePeer and ALFA modes.
|
||
|
||
2011-08-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_type.adb (Collect_Interps): Within an instance, collect a homonym
|
||
that comes from an enclosing scope if it is not the renaming of an
|
||
actual, to handle properly a spurious ambiguity in an instance.
|
||
|
||
2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
|
||
(Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
|
||
use it instead of the Esize of the first parameter.
|
||
(Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
|
||
above change.
|
||
<Size>: Likewise. Call it for composite types on the RM size.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
|
||
* sem_util.adb (Unique_Name): Correct behaviour for names of
|
||
compilation units.
|
||
|
||
2011-08-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-24 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
|
||
(CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
|
||
(CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
|
||
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
|
||
(ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
|
||
|
||
2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
|
||
(GNATLIBCFLAGS_FOR_C): Replace
|
||
TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
|
||
(gnatlib-shared-default, gnatlib-shared-dual-win32)
|
||
(gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
|
||
(gnatlib-sjlj, gnatlib-zcx): Likewise.
|
||
|
||
2011-08-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
|
||
|
||
* gcc-interface/gigi.h (enumerate_modes): Fix formatting.
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
|
||
|
||
2011-08-05 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
|
||
libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
|
||
canadian cross.
|
||
* gcc-interface/Make-lang.in: Add support for canadian cross setting.
|
||
|
||
2011-08-05 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
|
||
subprogram bodies declared out-of-order.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Unique_Name): only prefix with "standard" the names of
|
||
entities directly in package Standard, otherwise skip the standard
|
||
prefix.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbmutr.adb: Minor reformatting
|
||
(Allocate_Node): refactor node allocation algorithm
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
|
||
* sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
|
||
mode.
|
||
(Analyze_Pragma, case Check_Policy): Ditto.
|
||
* sem_prag.ads (Check_Disabled): New function
|
||
* snames.ads-tmpl: Add Name_Disable.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document implementation-defined policy DISABLE for
|
||
pragmas Assertion_Policy, Check_Policy, Debug_Policy.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
|
||
that appears in a generic formal part and applies to a formal
|
||
subprogram.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cbmutr.ads: Minor reformatting.
|
||
|
||
2011-08-05 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
|
||
to check count, check sign of value instead.
|
||
* a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
|
||
(Copy_Subtree): allocate copy of source element
|
||
(Equal_Subtree): compare elements, not access objects
|
||
|
||
2011-08-05 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix VMS alternative.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch11.adb: Add comment.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb: Minor comment fix.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* scng.adb (Error_Unterminated_String): Improve flag position when
|
||
comma present.
|
||
|
||
2011-08-05 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
|
||
tree containers).
|
||
* a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
|
||
multiway tree containers.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
|
||
* stylesw.adb: Implement -gnatyC to control comment spacing
|
||
* stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
|
||
-gnatyc/C).
|
||
* usage.adb: Add line for -gnatyC.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnatyC.
|
||
* vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
|
||
synonym for COMMENTS2).
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
|
||
a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
|
||
sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
|
||
a-comutr.ads, lib-xref.adb: Minor reformatting.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
|
||
warning if there is an exception handler present.
|
||
|
||
2011-08-05 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-iteint.ads: Fix copyright year.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
|
||
statement SCO for a USE clause or a representation clause.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
|
||
between body and spec for stub.
|
||
(Detect_And_Add_ALFA_Scope): take into account subprogram stub
|
||
* lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
|
||
pragma precondition or postcondition, for which the enclosing
|
||
subprogram or package in the AST is not the desired one, return empty.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-expect.adb: Minor reformatting.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-fihema.adb: Comment out OS_Lib.
|
||
|
||
2011-08-05 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
|
||
(unbounded multiway tree containers) and a-iteint.ads.
|
||
* a-comutr.ads, a-comutr.adb:
|
||
This is the new Ada 2012 unit for unbounded multiway tree containers
|
||
* a-cimutr.ads, a-cimutr.adb
|
||
This is the new Ada 2012 unit for indefinite multiway tree containers
|
||
* a-iteint.ads: New file.
|
||
|
||
2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
|
||
subpools.
|
||
* par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
|
||
general indexing aspects of Ada2012. Called when analyzing indexed
|
||
components when other interpretations fail.
|
||
* sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
|
||
in an expression context where overloading is meaningful. This excludes
|
||
the occurrence in an aspect specification (efficiency only).
|
||
* sem_attr.adb (Analyze_Attribute): indicate that the attributes
|
||
related to iterators can be set by an attribute specification, but
|
||
cannot be queried.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): handle
|
||
Constant_Indexing and Variable_Indexing.
|
||
(Check_Indexing_Functions): New procedure to perform legality checks.
|
||
Additional semantic checks at end of declarations.
|
||
|
||
2011-08-05 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number because of the change of the
|
||
order of calling Tree_Write/Tree_Read routines made for aspects.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-fihema.adb (Finalize): Fix race condition.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation,
|
||
Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
|
||
mode.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_type.adb (Specific_Type): in an instance, the type-specific
|
||
operand of an equality check that involves null may have a private
|
||
type. Use full view to determine legality of construct.
|
||
|
||
2011-08-05 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
|
||
delete or close the file when the call to gnatmake was successful.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
|
||
Global_Discard_Names.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads: comments on use of entity field for aspect specifications.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Reset_Entity): If the entity field of the associated
|
||
node is not itself an entity but a selected component, it is a
|
||
rewritten parameterless call to an en enclosing synchronized operation,
|
||
and this expansion will be performed again in the instance, so there is
|
||
no global information to preserve.
|
||
|
||
2011-08-05 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
|
||
for renamings of predefined primitives.
|
||
(In_Predef_Prims_DT): New subprogram.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
|
||
possible interpretation of name is a reference type, add an
|
||
interpretation that is the designated type of the reference
|
||
discriminant of that type.
|
||
* sem_res.adb (resolve): If the interpretation imposed by context is an
|
||
implicit dereference, rewrite the node as the deference of the
|
||
reference discriminant.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
|
||
Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
|
||
parent type or base type.
|
||
* sem_ch4.adb (Process_Indexed_Component,
|
||
Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
|
||
Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
|
||
Check for implicit dereference.
|
||
(List_Operand_Interps): Indicate when an implicit dereference is
|
||
ambiguous.
|
||
* sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.ads: Update documentation of SCO table. Pragma statements can now
|
||
be marked as disabled (using 'p' instead of 'P' as the statement kind).
|
||
* par_sco.ads, par_sco.adb: Implement the above change.
|
||
(Process_Decisions_Defer): Generate a P decision for the first parameter
|
||
of a dyadic pragma Debug.
|
||
* sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
|
||
necessary.
|
||
* put_scos.adb: Code simplification based on above change.
|
||
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
|
||
bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
|
||
a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
|
||
prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-stunau.ads, g-spipat.adb: Update comments.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-fihema.ads: Minor comment fix.
|
||
* a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
|
||
correct.
|
||
(Attach, Detach): Remove some unnecessary code.
|
||
(Finalize): Remove Node_Ptr_To_Address, replace with a constant.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
|
||
allocation for Objects component. This simplifies the code somewhat. It
|
||
is also a little more efficient in the not-so-unusual case where there
|
||
are no controlled objects allocated.
|
||
Make Finalization_Started flag atomic.
|
||
(Finalize): Avoid unnecessary detachment of items from the list.
|
||
(pcol): Minor cleanup.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
|
||
package whose name is the same as that of the generic unit, or its
|
||
ultimate prefix.
|
||
|
||
2011-08-05 Bob Duff <duff@adacore.com>
|
||
|
||
* a-fihema.adb, a-fihema.ads: Minor comment improvements.
|
||
* sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
|
||
Minor comment fixes.
|
||
|
||
2011-08-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Linking_Phase): No longer need to set source search path
|
||
before calling gnatlink in CodePeer mode.
|
||
* gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
|
||
gcc in CodePeer mode, since the binder generated file no longer has a
|
||
'with Main'.
|
||
* switch.ads, switch.adb (Is_Language_Switch): Removed.
|
||
* switch-c.adb: Update comment.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
|
||
|
||
2011-08-05 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix minor syntax error issue.
|
||
|
||
2011-08-05 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
|
||
delete or close the file when the call to gnatmake returns a non
|
||
successful return code.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
|
||
check, indicate that the copy of the original node does not come from
|
||
source, to prevent an infinite recursion of the expansion.
|
||
|
||
2011-08-05 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: document switch -gnatd.G for gnat2why, which deactivates
|
||
VC generation for subprogram bodies.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.ads: Typo.
|
||
* sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
|
||
the base type with the smallest allowed base type.
|
||
|
||
2011-08-05 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
|
||
aspects.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.ads: minor comment updates.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
|
||
instantiation and a formal package the compiler generates a package
|
||
renaming declaration so that the generic name within the declaration
|
||
is interpreted as a renaming of the instance. At the end of a formal
|
||
package declaration, this renaming must become invisible.
|
||
|
||
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
|
||
comparison and rely on concrete entities instead.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
|
||
and discriminants, to indicate that the type has an access discriminant
|
||
that supports implicit dereference.
|
||
* snames.ads-tmpl: Add names of aspects and attributes related to
|
||
Ada2012 iterators: constant_indexing, default_iterator,
|
||
iterator_element, implicit_dereference, variable_indexing.
|
||
* aspects.ads, aspects.adb: entries for iterator-related aspects.
|
||
* sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
|
||
iterator-related aspects.
|
||
* sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
|
||
|
||
2011-08-05 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
|
||
metrics in gnatmetric to cover new kinds of coupling mentrics.
|
||
|
||
2011-08-05 Steve Baird <baird@adacore.com>
|
||
|
||
* bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
|
||
of calling the user-defined main subprogram.
|
||
(Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
|
||
is set) Call_Main_Subprogram ahead of, as opposed to
|
||
inside of, Main.
|
||
(Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
|
||
generation of a "with" of the user-defined main subprogram.
|
||
Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
|
||
(which is now called from Gen_Main instead).
|
||
|
||
2011-08-05 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* projects.texi: Added reference to the Makefile package.
|
||
|
||
2011-08-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor comment rewording.
|
||
|
||
2011-08-05 Ed Falis <falis@adacore.com>
|
||
|
||
* env.c: Fix comment.
|
||
|
||
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
|
||
character comparison and rely on concrete entities instead.
|
||
|
||
2011-08-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: (Check_Private_Overriding): better error message,
|
||
suggested by AI95-0068.
|
||
|
||
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
|
||
the two potential initialization calls. This accounts for any
|
||
access-before-elaboration checks which may precede the initialization
|
||
calls.
|
||
(Next_Suitable_Statement): New routine. Returns the next real statement
|
||
after the input node while skipping generated checks.
|
||
* sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
|
||
with comment on usage.
|
||
Do not generate Elaborate_All when the trigger is a finalization call
|
||
coming from a type init proc.
|
||
(Check_Elab_Call): Propagate the initialization procedure context to
|
||
subsequent calls to Check_A_Call.
|
||
(Check_Internal_Call_Continue): Propagate the initialization procedure
|
||
context to subsequent calls to Check_Elab_Call.
|
||
(Is_Finalization_Procedure): New routine. Returns True if the input
|
||
entity denotes a [Deep_]Finalize routine.
|
||
* sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
|
||
along with comment on usage.
|
||
|
||
2011-08-05 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-atocou.ads: Add list of supported platforms.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
|
||
|
||
* opt.ads (Disable_ALI_File): new Boolean flag
|
||
* lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
|
||
|
||
2011-08-05 Ed Falis <falis@adacore.com>
|
||
|
||
* env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
|
||
environ is properly defined.
|
||
|
||
2011-08-05 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Compilation_Phase): Exit immediately when all objects have
|
||
been found up to date, to avoid multiple exit messages.
|
||
* prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
|
||
same project for languages with no compiler.
|
||
* gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
|
||
-eI.
|
||
2011-08-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
|
||
sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
|
||
prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
|
||
s-atocou-builtin.adb: Minor reformatting.
|
||
|
||
2011-08-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
|
||
CONST_CAST.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
|
||
whether a type lacks user-defined Read or Write operations, or has a
|
||
component that lacks them.
|
||
* sem_attr.adb (Check_Stream_Attribute): if restriction
|
||
No_Default_Stream_Attributes is active, verify that all subcomponent
|
||
types of the target have user-defined stream operations, and report
|
||
error otherwise.
|
||
* exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
|
||
* exp_strm.adb: Build_Elementary_Input_Call,
|
||
Build_Elementary_Write_Call): remove checks for restriction
|
||
No_Default_Stream_Attributes, now checked in semantics.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
|
||
switches on the command line, look for all valid --RTS switches in the
|
||
Builder switches and for each language use the first runtime name found
|
||
to invoke gprconfig.
|
||
(Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
|
||
command line and there is no auto-configuration.
|
||
(Runtime_Name_Set_For): New function.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Object_Declarations): Do not generate the
|
||
elaborate initialization expression for variable Abort when processing
|
||
a package body or a declaration.
|
||
(Create_Finalizer): Propagate the package context when creating the
|
||
exception-related variables.
|
||
* exp_ch7.ads (Build_Object_Declarations): New formal parameter
|
||
For_Package along with usage comment.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Clean up targets.
|
||
Enable new package for atomic counters and copy-on-write implementation
|
||
of unbounded strings on x86 platforms.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor reformatting.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_strm.adb: Minor reformatting.
|
||
|
||
2011-08-04 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-atocou.adb: Replace by dummy version and use on targets where atomic
|
||
operations are not supported.
|
||
* s-atocou-builtin.adb: Renamed from s-atocou.adb.
|
||
* s-atocou-x86.adb: New file.
|
||
* Makefile.rtl: Add s-atocou.o file
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Compile): Move setting of CodePeer_Mode to ...
|
||
(Compilation_Phase): ... here.
|
||
(Scan_Make_Arg): Now bind and link by default in CodePeer mode.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in: Fix minor typo in comment.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
|
||
the project path.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinho.adb: Minor reformatting.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinho.ads: Minor reformatting.
|
||
|
||
2011-08-04 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-atocou.ads, s-atocou.adb: New files.
|
||
* a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
|
||
a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
|
||
direct use of GCC's atomic builtins and replace them by use of new
|
||
atomic counter package.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_strm.adb: better error message for No_Default_Stream_Attributes.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
|
||
with a call to Get_External_Tag.
|
||
* exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
|
||
subprogram usage. Remove the guard against package declarations and
|
||
bodies since Build_Cleanup_Statements is no longer invoked in that
|
||
context.
|
||
(Build_Components): Initialize Tagged_Type_Stmts when the context
|
||
contains at least one library-level tagged type.
|
||
(Build_Finalizer): New local variables Has_Tagged_Types and
|
||
Tagged_Type_Stmts along with associated comments on usage. Update the
|
||
logic to include tagged type processing.
|
||
(Create_Finalizer): Insert all library-level tagged type unregistration
|
||
code before the jump block circuitry.
|
||
(Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
|
||
(Expand_N_Package_Declaration): Remove the call to
|
||
Build_Cleanup_Statements.
|
||
(Process_Tagged_Type_Declaration): New routine. Generate a call to
|
||
unregister the external tag of a tagged type.
|
||
(Processing_Actions): Reimplemented to handle tagged types.
|
||
(Process_Declarations): Detect the declaration of a library-level
|
||
tagged type and carry out the appropriate actions.
|
||
(Unregister_Tagged_Types): Removed. The machinery has been directly
|
||
merged with Build_Finalizer.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
|
||
gnatls.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-04 Marc Sango <sango@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Replace the message
|
||
"invisible attribute of}" of the spark restriction violation in
|
||
attribute reference by the simple message "invisible attribute of type".
|
||
Indeed, the node value Error_Msg_Node_1 used is in conflit with the
|
||
two insertion characters: '&' and '}'.
|
||
|
||
2011-08-04 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
|
||
* a-coinho.ads, a-coinho.adb: New file.
|
||
* Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
|
||
|
||
2011-08-04 Nicolas Roche <roche@adacore.com>
|
||
|
||
* alfa_test.adb: Not all ali files are containing alfa information even
|
||
if compiled with -gnatd.F. So suppress warning about missing ALFA
|
||
information.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
|
||
scope.
|
||
* put_alfa.adb: Check that scope name is not empty.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Stream_Operation_Ok): new predicate
|
||
Needs_Elementary_Stream_Operation, to determine whether user-defined
|
||
Read and Write attributes are available for the elementary components
|
||
of the given type. If only the predefined attributes are available,
|
||
then when restriction No_Default_Stream_Attributes is active the
|
||
predefined stream attributes for the composite type cannot be created.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindgen.adb: Fix obsolete comments and names from Ada/C days.
|
||
Put routines in alpha order
|
||
|
||
2011-08-04 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Remove xenomai specific versions of system.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
|
||
* gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
|
||
gnat1why).
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
|
||
lib-xref-alfa.adb: Minor reformatting.
|
||
|
||
2011-08-04 Marc Sango <sango@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Package_Declaration,
|
||
Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
|
||
Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
|
||
mode.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adainit_C): Remove.
|
||
(Gen_Adafinal_C): Ditto.
|
||
(Gen_Elab_Externals_C): Ditto.
|
||
(Gen_Elab_Calls_C): Ditto.
|
||
(Gen_Elab_Order_C): Ditto.
|
||
(Gen_Elab_Defs_C): Ditto.
|
||
(Gen_Finalize_Library_C): Ditto.
|
||
(Gen_Finalize_Library_Defs_C): Ditto.
|
||
(Gen_Main_C): Ditto.
|
||
(Gen_Output_File_C): Ditto.
|
||
(Gen_Restrictions_C): Ditto.
|
||
(Gen_Versions_C): Ditto.
|
||
(Write_Info_Ada_C): Ditto.
|
||
(Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
|
||
(Gen_Output_File): Do not force Ada_Bind_File anymore.
|
||
Always call Gen_Output_File_Ada.
|
||
* gnatlink.adb (Begin_Info): Now a constant.
|
||
(End_Info): Ditto.
|
||
(Ada_Bind_File): Remove
|
||
(Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
|
||
* switch-b.adb (Scan_Binder_Switches): Do not handle -C.
|
||
* gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
|
||
* opt.ads (Ada_Bind_File): Remove.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* projects.texi: Document target-specific directory in default project
|
||
path for gnatmake.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
|
||
path in all cases .
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
|
||
opt.ads, lib-xref.ads: Code clean up.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Update description of Test_Case
|
||
* gnat_ugn.texi: Typo.
|
||
|
||
2011-08-04 Ed Falis <falis@adacore.com>
|
||
|
||
* adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
|
||
it is of type Root_Controlled. This action eliminates fields Prev and
|
||
Next from type equality.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Correct typo.
|
||
|
||
2011-08-04 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
|
||
component.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
|
||
(Analyze_Pragma): allow static string expression for name of Test_Case,
|
||
instead of simply string literals.
|
||
* sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
|
||
expressions.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
|
||
case suffixes to find truncated main sources.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
|
||
s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
|
||
(Compute_Current_Task): Ditto.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Is_Global_Constant): new function that detects
|
||
library-level constant.
|
||
(Add_ALFA_Xrefs): ignore global constants in ALFA xref.
|
||
* sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
|
||
used as selector of parameter association, in ALFA mode.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
|
||
s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Linking_Phase): Set source search path before calling
|
||
gnatlink in CodePeer mode.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
|
||
Remove code which takes care of building TSDs.
|
||
* rtsfind.ads (RE_Check_Interface_Conversion): New entity.
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
|
||
the accessibility check in VM targets.
|
||
* exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
|
||
(Building_Static_DT): Now returns false for VM targets.
|
||
(Build_VM_TSDs): Removed.
|
||
(Expand_Interface_Conversion): Generate missing runtime check for
|
||
conversions to interface types whose target type is unknown at compile
|
||
time.
|
||
(Make_VM_TSD): Add missing code to disable the generation of calls to
|
||
Check_TSD if the tagged type is not defined at library level, or not
|
||
has a representation clause specifying its external tag, or -gnatdQ is
|
||
active.
|
||
* exp_disp.ads (Build_VM_TSDs): Removed.
|
||
(Make_VM_TSDs): Spec relocated from exp_disp.adb
|
||
* sem_disp.adb (Check_Dispatching_Operation): No code required to
|
||
register primitives in the dispatch tables in VM targets.
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
|
||
initialization of class-wide interface objects in VM targets.
|
||
(Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
|
||
of Make_DT).
|
||
|
||
2011-08-04 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* gnatlink.adb (Gnatlink): Correct missleading error message displayed
|
||
when dotnet-ld cannot be found.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* bindgen.adb: Simplify significantly generation of binder body file in
|
||
CodePeer mode.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
|
||
when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
|
||
not expanded).
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, sem.ads: Code cleanup.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
|
||
* s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
|
||
results if possible.
|
||
* s-stusta.adb (Print): Adjust after changes in s-stausa.
|
||
* gnat_ugn.texi: Update dynamic stack usage section.
|
||
|
||
2011-08-04 Steve Baird <baird@adacore.com>
|
||
|
||
* bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
|
||
Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
|
||
contains only a call to the user-defined main subprogram.
|
||
(Gen_Main_Ada) - If CodePeer_Mode is set, then
|
||
call the "wrapper" subprogram instead of directly
|
||
calling the user-defined main subprogram.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
|
||
alternatives of a case statement for controlled objects. Rename local
|
||
variable A to Dead_Alt.
|
||
(Expand_N_If_Statement): Check the then and else statements of an if
|
||
statement for controlled objects. Check the then statements of all
|
||
elsif parts of an if statement for controlled objects.
|
||
(Expand_N_Loop_Statement): Check the statements of a loop for controlled
|
||
objects.
|
||
* exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
|
||
detects a loop associated with the expansion of an array object.
|
||
Augment the processing of the loop statements to account for a possible
|
||
wrap done by Process_Statements_For_Controlled_Objects.
|
||
* exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
|
||
statements and abortable part of an asynchronous select for controlled
|
||
objects.
|
||
(Expand_N_Conditional_Entry_Call): Check the else statements of a
|
||
conditional entry call for controlled objects.
|
||
(Expand_N_Selective_Accept): Check the alternatives of a selective
|
||
accept for controlled objects.
|
||
(Expand_N_Timed_Entry_Call): Check the entry call and delay
|
||
alternatives of a timed entry call for controlled objects.
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
|
||
exception handler for controlled objects.
|
||
* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
|
||
Add formal parameter Nested_Constructs along with its associated
|
||
comment.
|
||
(Requires_Cleanup_Actions (Node_Id)): Update all calls to
|
||
Requires_Cleanup_Actions.
|
||
(Process_Statements_For_Controlled_Objects): New routine.
|
||
* exp_util.ads (Process_Statements_For_Controlled_Objects): New
|
||
routine. Inspect a node which contains a non-handled sequence of
|
||
statements for controlled objects. If such an object is found, the
|
||
statements are wrapped in a block.
|
||
|
||
2011-08-04 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
|
||
need to compare with Class_Wide_Type (T2), in order to get at the
|
||
original class-wide type node.
|
||
* sem_type.ads (Covers): Improve the comment.
|
||
* einfo.ads (Class_Wide_Type): Improve the comment.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
|
||
the type of the Deref.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that Test_Case pragma can only appear on
|
||
separate declarations.
|
||
* sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
|
||
check identifier of pragma argument.
|
||
(Chain_TC): check that no other test case associated to the same entity
|
||
share the same name.
|
||
(Check_Test_Case): disallow test case inside subprogram body
|
||
(Analyze_Pragma): correct call to check identifier and not argument
|
||
* sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
|
||
function gets name from test case pragma.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Document new pragma and aspect.
|
||
* aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
|
||
(No_Duplicates_Allowed): new constant array defining whether duplicates
|
||
aspects of each kind can appear on the same declaration.
|
||
* einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
|
||
field, which points to a node holding the previous Spec_PPC_List.
|
||
* exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
|
||
through the indirection with Contract.
|
||
* exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
|
||
* par-prag.adb (Prag): do nothing on Test_Case pragma
|
||
* sem.adb (Analyze): abort on N_Contract, on which Analyze should not
|
||
be called directly.
|
||
* sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
|
||
component Ensures of Test_Case.
|
||
* sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
|
||
(Analyze_Generic_Subprogram_Declaration,
|
||
Analyze_Subprogram_Instantiation,
|
||
Analyze_Abstract_Subprogram_Declaration,
|
||
Analyze_Subprogram_Body_Helper,
|
||
Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
|
||
insert contract in subprogram node at point of definition
|
||
* sem_ch13.adb
|
||
(Aspect_Loop): do not raise error on duplicate Test_Case aspect
|
||
(Analyze_Aspect_Specifications): analyze Test_Case aspect and create
|
||
corresponding pragma
|
||
(Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
|
||
* sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
|
||
similar to the analysis of pre/post
|
||
(Derive_Subprogram): insert contract in subprogram node at point of
|
||
derivation.
|
||
* sem_prag.adb, sem_prag.ads
|
||
(Check_Arg_Is_String_Literal, Check_Identifier):
|
||
new checking procedures to be called in treatment of pragmas
|
||
(Check_Test_Case): new procedure to check that a Test_Case aspect or
|
||
pragma is well-formed. This does not check currently that 'Result is
|
||
used only in the Ensures component of a Test_Case.
|
||
(Analyze_Pragma): add case for Test_Case
|
||
(Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
|
||
components of a Test_Case.
|
||
(Preanalyze_TC_Args): new procedure to preanalyze the boolean
|
||
expressions in the 3rd (and 4th if present) arguments of a Test_Case
|
||
pragma, treated as spec expressions.
|
||
(Sig_Flags): add value -1 for Test_Case.
|
||
* sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
|
||
Get_Requires_From_Test_Case_Pragma): getters for both expression
|
||
components of a Test_Case.
|
||
* sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
|
||
indirection between an entry or [generic] subprogram entity and its
|
||
pre/post + test-cases.
|
||
(Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
|
||
get/set for fields of an N_Contract node.
|
||
* snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
|
||
Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
|
||
names and pragma for Test_Case.
|
||
* sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Improve documentation of gnatmake switch
|
||
--source-info-file=.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
|
||
type). Initialize Atyp to the appropriate type which is later checked
|
||
for completion. Rewrite the assertion associated with private type
|
||
completion.
|
||
|
||
2011-08-04 Ed Falis <falis@adacore.com>
|
||
|
||
* adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
|
||
initialize the number of CPUs.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_type.adb (Disambiguate): New subsidiary routine
|
||
In_Same_Declaration_List, to implement AI05-0020: a user-defined
|
||
equality on an anonymous access type whose designated type is private
|
||
does not lead to an ambiguity with the universal access equality
|
||
operator in the body or child units of the defining package. The same
|
||
is true for a multiplication operator on a private type completed with
|
||
a fixed-point-type.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* opt.ads (Init_Or_Norm_Scalars_Config): Removed.
|
||
(Normalize_Scalars_Config): Removed.
|
||
* opt.adb
|
||
(Register_Opt_Config_Switches): Remove registering config values of
|
||
Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
|
||
(Restore_Opt_Config_Switches): Remove code which restores the values of
|
||
Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
|
||
Init_Or_Norm_Scalars.
|
||
(Save_Opt_Config_Switches): Remove code which saves values of
|
||
Init_Or_Norm_Scalars and Normalize_Scalars.
|
||
(Set_Opt_Config_Switches): Remove code which restores config values of
|
||
Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
|
||
Init_Or_Norm_Scalars.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* frontend.adb (Frontend): remove previous patch to avoid full
|
||
qualification in ALFA mode.
|
||
* lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
|
||
* sem_util.adb, sem_util.ads (Unique_Name): new function to define a
|
||
unique name for an entity, which could be used to identify the entity
|
||
across compilation units.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* prj-env.adb
|
||
(Initialize_Default_Project_Path): Add target specific directory
|
||
($prefix/$target/lib/gnat) in front of project path in all cases
|
||
(making gnatmake's behaviour consistent with gprbuild).
|
||
* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
|
||
Pass target name from Sdefault to project subsystem.
|
||
* gnatls.adb: Show new target specific default project directory.
|
||
|
||
2011-08-04 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* cstand.adb: Add Information to Identifier in Standard
|
||
(Identifer_For): Set Entity to the corresponding entity
|
||
|
||
2011-08-04 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update doc on gnatcheck.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
|
||
xrefs in a scope.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
|
||
performing expansion.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper,
|
||
Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
|
||
it is not called in ALFA mode.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
|
||
after all, so removed.
|
||
|
||
2011-08-04 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* vms_data.ads: Add missing VMS qualifiers.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
|
||
the list of files on the command line after processing it through
|
||
Complete_Mains.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Raise_Statement): Remove the specialized
|
||
processing for .NET/JVM. These targets can now benefit from
|
||
Raise_From_Controlled_Operation and they share the same processing with
|
||
standard targets.
|
||
(Establish_Transient_Scope): Remove the restriction for .NET/JVM.
|
||
These targets need transient scopes in order to properly finalize short
|
||
lived controlled objects.
|
||
(Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
|
||
NET/JVM. These targets can now benefit from
|
||
Raise_From_Controlled_Operation and they share the same processing with
|
||
standard targets.
|
||
|
||
2011-08-04 Geert Bosch <bosch@adacore.com>
|
||
|
||
* tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
|
||
Expand_Record_Aggregate, to determine whether aggregate must be
|
||
expanded into assignments. This is the case if the ancestor part is
|
||
private, regarless of the setting of the flag Has_Private_Ancestor.
|
||
|
||
2011-08-04 Ed Falis <falis@adacore.com>
|
||
|
||
* vxaddr2line.adb: Add support for e500v2 and for Linux hosts
|
||
|
||
2011-08-04 Bob Duff <duff@adacore.com>
|
||
|
||
* sinfo.ads: Fix comment.
|
||
|
||
2011-08-04 Steve Baird <baird@adacore.com>
|
||
|
||
* bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
|
||
choose a package name in much the same way as is
|
||
done for JGNAT when VM_Target /= No_VM, except that
|
||
a slightly more distinctive prefix string is used.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb (Complete_Mains): no longer accept unit names on the
|
||
gnatmake command line.
|
||
This behavior was never documented (and was supported only because of
|
||
an early bug in the code). This case might lead to ambiguous cases
|
||
(between unit names and truncated base names without suffixes).
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
|
||
Remove the external tag of a tagged type from the internal hash table.
|
||
* exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
|
||
expanded usage of the routine. Strenghten the check for Is_Master. Add
|
||
processing for tagged types.
|
||
(Build_Finalizer): Create all the necessary lists used in finalizer
|
||
creation when the processed context is a package that may contain
|
||
tagged types.
|
||
(Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
|
||
Requires_Cleanup_Actions.
|
||
(Expand_N_Package_Body): Package bodies may need clean up code
|
||
depending on whether they contain tagged types.
|
||
(Expand_N_Package_Declaration): Package declarations may need clean up
|
||
code depending on whether they contain tagged types.
|
||
(Unregister_Tagged_Types): New routine. Search through a list of
|
||
declarations or statements, looking for non-abstract Ada tagged types.
|
||
For each such type, generate code to unregister the external tag.
|
||
* exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
|
||
Requires_Cleanup_Actions.
|
||
(Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
|
||
through a list of declarations or statements looking for non-abstract
|
||
Ada tagged types or controlled objects.
|
||
* exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
|
||
Requires_Cleanup_Actions.
|
||
(Has_Controlled_Objects (List_Id, Boolean)): Removed.
|
||
* rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
|
||
RE_Unit_Table.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
|
||
has Ada sources, not project Project, because if the root project
|
||
Project has no sources of its own, all projects will be deemed without
|
||
sources.
|
||
|
||
2011-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
|
||
of the No_Param_Proc acc-to-subp type used for initialization of
|
||
__gnat_finalize_library_objects so that it's declared at library level
|
||
rather than nested inside of the adainit routine.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
|
||
if the tagged type has a representation clause which specifies its
|
||
external tag.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
|
||
Remove previous procedure with that name.
|
||
* sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
|
||
when appropriate.
|
||
* sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
|
||
subtype mark, the ancestor cannot have unknown discriminants.
|
||
(Resolve_Record_Aggregate): if the type has invisible components
|
||
because of a private ancestor, the aggregate is illegal.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
|
||
account switches -gnat2005, -gnat12 and -gnat2012.
|
||
|
||
2011-08-04 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasdeb.ads: Minor comment fix.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
|
||
CodePeer mode.
|
||
* switch.ads, switch.adb (Is_Language_Switch): New function.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-c.adb: Minor comment addition.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* vms_conv.adb (Process_Argument): Fail graciously when qualifier
|
||
ending with '=' is followed by a space (missing file name).
|
||
|
||
2011-08-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-regist.ads: Fix size of HKEY on x86_64-windows.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): New routine
|
||
Check_Overloaded_Formal_Subprogram to reject a formal package when
|
||
there is a named association or a box initialisation for an overloaded
|
||
formal subprogram of the corresponding generic.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.ads (ALFA_Xref_Record): add component for type of entity
|
||
* get_alfa.adb, put_alfa.adb: Read and write new component of
|
||
cross-reference.
|
||
* lib-xref-alfa.adb (Collect_ALFA): generate new component.
|
||
|
||
2011-08-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* urealp.adb: Minor reformatting.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
|
||
Handle the case when Cleanup_Protected_Object returns Empty.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* frontend.adb (Frontend): only qualify names in non-ALFA mode
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
|
||
call, ignore functions.
|
||
|
||
2011-08-04 Geert Bosch <bosch@adacore.com>
|
||
|
||
* urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
|
||
point.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
|
||
as an index for Builder'Switches. This conforms to the documentation.
|
||
* make.adb (Insert_Project_Sources): avoid duplicate code
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb (Complete_Mains): if the user has passed a relative file
|
||
name on the command line (for instance "../dummy"), never assume it can
|
||
be a unit name.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb: Remove code the reference or create the
|
||
Break_Start/__gnat_break_start procedure.
|
||
* s-stalib.adb (Break_Start): Removed.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
|
||
shared with gprbuild.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch4.adb (P_Primary): preferentially issue an error message about
|
||
a missing parenthesis arount a conditional or case expression in Ada
|
||
2012 mode, if we detect that the alignment is not correct for a
|
||
statement.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Declarations): Do not consider the result of a
|
||
tag-to-class-wide conversion as needing finalization actions.
|
||
* exp_util.adb (Has_Controlled_Objects): Do not consider the result of
|
||
a tag-to-class-wide conversion as needing finalization actions.
|
||
(Is_Finalizable_Transient): The result of a tag-to-class-wide
|
||
conversion does not need finalization actions.
|
||
(Is_Tag_To_CW_Conversion): New routine.
|
||
* exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
|
||
whether an object is the result of a tag-to-class-wide conversion.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
|
||
the left-hand-side and right-hand-side of a conjunct are inserted when
|
||
translating a pre- or postcondition
|
||
* sem_ch6.adb: Correct typo in comment
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_rm.texi: Ravenscar does not prohibit dependence on
|
||
Unchecked_Conversion and Unchecked_Deallocation.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* make.adb: Minor reformatting.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
|
||
sources in the project and its imported projects, but not in the whole
|
||
tree.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb: Remove debug trace.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Do_Complete): Get the absolute path name of a relative
|
||
path in canonical form, to be able to compare path names on platforms
|
||
such as Windows or Darwin.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
|
||
For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
|
||
* scos.ads: Update documentation accordingly.
|
||
* put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
|
||
pragmas.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
|
||
attribute only if prefix type is scalar.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
|
||
in gnatmake for specifying mains on the command line that do not belong
|
||
to the main project. These mains must currently all belong to the same
|
||
project, though.
|
||
(Ultimate_Extension_Of): removed, since duplicated
|
||
Ultimate_Extending_Project.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
|
||
instead.
|
||
(CodePeer_Mode_String): New.
|
||
(Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
|
||
CodePeer mode.
|
||
(Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
|
||
* bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
|
||
mode, since no useful elaboration subprogram is needed by CodePeer.
|
||
* gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
|
||
In this mode, compile binder file with -gnatC and do stop after this
|
||
step.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor comment fix.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
|
||
exp_ch4.adb, makeutl.adb: Minor reformatting.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
|
||
Create several new subprograms to move code out of Make. This makes the
|
||
code more readable, removes code duplication, and is a preparation work
|
||
for adding support for aggregate projects.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-po32gl.ads, s-po32gl.adb: New files.
|
||
* exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
|
||
* exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
|
||
(Build_Finalization_Collection): Use it.
|
||
* exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
|
||
* rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
|
||
literals.
|
||
* gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb (Complete_Mains): add support for specs with no suffix on
|
||
the command line.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb (Complete_Mains): if a main specified on the
|
||
command line is not a file name, also check whether it could be a unit
|
||
name.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
|
||
the header of the finalization routine.
|
||
If the unit has no finalizer but is a body whose spec has one, then
|
||
generate the decrement of the elaboration entity only.
|
||
If the unit has a finalizer and is a spec, then do not generate the
|
||
decrement of the elaboration entity.
|
||
(Gen_Finalize_Library_C): Likewise.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Alignment_Of): New subsidiary routine.
|
||
(Bounds_Size_Expression): Removed.
|
||
(Double_Alignment_Of): New subsidiary routine.
|
||
(Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
|
||
for a hole in the dope vector of unconstrained arrays due to different
|
||
index and element alignments.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Allocator): diagnose task allocator that will
|
||
raise program_error because body has not been seen yet.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
|
||
an unresolved name.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Do_Complete): Check absolute paths in canonical forms
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
|
||
* sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
|
||
instantiation in RCI.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb: Share more code with gprbuild
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* projects.texi: Added documentation for the IDE'Gnat project file
|
||
attribute.
|
||
|
||
2011-08-04 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
|
||
and the library case for VM targets.
|
||
(Gen_Adainit_Ada): Likewise.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-altive.ads: Minor comment updates.
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* opt.ads
|
||
(Normalize_Scalars_Config): Value of the configuration switch set by
|
||
pragma Normalize_Scalars when it appears in the gnat.adc file.
|
||
(Normalize_Scalars): New field for record Config_Switches_Type. Used
|
||
to save and restore settings of this pragma.
|
||
* opt.adb
|
||
(Register_Opt_Config_Switches, Save_Opt_Config_Switches,
|
||
Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* makeutl.adb: Minor reformatting.
|
||
|
||
2011-08-04 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* g-altive.ads: Update comments to reflect that only the soft
|
||
binding is available today.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
|
||
makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* prj-env.adb: Remove local debug traces.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
|
||
was used instead of Hi_OK, which could cause a read of an uninitialized
|
||
value later on. Detected while working on the new warning.
|
||
* exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
|
||
to local variable.
|
||
* sem_ch5.adb (Analyze_Assignment): set the last assignment component
|
||
in more cases, in order to detect more unreferenced values.
|
||
* sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
|
||
object for expression, if any.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
|
||
the operand types instead of the Esize.
|
||
|
||
2011-08-04 Steve Baird <baird@adacore.com>
|
||
|
||
* switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
|
||
enable CodePeer_Mode.
|
||
* bindusg.adb (Display): Add help message describing -P binder switch.
|
||
* gnat_ugn.texi: Document -P binder switch.
|
||
* bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
|
||
user-defined main program directly.
|
||
(Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
|
||
user-defined main program in the context clause of the package body.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
|
||
duplicate of Defining_Entity
|
||
(Get_Unique_Entity_For_Decl): rename function into
|
||
Unique_Defining_Entity
|
||
* einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
|
||
(Formal_Proof_On): remove synthesized flag
|
||
* cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
|
||
sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
|
||
sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
|
||
* sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
|
||
Annotate (Formal_Proof)
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
|
||
source files with non-standard naming schemes, in imported projects
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb (Complete_Mains): when a multi-unit source file is
|
||
specified on the gprbuild command line, we need to compile all units
|
||
within that file, not just the first one we find
|
||
Fix error message for mains that are not found.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch6.adb: Update comment.
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2011-08-04 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
|
||
Acceptor.Terminate_Alternative without locking Acceptor, which causes a
|
||
race condition whose symptom is to fail to lock Parent. That, in turn,
|
||
causes Parent.Awake_Count to be accessed without locking Parent, which
|
||
causes another race condition whose symptom is that Parent.Awake_Count
|
||
can be off by 1 (either too high or too low). The solution is to lock
|
||
Parent unconditionally, and then lock Acceptor, before reading
|
||
Acceptor.Terminate_Alternative.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* debug.adb: Update comment.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
|
||
sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
|
||
exp_ch6.adb: Minor reformatting.
|
||
|
||
2011-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add sentence about the case of compile-time-detected
|
||
checks for -gnateE.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads: Minor reformatting.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
|
||
even if there is no location.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb, sem_ch4.adb: move check for restriction
|
||
No_Task_Hierarchy to resolve_allocator.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
|
||
This flag of N_Pragma nodes is not used, remove it as well as all of
|
||
the associated circuitry.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
|
||
runtime check on duplicated externa tags
|
||
* debug.adb Document switch -gnatdQ.
|
||
|
||
2011-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-fihema.ads: Minor typo fix.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch10.adb: Minor comment update.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Update the node field usage to reflect the renaming of
|
||
Return_Flag to Return_ Flag_Or_Transient_Decl.
|
||
(Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
|
||
(Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
|
||
(Write_Field15_Name): Change Return_Flag to
|
||
Return_Flag_Or_Transient_Decl.
|
||
* einfo.ads: Rename node field Return_Flag to
|
||
Return_Flag_Or_Transient_Decl. Update the associated comment and all
|
||
occurrences in entities.
|
||
(Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
|
||
associated Inline pragma.
|
||
(Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
|
||
associated Inline pragma.
|
||
* exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
|
||
routine.
|
||
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
|
||
Return_Flag and Set_Return_Flag.
|
||
* exp_ch7.adb (Process_Declarations): Add code to recognize hook
|
||
objects generated for controlled transients declared inside an
|
||
Exception_With_Actions. Update the calls to Return_Flag.
|
||
(Process_Object_Declaration): Add code to add a null guard for hook
|
||
objects generated for controlled transients declared inside an
|
||
Exception_With_Actions. Update related comment.
|
||
* exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
|
||
objects generated for controlled transients declared inside an
|
||
Exception_With_Actions. Update the calls to Return_Flag.
|
||
* expander.adb (Expand): Add new case for N_Expression_With_Actions.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb:(Wrong_Type): Improve error message on a one-element
|
||
positional aggregate.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
|
||
SLOC only for pragmas.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* projects.texi: Minor typo fix.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
|
||
on case-sensitive file systems.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
|
||
nested in a disabled pragma.
|
||
* scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
|
||
enclosing pragma, if any, for X decisions.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
|
||
allowed in no run time mode.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Check): When -gnatc is used, check for the source file
|
||
inside the ALI file with a canonical case file name.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
|
||
overriding the separator.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
|
||
prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor documentation fix for pragma Annotate.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
|
||
'Result only appears in postcondition of function.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
|
||
external tag, include the value of the external tag in the exception
|
||
message.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Result): modify error message for misplaced 'Result
|
||
|
||
2011-08-04 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_rm.texi (pragma Annotate): Fix syntax description to make it
|
||
clear that the second argument must be an identifier.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Barrier_Function): When compiling with
|
||
-fpreserve-control-flow, insert an IF statement on the barrier
|
||
condition to ensure that a conditional branch instruction is generated.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-part.adb, prj.adb, prj.ads, prj-tree.ads
|
||
(Processing_Flags.Ignore_Missing_With): new flag.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
|
||
Source_List_File on case-insensitive systems where the file is actually
|
||
on a case-sensitive file system (NFS,...).
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Return): In a rare case where a
|
||
function return contains a controlled [extension] aggregate and the
|
||
return statement is not part of a handled sequence of statements, wrap
|
||
the return in a block. This ensures that all controlled temporaries
|
||
generated during aggregate resolution will be picked up by the
|
||
finalization machinery.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
|
||
components, freeze type before resolution, to ensure that default
|
||
initializations are present for all components.
|
||
* sem_res.adb (Resolve_Actuals): the designated object of an
|
||
accces-to-constant type is a legal actual in a call to an
|
||
initialization procedure.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
|
||
N_Unchecked_Type_Conversion to the possible containers of a renamed
|
||
transient variable.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch13.adb (Aspect_Specifications_Present): recognize
|
||
"with Identifier'Class =>" as an aspect, so that a meaningful warning
|
||
is issued in Strict mode.
|
||
* par.adb: Fix typos in comments.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Result): modify error message to take into account Post
|
||
aspect when compiling Ada 2012 (or newer) code.
|
||
|
||
2011-08-04 Nicolas Roche <roche@adacore.com>
|
||
|
||
* env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
|
||
remove need for GCC exceptions.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Do_Complete): Call Debug_Output with the name of the
|
||
project, not the source file name.
|
||
* prj.adb (Find_Sources.Look_For_Sources): If the source has been
|
||
excluded, continue looking. This excluded source will only be returned
|
||
if there is no other source with the same base name that is not locally
|
||
removed.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
|
||
private and one of the operands is a real literal, use a qualified
|
||
expression rather than a conversion which is not meaningful to the
|
||
back-end.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
|
||
corresponding aspect X'Class are allowed, proceed with analysis of the
|
||
aspect instead of skipping it.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
|
||
This will allow to have an Ada implementation for the subprogram.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
|
||
completion and aspects are present, apply them to the entity for the
|
||
type which is currently the partial view, but which is the one that
|
||
will be frozen.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
|
||
applies to a partial view, indicate that the full view has predicates
|
||
and delayed aspects.
|
||
(Replace_Type_Reference): Handle properly predicates that apply to the
|
||
full view of a private completion.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
|
||
Vis_Decls. When creating a library-level finalizer for a package spec,
|
||
both the declaration and body of the finalizer are inserted either in
|
||
the visible or private declarations of the package spec.
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
|
||
use of the full-view of a type when invoking Is_Ancestor.
|
||
* sem_type.adb (Is_Ancestor): For consistency, when the traversal of
|
||
the full-view of private parents is requested, then use also the
|
||
full-view of the parent of the first derivation.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
|
||
instead of the locally imported procedure.
|
||
* s-taprop-mingw.adb (Enter_Task): Ditto.
|
||
* s-valrea.adb (Scan_Real): Ditto.
|
||
* s-imgrea.adb (Set_Image_Real): Ditto.
|
||
* s-flocon.ads: Make the package pure.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
|
||
* tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
|
||
* sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
|
||
New subprogram, moved here from...
|
||
* par.adb, par-ch5.adb (P_Statement_Name): ... here.
|
||
* par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
|
||
rewriting of the last argument into a procedure call statement here...
|
||
* sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
|
||
instead.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Minor reformatting.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb: Minor reformatting.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Comment update.
|
||
|
||
2011-08-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-flocon.ads: New file.
|
||
* g-flocon.ads: Now a renaming of s-flocon.
|
||
* Makefile.rtl: Add s-flocon.o
|
||
|
||
2011-08-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Array_Input_Function): if the array type is
|
||
constrained, do not attempt to build a subtype of it.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.ads Change comments: remove 'R'M as an example where quotes
|
||
are needed; add ALFA as another case where quotes are not needed
|
||
* erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
|
||
case where quotes are not needed.
|
||
* sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
|
||
sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
|
||
Remove all occurrences of 'A'L'F'A
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: check legality of invariant pragma.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* bindgen.adb: Add comments.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
|
||
synthesized flag.
|
||
* sem_prag.adb (Analyze_Pragma): record the pragma Annotate
|
||
(Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
|
||
osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
|
||
sem_ch13.adb, s-pooloc.adb: Minor reformatting.
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-pooloc.ads, s-pooglo.ads: Minor reformatting
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
PR ada/47880
|
||
* s-pooloc.adb (Deallocate): Fix the case of deallocating the only
|
||
allocated object.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, exp_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-04 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* back_end.ads (Gen_Or_Update_Object_File): Add more comments.
|
||
|
||
2011-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
|
||
type in all cases to compute list of primitive operations, because full
|
||
view may be an itype that is not attached to the list of declarations.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
|
||
library has already been finalized.
|
||
(Gen_Adafinal_C): Likewise.
|
||
(Gen_Adainit_Ada): Generate an early return if the library has
|
||
already been elaborated.
|
||
(Gen_Adainit_C): Likewise.
|
||
(Gen_Output_File_Ada): Generate an elaboration flag.
|
||
(Gen_Output_File_C): Likewise.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
|
||
Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
|
||
built in the first place.
|
||
(Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
|
||
for CodePeer because Finalize_Address was not built to begin with.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
|
||
|
||
2011-08-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_tmp_name): Use current process id to create temp
|
||
filenames, this ensures unicity of filenames across processes.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
|
||
Raise_Controlled to Raise_From_Controlled_Operation. Update the
|
||
signature of Raise_From_Controlled_Operation by adding flag From_Abort.
|
||
Add False as the actual to From_Abort in the generated call to
|
||
Raise_From_Controlled_Operation.
|
||
|
||
2011-08-04 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
|
||
so that the ali file name can be retrieved from outside of this package.
|
||
* back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
|
||
doing nothing in the general case, but used to update the object file
|
||
timestamp if directly generated by the backend.
|
||
* gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
|
||
to a later time than the ali file one.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
|
||
entities whose body contains an Annotate pragma which forces formal
|
||
proof on this body.
|
||
* sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
|
||
sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
|
||
Mark_Non_ALFA_Subprogram to pass in a message and node.
|
||
* sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
|
||
(Forma_Proof, On) which sets the flag Formal_Proof_On in the
|
||
surrounding subprogram.
|
||
* sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
|
||
Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
|
||
as not in ALFA is annotated with Formal_Proof being On, then an error
|
||
is issued based on the additional parameters for message and node.
|
||
* snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
|
||
Finalize_Address when CodePeer is enabled.
|
||
|
||
2011-08-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
|
||
the latter returns a pointer to a static buffer which is deallocated
|
||
at the end of the routine.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
|
||
after index creation; mark unconstrained base array type generated as
|
||
being in/not in ALFA as well
|
||
(Make_Index): mark subtype created as in/not in ALFA
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
|
||
over a loop as in/not in ALFA, depending on its type and form of loop
|
||
iteration.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
|
||
directly to False on .NET and JVM.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
|
||
constraint that subtype must come from source code to be in ALFA, so
|
||
that anonymous subtypes can be in ALFA too.
|
||
|
||
2011-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
|
||
reference for ALFA mode.
|
||
* lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
|
||
procedure public so as to use it from formal verification back-end.
|
||
|
||
2011-08-04 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
|
||
invalid checks of the Parameter, making Remove_Switch not working
|
||
correctly.
|
||
|
||
2011-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* targparm.ads: Update header: no run-time exception is needed on this
|
||
file.
|
||
|
||
2011-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-fihema.adb: Use System.IO instead of GNAT.IO
|
||
|
||
2011-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
|
||
are forbidden in Compiler_Unit mode.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
|
||
library-level finalizers.
|
||
(Gen_Finalize_Library_C): Update the import string for library-level
|
||
finalizers.
|
||
(Gen_Finalize_Library_Defs_C): Update the definition name of a
|
||
library-level finalizer.
|
||
* exp_ch7.adb: Remove with and use clauses for Stringt.
|
||
(Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
|
||
Spec_Decl. Add local variable Body_Id. The names of library-level
|
||
finalizers are now manually fully qualified and are no longer external.
|
||
A single name is now capable of servicing .NET, JVM and non-VM targets.
|
||
Pragma Export is no longer required to provide visibility for the name.
|
||
(Create_Finalizer_String): Removed.
|
||
(New_Finalizer_Name): New routine which mimics New_..._Name.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
|
||
elaboration counter to Standard_Short_Integer.
|
||
* sem_util.adb (Build_Elaboration_Entity): Likewise.
|
||
* bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
|
||
(Gen_Elab_Externals_C): Likewise.
|
||
|
||
2011-08-04 Ed Falis <falis@adacore.com>
|
||
|
||
* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
|
||
system-vxworks-ppc.ads, system-vxworks-m68k.ads,
|
||
system-vxworks-mips.ads, system-vxworks-x86.ads
|
||
(Always_Compatible_Rep): set to False for all VxWorks targets.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
|
||
Add support for overriding the Project_Path in aggregate projects.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cofove.ads: Minor reformatting.
|
||
|
||
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
|
||
on the generated code.
|
||
(Build_Finalize_Statements): Update the comment on the generated code.
|
||
(Build_Initialize_Statements): Update the comment on the generated code.
|
||
(Build_Object_Declarations): Add local variable Result. The object
|
||
declarations are now built in sequence.
|
||
* rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
|
||
RE_Unit_Table.
|
||
|
||
2011-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, alfa.adb, alfa.ads: Minor reformatting.
|
||
|
||
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Elaboration_Entity): Document new definition and use.
|
||
(Elaboration_Entity_Required): Adjust to above change.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
|
||
* exp_ch12.adb: And with and use for Snames.
|
||
(Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
|
||
* exp_util.adb (Set_Elaboration_Flag): Likewise.
|
||
* sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
|
||
<Check_Unit_Name>: Deal with N_Expanded_Name.
|
||
<Attribute_Elaborated>: Extend to all unit names.
|
||
* sem_elab.adb: And with and use for Uintp.
|
||
(Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
|
||
* sem_util.ads (Build_Elaboration_Entity): Adjust comment.
|
||
* sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
|
||
* bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
|
||
from Gen_Adainit_Ada.
|
||
(Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
|
||
(Gen_Adafinal_Ada): Remove redundant test. In the non-main program
|
||
case, do not call System.Standard_Library.Adafinal; instead call
|
||
finalize_library if needed.
|
||
(Gen_Adafinal_C): Likewise.
|
||
(Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
|
||
non-main program case.
|
||
(Gen_Adainit_C): Generate a couple of external declarations here.
|
||
In the main program case, set SSL.Finalize_Library_Objects.
|
||
(Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
|
||
(Gen_Elab_Calls_C): Likewise.
|
||
(Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
|
||
(Gen_Finalize_Library_C): Likewise. Generate a full function.
|
||
(Gen_Main_C): Put back call to Ada_Final and don't finalize library
|
||
objects here.
|
||
(Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
|
||
if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
|
||
Gen_Adafinal_Ada.
|
||
(Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
|
||
if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
|
||
of external declarations. Call Gen_Finalize_Library_C.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
|
||
Compute_Compilation_Phases): new subprogram.
|
||
(Builder_Data, Builder_Project_Tree_Data): new subprogram and type
|
||
The number of mains as well as the various compilation phases that
|
||
need to be run are now project tree specific, since various
|
||
aggregated trees might have different requirements. In particular,
|
||
they do not all require bind or link phases.
|
||
|
||
2011-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
|
||
(Project_Tree_Appdata): New type.
|
||
It is now possible to associate application-specific data to a project
|
||
tree. In particular, this is used in the gprbuild builder to avoid a
|
||
number of global tables and htables, especially now that there can be
|
||
several project trees loaded at once because of aggregate projects.
|
||
(Debug_Name): new procedure.
|
||
* projects.texi: Clarify syntax of "**" for Source_Dirs
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
|
||
the "roots" for a main.
|
||
(Fill_From_Project): add support for aggregate projects. Main units
|
||
in aggregated projects are now automatically added in the list of
|
||
files to build (although this fails later on in gprbuild, because
|
||
these files are not using the root proejct tree, so this needs
|
||
further cleanup)
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
|
||
conditional expression in ALFA.
|
||
* sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
|
||
expressions as not in ALFA.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cofove.adb: Minor reformatting.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
|
||
(Insert_Project_Sources, Insert_withed_Sources_For): moved from the
|
||
gprbuild sources.
|
||
These packages are more logically placed in the Queue package, since
|
||
they manipulate the queue. It is also likely that they can be adapted
|
||
for gnatmake, thus sharing more code.
|
||
(Finish_Program, Fail_Program): moved from the gprbuild sources, so
|
||
that we could move the above.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* errutil.adb (Finalize): clean up the list of error messages on exit.
|
||
Calling this subprogram multiple times will no longer show duplicate
|
||
error messages on stderr.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
|
||
Getopt_Switches when we have already define a command line
|
||
configuration.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
|
||
in ALFA. Instead, they are considered as assertions to prove.
|
||
* sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
|
||
nodes as not in ALFA. Instead, include conditional expressions in ALFA
|
||
if they have no ELSE part, or if they occur in pre- and postconditions,
|
||
where the Condition cannot have side-effects in ALFA
|
||
(Analyze_Membership_Op): do not mark such nodes as not in ALFA
|
||
(Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
|
||
Instead, include type conversion between scalar types in ALFA.
|
||
* sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
|
||
if-and-only-if its type is in ALFA.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.adb, get_scos.adb, put_scos.adb
|
||
New code letter for decisions: G (entry guard)
|
||
* par_sco.adb
|
||
(Traverse_Subprogram_Body): Rename to...
|
||
(Traverse_Subprogram_Or_Task_Body): New subrpogram.
|
||
(Traverse_Protected_Body): New subprogram
|
||
(Traverse_Declarations_Or_Statements): Add traversal of task bodies,
|
||
protected bodies and entry bodies.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
|
||
entities with get/set subprograms, which is set on procedure entities
|
||
generated by the compiler for a postcondition.
|
||
* sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
|
||
* alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
|
||
entity for a declaration
|
||
(Get_Unique_Entity_For_Decl): new function returning an entity which
|
||
represents a declaration, so that matching spec and body have the same
|
||
entity.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
|
||
a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
|
||
library-level because retriction No_Implicit_Dynamic_Code in the
|
||
front-end prevents its definition as a local subprogram
|
||
(Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
|
||
for reuse in other contexts
|
||
(Traverse_Declarations_Or_Statements,
|
||
Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
|
||
Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
|
||
procedures take a callback parameter to be called on all declarations
|
||
* lib-xref.ads
|
||
(Traverse_All_Compilation_Units): new generic function to traverse a
|
||
compilation unit and call a callback parameter on all declarations
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Interface_Name): Allow duplicated export names
|
||
in Java since they are always enclosed in a namespace that
|
||
differentiates them, and overloaded entities are supported by the VM.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Determine_Range): If a computed bound of an operation is
|
||
outside the range of the base type of the expression, and overflow
|
||
checks are enabled, the result is unknown and cannot be used for any
|
||
subsequent constant folding.
|
||
* sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
|
||
unknown, so is the result of the comparison.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
|
||
From_Abort. When finalization was triggered by an abort, propagate
|
||
Standard'Abort_Signal rather than Program_Error.
|
||
* a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
|
||
From_Abort.
|
||
* a-except.adb (Raise_From_Controlled_Operation): Add new formal
|
||
From_Abort. When finalization was triggered by an abort, propagate
|
||
Standard'Abort_Signal rather than Program_Error.
|
||
* a-except.ads:(Raise_From_Controlled_Operation): Add new formal
|
||
From_Abort.
|
||
* exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
|
||
Abort_Id. Update the calls to Build_Object_Declarations and
|
||
Build_Raise_Statement to include Abort_Id.
|
||
(Build_Adjust_Statements): New local variable Abort_Id. Update the
|
||
calls to Build_Object_Declarations and Build_Raise_Statement to include
|
||
Abort_Id.
|
||
(Build_Finalize_Statements): New local variable Abort_Id. Update the
|
||
calls to Build_Object_Declarations and Build_Raise_Statement to include
|
||
Abort_Id.
|
||
(Build_Components): Create an entity for Abort_Id when exceptions are
|
||
allowed on the target.
|
||
(Build_Finalizer): New local variable Abort_Id.
|
||
(Build_Initialize_Statements): New local variable Abort_Id. Update the
|
||
calls to Build_Object_Declarations and Build_Raise_Statement to include
|
||
Abort_Id.
|
||
(Build_Object_Declarations): Add new formal Abort_Id. Create the
|
||
declaration of flag Abort_Id to preserve the original abort status
|
||
before finalization code is executed.
|
||
(Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
|
||
runtime routine Raise_From_Controlled_Operation.
|
||
(Create_Finalizer): Update the call to Build_Raise_Statement to include
|
||
Abort_Id. Update the call to Build_Object_Declarations to include
|
||
Abort_Id. Update the layout of the finalizer body.
|
||
(Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
|
||
(Process_Transient_Objects): New local variable Abort_Id. Remove the
|
||
clunky code to create all flags and objects related to
|
||
exception propagation and replace it with a call to
|
||
Build_Object_Declarations. Update the call to Build_Raise_Statement to
|
||
include Abort_Id.
|
||
* exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
|
||
Add new formal Abort_Id and associated comment on its use.
|
||
(Build_Raise_Statement): Add new formal Abort_Id and associated comment
|
||
on its use.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
|
||
Remove the clunky code to create all flags and objects related to
|
||
exception propagation and replace it with a call to
|
||
Build_Object_Declarations. Update the call to Build_Raise_Statement.
|
||
|
||
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* s-tassta.adb: Fix minor typos.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
|
||
lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
|
||
to packages. This ensures that the finalizer body will not end up
|
||
inside the freeze node.
|
||
(Process_Declarations): Add code to detect whether a freeze node has a
|
||
nested finalization collection.
|
||
|
||
2011-08-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
|
||
(Current_Session): Return a not null access to Session_Type.
|
||
(Default_Session): Likewise.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
|
||
exp_ch3.adb, exp_ch3.ads: Minor reformatting.
|
||
|
||
2011-08-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-awk.ads: Minor comment fix.
|
||
|
||
2011-08-03 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* tree_io.ads (ASIS_Version_Number): Update because of the changes in
|
||
the tree structure related to discriminant constraints.
|
||
Original_Discriminant cannot be used any more for computing the
|
||
defining name for the reference to a discriminant.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
|
||
function is not visibly tagged, this is not a dispatching call and
|
||
therfore is not Tag_Indeterminate, even if the function is marked as
|
||
dispatching on result.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch13.adb: Add with and use clauses for Restrict and Rident.
|
||
(Expand_N_Free_Statement): Add a guard to protect against run-times
|
||
which do not support controlled types.
|
||
* exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
|
||
against run-times which do not support controlled types.
|
||
* exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
|
||
against run-times which do not support controlled types.
|
||
* exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
|
||
against run-times which do not support controlled types.
|
||
* exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
|
||
protect against run-times which do not support controlled types.
|
||
|
||
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_intr.adb: Put back with and use clauses for Exp_Ch11.
|
||
(Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
|
||
modified in the source, to prevent spurious warnings when compiling
|
||
with -gnatg.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-except-2005.adb: Minor reformatting.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
|
||
is a renaming declaration in the private part of a package, do not emit
|
||
a warning that the with_clause could be moved because the renaming may
|
||
be used in the body or in a child unit.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
Propagate the Comes_From_Source attribute from the original return
|
||
object to the renaming.
|
||
|
||
2011-08-03 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Raise_Statement): Do not call
|
||
Raise_From_Controlled_Operation when this routine is not present in
|
||
the run-time library.
|
||
(Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
|
||
libraries (Ravenscar), tasks are non-terminating, and protected objects
|
||
and tasks can only appear at library level, so we do not want
|
||
finalization of protected objects nor tasks.
|
||
* exp_intr.adb: Minor clarification in comment.
|
||
bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
|
||
Gen_Output_File_C): Remove references to finalization of library-level
|
||
objects when using restricted run-time libraries.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Discriminant_Constraints): Set
|
||
Original_Discriminant only if the parent type is a generic formal.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch13.adb: Add with and use clause for Targparm;
|
||
(Expand_N_Free_Statement): Prevent the generation of a custom
|
||
Deallocate on .NET/JVM targets since this requires pools and address
|
||
arithmetic.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): When compiling for
|
||
.NET/JVM targets, attach the newly allocated object to the access
|
||
type's finalization collection. Do not generate a call to
|
||
Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
|
||
exist in the runtime.
|
||
(Expand_N_Allocator): When compiling for .NET/JVM targets, do not
|
||
create a custom Allocate for object that do not require initialization.
|
||
Attach a newly allocated object to the access type's finalization
|
||
collection on .NET/JVM.
|
||
* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
|
||
assignment of controlled types on .NET/JVM. The two hidden pointers
|
||
Prev and Next and stored and later restored after the assignment takes
|
||
place.
|
||
* exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
|
||
kludge for .NET/JVM to recognize a particular piece of code coming from
|
||
Heap_Management and change the call to Finalize into Deep_Finalize.
|
||
* exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
|
||
finalization collections on .NET/JVM only for types derived from
|
||
Controlled. Separate the association of storage pools with a collection
|
||
and only allow it on non-.NET/JVM targets.
|
||
(Make_Attach_Call): New routine.
|
||
(Make_Detach_Call): New routine.
|
||
(Process_Object_Declarations): Suppress the generation of
|
||
build-in-place return object clean up code on .NET/JVM since it uses
|
||
pools.
|
||
* exp_ch7.ads (Make_Attach_Call): New routine.
|
||
(Make_Detach_Call): New routine.
|
||
* exp_intr.adb Add with and use clause for Targparm.
|
||
(Expand_Unc_Deallocation): Detach a controlled object from a collection
|
||
on .NET/JVM targets.
|
||
* rtsfind.ads: Add entries RE_Attach, RE_Detach and
|
||
RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
|
||
* snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
|
||
names used in finalization.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-fihema.adb: Add with and use clauses for System.Soft_Links.
|
||
(Attach, Detach): Lock the current task when chaining an object onto a
|
||
collection.
|
||
|
||
2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
|
||
Rewritten to create the message strings when the exception is not
|
||
raised by an abort during finalization.
|
||
* a-except.ads, a-except-2005.ads: Add pragma Export for procedure
|
||
Raise_From_Controlled_Operation and update its associated comment.
|
||
* a-fihema.ads, a-fihema.adb: New GNAT unit.
|
||
Ada.Finalization.Heap_Management provides key functionality
|
||
associated with controlled objects on the heap, their creation,
|
||
finalization and reclamation. Type Finalization_Collection is
|
||
effectively a wrapper which sits ontop of a storage pool and performs
|
||
all necessary bookkeeping for all the objects it contains. Each
|
||
access-to-controlled or access-to-class-wide type receives a collection
|
||
as part of its expansion. The compiler generates buffer code and
|
||
invokes Allocate / Deallocate to create and destroy allocated
|
||
controlled objects.
|
||
* a-finali.adb ("="): Removed.
|
||
* a-finali.ads ("="): Removed. Controlled types no longer carry hidden
|
||
fields Prev and Next.
|
||
* ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
|
||
A library unit with at least one controlled object on the library level
|
||
has a special finalizer which is invoked by the binder. To signal this,
|
||
ali files carry field PF.
|
||
* ali.ads: New field in type Unit_Record called Has_Finalizer. Add
|
||
associated comment on field usage.
|
||
* a-tags.adb (Get_RC_Offset): Removed.
|
||
(Needs_Finalization): New routine.
|
||
* a-tags.ads: Update the structure of the GNAT dispatch tables.
|
||
Dispatch tables now carry field Needs_Finalization which provides
|
||
runtime indication whether a type is controlled or has controlled
|
||
components or both. Remove field RC_Offset.
|
||
(Get_RC_Offset): Removed along with its associated pragma Export.
|
||
Since tagged types with controlled components no longer carry hidden
|
||
field _controller, the special mechanism to retrieve its location is no
|
||
longer needed.
|
||
(Needs_Finalization): New routine.
|
||
* atree.ads, atree.adb (Elist24): New routine.
|
||
(Set_Elist24): New routine.
|
||
* atree.h: Add a define clause for Elist24.
|
||
* bindgen.adb New library-level variable Lib_Final_Built.
|
||
(Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
|
||
presence of a VM target, the routine generates calls to the proper
|
||
library finalization routine.
|
||
(Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
|
||
targets. Set the correct library finalization routine depending on
|
||
whether the library has controlled objects or this is a VM compilation.
|
||
(Gen_Finalize_Library_Ada): New routine. This procedure generates calls
|
||
to library-level finalizers of compiled units in reverse order of
|
||
elaboration. It also produces exception management code and reraises a
|
||
potential exception after all units have been finalized.
|
||
(Gen_Finalize_Library_C): New routine. This procedure generates calls to
|
||
library-level finalizers of compiled units in reverse order of
|
||
elaboration.
|
||
(Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
|
||
definitions of all library-level finalizers available to the compilation
|
||
(Gen_Main_Ada): Directly call Adafinal which now contails all target
|
||
dependent code.
|
||
(Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
|
||
System.Standard_Library.Adafinal directly. If the library needs
|
||
finalization actions, create the sequence of finalization calls.
|
||
(Gen_Output_File_Ada): Alphabetize local variables and constants.
|
||
Generate a with clause for System.Soft_Links when compiling for a VM.
|
||
Remove the code which imports System.Standard_Library.Adafinal as
|
||
Do_Finalize. Generate the library finalization routine.
|
||
(Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
|
||
If the library needs finalization actions, create all the definitions
|
||
of library- level finalizers.
|
||
(Has_Finalizer): New routine. Determines whether at least one compiled
|
||
unit has a library-level finalizer.
|
||
Add type Qualification_Mode.
|
||
(Set_Unit_Name): Add a formal which controls the replacement of a dot.
|
||
* einfo.adb: New usage of field 15 as Return_Flag.
|
||
Remove Finalization_Chain_Entity from the usages of field 19.
|
||
Remove Associated_Final_Chain from the usages of field 23.
|
||
New usage of field 23 as Associated_Collection.
|
||
New usage of field 24 as Finalizer.
|
||
New usage of flag 252 as Is_Processed_Transient.
|
||
(Associated_Final_Chain): Removed.
|
||
(Associated_Collection): New routine.
|
||
(Finalization_Chain_Entity): Removed.
|
||
(Finalizer): New routine.
|
||
(Is_Finalizer): New routine.
|
||
(Is_Processed_Transient): New routine.
|
||
(Return_Flag): New routine.
|
||
(Set_Associated_Final_Chain): Removed.
|
||
(Set_Associated_Collection): New routine.
|
||
(Set_Finalization_Chain_Entity): Removed.
|
||
(Set_Finalizer): New routine.
|
||
(Set_Is_Processed_Transient): New routine.
|
||
(Set_Return_Flag): New routine.
|
||
(Write_Entity_Flags): Include Is_Processed_Transient to the list of
|
||
displayed flags.
|
||
(Write_Field8_Name): Alphabetize the output.
|
||
(Write_Field11_Name): Alphabetize the output.
|
||
(Write_Field12_Name): Alphabetize the output.
|
||
(Write_Field13_Name): Alphabetize the output.
|
||
(Write_Field14_Name): Alphabetize the output.
|
||
(Write_Field15_Name): Alphabetize the output.
|
||
(Write_Field16_Name): Alphabetize the output.
|
||
(Write_Field17_Name): Alphabetize the output.
|
||
(Write_Field18_Name): Alphabetize the output.
|
||
(Write_Field19_Name): Alphabetize the output. Remove the output of
|
||
Finalization_Chain_Entity.
|
||
(Write_Field20_Name): Alphabetize the output.
|
||
(Write_Field21_Name): Alphabetize the output.
|
||
(Write_Field22_Name): Alphabetize the output.
|
||
(Write_Field23_Name): Alphabetize the output. Remove the output of
|
||
Associated_Final_Chain. Add output for Associated_Collection.
|
||
(Write_Field24_Name): Alphabetize the output.
|
||
(Write_Field25_Name): Add output for Finalizer.
|
||
(Write_Field26_Name): Alphabetize the output.
|
||
(Write_Field27_Name): Alphabetize the output.
|
||
(Write_Field28_Name): Alphabetize the output.
|
||
* einfo.ads: Add new field description for Associated_Collection and
|
||
its uses in nodes.
|
||
Remove Associated_Final_Chain and its uses in nodes.
|
||
Remove Finalization_Chain_Entity and its uses in nodes.
|
||
Add new field description for Finalizer and its uses in nodes.
|
||
Add new synthesized attribute Is_Finalizer.
|
||
Add new flag description for Is_Processed_Transient and its uses in
|
||
nodes.
|
||
Add new field description for Return_Flag and its uses in nodes.
|
||
(Associated_Final_Chain): Removed along with its pragma Inline.
|
||
(Associated_Collection): New routine and pragma Inline.
|
||
(Finalization_Chain_Entity): Removed along with its pragma Inline.
|
||
(Finalizer): New routine and pragma Inline.
|
||
(Is_Finalizer): New routine and pragma Inline.
|
||
(Is_Processed_Transient): New routine and pragma Inline.
|
||
(Return_Flag): New routine and pragma Inline.
|
||
(Set_Associated_Final_Chain): Removed along with its pragma Inline.
|
||
(Set_Associated_Collection): New routine and pragma Inline.
|
||
(Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
|
||
(Set_Finalizer): New routine and pragma Inline.
|
||
(Set_Is_Processed_Transient): New routine and pragma Inline.
|
||
(Set_Return_Flag): New routine and pragma Inline.
|
||
* exp_aggr.adb: Alphabetize subprograms.
|
||
(Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
|
||
(Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
|
||
associated comments. Remove local variables External_Final_List and
|
||
Attach.
|
||
Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
|
||
Ancestor. Remove the retrieval of finalization lists. Update the call to
|
||
Make_Adjust_Call.
|
||
(Convert_Aggr_In_Allocator): Remove the retrieval of finalization
|
||
lists. Update the call to Late_Expansion.
|
||
(Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
|
||
(Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
|
||
(Gen_Assign): Remove the retrieval of the finalization list used to
|
||
build the assignment. Update the calls to Make_Init_Call and
|
||
Make_Adjust_Call.
|
||
(Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
|
||
Remove the mechanism to determine attachment levels and finalization
|
||
list retrieval. Remove the processing for coextensions.
|
||
(Init_Controller): Removed. Controllers no longer exist.
|
||
(Late_Expansion): Remove formals Flist and Obj along with their
|
||
associated comments. Update the calls to Build_Record_Aggr_Code and
|
||
Build_Array_Aggr_Code.
|
||
* exp_ch13.adb (Expand_N_Free_Statement): New routine.
|
||
(Expand_N_Freeze_Entity): Add special processing for finalizers which
|
||
appear in entry bodies, protected subprograms and task bodies.
|
||
* exp_ch13.ads (Expand_N_Free_Statement): New routine.
|
||
* exp_ch3.adb (Add_Final_Chain): Removed.
|
||
(Build_Array_Init_Proc): Alphabetize local variables.
|
||
(Build_Assignment): Alphabetize local variables. Update the call to
|
||
Maked_Adjust_Call.
|
||
(Build_Class_Wide_Master): Rename local variables to better reflect
|
||
their role.
|
||
(Build_Discriminant_Assignments): Code reformatting.
|
||
(Build_Init_Call_Thru): Code reformatting.
|
||
(Build_Init_Procedure): Code reformatting. Generate a special version
|
||
of Deep_Finalize which is capable of finalizing all initialized
|
||
components and ignore the rest.
|
||
(Build_Init_Statements): Rename local variables to better reflect their
|
||
role.
|
||
Reimplement the mechanism to include the creation and update of an index
|
||
variable called a "counter". It is used as a bookmark for tracing
|
||
initialized and non-initialized components.
|
||
(Build_Initialization_Call): Remove local variable Controller_Typ.
|
||
Alphabetize all local variables. Remove the initialization of the
|
||
record controller and update the call to Make_Init_Call.
|
||
(Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
|
||
New local variable Counter.
|
||
(Constrain_Array): Alphabetize.
|
||
(Expand_Freeze_Array_Type): Create a collection instead of a
|
||
finalization list.
|
||
(Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
|
||
Finalize_Address which is used in conjunction with allocated controlled
|
||
objects.
|
||
(Expand_N_Object_Declaration): Remove the creation of a finalization
|
||
list for anonymous access types. Update the calls to Make_Init_Call and
|
||
Make_Adjust_Call.
|
||
(Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
|
||
retrieval of finalization lists. Remove the expansion of the record
|
||
controller. Create TSS primitive Finalize_Address used in conjunction
|
||
with controlled objects on the heap. Create finalization collections
|
||
for access-to-controlled record components.
|
||
(Expand_Record_Controller): Removed.
|
||
(Freeze_Type): Remove the freezing of record controllers. Freezing of
|
||
class-wide types now requires additional processing. Create
|
||
finalization collections for access-to-controlled types.
|
||
(Increment_Counter): New routine.
|
||
(Make_Counter): New routine.
|
||
(Make_Eq_If): Remove the mention of Name_uController.
|
||
(Make_Predefined_Primitive_Specs): There is no longer need to skip
|
||
types coming from System.Finalization_Root.
|
||
(Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
|
||
(Predefined_Primitive_Bodies): There is no longer need to skip types
|
||
coming from System.Finalization_Root.
|
||
(Stream_Operation_OK): Do not generate stream routines for
|
||
type Ada.Finalization.Heap_Management.Finalization_Collection.
|
||
* exp_ch3.ads: Alphabetize subprograms.
|
||
* exp_ch4.adb: Remove with and use clause for Sem_Ch8.
|
||
Add with and use clause for Lib.
|
||
(Complete_Coextension_Finalization): Removed.
|
||
(Complete_Controlled_Allocation): New routine. Create a finalization
|
||
collection for anonymous access-to-controlled types. Create a custom
|
||
Allocate which interfaces with the back end and the machinery in
|
||
Heap_Management.
|
||
(Expand_Allocator_Expression): Add necessary calls to
|
||
Complete_Controlled_Allocation. Remove the retrieval of finalization
|
||
lists. Update the calls to Make_Adjust_Call. Generate a call to
|
||
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
|
||
the associated collection.
|
||
(Expand_N_Allocator): Remove the processing for dynamic coextensions.
|
||
Code clean up. Remove the retrieval of finalization lists and
|
||
attachment levels.
|
||
Update the call to Make_Init_Call. Generate a call to
|
||
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
|
||
the associated collection.
|
||
(Get_Allocator_Final_List): Removed. Finalization lists are not
|
||
available.
|
||
(Suitable_Element): Remove the mention of Name_uController.
|
||
* exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
|
||
(Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
|
||
the left hand side, carry out the assignment and adjust the left hand
|
||
side.
|
||
* exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
|
||
(Add_Collection_Actual_To_Build_In_Place_Call): New routine.
|
||
(BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
|
||
BIP_Collection and BIPcollection.
|
||
(Build_Heap_Allocator): New routine used to allocate the return object
|
||
of a build-in-place function onto a collection.
|
||
(Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
|
||
(Expand_Call): Do not replace direct calls to Deep routines with their
|
||
aliases.
|
||
(Expand_N_Extended_Return_Statement): Give all variables shorter names
|
||
and update their occurrences. Add a special return flag to monitor the
|
||
[ab]normal execution of the function. The flag is set right before the
|
||
return statement.
|
||
Rewrite the mechanism used to allocate a build-in-place return object
|
||
on the heap or on a storage pool.
|
||
(Is_Direct_Deep_Call): New routine.
|
||
(Make_Build_In_Place_Call_In_Allocator): Add a collection to a
|
||
build-in-place function call instead of a final list. Build a call to
|
||
Set_Finalize_Address_Ptr to decorate the associated collection.
|
||
(Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
|
||
order to name the build-in-place function call's result for later
|
||
finalization. Add a collection to a build-in-place function call
|
||
instead of a final list.
|
||
(Make_Build_In_Place_Call_In_Assignment): Add a collection to a
|
||
build-in-place function call instead of a final list. Remove the code
|
||
which moves one final list and transforms it into the actual in a
|
||
nested build-in-place call.
|
||
(Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
|
||
build-in-place function call instead of a final list.
|
||
(Move_Final_List): Removed.
|
||
(Needs_BIP_Collection): New routine.
|
||
(Needs_BIP_Final_List): Removed.
|
||
* exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
|
||
enumeration type BIP_Formal_Kind.
|
||
Update the related comment.
|
||
(Needs_BIP_Collection): New routine.
|
||
(Needs_BIP_Final_List): Removed.
|
||
* exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
|
||
and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
|
||
majority of subprograms in this unit. Add Name_Finalize_Address to
|
||
array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
|
||
(Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
|
||
statements for an array type.
|
||
(Build_Adjust_Statements): Create the adjust statements for a record
|
||
type.
|
||
(Build_Cleanup_Statements): New routine. A procedure which given any
|
||
construct containing asynchronous calls, references to _master, or is a
|
||
task body, a task allocation or a protected body produces the necessary
|
||
runtime calls to clean up these constructs.
|
||
(Build_Exception_Handler): New routine.
|
||
(Build_Final_List): Removed.
|
||
(Build_Finalization_Collection): New routine. A core procedure which
|
||
creates a collection to service heap allocated controlled objects
|
||
associated with an access-to-controlled type.
|
||
(Build_Finalize_Statements): Create the finalization statements for a
|
||
record types.
|
||
(Build_Finalizer): New routine. A core procedure which given any
|
||
construct with declarations and/or statements detects all objects which
|
||
need any type of clean up (controlled objects, protected objects) and
|
||
generates all necessary code to clean up the said objects in the proper
|
||
order.
|
||
(Build_Finalizer_Call): New routine.
|
||
(Build_Initialize_Statements): Create the initialization statements for
|
||
an array type. The generated routine contains code to finalize partially
|
||
initialized arrays.
|
||
(Build_Object_Declarations): New routine.
|
||
(Build_Raise_Statement): New routine.
|
||
(Clean_Simple_Protected_Objects): Removed.
|
||
(Controller_Component): Removed.
|
||
(Enclosing_Function): New routine.
|
||
(Expand_Cleanup_Actions): Create a finalizer for a construct which has
|
||
either declarations or statements or both.
|
||
(Expand_N_Package_Body): Create a finalizer for a non-generic package.
|
||
(Expand_N_Package_Declaration): Create a finalizer for a non-generic
|
||
package.
|
||
(Find_Final_List): Removed.
|
||
(Global_Flist_Ref): Removed.
|
||
(In_Finalization_Root): Removed.
|
||
(Insert_Actions_In_Scope_Around): Determine the range of the transient
|
||
scope in terms of tree nodes. Process all transient variables within
|
||
that range.
|
||
(Make_Adjust_Call): Rewritten. There is no longer an attach call
|
||
generated after the adjust.
|
||
(Make_Attach_Call): Removed.
|
||
(Make_Call): New routine.
|
||
(Make_Clean): Removed.
|
||
(Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
|
||
build routines.
|
||
(Make_Deep_Proc): Rewritten to generate the new profile signature used
|
||
in Deep routines.
|
||
(Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
|
||
build routines.
|
||
(Make_Final_Call): Modified to simply create a call to either
|
||
Deep_Finalize or Finalize.
|
||
(Make_Finalize_Address_Body): New routine.
|
||
(Make_Finalize_Address_Stmts): New routine. A function which produces
|
||
TSS primitive Finalize_Address used in conjunction with heap allocated
|
||
controlled objects.
|
||
(Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
|
||
(Make_Init_Call): Rewritten. There is no longer an attach call
|
||
generated after initialization.
|
||
(Make_Local_Deep_Finalize): New routine.
|
||
(Make_Set_Finalize_Address_Ptr_Call): New routine.
|
||
(Make_Transient_Block): Remove the finalization list retrieval and
|
||
manipulation.
|
||
(Needs_Finalization): Moved to Exp_Util.
|
||
(Parent_Field_Type): New routine.
|
||
(Preprocess_Components): New routine.
|
||
(Process_Transient_Objects): New routine.
|
||
(Wrap_HSS_In_Block): New routine.
|
||
(Wrap_Transient_Declaration): Remove finalization list management and
|
||
controller insertion.
|
||
(Wrap_Transient_Expression): Code reformatting.
|
||
(Wrap_Transient_Statement): Code reformatting.
|
||
* exp_ch7.ads (Build_Final_List): Removed.
|
||
(Build_Finalization_Collection): New routine.
|
||
(Build_Raise_Statement): New routine.
|
||
(Controller_Component): Removed.
|
||
(Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
|
||
(Find_Final_List): Removed.
|
||
(In_Finalization_Root): Removed.
|
||
(Is_Simple_Protected_Type): Update related comment.
|
||
(Make_Adjust_Call): New parameter profile and associated comments.
|
||
(Make_Attach_Call): Removed.
|
||
(Make_Final_Call): New parameter profile and associated comments.
|
||
(Make_Finalize_Address_Body): New routine.
|
||
(Make_Init_Call): New parameter profile and associated comments.
|
||
(Make_Local_Deep_Finalize): New routine.
|
||
(Make_Set_Finalize_Address_Ptr_Call): New routine.
|
||
(Needs_Finalization): Moved to Exp_Util.
|
||
* exp_ch9.adb (Add_Object_Pointer): Code reformatting.
|
||
(Expand_N_Protected_Body): Remove the handling of finalization lists.
|
||
(Find_Protection_Type): Moved to Exp_Util.
|
||
* exp_disp.adb: Remove with and use clauses for Exp_Ch7.
|
||
(Make_DT): Update sequence of dispatch table initialization. Remove the
|
||
initialization of field RC_Offset. Add initialization of field Needs_
|
||
Finalization.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
|
||
Reimplement how an object is first finalized, then deallocated.
|
||
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
|
||
Code reformatting.
|
||
* exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
|
||
Register TSS_Finalize_Address with type TSS_Names.
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
|
||
procedure provides the interface between an allocation / deallocation
|
||
and the support machinery in Ada.Finalization.Heap_Management.
|
||
(Find_Init_Call): Code reformatting.
|
||
(Find_Init_Call_In_List): Code reformatting.
|
||
(Find_Protection_Type): Moved from Exp_Ch9.
|
||
(Find_Prim_Op): Reimplement to add preference of recovered primitive.
|
||
(Has_Controlled_Coextensions): Removed.
|
||
(Has_Controlled_Objects): New routine.
|
||
(In_Library_Level_Package_Body): New routine.
|
||
(Insert_Action_After): New routine.
|
||
(Is_Finalizable_Transient): New routine. This predicate determines
|
||
whether an object declaration is one of the many variants of controlled
|
||
transients.
|
||
(Is_Null_Access_BIP_Func_Call): New routine.
|
||
(Is_Non_BIP_Func_Call): New routine.
|
||
(Is_Related_To_Func_Return): New routine.
|
||
(Needs_Finalization): Moved from Exp_Ch7.
|
||
* exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
|
||
(Find_Protection_Type): Moved from Exp_Ch9.
|
||
(Has_Controlled_Coextensions): Removed.
|
||
(Has_Controlled_Objects): New routine.
|
||
(In_Library_Level_Package_Body): New routine.
|
||
(Insert_Action_After): New routine.
|
||
(Is_Finalizable_Transient): New routine.
|
||
(Is_Null_Access_BIP_Func_Call): New routine.
|
||
(Is_Non_BIP_Func_Call): New routine.
|
||
(Is_Related_To_Func_Return): New routine.
|
||
(Needs_Finalization): Moved from Exp_ch7.
|
||
* expander.adb (Expand): Add a case for N_Free_Statement.
|
||
* freeze.adb (Freeze_All): Replace the generation of a finalization
|
||
list with a collection for access-to-controlled types.
|
||
(Freeze_Entity): Code reformatting.
|
||
(Freeze_Record_Type): Remove the freezing of a record controller
|
||
component.
|
||
(Freeze_Subprogram): Code reformatting.
|
||
* inline.adb (Cleanup_Scopes): Remove the reset of the scope
|
||
finalization list.
|
||
* lib-writ.adb (Write_Unit_Information): Output "PF" when a package
|
||
has a library-level finalizer.
|
||
* lib-writ.ads: Add "PF" to the sequence of unit attributes.
|
||
* a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
|
||
* Makefile.rtl: Remove a-filico and s-finimp from the list of object
|
||
files. Add a-fihema to the list of object files.
|
||
* par-ch4.adb:
|
||
Alphabetize the associations in type Is_Parameterless_Attribute.
|
||
* rtsfind.ads: Ada.Finalization_List.Controller and
|
||
System.Finalization_Implementation are no longer a GNAT unit.
|
||
Update the range of type Ada_Finalization_Child. Remove the following
|
||
recoverable entities:
|
||
|
||
RE_Attach_To_Final_List
|
||
RE_Deep_Tag_Attach
|
||
RE_Finalize_List
|
||
RE_Finalize_One
|
||
RE_Finalizable_Ptr_Ptr
|
||
RE_Global_Final_List
|
||
RE_Limited_Record_Controller
|
||
RE_List_Controller
|
||
RE_Move_Final_List
|
||
RE_Record_Controller
|
||
RE_Simple_List_Controller
|
||
|
||
Add the following recoverable entities:
|
||
|
||
RE_Add_Offset_To_Address
|
||
RE_Allocate
|
||
RE_Base_Pool
|
||
RE_Deallocate
|
||
RE_Exception_Identity
|
||
RE_Finalization_Collection
|
||
RE_Finalization_Collection_Ptr
|
||
RE_Needs_Finalization
|
||
RE_Save_Library_Occurrence
|
||
RE_Set_Finalize_Address_Ptr
|
||
RE_Set_Storage_Pool_Ptr
|
||
RE_Storage_Count
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
|
||
Name_uController.
|
||
* sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
|
||
(First_Stored_Discriminant): Remove the mention of Name_uController.
|
||
* sem_aux.ads: Comment reformatting.
|
||
* sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
|
||
to redecorate an already existing class-wide type.
|
||
(Decorate_Tagged_Type): New parameter profile and associated comment.
|
||
Create a "shadow class-wide type" for a shadow entity.
|
||
* sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
|
||
of the final chain along with the associated comment.
|
||
* sem_ch3.adb (Access_Type_Declaration): Add new local variable
|
||
Full_Desig and set it to the full view of the designated type.
|
||
Initialize the finalization collection to empty.
|
||
(Build_Derived_Record_Type): Alphabetize local variables. Code
|
||
reformatting.
|
||
(Collect_Fixed_Components): Remove the mention of Name_uController.
|
||
(Create_Constrained_Components): Remove the mention of Name_uController.
|
||
(Make_Class_Wide_Type): Add specialized code to redecorate an existing
|
||
class-wide type of a shadow entity.
|
||
(Process_Full_View): Update the machinery which marks type
|
||
Limited_Controlled's entity as limited.
|
||
* sem_ch4.adb (Analyze_One_Call): Code reformatting.
|
||
* sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
|
||
list, instead make a collection build-in-place formal.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
|
||
a designated type in order to establish a match between the renaming
|
||
and the renamed entity.
|
||
(Find_Selected_Component): Add guard to prevent spurious exceptions
|
||
from being raised on .NET/JVM.
|
||
* sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
|
||
to the list of primitive that need special processing. Update arrays
|
||
C_Names and D_Names.
|
||
(Replace_Types): Handle class-wide types.
|
||
* sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
|
||
different parameter profile, look at the first formal.
|
||
* sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
|
||
use clauses for Exp_Util.
|
||
* sem_res.adb: Remove with and use clauses for Elists.
|
||
(Propagate_Coextensions): Removed.
|
||
(Resolve_Allocator): Do not propagate the list of coextensions from one
|
||
allocator to another.
|
||
* sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
|
||
Deaccessed_T to Desig_Typ.
|
||
(Enter_Name): Remove the mention of Name_uController.
|
||
(Gather_Components): Remove the mention of Name_uController.
|
||
(Incomplete_Or_Private_View): New routine.
|
||
(Is_Coextension_Root): Removed.
|
||
(Is_Fully_Initialized_Type): Remove the mention of Name_uController.
|
||
* sem_util.ads (Incomplete_Or_Private_View): New routine.
|
||
(Is_Coextension_Root): Removed.
|
||
* s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
|
||
Controlled types are now derived from a null tagged record. Remove
|
||
types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
|
||
* sinfo.adb (Coextensions): Removed.
|
||
(Set_Coextensions): Removed.
|
||
* sinfo.ads: Remove Coextensions from the explanation of node fields
|
||
and its uses in nodes.
|
||
Update the field usage of N_Allocator.
|
||
(Coextensions): Removed along with its pragma Inline.
|
||
(Set_Coextensions): Removed along with its pragma Inline.
|
||
* snames.ads-tmpl: Remove names
|
||
|
||
Name_uClean
|
||
Name_uController
|
||
Name_uFinal_List
|
||
Name_uLocal_Final_List
|
||
Name_Finalization_Root
|
||
Name_Next
|
||
Name_Prev
|
||
|
||
Add names
|
||
|
||
Name_uFinalizer
|
||
Name_Finalize_Address
|
||
* s-pooglo.adb (Allocate): Add overriding indicator.
|
||
(Deallocate): Add overriding indicator.
|
||
(Storage_Size): Add overriding indicator.
|
||
* s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
|
||
than Finalize_Global_List.
|
||
(Null_Finalize_Global_List): Removed.
|
||
(Save_Library_Occurrence): New routine.
|
||
* s-soflin.ads: Remove variable Finalize_Global_List along with its
|
||
initialization. Add variable Finalize_Library_Objects along with its
|
||
pragma Export. Add variables Library_Exception and
|
||
Library_Exception_Set along with their pragma Export.
|
||
(Null_Finalize_Global_List): Removed.
|
||
(Save_Library_Occurrence): New routine.
|
||
* s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
|
||
rather than Finalize_Global_List.
|
||
* tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
|
||
of the constructed node.
|
||
|
||
2011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* link.c: Include "auto-host.h" before system headers.
|
||
|
||
2011-08-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Gnatmake): Add to table Library_Projs only library projects
|
||
that are not extended. Do not check if a library project that is
|
||
extended should be regenerated. Do not add to table Library_Paths the
|
||
libraries that are in extended projects. Link only with libraries that
|
||
are in libray projects that are not extended.
|
||
* prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
|
||
for a library project that is extended.
|
||
|
||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
|
||
conforming subprogram renamings that appear to be completions if they
|
||
are not fully conformant.
|
||
Such renamings are homographs but not completions.
|
||
* sem_type.adb (Disambiguate): Handle disambiguation of overloaded
|
||
names in a subprogram renaming that appears in an instance.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
|
||
not immutably limited, build actual subtype from expression to provide
|
||
proper bounds to caller.
|
||
|
||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor comment correction.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
|
||
returning a limited array, use an extended return statement.
|
||
|
||
2011-08-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Initialize): If --subdirs= is used, but no project file is
|
||
specified, attempt to create the specify subdir if it does not already
|
||
exist and use it as the object directory as if -D had been specified.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tpopsp-vms.adb: New file.
|
||
* s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
|
||
* gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
|
||
package.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
|
||
* sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
|
||
* sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
|
||
detect that an array has static bounds.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb: Minor reformatting.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
|
||
(ATCB_Key): Removed, not always used.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
|
||
clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
|
||
most remaining global variables.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
|
||
prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
|
||
that must be passed by copy in VM targets.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
|
||
duplicates a similar htable now in the project tree.
|
||
|
||
2011-08-03 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
|
||
a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
|
||
Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
|
||
Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
|
||
Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
|
||
Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
|
||
Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
|
||
update.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
|
||
(ATCB_Key): Removed, not always used.
|
||
* s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
|
||
s-taprop-posix.adb.
|
||
* s-tpopsp-tls.adb: New file.
|
||
* gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
|
||
x86/x64/ia64/powerpc/sparc Linux.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
|
||
* gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* rtsfind.ads, exp_dist.adb, exp_dist.ads
|
||
(Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
|
||
Fix type selection for mapping integer types to PolyORB types.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch7.adb: Minor comment clarification.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
|
||
an error analyzing a choice, skip further processing. Further
|
||
processing could cause a crash or cascade errors.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
|
||
prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
|
||
prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
|
||
prj-env.ads (Shared_Project_Tree_Data): new type
|
||
An aggregate project and its aggregated trees need to share the common
|
||
data structures used for lists of strings, packages,... This makes the
|
||
code simpler since otherwise we have to pass the root tree (also used
|
||
for the configuration file data) in addition to the current project
|
||
tree. This also avoids ambiguities as to which tree should be used.
|
||
And finally this saves a bit of memory.
|
||
(For_Every_Project_Imported): new parameter Tree.
|
||
Since aggregated projects are using a different tree, we need to let
|
||
the caller know which tree to use to manipulate the returned project.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
|
||
prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
|
||
lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
|
||
prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
|
||
Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
|
||
the Base_Type.
|
||
|
||
2011-08-03 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
|
||
g-sehash.ads: Fix typo. Update header.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
|
||
expansion.
|
||
|
||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
|
||
prefixes of private types along with records, since the selector may be
|
||
a discriminant.
|
||
* sem_res.adb (Resolve_Selected_Component): Consider prefixes of
|
||
private types along with records, since the selector may be a
|
||
discriminant.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-pp.adb (Pretty_Print): Remove trailing blank line.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
|
||
Tagged_Type_Expansion.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
|
||
violation when the argument of concatenation is the name of a
|
||
constant.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
|
||
prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
|
||
(Process_Declarative_Items): new parameter Child_Env.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.ads: Update format of ALFA section in ALI file in order to
|
||
add a mapping from bodies to specs when both are present.
|
||
(ALFA_Scope_Record): Add components for spec file/scope.
|
||
* get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
|
||
present.
|
||
* lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
|
||
collected, fill in the spec information when relevant.
|
||
* put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
|
||
present.
|
||
|
||
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
|
||
code unit to decide whether to add internally generated subprograms.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
|
||
* exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
|
||
be handled by copy in VM targets.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
|
||
code with Makeutl.Get_Switches.
|
||
* prj-tree.adb: Update comment.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
|
||
subprogram with a limited formal that does not support external
|
||
streaming.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
|
||
continuation line
|
||
* lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
|
||
not from current unit in two phases, because it is not possible to
|
||
change the table while iterating over its content.
|
||
* put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
|
||
|
||
2011-08-03 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
|
||
* gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
|
||
and the component type is composite, this is ambiguous for predefined
|
||
concatenation, but if the node is not overloaded and the entity is a use
|
||
-defined function its profile can be used to resolve that aggregate.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code cleanup.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb: Do not generate distribution stubs if serious errors
|
||
have been diagnosed.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
|
||
the first formal of a primitive operation, go to the base type to
|
||
handle properly an access to a derived type with constrained
|
||
discriminants.
|
||
* sem_type.adb (Disambiguate): an immediately visible operator hides a
|
||
user-defined function that is only use-visible.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
|
||
make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
|
||
fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
|
||
prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
|
||
sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
|
||
prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
|
||
prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
|
||
alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* repinfo.adb (List_Mechanism): Add handling of
|
||
Convention_Ada_Pass_By_XXX.
|
||
* sem_mech.adb (Set_Mechanism): Ditto.
|
||
* sem_prag.adb (Process_Convention): Add entries for
|
||
Convention_Ada_Pass_By_XXX.
|
||
* snames.adb-tmpl, snames.ads-tmpl: Ditto.
|
||
|
||
2011-08-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* makeutl.adb: Minor reformatting.
|
||
|
||
2011-08-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* fname-uf.adb
|
||
(Get_File_Name) If the file cannot be found when there are no config
|
||
pragmas file and May_Fail is True, return No_File instead of the file
|
||
name, to be consistent.
|
||
|
||
2011-08-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_executable_file_attr): Avoid access
|
||
to null pointer.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch13.adb
|
||
(Same_Representation): In VM targets the representation of arrays with
|
||
aliased components differs from arrays with non-aliased components.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
|
||
not systematically lower case attribute indexes that contain no "."
|
||
Fix definition of several Naming attributes, which take
|
||
a unit name as index and therefore should be case insensitive.
|
||
Minor refactoring (reduce length of variable names).
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
|
||
prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
|
||
prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
|
||
prj-tree.ads (Prj.Tree.Environment): new type.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
|
||
prj-tree.adb, prj-tree.ads (Environment): new type.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-tree.ads: Remove unused variable.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
|
||
issuing messages related to SPARK restriction violation.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: guard against error nodes in return statements.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* errout.adb (Error_Msg_Internal): the main unit has not been read yet,
|
||
a warning can only appear on a configuration file, so emit warning
|
||
without further checks.
|
||
|
||
2011-08-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-interr.ads: add overriding keyword.
|
||
|
||
2011-08-03 Geert Bosch <bosch@adacore.com>
|
||
|
||
* exp_attr.adb: Fix minor typo.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb: improve error recovery.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
|
||
prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
|
||
to Errout_Handling.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
|
||
"external" as an attribute name in aggregate projects.
|
||
|
||
2011-08-03 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
|
||
uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
|
||
from 0, so we need to adjust.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
|
||
prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
|
||
restriction on overloaded entity if the entity is not an operator.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
|
||
restrict.ads: Rename remaining Check_Formal_Restriction* into
|
||
Check_SPARK_Restriction*.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
|
||
prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
|
||
qualifier.
|
||
(Project_Empty): removed
|
||
(Empty_Project): new parameter Qualifier
|
||
This is used to have fields specific to aggregate projects, cleaner
|
||
New field to store the list of aggregated projects.
|
||
(Check_Aggregate_Project): removed
|
||
(Process_Aggregated_Projects, Free): new subprograms.
|
||
|
||
2011-08-03 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
|
||
explicit dereference of an unconstrained type, create a constrained
|
||
subtype for it, as is done for function calls that return an
|
||
unconstrained type.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-pehage.adb (Finalize): Avoid possible double-free.
|
||
|
||
2011-08-03 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
|
||
Elab_Spec/Body attrs in CodePeer_Mode.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_aggr.adb (Flatten): Convert to positional form aggregates whose
|
||
low bound is not known at compile time but they have no others choice.
|
||
Done because in this case the bounds can be obtained directly from the
|
||
aggregate.
|
||
|
||
2011-08-03 Ed Falis <falis@adacore.com>
|
||
|
||
* s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
|
||
on VxWorks SMP. Remove unusable constant ANY_CPU.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
|
||
clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
|
||
prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
|
||
Prj.Env.Initialize_Empty): new subprograms
|
||
(Get_Env, Find_Project): remove parameter Target_Name.
|
||
|
||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
|
||
as a condition for the delayed call to Derived_Subprograms done for the
|
||
case of the rewriting of a derived type that constrains the
|
||
discriminants of its parent type.
|
||
Avoids redundant subprogram derivations for private subtype derivations.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
|
||
Build_Record_Aggr_Code.
|
||
(Build_Record_Aggr_Code): Add missing support to initialize hidden
|
||
discriminants in extension aggregates.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-pp.adb (Print): also output project qualifiers, since in
|
||
particular "aggregate" is mandatory in an aggregate project.
|
||
|
||
2011-08-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
|
||
(Debug_Output): new function.
|
||
|
||
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -Wstack-usage.
|
||
* gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb Issue an error (not a warning) when a C++ type does not
|
||
have keyword LIMITED.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.adb, alfa.ads, alfa_test.adb: New files.
|
||
* ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
|
||
(Scan_ALI): do not issue a fatal error if parsing known lines after Xref
|
||
section (does not happen in compiler, only if code directly calls
|
||
Scan_ALI).
|
||
* get_alfa.adb, get_alfa.ads: New files.
|
||
* lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
|
||
needed.
|
||
* lib-xref-alfa.adb: New file.
|
||
* lib-xref.adb, lib-xref.ads
|
||
(Xref_Entry): redefine information needed in cross-references for ALFA.
|
||
Push ALFA treatments in separated local package.
|
||
(Enclosing_Subpragram_Or_Package): treat specially subprogram
|
||
identifiers. Return entity of package body instead of spec. Return
|
||
Empty for a scope with no location.
|
||
(Generate_Reference): adapt to new components for ALFA information.
|
||
Remove the need for D references on definitions.
|
||
(Is_Local_Reference): moved to ALFA local package
|
||
(Output_References): extract subfunction as Extract_Source_Name
|
||
(Output_Local_References): remove procedure, replaced by filtering of
|
||
cross-references in package ALFA and printing in Put_ALFA.
|
||
(Write_Entity_Name): remove procedure
|
||
* lib.adb, lib.ads (Extract_Source_Name): extract here function to
|
||
print exact name of entity as it appears in source file
|
||
(Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
|
||
* put_alfa.adb, put_alfa.ads: New files.
|
||
* xref_lib.adb (Search_Xref): protect read of cross-references against
|
||
reading other sections of the ALI file, in gnatxref
|
||
(Search): protect read of cross-references against reading other
|
||
sections of the ALI file, in gnatfind.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-03 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
|
||
raising an exception.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
|
||
type, always use 1 as the lower bound or string, even if lower bound of
|
||
context is not static, to handle properly null strings in a non-static
|
||
context.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
|
||
always legal on the right-hand side of an assignment statement; there
|
||
is always an applicable index constraint in this case. Therefore, the
|
||
check for Pkind = N_Assignment_Statement is now unconditional -- it
|
||
doesn't depend on whether Is_Constrained (Typ).
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
|
||
for an itype created within a generic unit.
|
||
|
||
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
|
||
suppresses all inlining.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
|
||
exp_aggr.adb: Minor reformatting.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
|
||
tagged assignment when discriminant checks are suppressed. This is
|
||
useless and extremely costly in terms of static stack usage.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
|
||
of generics, because this leads to the wrong entity in the wrong scope,
|
||
causing (e.g.) pragma Export_Procedure to get an error if the entity is
|
||
an instance.
|
||
(Process_Interface_Name): Follow Alias for instances of generics, to
|
||
correct for the above change.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
|
||
is an integer literal it is always safe to replace the reference. In
|
||
addition, if the reference appears in the generated code for an object
|
||
declaration it is necessary to copy because otherwise the reference
|
||
might be to the uninitilized value of the discriminant of the object
|
||
itself.
|
||
|
||
2011-08-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
|
||
ACL used, in this case we want to check for ending .exe, not .exe
|
||
anywhere in the path.
|
||
|
||
2011-08-03 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* tree_io.ads (ASIS_Version_Number): Update because of the changes in
|
||
the tree structure (semantic decoration of references to record
|
||
discriminants).
|
||
|
||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
|
||
choices of a named array aggregate, bail out when any choices are
|
||
marked as Errors_Posted.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
|
||
in which entity is frozen, to handle properly loop variables in
|
||
iterators.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
|
||
subtype is not static, compute the upper bound using attributes, to
|
||
handle properly index types that are not integer types.
|
||
|
||
2011-08-03 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
|
||
Update copyright notice.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Discriminant_Constraints): Only use
|
||
Original_Discriminant if within an instance.
|
||
* sem_ch4.adb (Analyze_Selected_Component): Ditto.
|
||
|
||
2011-08-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
|
||
composite type with an unfrozen subcomponent, in the profile of a
|
||
primitive operation.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
|
||
unconstrained type with discriminants is initialized with an aggregate,
|
||
use the constrained subtype of the aggregate as the type of the object,
|
||
because it is immutable, and this allows the back-end to generate no
|
||
code for the object declaration.
|
||
|
||
2011-08-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
|
||
comparison operand is variable, and turns out to be zero or negative.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_intr.adb
|
||
(Expand_Dispatching_Constructor_Call): Disable expansion of
|
||
code required for native targets. Done to avoid generating
|
||
references to unavailable runtime entities in VM targets.
|
||
* exp_ch3.adb
|
||
(Expand_N_Object_Declaration): Add missing support to handle
|
||
the explicit initialization of class-wide interface objects.
|
||
Fix documentation.
|
||
|
||
2011-08-03 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cobove.adb (Merge): Move source onto target, instead of using
|
||
Assign.
|
||
|
||
2011-08-03 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cbdlli.adb (Splice): Move source items from first to last.
|
||
|
||
2011-08-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.ads: Add comment.
|
||
|
||
2011-08-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_aggr.adb
|
||
(Expand_Record_Aggregate): In VM targets disable the expansion into
|
||
assignments of aggregates whose type is not known at compile time.
|
||
|
||
2011-08-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
|
||
protected entries and task entries, to build the proper renaming
|
||
declaration for entry formals, used in debugging.
|
||
* exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
|
||
parameters in the same way.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
|
||
sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
|
||
code reorganization.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Debug flag d.P to suppress length comparison optimization
|
||
* exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
|
||
comparison of Length by comparing First/Last instead.
|
||
|
||
2011-08-02 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cobove.ads: Code clean up.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* adaint.c (file_names_case_sensitive_cache): New static int.
|
||
(__gnat_get_file_names_case_sensitive): Cache the return value in
|
||
file_names_case_sensitive_cache at the first invocation, to avoid
|
||
multiple calls to getenv.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
|
||
sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
|
||
sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
|
||
indicate that we are in a precondition or postcondition. This is used in
|
||
Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
|
||
decide whether to flag the spec or body of the current subprogram as
|
||
not in ALFA.
|
||
|
||
2011-08-02 Fabien Chouteau <chouteau@adacore.com>
|
||
|
||
* impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
|
||
list.
|
||
* a-extiin.ads: New file.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
|
||
now raises Name_Error instead of Use_Error in certain cases. The other
|
||
parts of this AI were already implemented properly.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* link.c: Only import "auto-host.h" when building the gnattools.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb: Inter-unit inlining does not work for a subprogram
|
||
which calls a local subprogram, so extract subprogram
|
||
from Mark_Non_ALFA_Subprogram_Body.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb
|
||
(Extract_Dispatching_Call): If the type of the dispatching object is an
|
||
access type then return an explicit dereference in the Object out-mode
|
||
parameter.
|
||
|
||
2011-08-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
|
||
compatibility checks for all indexes of an array subtype, not just the
|
||
first. Reset Has_Dynamic_Range_Check on the subtype before each
|
||
potential check to ensure that Insert_Range_Checks will not elide any
|
||
of the dynamic checks.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
|
||
SPARK restriction at parsing time.
|
||
* scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
|
||
directive only if the SPARK restriction is set for this unit.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
|
||
sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
|
||
sem_ch11.adb: Protect call to Current_Subprogram which might be costly
|
||
when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
|
||
Mark_Non_ALFA_Subprogram_Body.
|
||
Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
|
||
inlined.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
|
||
might be costly.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
|
||
exp_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-02 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* adaint.c (__gnat_locate_exec_on_path): only returns executable
|
||
files, not any regular file.
|
||
(__gnat_locate_file_with_predicate): new subprogram.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.adb, sinfo.ads: Restrict the use of flags
|
||
Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
|
||
nodes, plus N_Subtype_Declaration for the 2nd one.
|
||
|
||
2011-08-02 Sergey Rybin <rybin@adacore.com>
|
||
|
||
* gnat_rm.texi: Ramification of pragma Eliminate documentation
|
||
- fix bugs in the description of Source_Trace;
|
||
- get rid of UNIT_NAME;
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb
|
||
(Build_Dispatching_Requeue): Adding support for VM targets
|
||
since we cannot directly reference the Tag entity.
|
||
* exp_sel.adb (Build_K): Adding support for VM targets.
|
||
(Build_S_Assignment): Adding support for VM targets.
|
||
* exp_disp.adb
|
||
(Default_Prim_Op_Position): In VM targets do not restrict availability
|
||
of predefined interface primitives to compiling in Ada 2005 mode.
|
||
(Is_Predefined_Interface_Primitive): In VM targets this service is not
|
||
restricted to compiling in Ada 2005 mode.
|
||
(Make_VM_TSD): Generate code that declares and initializes the OSD
|
||
record. Needed to support dispatching calls through synchronized
|
||
interfaces.
|
||
* exp_ch3.adb
|
||
(Make_Predefined_Primitive_Specs): Enable generation of predefined
|
||
primitives associated with synchronized interfaces.
|
||
(Make_Predefined_Primitive_Bodies): Enable generation of predefined
|
||
primitives associated with synchronized interfaces.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
|
||
statements hidden in SPARK if preceded by the HIDE directive
|
||
(Parse_Exception_Handlers): mark each exception handler in a sequence of
|
||
exception handlers as hidden in SPARK if preceded by the HIDE directive
|
||
* par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
|
||
if starting with the HIDE directive
|
||
* par-ch7.adb (P_Package): mark a package body hidden in SPARK if
|
||
starting with the HIDE directive; mark the declarations in a private
|
||
part as hidden in SPARK if the private part starts with the HIDE
|
||
directive
|
||
* restrict.adb, restrict.ads
|
||
(Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
|
||
(Is_In_Hidden_Part_In_SPARK): new function which returns whether its
|
||
argument node belongs to a part which is hidden in SPARK
|
||
(Check_SPARK_Restriction): do not issue violations on nodes in hidden
|
||
parts in SPARK; protect the possibly costly call to
|
||
Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
|
||
* scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
|
||
* scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
|
||
Accumulate_Token_Checksum_GNAT_5_03): add case for new token
|
||
Tok_SPARK_Hide.
|
||
(Scan): recognize special comment starting with '#' and followed by
|
||
SPARK keyword "hide" as a HIDE directive.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* types.ads, erroutc.ads: Minor reformatting.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* link.c: Add response file support for cross platforms.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
|
||
in an association, set parent field of copy before partial analysis.
|
||
* sem_res.adb (Resolve_Slice): create reference to itype only when
|
||
expansion is enabled.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
|
||
for new flag denoting which subprogram bodies are in ALFA
|
||
* restrict.adb, sem_ch7.adb: Update comment
|
||
* sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
|
||
sem_ch9.adb, sem_res.adb: Add calls to
|
||
Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
|
||
* sem_ch6.adb (Analyze_Function_Return): add calls to
|
||
Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
|
||
middle of the body, and extended return.
|
||
(Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
|
||
False when missing return.
|
||
(Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
|
||
to True for subprograms whose spec is in ALFA. Remove later on the flag
|
||
on the entity used for a subprogram body when there exists a separate
|
||
declaration.
|
||
* sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
|
||
if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
|
||
False, otherwise do nothing.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch4.ads: minor formatting.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
|
||
debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
|
||
errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
|
||
restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
|
||
opt.ads: cleanup of SPARK mode
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
|
||
types.
|
||
* einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
|
||
(Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
|
||
* sem_ch3.adb
|
||
(Analyze_Object_Declaration): set Is_In_ALFA flag for objects
|
||
(Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
|
||
(Constrain_Integer): set Is_In_ALFA flag for integer subtypes
|
||
(Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
|
||
types.
|
||
(Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
|
||
non-static range.
|
||
* sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
|
||
functions whose return type is not in ALFA.
|
||
(Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
|
||
specifications.
|
||
(Process_Formals): unset Is_In_ALFA flag for subprograms if a
|
||
parameter's type is not in ALFA.
|
||
* stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
|
||
types are in ALFA.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6 (Analyze_Expression_Function): treat the function as
|
||
Inline_Always, and introduce a subprogram declaration for it when it is
|
||
not a completion.
|
||
* inline.adb (Add_Inlined_Body): recognize bodies that come from
|
||
expression functions, so that the back-end can determine whether they
|
||
can in fact be inlined.
|
||
* sem_util.adb (Is_Expression_Function): predicate to determine whether
|
||
a function body comes from an expression function.
|
||
|
||
2011-08-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
|
||
null exclusions to test Can_Never_Be_Null on the anonymous access types
|
||
of the formals rather than testing the formals themselves. Exclude this
|
||
check in cases where the Old_Formal is marked as a controlling formal,
|
||
to avoid issuing spurious errors for bodies completing dispatching
|
||
operations (due to the flag not getting set on controlling access
|
||
formals in body specs).
|
||
(Find_Corresponding_Spec): When checking full and subtype conformance of
|
||
subprogram bodies in instances, pass Designated and E in that order, for
|
||
consistency with the expected order of the formals (New_Id followed by
|
||
Old_Id).
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
|
||
Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
|
||
primitive operations of class-wide actuals.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_atag.ads, exp_atag.adb
|
||
(Build_Common_Dispatching_Select_Statements): Remove argument Loc
|
||
since its value is implicitly passed in argument Typ.
|
||
* exp_disp.adb (Make_Disp_Conditional_Select_Body,
|
||
Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
|
||
Build_Common_Dispatching_Select_Statements.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
|
||
exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
|
||
Minor reformatting.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_atag.adb, exp_atags.ads
|
||
(Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
|
||
by the tagged type Entity. Required to use this routine in the VM
|
||
targets since we do not have available the Tag entity in the VM
|
||
platforms.
|
||
* exp_ch6.adb
|
||
(Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
|
||
Ada.Tags has not been previously loaded.
|
||
* exp_ch7.adb
|
||
(Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
|
||
Build_VM_TSDs if package Ada.Tags has not been previously loaded.
|
||
* sem_aux.adb
|
||
(Enclosing_Dynamic_Scope): Add missing support to handle the full
|
||
view of enclosing scopes. Required to handle enclosing scopes that
|
||
are synchronized types whose full view is a task type.
|
||
* exp_disp.adb
|
||
(Build_VM_TSDs): Minor code improvement to avoid generating and
|
||
analyzing lists with empty nodes.
|
||
(Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
|
||
(Make_Disp_Conditional_Select_Body): Add support for VM targets.
|
||
(Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
|
||
(Make_Disp_Timed_Select_Body): Add support for VM targets.
|
||
(Make_Select_Specific_Data_Table): Add support for VM targets.
|
||
(Make_VM_TSD): Generate code to initialize the SSD structure of
|
||
the TSD.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-writ.adb (Write_ALI): when ALFA mode is set, write local
|
||
cross-references section in ALI.
|
||
* lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
|
||
(enclosing subprogram), Slc (location of Sub) and Sun (unit number of
|
||
Sub).
|
||
(Enclosing_Subprogram_Or_Package): new function to return the enclosing
|
||
subprogram or package entity of a node
|
||
(Is_Local_Reference_Type): new function returns True for references
|
||
selected in local cross-references.
|
||
(Lt): function extracted from Lt in Output_References
|
||
(Write_Entity_Name): function extracted from Output_References
|
||
(Generate_Definition): generate reference with type 'D' for definition
|
||
of objects (object declaration and parameter specification), with
|
||
appropriate locations and units, for use in local cross-references.
|
||
(Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
|
||
references of type 'I' for initialization in object definition.
|
||
(Output_References): move part of function Lt and procedure
|
||
Write_Entity_Name outside of the body. Ignore references of types 'D'
|
||
and 'I' introduced for local cross-references.
|
||
(Output_Local_References): new procedure to output the local
|
||
cross-references sections.
|
||
(Lref_Entity_Status): new array defining whether an entity is a local
|
||
* sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
|
||
with 'I' type when initialization expression is present.
|
||
* get_scos.adb, get_scos.ads: Correct comments and typos
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
|
||
the JVM target.
|
||
* exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
|
||
the JVM target.
|
||
* exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
|
||
TSD support.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
|
||
(No_Space_Img): New function
|
||
(Find_Excluded_Sources): When reading from a file, record the file name
|
||
and the line number for each excluded source.
|
||
(Mark_Excluded_Sources): When reporting an error, if the excluded
|
||
sources were read from a file, include file name and line number in
|
||
the error message.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
|
||
generation of TSDs to the DOTNET compiler.
|
||
* exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
|
||
generation of TSDs to the DOTNET compiler.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
|
||
record of all the tagged types declared inside library level package
|
||
declarations, library level package bodies or library level subprograms.
|
||
* exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
|
||
associated with a given tagged type.
|
||
(Build_VM_TSDs): New subprogram.
|
||
* exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
|
||
compilation units that are subprograms.
|
||
* exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
|
||
compilation units that are package bodies.
|
||
(Expand_N_Package_Declaration): Generate TSDs of the main compilation
|
||
units that are a package declaration or a package instantiation.
|
||
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
|
||
reorganization to improve the error generated by the frontend when the
|
||
function Ada.Tags.Secondary_Tag is not available.
|
||
* rtsfind.ads (RE_Register_TSD): New runtime entity.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
|
||
Minor reformatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
|
||
only have inheritable classwide pre/postconditions.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
|
||
* rtsfind.ads (RE_Check_TSD): New runtime entity.
|
||
* exp_disp.adb (Make_DT): Generate call to the new runtime routine that
|
||
checks if the external tag of a type is the same as the external tag
|
||
of some other declaration.
|
||
|
||
2011-08-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taskin.ads: Minor reformatting.
|
||
|
||
2011-08-02 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Display_Help): swap the order in which it prints the
|
||
short help and the general usage.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
|
||
the aspect declarations and attach them to the generic copy for
|
||
subsequent analysis.
|
||
(Analyze_Subprogram_Instantiation): copy explicitly the aspect
|
||
declarations of the generic tree to the new subprogram declarations.
|
||
* sem_attr.adb (Check_Precondition_Postcondition): recognize
|
||
conditions that apply to a subprogram instance.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
|
||
private type with a tagged full view is not derived in the immediate
|
||
scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
|
||
Ada2012 iterator, the loop will be rewritten during expansion into a
|
||
while loop with a cursor and an element declaration. Do not analyze the
|
||
body in this case, because if the container is for indefinite types the
|
||
actual subtype of the elements will only be determined when the cursor
|
||
declaration is analyzed.
|
||
|
||
2011-08-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
|
||
size/alignment related attributes in CodePeer_Mode.
|
||
|
||
2011-08-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
|
||
Prepend_Element, since this can result in the operation getting the
|
||
wrong slot in the full type's dispatch table if the full type has
|
||
inherited operations. The incomplete type's operation will get added
|
||
to the proper position in the full type's primitives
|
||
list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
|
||
(Process_Incomplete_Dependents): Add Is_Primitive test when checking for
|
||
dispatching operations, since there are cases where nonprimitive
|
||
subprograms can get added to the list of incomplete dependents (such
|
||
as subprograms in nested packages).
|
||
* sem_ch6.adb (Process_Formals): First, remove test for being in a
|
||
private part when determining whether to add a primitive with a
|
||
parameter of a tagged incomplete type to the Private_Dependents list.
|
||
Such primitives can also occur in the visible part, and should not have
|
||
been excluded from being private dependents.
|
||
* sem_ch7.adb (Uninstall_Declarations): When checking the rule of
|
||
RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
|
||
list of a Taft-amendment incomplete type is a primitive before issuing
|
||
an error that the full type must appear in the same unit. There are
|
||
cases where nonprimitives can be in the list (such as subprograms in
|
||
nested packages).
|
||
* sem_disp.adb (Derives_From): Use correct condition for checking that
|
||
a formal's type is derived from the type of the corresponding formal in
|
||
the parent subprogram (the condition was completely wrong). Add
|
||
checking that was missing for controlling result types being derived
|
||
from the result type of the parent operation.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (First_Node): minor renaming
|
||
* restrict.adb (Check_Formal_Restriction): put restriction warning on
|
||
first node.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
|
||
before accessing operands.
|
||
* sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
|
||
decide whether an initialization expression respects SPARK rules, as
|
||
the plain node is the expanded one. This allows for more valid warnings
|
||
to be issued.
|
||
* gnat_rm.texi: Minor update.
|
||
|
||
2011-08-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
|
||
previous change.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
|
||
loop statements and the element renaming declaration with a block when
|
||
the element type is controlled.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Minor formatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Add_Association): if the association has a box and no
|
||
expression, use the Sloc of the aggregate itself for the new
|
||
association.
|
||
* errout.adb (First_Node): Exclude nodes with no Sloc, and always use
|
||
the Original_Node.
|
||
|
||
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
|
||
When a container is provided via a function call, generate a renaming
|
||
of the function result. This avoids the creation of a transient scope
|
||
and the premature finalization of the container.
|
||
* exp_ch7.adb (Is_Container_Cursor): Removed.
|
||
(Wrap_Transient_Declaration): Remove the supression of the finalization
|
||
of the list controller when the declaration denotes a container cursor,
|
||
it is not needed.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* restrict.adb (Check_Formal_Restriction): only issue a warning if the
|
||
node is from source, instead of the original node being from source.
|
||
* sem_aggr.adb
|
||
(Resolve_Array_Aggregate): refine the check for a static expression, to
|
||
recognize also static ranges
|
||
* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
|
||
Array_Type_Declaration): postpone the test for the type being a subtype
|
||
mark after the type has been resolved, so that component-selection and
|
||
expanded-name are discriminated.
|
||
(Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
|
||
to distinguish the case of an iteration scheme, so that an error is
|
||
issed on a non-static range in SPARK except in an iteration scheme.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
|
||
In_Iter_Schm = True.
|
||
* sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
|
||
user-defined operators so that they are allowed in renaming
|
||
* sem_ch8.adb
|
||
(Find_Selected_Component): refine the check for prefixing of operators
|
||
so that they are allowed in renaming. Move the checks for restrictions
|
||
on selector name after analysis discriminated between
|
||
component-selection and expanded-name.
|
||
* sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
|
||
concatenation argument of string type if it is static.
|
||
* sem_util.adb, sem_util.ads
|
||
(Check_Later_Vs_Basic_Declarations): add a new function
|
||
Is_Later_Declarative_Item to decice which declarations are allowed as
|
||
later items, in the two different modes Ada 83 and SPARK. In the SPARK
|
||
mode, add that renamings are considered as later items.
|
||
(Enclosing_Package): new function to return the enclosing package
|
||
(Enter_Name): correct the rule for homonyms in SPARK
|
||
(Is_SPARK_Initialization_Expr): default to returning True on nodes not
|
||
from source (result of expansion) to avoid issuing wrong warnings.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* errout.adb: On anything but an expression First_Node returns its
|
||
argument.
|
||
|
||
2011-08-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
|
||
|
||
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
|
||
Set the associated loop as the related expression of internally
|
||
generated cursors.
|
||
* exp_ch7.adb (Is_Container_Cursor): New routine.
|
||
(Wrap_Transient_Declaration): Supress the finalization of the list
|
||
controller when the declaration denotes a container cursor.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
|
||
command line now.
|
||
* par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
|
||
expression is a simple expression. This check cannot be performed in
|
||
the semantics, so just drop it.
|
||
(P_Index_Or_Discriminant_Constraint): move check that the index or
|
||
discriminant is a subtype mark to Analyze_Subtype_Declaration in the
|
||
semantics. Other cases were previously checked in the semantics.
|
||
* par-ch4.adb (P_Name): move checks that a selector name is not
|
||
character literal or an operator symbol to Find_Selected_Component in
|
||
the semantics
|
||
* par-ch5.adb (Parse_Decls_Begin_End): move check that basic
|
||
declarations are not placed after later declarations in a separate
|
||
procedure in Sem_Util (possibly not the best choice?), to be used both
|
||
during parsing, for Ada 83 mode, and during semantic analysis, for
|
||
SPARK mode.
|
||
* par-endh.adb (Check_End): move check that end label is not missing
|
||
to Process_End_Label in the semantics
|
||
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
|
||
the special case for SPARK restriction
|
||
* par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
|
||
* restrict.adb, restrict.ads (Check_Formal_Restriction): add a
|
||
parameter Force to issue the error message even on internal node (used
|
||
for generated end label). Call Check_Restriction to check when an error
|
||
must be issued. In SPARK mode, issue an error message even if the
|
||
restriction is not set.
|
||
(Check_Restriction): new procedure with an additional out parameter to
|
||
inform the caller that a message has been issued
|
||
* sem_aggr.adb: Minor modification of message
|
||
* sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
|
||
instead of issuing an error message directly
|
||
* sem_ch3.adb (Analyze_Declarations): move here the check that basic
|
||
declarations are not placed after later declarations, by calling
|
||
Check_Later_Vs_Basic_Declarations
|
||
(Analyze_Subtype_Declaration): move here the check that an index or
|
||
discriminant constraint must be a subtype mark. Change the check that
|
||
a subtype of String must start at one so that it works on subtype marks.
|
||
* sem_ch4.adb (Analyze_Call): move here the check that a named
|
||
association cannot follow a positional one in a call
|
||
* sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
|
||
instead of issuing an error message directly
|
||
* sem_ch8.adb (Find_Selected_Component): move here the check that a
|
||
selector name is not a character literal or an operator symbol. Move
|
||
here the check that the prefix of an expanded name cannot be a
|
||
subprogram or a loop statement.
|
||
* sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
|
||
procedure called from parsing and semantics to check that basic
|
||
declarations are not placed after later declarations
|
||
(Process_End_Label): move here the check that end label is not missing
|
||
|
||
2011-08-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
|
||
representation clause in codepeer mode, since it confuses CodePeer and
|
||
does not bring useful info.
|
||
|
||
2011-08-02 Ed Falis <falis@adacore.com>
|
||
|
||
* init.c: initialize fp hw on MILS.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* errout.adb (First_Node): for bodies, return the node itself (small
|
||
optimization). For other nodes, do not check source_unit if the node
|
||
comes from Standard.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch3.adb: Minor comment additions.
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2011-08-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* make.adb, makeutl.adb: Removes some superfluous directory separator.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
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.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
|
||
"of", pre-analyze expression in case it is a function call with
|
||
finalization actions that must be placed ahead of the loop.
|
||
* exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
|
||
on an Ada2012 iterator, insert them ahead of the rewritten loop.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* cstand.adb (Create_Float_Types): Only consider C's long double for
|
||
Long_Long_Float, in addition to double.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
|
||
sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
|
||
prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
|
||
Minor reformatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: handle properly 'Result when it is a prefix of an
|
||
indexed component.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb
|
||
(Original_Access_Type): Move this attribute to Node26 since there was
|
||
an undocumented use of Node21 in E_Access_Subprogram_Type entities
|
||
which causes conflicts and breaks the generation of the .NET compiler.
|
||
(Interface_Name): Add missing documentation on JGNAT only uses of
|
||
this attribute.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
|
||
(Find_Back_End_Float_Type): Likewise
|
||
(Create_Back_End_Float_Types): Likewise
|
||
(Create_Float_Types): Likewise
|
||
(Register_Float_Type): Likewise
|
||
* sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
|
||
Nlist and split out type selection in new local Find_Base_Type function.
|
||
* sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
|
||
Nlist
|
||
* stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
|
||
alpha order).
|
||
* opt.ads: Minor comment change.
|
||
* sem_ch12.adb: Minor code reorganization.
|
||
|
||
2011-08-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Complete_Private_Subtype): Don't append the private
|
||
subtype's list of rep items to the list on the full subtype in the case
|
||
where the lists are the same.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* switch-c.adb (Free): New deallocation procedure to avoid implicitly
|
||
using the one from System.Strings, which also deallocates all strings.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
|
||
function.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-02 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
|
||
end_locus.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
|
||
associated with anonymous access to subprograms.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* opt.ads
|
||
(Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
|
||
(Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
|
||
* prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
|
||
(Add_Symbol_Definition): Move to switch-c.adb
|
||
(Process_Command_Line_Symbol_Definitions): Adjust references to above.
|
||
* prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
|
||
(Add_Symbol_Definition): Move to switch-c.adb.
|
||
* sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
|
||
* sem_warn.adb
|
||
(Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
|
||
Move to warnsw.adb.
|
||
* sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
|
||
Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
|
||
Move to warnsw.adb.
|
||
* switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
|
||
(Add_Symbol_Definition): Moved from Prepcomp.
|
||
* switch-c.ads: Update copyright notice. Use String_List instead of
|
||
Argument_List, removing dependency on System.OS_Lib.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
|
||
mode on initialization expression which does not respect SPARK
|
||
restrictions.
|
||
* sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
|
||
if the tree referenced by its argument represents an initialization
|
||
expression in SPARK, suitable for initializing an object in an object
|
||
declaration.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
|
||
internally generated access to subprogram with its associated protected
|
||
subprogram type.
|
||
* einfo.ads, einfo.adb (Original_Access_Type): New attribute.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* cstand.adb (Register_Float_Type): Print information about type to
|
||
register, if the Debug_Flag_Dot_B is set.
|
||
* debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
|
||
* rtsfind.ads (RE_Max_Base_Digits): New run time entity.
|
||
* sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
|
||
with a requested precision of more than Max_Digits digits and no more
|
||
than Max_Base_Digits digits, if a range specification is present and the
|
||
Predefined_Float_Types list has a suitable type to derive from.
|
||
* sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
|
||
case of type completion with pragma Import
|
||
* sem_prag.adb
|
||
(Process_Import_Predefined_Type): Processing to complete a type
|
||
with pragma Import. Currently supports floating point types only.
|
||
(Set_Convention_From_Pragma): Do nothing without underlying type.
|
||
(Process_Convention): Guard against absence of underlying type,
|
||
which may happen when importing incomplete types.
|
||
(Process_Import_Or_Interface): Handle case of importing predefined
|
||
types. Tweak error message.
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
|
||
functions to previous change. Reorganize code slightly.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* back_end.ads (Register_Type_Proc): New call back procedure type for
|
||
allowing the back end to provide information about available types.
|
||
(Register_Back_End_Types): New procedure to register back end types.
|
||
* back_end.adb (Register_Back_End_Types): Call the back end to enumerate
|
||
available types.
|
||
* cstand.adb (Back_End_Float_Types): New list for floating point types
|
||
supported by the back end.
|
||
(Build_Float_Type): Add extra parameter for Float_Rep_Kind.
|
||
(Copy_Float_Type): New procedure to make new copies of predefined types.
|
||
(Register_Float_Type): New call back procedure to populate the BEFT list
|
||
(Find_Back_End_Float_Type): New procedure to find a BEFT by name
|
||
(Create_Back_End_Float_Types): New procedure to populate the BEFT list.
|
||
(Create_Float_Types): New procedure to create entities for floating
|
||
point types predefined in Standard, and put these and any remaining
|
||
BEFTs on the Predefined_Float_Types list.
|
||
* stand.ads (Predefined_Float_Types): New list for predefined floating
|
||
point types that do not have declarations in package Standard.
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Get_Code_Unit_Entity): New local function. Returns the
|
||
entity node for the unit containing the parameter.
|
||
(Add_Inlined_Body): Use it to find the unit containing the subprogram.
|
||
(Add_Inlined_Subprogram): Likewise.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-stusta.adb (Print): Make sure Pos is always initialized to a
|
||
suitable value.
|
||
|
||
2011-08-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_type.adb (Covers): Move trivial case to the top and reuse the
|
||
computed value of Base_Type.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* restrict.adb (Check_Restriction): issue an error for any use of
|
||
class-wide, even if the No_Dispatch restriction is not set.
|
||
* sem_aggr.adb: Correct typos in comments and messages in formal mode
|
||
* sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
|
||
when completing a private extension, the type named in the private part
|
||
is not the same as that named in the visible part.
|
||
* sem_res.adb (Resolve_Call): issue an error in formal mode on the use
|
||
of an inherited primitive operations of a tagged type or type extension
|
||
that returns the tagged type.
|
||
* sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
|
||
function which returns True for an implicit operation inherited by the
|
||
derived type declaration for the argument type.
|
||
(Is_SPARK_Object_Reference): move to appropriate place in alphabetic
|
||
order.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
|
||
Process_Bounds, to perform analysis with expansion of a range or an
|
||
expression that is the iteration scheme for a loop.
|
||
(Analyze_Iterator_Specification): If domain of iteration is given by a
|
||
function call with a controlled result, as is the case if call returns
|
||
a predefined container, ensure that finalization actions are properly
|
||
generated.
|
||
* par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
|
||
determine if the analysis is performed using N or Original_Node (N).
|
||
* exp_util.adb (Side_Effect_Free): Code cleanup since the new
|
||
functionality of routine Is_Variable avoids code duplication.
|
||
* checks.adb (Determine_Range): Handle temporaries generated by
|
||
Remove_Side_Effects.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
|
||
expansion of the condition. Required since the previous analysis was
|
||
done with expansion disabled (see Resolve_Quantified_Expression) and
|
||
hence checks were not inserted and record comparisons have not been
|
||
expanded.
|
||
|
||
2011-08-02 Ed Falis <falis@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
|
||
Update header.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* opt.ads: Minor comment fix.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation,
|
||
Analyze_Subprogram_Instantiation): Turn off style checking while
|
||
analyzing an instance. Whatever style checks that apply to the generic
|
||
unit should apply, so it makes no sense to apply them in an instance.
|
||
This was causing trouble when compiling an instance of a runtime
|
||
unit that violates the -gnatyO switch.
|
||
* stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
|
||
one of the two case statements, causing spurious errors.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* uname.adb: Minor reformatting.
|
||
* gnatcmd.adb: Minor reformatting.
|
||
* exp_attr.adb: Minor reformatting.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-02 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* a-except-2005.adb (Raise_From_Signal_Handler): Call
|
||
Debug_Raise_Exception before propagation starts.
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Guard restriction checks with a call
|
||
to Restriction_Check_Required.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Likewise.
|
||
* sem_res.adb (Resolve_Call): Likewise.
|
||
* sem_attr.adb (Check_Stream_Attribute): Likewise.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* stylesw.ads: Update comment.
|
||
* style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
|
||
* errout.ads: Remove obsolete comment.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
|
||
(Set_Is_Safe_To_Reevaluate): new procedure.
|
||
* sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
|
||
assignment is allowed on safe-to-reevaluate variables.
|
||
(Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
|
||
temporary created to remove side effects in expressions that use
|
||
the secondary stack as safe-to-reevaluate.
|
||
* exp_util.adb (Side_Effect_Free): Add missing code to handle well
|
||
variables that are not true constants.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
|
||
sem_res.adb, sem_ch6.adb: Minor reformatting.
|
||
|
||
2011-08-02 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
|
||
not set Overridden_Operation if subprogram is an initialization
|
||
procedure.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch6.adb: Correct obsolete name in comments
|
||
* restrict.adb, restrict.ads (Check_Formal_Restriction): new function
|
||
which takes two message arguments (existing function takes one), with
|
||
second message used for continuation.
|
||
* sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
|
||
block statements that originate from a source block statement, not
|
||
generated block statements
|
||
* sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
|
||
symmetry with procedure case
|
||
* sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
|
||
function to issue an error in formal mode if a package specification
|
||
contains more than one tagged type or type extension.
|
||
* sem_res.adb (Resolve_Actuals): in formal mode, check that actual
|
||
parameters matching formals of tagged types are objects (or ancestor
|
||
type conversions of objects), not general expressions. Issue an error
|
||
on view conversions that are not involving ancestor conversion of an
|
||
extended type.
|
||
(Resolve_Type_Conversion): in formal mode, issue an error on the
|
||
operand of an ancestor type conversion which is not an object
|
||
* sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
|
||
procedure so that it works also for actuals of function calls
|
||
(Is_Actual_Tagged_Parameter): new function which determines if its
|
||
argument is an actual parameter of a formal of tagged type in a
|
||
subprogram call
|
||
(Is_SPARK_Object_Reference): new function which determines if the tree
|
||
referenced by its argument represents an object in SPARK
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting
|
||
Minor comment addition
|
||
Minor error msg text change
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
|
||
function. Used to be more precise when we generate a variable plus one
|
||
assignment to remove side effects in the evaluation of the Bound
|
||
expressions.
|
||
(Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
|
||
of the bound expression to force its re-analysis and thus expand the
|
||
associated transient scope (if required). Code cleanup replacing the
|
||
previous code that declared the constant entity by an invocation to
|
||
routine Force_Evaluation which centralizes this work in the frontend.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
|
||
(Base_Type): Now uses improved Is_Base_Type function
|
||
* einfo.ads (Base_Type): Inline this function
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
|
||
(Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
|
||
|
||
2011-08-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
|
||
targets.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
|
||
non-simple expression used in delta constraint
|
||
(P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
|
||
index constraint which is not a subtype mark
|
||
* par.adb: With and use Restrict
|
||
* sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
|
||
mode on component type which is not a subtype mark and default
|
||
expression on component
|
||
(Analyze_Subtype_Declaration): issue an error in formal mode on subtype
|
||
of string which does not have a lower index bound equal to 1
|
||
(Array_Type_Declaration): issue an error in formal mode on index or
|
||
component type which is not a subtype mark, and on aliased keyword on
|
||
component
|
||
(Derived_Type_Declaration): issue an error in formal mode on interface,
|
||
limited or abstract type
|
||
(Record_Type_Declaration): issue an error in formal mode on interface
|
||
(Record_Type_Definition): issue an error in formal mode on tagged types
|
||
and type extensions not declared in the specification of a library unit
|
||
package; on null non-tagged record; on variant part
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
|
||
not declared for qualified library project when Library_Name is not
|
||
declared, but Library_Dir is.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
|
||
pragmas (affects aspects [Component_]Default_Value
|
||
(Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
|
||
component type for the resolution
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.adb (Base_Type): Tune implementation for speed.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2011-08-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
|
||
in-mode parameter whose type is an access type since it can be used to
|
||
modify its designated object. Enforce code that handles as safe an
|
||
access type that is not access-to-constant but it is the result of a
|
||
previous removal of side-effects.
|
||
(Remove_Side_Effects): Minor code reorganization of cases which require
|
||
no action. Done to incorporate documentation on new cases uncovered
|
||
working in this ticket: no action needed if this routine was invoked
|
||
too early and the nodes are not yet decorated.
|
||
* sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
|
||
to routine Remove_Side_Effects by calls to Force_Evaluation since they
|
||
were issued with actuals that are implicitly provided by
|
||
Force_Evaluation.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_res.adb: Minor reformatting.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
|
||
to issue an error in formal mode on attribute not supported in this mode
|
||
(Analyze_Attribute): issue errors on standard attributes not supported
|
||
in formal mode.
|
||
* sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
|
||
comment, and issue error in formal mode on modulus which is not a power
|
||
of 2.
|
||
(Process_Range_Expr_In_Decl): issue error in formal mode on non-static
|
||
range.
|
||
* sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
|
||
subtype mark.
|
||
* sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
|
||
operator on modular type (except 'not').
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor reformatting.
|
||
|
||
2011-08-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-osinte-linux.ads: Minor comment update and reformatting.
|
||
* i-cexten.ads: Make this unit pure, as for its parent.
|
||
Will allow its usage in more contexts if needed.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-utf_32.ads: Minor comment fix.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
|
||
operation of a tagged synchronized type, handle the case where the
|
||
controlling argument is overloaded.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
|
||
Replace pragma SPARK_95 with pragma Restrictions (SPARK)
|
||
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
|
||
SPARK mode and formal verification mode on processing SPARK restriction
|
||
* s-rident.ads (Restriction_Id): add SPARK restriction in those not
|
||
requiring consistency checking.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
|
||
a-cforse.ads: Remove unneeded with of Ada.Containers
|
||
Remove commented out pragma Inline's
|
||
Move specifications of new subprograms to the actual specs
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
|
||
a-cforse.ads: Update comments.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: add attribute name when 'Result has the wrong prefix.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
|
||
a-cforse.ads, a-cofove.ads: Minor reformatting.
|
||
|
||
2011-08-02 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
|
||
a-cofove.ads: Add comments.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Document formal containers.
|
||
|
||
2011-08-02 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
|
||
are empty sections.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.adb: New aspects Default_Value and Default_Component_Value
|
||
New format of Aspect_Names table checks for omitted entries
|
||
* aspects.ads: Remove mention of Aspect_Cancel and add documentation on
|
||
handling of boolean aspects for derived types.
|
||
New aspects Default_Value and Default_Component_Value
|
||
New format of Aspect_Names table checks for omitted entries
|
||
* einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
|
||
(Has_Default_Value): New flag
|
||
(Has_Default_Component_Value): New flag
|
||
(Has_Default_Value): New flag
|
||
* par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
|
||
table.
|
||
* par-prag.adb: New pragmas Default_Value and Default_Component_Value
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
|
||
Default_Value and Default_Component_Value
|
||
* sem_prag.adb: New pragmas Default_Value and Default_Component_Value
|
||
New aspects Default_Value and Default_Component_Value
|
||
* snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
|
||
* sprint.adb: Print N_Aspect_Specification node when called from gdb
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
|
||
inherit library kind.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
|
||
Minor reformatting.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): Fix thinko.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb: Add comment.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
|
||
qualification of aggregates in formal mode
|
||
(Is_Top_Level_Aggregate): returns True for an aggregate not contained in
|
||
another aggregate
|
||
(Resolve_Aggregate): complete the test that an aggregate is adequately
|
||
qualified in formal mode
|
||
|
||
2011-08-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
|
||
* mlib-prj.adb: Supress warning when compiling binder generated file.
|
||
(Build_Library): Supress all warnings when compiling the binder
|
||
generated file.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb, errout.ads (Check_Formal_Restriction): move procedure
|
||
from here...
|
||
* restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
|
||
* sem_aggr.adb, sem_ch5.adb, sem_util.adb:
|
||
Add with/use clauses to make Check_Formal_Restriction visible
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Generic_Actuals): handle properly actual
|
||
in-parameters when type of the generic formal is private in the generic
|
||
spec and non-private in the body.
|
||
|
||
2011-08-02 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
|
||
a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
|
||
a-cofove.adb, a-cofove.ads: New files implementing formal containers.
|
||
* impunit.adb, Makefile.rtl: Take new files into account.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
|
||
sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
|
||
formal mode
|
||
* sem_util.adb (Matching_Static_Array_Bounds): proper detection of
|
||
matching static array bounds, taking into account the special case of
|
||
string literals
|
||
* sem_ch3.adb: Typo in comment.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb, errout.ads (Check_Formal_Restriction): new procedure
|
||
which issues an error in formal mode if its argument node is originally
|
||
from source
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
|
||
has a discriminant specification so that it does not include the case
|
||
of derived types
|
||
(Derived_Type_Declaration): move here the test that a derived type has a
|
||
discriminant specification
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
|
||
first element of a component association before accessing its choices
|
||
(presence of component association is not enough)
|
||
* exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
|
||
declaration is a library item before accessing the next element in a
|
||
list, as library items are not member of lists
|
||
* sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
|
||
sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
|
||
Check_Formal_Restriction whenever possible.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
|
||
reference when needed.
|
||
|
||
2011-08-02 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
|
||
archive file name. Do not use the full path name of archives for Open
|
||
VMS.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb, aspects.ads: Minor reformatting.
|
||
|
||
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
|
||
* sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
|
||
extracted from...
|
||
(Analyze_Aspect_Specifications): ...here. Call above procedure.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
|
||
mode on subprogram declaration outside of package specification, unless
|
||
it is followed by a pragma Import
|
||
* sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
|
||
Access_Type_Declaration): issue error in formal mode on access type
|
||
(Analyze_Incomplete_Type_Decl): issue error in formal mode on
|
||
incomplete type
|
||
(Analyze_Object_Declaration): issue error in formal mode on object
|
||
declaration which does not respect SPARK restrictions
|
||
(Analyze_Subtype_Declaration): issue error in formal mode on subtype
|
||
declaration which does not respect SPARK restrictions
|
||
(Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
|
||
error in formal mode on digits or delta constraint
|
||
(Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
|
||
decimal fixed point type
|
||
(Derived_Type_Declaration): issue error in formal mode on derived type
|
||
other than type extensions of tagged record types
|
||
* sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
|
||
with check on access definition
|
||
* sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
|
||
mode on protected definition.
|
||
(Analyze_Task_Definition): issue error in formal mode on task definition
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Can_Override_Operator): New function.
|
||
(Verify_Overriding_Indicator): Add missing code to check overriding
|
||
indicator in operators. Fixes regression.
|
||
(Check_Overriding_Indicator): Minor reformating after replacing the
|
||
code that evaluates if the subprogram can override an operator by
|
||
invocations to the above new function.
|
||
* einfo.adb
|
||
(Write_Field26_Name): Add missing code to ensure that, following
|
||
the documentation in einfo.ads, this field is not shown as attribute
|
||
"Static_Initialization" on non-dispatching functions.
|
||
|
||
2011-08-02 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): A call to
|
||
Ada.Real_Time.Timing_Events.Set_Handler violates restriction
|
||
No_Relative_Delay (AI-0211) only when it sets a relative timing event,
|
||
i.e., when the second parameter is of type Time_Span.
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
|
||
with an archive instead of -L<library dir> -l<library name>.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
|
||
mark the base types In_Use in addition to making the operations
|
||
use_visible.
|
||
|
||
2011-08-02 Ed Falis <falis@adacore.com>
|
||
|
||
* init.c: add and setup __gnat_signal_mask for the exception signals
|
||
* s-inmaop-vxworks.adb: new file.
|
||
* s-intman-vxworks.adb: remove unnecessary initializations and
|
||
simplify remaining
|
||
* s-intman-vxworks.ads: remove unnecessary variable
|
||
* s-taprop-vxworks.adb: simplify signal initialization
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor code reorganization, comment updates.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
|
||
* sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
|
||
here from Sem_Res.
|
||
(Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
|
||
(Matching_Static_Array_Bounds): Moved here from Sem_Res
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
|
||
* par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
|
||
* sinfo.ads, sinfo.adb (Used_Operations): new attribute of
|
||
use_type_clauses, to handle more efficiently use_type and use_all_type
|
||
constructs.
|
||
* sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
|
||
Ada2012 Use_All_Type clause.
|
||
(Use_Class_Wide_Operations): new procedure.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
|
||
sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
|
||
expression to expression function.
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb: transform simple Ada2012 membership into equality only
|
||
if types are compatible.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Matching_Static_Array_Bounds): new function which
|
||
returns True if its argument array types have same dimension and same
|
||
static bounds at each index.
|
||
(Resolve_Actuals): issue an error in formal mode on actuals passed as
|
||
OUT or IN OUT paramaters which are not view conversions in SPARK.
|
||
(Resolve_Arithmetic_Op): issue an error in formal mode on
|
||
multiplication or division with operands of fixed point types which are
|
||
not qualified or explicitly converted.
|
||
(Resolve_Comparison_Op): issue an error in formal mode on comparisons of
|
||
Boolean or array type (except String) operands.
|
||
(Resolve_Equality_Op): issue an error in formal mode on equality
|
||
operators for array types other than String with non-matching static
|
||
bounds.
|
||
(Resolve_Logical_Op): issue an error in formal mode on logical operators
|
||
for array types with non-matching static bounds. Factorize the code in
|
||
Matching_Static_Array_Bounds.
|
||
(Resolve_Qualified_Expression): issue an error in formal mode on
|
||
qualified expressions for array types with non-matching static bounds.
|
||
(Resolve_Type_Conversion): issue an error in formal mode on type
|
||
conversion for array types with non-matching static bounds
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch10.adb: Minor code reorganization (use Nkind_In).
|
||
|
||
2011-08-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch9.adb: save location of entry for proper error message.
|
||
|
||
2011-08-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
|
||
(Use_Full_View) which permits this routine to climb through the
|
||
ancestors using the full-view of private parents.
|
||
* sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
|
||
Use_Full_View to true in calls to Is_Ancestor.
|
||
* sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
|
||
true in call to Is_Ancestor.
|
||
* exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
|
||
Use_Full_View to true in call to Is_Ancestor.
|
||
* exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
|
||
call to Is_Ancestor.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
|
||
Use_Full_View to true in calls to Is_Ancestor.
|
||
* exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
|
||
Make_Select_Specific_Data_Table, Register_Primitive,
|
||
Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
|
||
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
|
||
to true in call to Is_Ancestor.
|
||
* exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
|
||
Use_Full_View to true in calls to Is_Ancestor.
|
||
* exp_cg.adb
|
||
(Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
|
||
(Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor reformatting.
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2011-08-02 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* vms_data.ads: Add VMS qualifier for -gnateP.
|
||
|
||
2011-08-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
|
||
* par-ch7.adb (P_Package): Proper placement of aspects for package
|
||
decl/instantiation.
|
||
* par-endh.adb (Check_End): Ad Is_Sloc parameter
|
||
(End_Statements): Add Is_Sloc parameterr
|
||
* par.adb (P_Aspect_Specification): New meaning of Decl = Empty
|
||
(Check_End): Ad Is_Sloc parameter
|
||
(End_Statements): Add Is_Sloc parameterr
|
||
|
||
2011-08-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* ug_words: Add VMS qualifier equivalent to -gnateP:
|
||
/SYMBOL_PREPROCESSING.
|
||
|
||
2011-08-02 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* gnat-style.texi: For hexadecimal numeric literals the typical
|
||
grouping of digits is 4 to represent 2 bytes.
|
||
A procedure spec which is split into several lines is indented two
|
||
characters.
|
||
|
||
2011-08-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
|
||
* sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
|
||
(Resolve_Aggregate): issue errors in formal modes when aggregate is not
|
||
properly qualified
|
||
(Resolve_Array_Aggregate): issue errors in formal modes on non-static
|
||
choice in array aggregate
|
||
(Resolve_Extension_Aggregate): issue errors in formal modes on subtype
|
||
mark as ancestor
|
||
(Resolve_Record_Aggregate): issue errors in formal modes on mixed
|
||
positional and named aggregate for record, or others in record
|
||
aggregate, or multiple choice in record aggregate
|
||
* sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
|
||
array operands to logical operations AND, OR and XOR do not have the
|
||
same static lower and higher bounds
|
||
* sem_ch5.adb, sinfo.ads: Correct typos in comments
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
|
||
Replaces Last_Source_Node_In_Sequence.
|
||
* err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
|
||
* errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
|
||
parens and blank in string (this was inconsistently implemented).
|
||
* errout.ads
|
||
(Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
|
||
blank in string (this was inconsistently implemented).
|
||
* gnat1drv.adb
|
||
(Set_Global_Switches): Set formal mode switches appropriately
|
||
* opt.ads, opt.adb: Formal mode is now global switches, more consistent
|
||
* par-prag.adb
|
||
(Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
|
||
call Set_Error_Msg_Lang to set "spark" as language name.
|
||
* par.adb: Remove unnecessary call to set formal language for errout
|
||
* sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
|
||
appropriately and call Set_Error_Msg_Lang to set "spark" as language
|
||
name.
|
||
* sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
|
||
calls to it, moved after resolution so that types are known
|
||
* sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
|
||
result of concatenation is not of type String
|
||
(Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
|
||
concatenation is not properly restricted
|
||
* gnat_rm.texi: Add doc on pragma Spark_95.
|
||
* gcc-interface/Makefile.in: Remove obsolete target pairs for
|
||
Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
|
||
condition that detects if the overridden operation must replace an
|
||
existing entity.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
|
||
code declarations inserted by Insert_Actions in each alternative of the
|
||
N_Case_Expression node.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor code reorganization.
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
|
||
* gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
|
||
literal or operator symbol which is prefixed
|
||
* sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
|
||
mode on access attributes.
|
||
* sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
|
||
that concatenation operands are properly restricted in formal mode
|
||
(Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
|
||
Analyze_Concatenation_Operand. Issue an error in formal mode if the
|
||
result of the concatenation has a type different from String.
|
||
(Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
|
||
Analyze_Quantified_Expression, Analyze_Slice,
|
||
Analyze_Null): issue an error in formal mode on unsupported constructs
|
||
* sem_ch5.adb
|
||
(Analyze_Block_Statement): only issue error on source block statement
|
||
* sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
|
||
function which returns the last node in a list of nodes for which
|
||
Comes_From_Source returns True, if any
|
||
* sem_ch6.adb (Check_Missing_Return): minor refactoring to use
|
||
Last_Source_Node_In_Sequence
|
||
* sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
|
||
Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
|
||
mode on unsupported constructs
|
||
* sem_ch9.adb Do not return after issuing error in formal mode, as the
|
||
rest of the actions may be needed later on since the error is marked as
|
||
not serious.
|
||
* sinfo.ads: Typos in comments.
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Minor editing.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
|
||
insertion character ~~
|
||
* errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
|
||
(Set_Error_Msg_Lang): new procedure which fixes the language for use
|
||
with insertion character ~~
|
||
(Set_Msg_Text): treat insertion character ~~
|
||
* par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
|
||
sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
|
||
Formal_Error_Msg_... procedures by equivalent Error_Msg_...
|
||
procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
|
||
errors related to the formal language restriction not serious
|
||
(insertion character |).
|
||
* par.adb (Par): set formal language for error messages if needed
|
||
* sem_ch6.adb (Check_Missing_Return): take into account possible
|
||
generated statements at the end of the function
|
||
* snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
|
||
enumeration value to define a new pragma SPARK_95
|
||
* opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
|
||
SPARK_Version): new type and variables to store the SPARK version
|
||
(none by default).
|
||
(SPARK_Mode): return True when SPARK_Version is set
|
||
* par-prag.adb: Correct indentation
|
||
(Prag): take Pragma_SPARK_95 into account
|
||
* sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
|
||
into account.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
|
||
sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
|
||
sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
|
||
Target_Name to Get_Path call.
|
||
(Parse_Single_Project): Likewise.
|
||
(Post_Parse_Context_Clause): Likewise.
|
||
* prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
|
||
Call Initialise_Project_Path with the proper Target_Name.
|
||
(Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
|
||
search path.
|
||
(Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
|
||
with the proper Target_Name.
|
||
* prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
|
||
Part.Parse routine.
|
||
(Parse_Project_And_Apply_Config): Likewise.
|
||
* prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
|
||
This is fine as this part of the code is supporting only native
|
||
compilation.
|
||
* prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
|
||
is fine as this part of the code is supporting only native compilation.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Enter_Name): issue error in formal mode on declaration
|
||
of homonym, unless the homonym is one of the cases allowed in SPARK
|
||
* par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
|
||
package declaration occurring after a body.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, exp_ch4.adb: Minor reformatting.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.ads (Access_Disp_Table): Fix documentation.
|
||
(Dispatch_Table_Wrappers): Fix documentation.
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-env.adb, prj-env.ads: Minor reformatting.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb, par.adb, par_util.adb
|
||
(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
|
||
procedures out of these packages.
|
||
* errout.ads, errout.adb
|
||
(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
|
||
procedures in of this package
|
||
(Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
|
||
* par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
|
||
on misplaced later vs initial declarations, like in Ada 83
|
||
* sem_attr.adb (Processing for Analyze_Attribute): issue error in
|
||
formal mode on attribute of private type whose full type declaration
|
||
is not visible
|
||
* sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
|
||
package declaration inside a package specification
|
||
(Analyze_Full_Type_Declaration): issue error in formal mode on
|
||
controlled type or discriminant type
|
||
* sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
|
||
user-defined operator means that it should come from the source
|
||
(New_Overloaded_Entity): issue error in formal mode on overloaded
|
||
entity.
|
||
* sem_ch6.ads, sem_ch13.ads: typos in comments.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* atree.adb: Minor reformatting.
|
||
* checks.adb: Minor reformatting.
|
||
|
||
2011-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* s-parame-vms-ia64.ads: Fix typo in comment
|
||
Minor reformatting
|
||
* s-parame-vms-restrict.ads: Removed, unused.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb
|
||
(Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
|
||
* sem_ch3.adb
|
||
(Constrain_Index): Remove side effects in the evaluation of the bounds.
|
||
* sem_ch3.ads, sem_ch3.adb
|
||
(Is_Constant_Bound): New extended version of the subprogram that was
|
||
previously located inside function Exp_Ch3.Is_Variable_Size_Array.
|
||
Moved here since it is shared by routines of sem_ch3 and exp_ch3.
|
||
* sem_aux.ads (Constant_Value): Fix typo in comment.
|
||
* checks.adb (Generate_Index_Checks): New implementation which, for
|
||
array objects with constant bounds, generates the runtime check
|
||
referencing the bounds of the array type. For other cases this routine
|
||
provides its previous behavior obtaining such values from the array
|
||
object.
|
||
* sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
|
||
parent type.
|
||
* atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
|
||
we cannot have semantic interpretations of the new node.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-endh.adb (Check_End): issue a syntax error in SPARK mode for
|
||
missing label at end of declaration (subprogram or package)
|
||
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
|
||
of positional and named parameter association
|
||
* par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
|
||
Error_Msg_SP which adds a prefix to the error message giving the name
|
||
of the formal language analyzed
|
||
* sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
|
||
access result type in subprogram, unconstrained array as result type,.
|
||
(Analyze_Subprogram_Declaration): issue an error in formal mode for null
|
||
procedure
|
||
* sem_ch8.adb: Code clean up.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch7.adb (Uninstall_Declarations): Remove useless code.
|
||
* einfo.ads (Access_Disp_Table): Fix documentation.
|
||
(Dispatch_Table_Wrappers): Fix documentation.
|
||
* einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
|
||
Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
|
||
to enforce the documentation of this attribute.
|
||
(Set_Is_Interface): Cleanup the assertion.
|
||
* exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
|
||
the Underlying_Type entity before reading attribute Access_Disp_Table.
|
||
* exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
|
||
Locate the Underlying_Type before reading attribute Access_Disp_Table.
|
||
* exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
|
||
the Underlying_Type entity before reading attribute Access_Disp_Table.
|
||
* exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
|
||
Locate the Underlying_Type entity before reading attribute
|
||
Access_Disp_Table.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* s-poosiz.ads: Additional overriding indicators.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Exit_Statement): add return after error in
|
||
formal mode.
|
||
(Analyze_Iteration_Scheme): issue error in formal mode when loop
|
||
parameter specification does not include a subtype mark.
|
||
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
|
||
formal mode on abstract subprogram.
|
||
(Analyze_Subprogram_Specification): issue error in formal mode on
|
||
user-defined operator.
|
||
(Process_Formals): issue error in formal mode on access parameter and
|
||
default expression.
|
||
* sem_ch9.adb (Analyze_Abort_Statement,
|
||
Analyze_Accept_Statement, Analyze_Asynchronous_Select,
|
||
Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
|
||
Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
|
||
Analyze_Requeue, Analyze_Selective_Accept,
|
||
Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
|
||
* sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
|
||
issue error in formal mode on user-defined raise statement.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
|
||
declaration being hidden when overriding an implicit inherited
|
||
subprogram.
|
||
* par-ch10.adb (P_Compilation_Unit): In syntax check only mode
|
||
(-gnats), do not complain about a source file that contains only a
|
||
pragma No_Body.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
|
||
variable if already set.
|
||
|
||
2011-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
|
||
g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
|
||
s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
|
||
g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
|
||
g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
|
||
g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
|
||
g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
|
||
g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
|
||
g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
|
||
g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
|
||
g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
|
||
s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
|
||
g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
|
||
s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
|
||
g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
|
||
g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
|
||
g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
|
||
g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
|
||
g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
|
||
g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
|
||
s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
|
||
s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
|
||
a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
|
||
s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
|
||
s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
|
||
g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
|
||
g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
|
||
g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
|
||
g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
|
||
g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
|
||
g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
|
||
s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
|
||
s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
|
||
g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
|
||
g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
|
||
s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
|
||
s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
|
||
g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
|
||
g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
|
||
g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
|
||
s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
|
||
g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
|
||
g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
|
||
g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
|
||
s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
|
||
g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
|
||
g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
|
||
g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
|
||
s-osinte-mingw.ads: Update to GPLv3 run-time license.
|
||
Use GNAT instead of GNARL.
|
||
|
||
2011-08-01 Bob Duff <duff@adacore.com>
|
||
|
||
* a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
|
||
a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
|
||
a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
|
||
reformatting.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb (d.D) reverve flag for the SPARK mode
|
||
(d.E) reverve flag for SPARK generation mode
|
||
(d.F) reverve flag for Why generation mode
|
||
* opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
|
||
ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
|
||
functions which return True when the corresponding modes are set
|
||
(Formal_Language): return "spark" or "alfa" when in formal verification
|
||
mode.
|
||
* sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
|
||
Error_Msg to prefix the error message with a tag giving the formal
|
||
language
|
||
(Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
|
||
message with a tag giving the formal language
|
||
* sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
|
||
block statement
|
||
(Analyze_Case_Statement): issue error in formal mode on case statement
|
||
with a single "others" case alternative
|
||
(Analyze_Exit_Statement): issue errors in formal mode on exit
|
||
statements which do not respect SPARK restrictions
|
||
(Analyze_Goto_Statement): issue error in formal mode on goto statement
|
||
(Check_Unreachable_Code): always issue an error (not a warning) in
|
||
formal mode on unreachable code (concerns both code after an infinite
|
||
loop and after an unconditional jump, both not allowed in SPARK)
|
||
* sem_ch6.adb (Analyze_Return_Statement): add call to
|
||
Set_Return_Present for a procedure containing a return statement
|
||
(already done for functions in Analyze_Function_Return)
|
||
(Analyze_Function_Return): issue error in formal mode on extended
|
||
return or if return is not last statement in function
|
||
(Check_Missing_Return): issue error in formal mode if function does
|
||
not end with return or if procedure contains a return
|
||
* sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
|
||
function to detect if there is an inner scope of its parameter S which
|
||
is a loop.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch6.ads: Minor reformatting.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.adb (Abstract_Interface_List): Complete condition when
|
||
processing private type declarations to avoid reading unavailable
|
||
attribute.
|
||
(Is_Synchronized_Tagged_Type): Complete condition when processing
|
||
private extension declaration nodes to avoid reading unavailable
|
||
attribute.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
|
||
i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
|
||
s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
|
||
s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
|
||
for VMS, instead parametrize the common implementation with
|
||
System.Parameters declarations.
|
||
|
||
2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
|
||
|
||
2011-08-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* seh_init.c: Fix SEH handler installation on win64.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
|
||
double analysis of an anonymous access to subprogram, because it can
|
||
lead to improper sharing of profiles and a back-end crash.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, sem_ch4.adb: Minor reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* sem_util.adb, exp_ch5.adb: Minor reformatting.
|
||
|
||
2011-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi: Fix definition of Long_Integer.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb: check limit size of static aggregate unconditionally,
|
||
to prevent storage exhaustion.
|
||
* exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
|
||
finalized is a function body, insert the cleanup code before the final
|
||
return statement, to prevent spurious warnings.
|
||
* s-pooglo.ads: add overriding indicator.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): improve error message when both a
|
||
with_clause and a use_clause are needed to make operator usage legal.
|
||
* sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
|
||
determine whether a compilation unit is visible within an other,
|
||
either through a with_clause in the current unit, or a with_clause in
|
||
its library unit or one one of its parents.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
|
||
over an arbitrary expression of an array or container type.
|
||
* lib-xref.adb: clarify comment.
|
||
|
||
2011-08-01 Bob Duff <duff@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
* debug.adb: Minor comment improvement.
|
||
|
||
2011-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
|
||
consider hidden subprograms as valid candidates.
|
||
|
||
2011-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Compile): Strip -mxxx switches in CodePeer mode.
|
||
|
||
2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
|
||
lib-xref.adb: Minor reformatting
|
||
|
||
2011-08-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
|
||
when to generate a call to Move_Final_List.
|
||
(Has_Controlled_Parts): Remove this function.
|
||
|
||
2011-08-01 Geert Bosch <bosch@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting.
|
||
|
||
2011-08-01 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-expect.adb (Get_Command_Output): Fix memory leak.
|
||
|
||
2011-08-01 Geert Bosch <bosch@adacore.com>
|
||
|
||
* cstand.adb (P_Float_Type): New procedure to print the definition of
|
||
predefined fpt types.
|
||
(P_Mixed_Name): New procedure to print a name using mixed case
|
||
(Print_Standard): Use P_Float_Type for printing floating point types
|
||
* einfo.adb (Machine_Emax_Value): Add preliminary support for quad
|
||
precision IEEE float.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
|
||
the completion of a generic function, insert the new body rather than
|
||
rewriting the original.
|
||
|
||
2011-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads, errout.ads: Typos in comments.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-endh.adb: Minor reformatting.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspects for library unit pragmas
|
||
(Pre_Post_Aspects): New subtype.
|
||
* par-ch12.adb (P_Generic): New syntax for aspects in packages
|
||
* par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
|
||
* par-ch7.adb (P_Package): Remove Decl parameter
|
||
(P_Package): Handle new syntax for aspects (before IS)
|
||
* par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
|
||
new aspect syntax
|
||
(P_Task_Definition): Remove Decl parameter, handle new aspect syntax
|
||
* par.adb (P_Aspect_Specifications): Add Semicolon parameter
|
||
(P_Package): Remove Decl parameter
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
|
||
aspects
|
||
* sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
|
||
specs
|
||
* sem_util.ads, sem_util.adb (Static_Boolean): New function
|
||
* sinfo.ads: Document new syntax for aspects in packages etc.
|
||
* sprint.adb: Handle new syntax of aspects before IS in package
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting.
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb (Insert_Actions): Fix error in handling Actions for
|
||
case expr alternative.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Fix typo.
|
||
|
||
2011-08-01 Geert Bosch <bosch@adacore.com>
|
||
|
||
* sem_prag.adb (Check_No_Link_Name): New procedure.
|
||
(Process_Import_Or_Interface): Use Check_No_Link_Name.
|
||
* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
|
||
instead of Standard_Long_Long_Float_Size global. Preparation for
|
||
eventual removal of per type constants.
|
||
* exp_util.ads (Get_Stream_Size): New function returning the stream
|
||
size value of subtype E.
|
||
* exp_util.adb (Get_Stream_Size): Implement new function.
|
||
* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
|
||
function.
|
||
* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
|
||
* einfo.adb:
|
||
(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
|
||
|
||
2011-08-01 Geert Bosch <bosch@adacore.com>
|
||
|
||
* cstand.adb: Fix comments.
|
||
* sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
|
||
count of arguments.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb, sem_cat.adb: Minor reformatting.
|
||
|
||
2011-08-01 Geert Bosch <bosch@adacore.com>
|
||
|
||
* atree.ads: Fix comment.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
|
||
* par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
|
||
* par.adb: Add with for Namet.Sp.
|
||
* par-tchk.adb: Minor reformatting.
|
||
|
||
2011-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
|
||
(Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
|
||
of the init procedure of a SAL.
|
||
* mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
|
||
New procedure.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
|
||
reformatting.
|
||
|
||
2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* adaint.c (__gnat_file_time_name_attr): Get rid of warning.
|
||
|
||
2011-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
|
||
conformant with its spec (return True only for types that have
|
||
an overriding Initialize primitive operation that prevents them from
|
||
having preelaborable initialization).
|
||
* sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
|
||
initialization for controlled types in Ada 2005 or later mode.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
|
||
Postcondition.
|
||
(Same_Aspect): New function.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
|
||
Type_Invariant, Precondition, Postcondition.
|
||
* snames.ads-tmpl: Add Name_Type_Invariant.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
|
||
Static_Predicate and Dynamic_Predicate.
|
||
(Build_Predicate_Function): Add processing for Static_Predicate
|
||
and Dynamic_Predicate.
|
||
* sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
|
||
(From_Static_Predicate): New flag
|
||
* snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb: Documentation cleanup for Ada version modes in usage.
|
||
* expander.adb: Minor reformatting.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
|
||
High is above Source length.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
|
||
|
||
2011-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* 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.
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
|
||
Fix Replace_Slice when High is above current string size.
|
||
(Replace_Slice): Fix DL computation when High is above current
|
||
string length.
|
||
|
||
2011-08-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
|
||
|
||
2011-08-01 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
|
||
of node.
|
||
|
||
2011-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
|
||
reformatting.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
|
||
access to protected subprograms in generic bodies.
|
||
* sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
|
||
protected type, indicate that the convention of the subprogram is
|
||
Convention_Protected, because it may be used in subsequent declarations
|
||
within the protected declaration.
|
||
|
||
2011-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
|
||
and "final" procedures when the name of the library is "ada", to avoid
|
||
duplicate symbols "adainit" and "adafinal" in executables.
|
||
|
||
2011-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
|
||
quantified expression that appears within a postcondition and uses the
|
||
Ada2012 'Result attribute.
|
||
|
||
2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* init.c (__gnat_error_handler): Cast reason to int.
|
||
(__gnat_install_handler): Explain sa_sigaction use.
|
||
|
||
2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
|
||
subprogram has copy-in copy-out parameters, try to promote the mode of
|
||
the return type if it is passed in registers.
|
||
|
||
2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
|
||
left operand as addressable.
|
||
|
||
2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (build_function_stub): Remove.
|
||
(build_return_expr): Likewise.
|
||
(convert_vms_descriptor): Declare.
|
||
* gcc-interface/utils.c (convert_vms_descriptor): Make global.
|
||
(build_function_stub): Move to...
|
||
* gcc-interface/utils2.c (build_return_expr): Move to...
|
||
* gcc-interface/trans.c (build_function_stub): ...here.
|
||
(build_return_expr): ...here.
|
||
(Subprogram_Body_to_gnu): Add local variable for language_function.
|
||
Disconnect the parameter attributes cache, if any, once done with it.
|
||
Call end_subprog_body only after setting the end_locus.
|
||
Build the stub associated with the function, if any, at the very end.
|
||
(gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
|
||
variables and streamline control flow.
|
||
|
||
2011-07-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
PR ada/49819
|
||
* gcc-interface/Makefile.in (powerpc-linux): Remove reference to
|
||
g-trasym-dwarf.adb.
|
||
|
||
2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR bootstrap/49794
|
||
* init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
|
||
Assign to act.sa_sigaction.
|
||
* tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
|
||
current->return_address to char * before arithmetic.
|
||
|
||
2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
|
||
Correct argument types.
|
||
Extract code from reason.
|
||
(__gnat_install_handler): Assign to act.sa_sigaction.
|
||
|
||
2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
|
||
(GNAT1_OBJS): ...here.
|
||
|
||
2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/48711
|
||
* g-socthi-mingw.adb (Fill): Fix formatting.
|
||
|
||
* gcc-interface/gigi.h: Move around comment.
|
||
|
||
2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
PR ada/46350
|
||
* s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
|
||
|
||
2011-07-14 Florian Weimer <fw@deneb.enyo.de>
|
||
|
||
PR ada/48711
|
||
* g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
|
||
|
||
2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
|
||
range comparison if Pmode is SImode.
|
||
|
||
2011-07-12 Laurent GUERBY <laurent@guerby.net>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* adadecode.c: Wrap up in extern "C" block.
|
||
* adadecode.h: Likewise.
|
||
* adaint.c: Likewise. Remove 'const' keyword.
|
||
* adaint.h: Likewise.
|
||
* argv.c: Likewise.
|
||
* atree.h: Likewise.
|
||
* cio.c: Likewise.
|
||
* cstreams.c: Likewise.
|
||
* env.c: Likewise.
|
||
* exit.c: Likewise.
|
||
* fe.h: Likewise.
|
||
* final.c: Likewise.
|
||
* init.c: Likewise.
|
||
* initialize.c: Likewise.
|
||
* link.c: Likewise.
|
||
* namet.h: Likewise.
|
||
* nlists.h: Likewise.
|
||
* raise.c: Likewise.
|
||
* raise.h: Likewise.
|
||
* repinfo.h: Likewise.
|
||
* seh_init.c: Likewise.
|
||
* targext.c: Likewise.
|
||
* tracebak.c: Likewise.
|
||
* uintp.h: Likewise.
|
||
* urealp.h: Likewise.
|
||
* xeinfo.adb: Wrap up generated C code in extern "C" block.
|
||
* xsinfo.adb: Likewise.
|
||
* xsnamest.adb: Likewise.
|
||
* gcc-interface/gadaint.h: Wrap up in extern "C" block.
|
||
* gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
|
||
* gcc-interface/misc.c: Likewise.
|
||
* gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
|
||
(GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
|
||
ada/targext.o here...
|
||
(GNAT_ADA_OBJS): ...and not here.
|
||
(GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
|
||
(GNATBIND_OBJS): Reorder.
|
||
|
||
2011-07-07 Richard Henderson <rth@redhat.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
|
||
dwarf2out_frame_init.
|
||
|
||
2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init): Tweak previous change.
|
||
|
||
2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR target/39150
|
||
* gcc-interface/Makefile.in: Handle x86_64-solaris2.
|
||
|
||
2011-07-06 Richard Guenther <rguenther@suse.de>
|
||
|
||
* gcc-interface/misc.c (gnat_init): Merge calls to
|
||
build_common_tree_nodes and build_common_tree_nodes_2.
|
||
Re-initialize boolean_false_node.
|
||
|
||
2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
Olivier Hainque <hainque@adacore.com>
|
||
Nicolas Setton <setton@adacore.com>
|
||
|
||
* gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
|
||
the type according to the ARTIFICIAL_P parameter.
|
||
(create_type_decl): Likewise.
|
||
(create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
|
||
|
||
2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
|
||
(gnatbind): Likewise.
|
||
|
||
2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
|
||
|
||
2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
|
||
local variable throughout. Remove useless call to Base_Type.
|
||
(gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
|
||
Take it also into account for the volatileness of the field. Set the
|
||
TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
|
||
|
||
2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
|
||
on a dereference built for a by-ref object if it has an address clause.
|
||
|
||
2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Address_Taken): Document use for the second argument of
|
||
Asm_Input and Asm_Output attributes.
|
||
* sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
|
||
argument is an entity name, then set Address_Taken on it.
|
||
<Attribute_Asm_Output>: Likewise.
|
||
* gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
|
||
Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
|
||
(gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
|
||
memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
|
||
|
||
2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
PR middle-end/46500
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
|
||
|
||
2011-06-14 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
|
||
(ada/utils.o): Update dependencies.
|
||
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
|
||
../../../libcpp/libcpp.a.
|
||
* gcc-interface/utils.c: Include common/common-target.h.
|
||
(process_attributes): Use targetm_common.have_named_sections.
|
||
|
||
2011-06-07 Richard Guenther <rguenther@suse.de>
|
||
|
||
* gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
|
||
set_sizetype.
|
||
|
||
2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
|
||
TREE_THIS_NOTRAP flag.
|
||
|
||
2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
|
||
Fix thinko.
|
||
|
||
2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
|
||
constants whose full view has discriminants specially.
|
||
|
||
2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c: Include diagnostic.h.
|
||
(gnat_write_global_declarations): Output debug information for all
|
||
global type declarations before finalizing the compilation unit.
|
||
* gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
|
||
|
||
2011-05-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/utils.c (def_fn_type): Remove extra va_end.
|
||
|
||
2011-05-25 Kai Tietz <ktietz@redhat.com>
|
||
|
||
* adaint.c (__gnat_to_canonical_file_list_next): Use array
|
||
initialization instead of const/none-const pointer assignment.
|
||
|
||
2011-05-24 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
|
||
$(EXTRA_GNAT1_OBJS).
|
||
(GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
|
||
(EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
|
||
(gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
|
||
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
|
||
libcommon-target.a instead of prefix.o.
|
||
|
||
2011-05-21 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR ada/49097
|
||
* gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
|
||
|
||
2011-05-20 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
|
||
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
|
||
instead of version.o.
|
||
|
||
2011-05-18 Kai Tietz <ktietz@redhat.com>
|
||
|
||
* gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
|
||
boolean_false_node instead of integer_zero_node.
|
||
(convert_with_check): Likewise.
|
||
* gcc-interface/decl.c (choices_to_gnu): Likewise.
|
||
|
||
2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
|
||
type of the parameter is an unconstrained array, convert the actual to
|
||
the type of the formal in the In Out and Out cases as well.
|
||
|
||
2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
|
||
call build_function_type_array or build_varargs_function_type_array
|
||
instead.
|
||
(create_subprog_type): Don't call build_function_type; call
|
||
build_function_type_vec instead.
|
||
|
||
2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
|
||
(TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
|
||
(TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
|
||
|
||
2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
|
||
|
||
* gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
|
||
* gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
|
||
|
||
2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
|
||
|
||
2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
|
||
instead of accessing TYPE_ARG_TYPES directly.
|
||
* gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
|
||
|
||
2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/48844
|
||
* gcc-interface/gigi.h (get_variant_part): Declare.
|
||
* gcc-interface/decl.c (get_variant_part): Make global.
|
||
* gcc-interface/utils2.c (find_common_type): Do not return T1 if the
|
||
types have the same constant size, are record types and T1 has a
|
||
variant part while T2 doesn't.
|
||
|
||
2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (begin_subprog_body): Do not call
|
||
get_pending_sizes.
|
||
(end_subprog_body): Likewise.
|
||
|
||
2011-05-04 Richard Guenther <rguenther@suse.de>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
|
||
int_const_binop.
|
||
(pos_to_constructor): Likewise.
|
||
|
||
2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Call build_function_type_list instead
|
||
of build_function_type. Adjust calls to...
|
||
(build_raise_check): ...this. Do not take a void_tree parameter.
|
||
Call build_function_type_list instead of build_function_type.
|
||
Fix head comment and swap couple of conditional blocks.
|
||
|
||
2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 4.7.
|
||
(Current_Year): Bump to 2011.
|
||
|
||
2011-04-29 Michael Matz <matz@suse.de>
|
||
|
||
* gcc-interface/misc.c (gnat_handle_option): Set
|
||
warn_maybe_uninitialized.
|
||
|
||
2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* gnat_ugn.texi (Complexity Metrics Control): Update link to
|
||
the Watson/McCabe paper.
|
||
|
||
2011-04-23 Jim Meyering <meyering@redhat.com>
|
||
|
||
* gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
|
||
|
||
2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
|
||
onto the new type.
|
||
|
||
2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
|
||
parameter.
|
||
* gcc-interface/utils.c (create_subprog_decl): Likewise. Set
|
||
DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
|
||
ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
|
||
<all>: Do not set flags on the reused DECL node coming from an alias.
|
||
Set DECL_IGNORED_P on the DECL node built for subprograms if they
|
||
don't need debug info here...
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
|
||
(gigi): Adjust calls to create_subprog_decl.
|
||
(build_raise_check): Likewise.
|
||
(establish_gnat_vms_condition_handler): Likewise.
|
||
(Compilation_Unit_to_gnu): Likewise.
|
||
(gnat_to_gnu): Likewise.
|
||
|
||
2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
|
||
(NO_REORDER_ADAFLAGS): New variable.
|
||
(EXTRA_GNATTOOLS): Always define.
|
||
(../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
|
||
Clean up and adjust list of files compiled with special options.
|
||
* gcc-interface/Make-lang.in: Likewise.
|
||
(ada/decl.o): Cosmetical change.
|
||
(ada/misc.o): Remove dependency on $(PLUGIN_H).
|
||
|
||
2011-04-20 Jim Meyering <meyering@redhat.com>
|
||
|
||
* initialize.c (__gnat_initialize): Remove useless if-before-free.
|
||
|
||
2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
|
||
$(CFLAGS) on the link line.
|
||
|
||
2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
|
||
padded type built for the return type if it is unconstrained.
|
||
|
||
2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
|
||
|
||
2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
|
||
before calling TREE_CHAIN.
|
||
* gcc-interface/misc.c (gnat_init_ts): New function.
|
||
(LANG_HOOKS_INIT_TS): Define.
|
||
|
||
2011-04-12 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
|
||
instead of cgraph_node.
|
||
|
||
2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
|
||
alignment on fields of the RETURN type built for the Copy-In Copy-Out
|
||
mechanism.
|
||
|
||
2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
|
||
of aggregate types that contain a placeholder.
|
||
|
||
2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* gcc-interface/utils.c (handle_sentinel_attribute): Don't use
|
||
TYPE_ARG_TYPES.
|
||
(handle_type_generic_attribute): Likewise.
|
||
|
||
2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/47163
|
||
* s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
|
||
|
||
2011-04-04 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR ada/47163
|
||
* s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
|
||
to flag value.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_allocator): In the unconstrained array
|
||
type case, do not strip a padding type around the array type.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (update_pointer_to): Finalize named pointer
|
||
types.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
|
||
* gcc-interface/misc.c (gnat_handle_option): Remove special handling
|
||
code for -feliminate-unused-debug-types.
|
||
(gnat_post_options): Likewise.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
|
||
declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
|
||
distinct copy.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
|
||
DECL_ARTIFICIAL flag on enumeration types.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
|
||
fat pointer types artificial unconditionally.
|
||
<E_Array_Subtype>: Attach the base array type as a parallel type if it
|
||
isn't artificial.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (get_dummy_type): Declare.
|
||
(build_dummy_unc_pointer_types): Likewise.
|
||
(finish_fat_pointer_type): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
|
||
fat pointer type has been built, complete it in place.
|
||
<E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
|
||
and thin pointers. Remove useless variable.
|
||
(finish_fat_pointer_type): Make global and move to...
|
||
* gcc-interface/utils.c (finish_fat_pointer_type): ...here.
|
||
(get_dummy_type): New function.
|
||
(build_dummy_unc_pointer_types): Likewise.
|
||
(gnat_pushdecl): Propage the name to the anonymous variants only.
|
||
(update_pointer_to): Only adjust the pointer types in the unconstrained
|
||
array case.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
|
||
if this is a Taft amendment type and the full declaration is available.
|
||
* gcc-interface/trans.c (process_type): Likewise.
|
||
If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
|
||
(process_freeze_entity): Likewise.
|
||
* gcc-interface/utils.c (dummy_global): New static variable.
|
||
(gnat_write_global_declarations): If there are types declared as used
|
||
at the global level, insert them in the global hash table.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
|
||
* gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
|
||
declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
|
||
copy.
|
||
(record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
|
||
flag of the type accordingly.
|
||
* gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
|
||
|
||
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
|
||
finalizing types when updating the pointers to the designated type.
|
||
<all>: Finalize the deferred types even if we didn't defer processing
|
||
of incomplete types in this invocation.
|
||
|
||
2011-04-01 Olivier Hainque <hainque@adacore.com>
|
||
Nicolas Setton <setton@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_descriptive_type): New function.
|
||
(LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
|
||
|
||
2011-03-28 Kai Tietz <ktietz@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
|
||
Windows targets.
|
||
(EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
|
||
* system-mingw.ads (System): Change ZCX_By_Default default to True.
|
||
|
||
* raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
|
||
|
||
2011-03-28 Tristan Gingold <gingold@adacore.com>
|
||
|
||
PR ada/44431
|
||
* gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
|
||
Use ada output of gnatbind.
|
||
(ada/b_gnatb.adb): Ditto.
|
||
(ada/b_gnat1.o, ada/b_gnatb.o): New rules.
|
||
(ada.mostlyclean, ada.stage1)
|
||
(ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
|
||
(ada.stagefeedback): Adjust.
|
||
* gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
|
||
Use ada output of gnatbind.
|
||
(b_gnatm.adb): Ditto.
|
||
(b_gnatl.o, b_gnatm.o): New rules.
|
||
|
||
2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
|
||
for the padded type built to support a specified size or alignment.
|
||
|
||
2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
|
||
unconditionally to the end of the unit when the designated type is
|
||
limited_with'ed.
|
||
<all>: Rename local variable. Attempt to un-defer types only and do it
|
||
for limited_with'ed types as well.
|
||
(finalize_from_with_types): Adjust comment. Rename variable and tidy.
|
||
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
|
||
consistently and remove redundant call to finalize_from_with_types.
|
||
|
||
2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
|
||
subprograms without a previous spec declared in the same unit.
|
||
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
|
||
subprograms at the end of the unit instead of at the beginning.
|
||
* gcc-interface/utils.c (create_subprog_decl): Check that the entity
|
||
isn't public for the special handling of non-inline functions nested
|
||
inside inline external functions.
|
||
|
||
2011-03-25 Jeff Law <law@redhat.com>
|
||
|
||
* gcc-interface/utils.c (def_fn_type): Add missing va_end.
|
||
|
||
2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Size_Depends_On_Discriminant): Adjust description.
|
||
* layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
|
||
to compute Set_Size_Depends_On_Discriminant.
|
||
(Layout_Type): Call it on array types in back-end layout mode.
|
||
* sem_util.adb (Requires_Transient_Scope): Return true for array
|
||
types only if the size depends on the value of discriminants.
|
||
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
|
||
type if the RHS is a call to a function that returns an unconstrained
|
||
type with default discriminant.
|
||
|
||
2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
|
||
non-conversion to the nominal result type at the end.
|
||
|
||
2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (create_temporary): New function taken from...
|
||
(create_init_temporary): ...here. Call it.
|
||
(call_to_gnu): Create the temporary for the return value early, if any.
|
||
Create it for a function with copy-in/copy-out parameters if there is
|
||
no target; in other cases of copy-in/copy-out, use another temporary.
|
||
Push the new binding level lazily. Add and rename local variables.
|
||
|
||
2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (validate_size): Improve comments and tweak
|
||
error message.
|
||
(set_rm_size): Likewise.
|
||
|
||
2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
|
||
for the padded type built in order to support a specified alignment.
|
||
Fix incorrect formatting.
|
||
|
||
2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/48216
|
||
* gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
|
||
|
||
2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Add REORDER parameter,
|
||
rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
|
||
to the end of the list. Adjust recursive call. Rename local variable.
|
||
If REORDER is true, reorder components of the record type.
|
||
(gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
|
||
components_to_record and adjust the parameter list.
|
||
|
||
2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): When optimization is
|
||
disabled, use the variable for bounds of loop iteration scheme.
|
||
|
||
2011-03-21 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR target/12171
|
||
* gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
|
||
|
||
2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): Try harder to find
|
||
out whether the expression is read-only. Short-circuit placeholder
|
||
case and rename a couple of local variables.
|
||
|
||
2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (smaller_form_type_p): Declare.
|
||
* gcc-interface/trans.c (smaller_form_type_p): Make global and move...
|
||
* gcc-interface/utils.c (smaller_form_type_p): ...to here.
|
||
(convert): Deal with conversions from a smaller form type specially.
|
||
|
||
2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
|
||
its argument, except for the special -I- switch.
|
||
|
||
2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
|
||
"Ada Issues".
|
||
|
||
2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
|
||
|
||
2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
|
||
GNAT_FORMAL.
|
||
* gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
|
||
* gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
|
||
instead of GNAT_FORMAL. Protect the expression against multiple uses.
|
||
Do not generate the check directly, instead instantiate the template
|
||
check present in the descriptor.
|
||
(make_descriptor_field): Move around.
|
||
(build_vms_descriptor32): Build a template check in the POINTER field.
|
||
(build_vms_descriptor): Remove useless suffixes.
|
||
* gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
|
||
|
||
2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/47467
|
||
* targext.c: Include target files if IN_RTS is defined.
|
||
|
||
2011-01-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR bootstrap/47467
|
||
* targext.c: Include config.h.
|
||
* gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
|
||
dependency.
|
||
|
||
2011-01-04 Pascal Obry <obry@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
|
||
|
||
2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
|
||
end-of-case on the end label and its associated gotos, if any.
|
||
|
||
2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
|
||
expressions of the parameter cache within the statement group of
|
||
the CICO mechanism.
|
||
|
||
2011-01-04 Olivier Hainque <hainque@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
|
||
(set_end_locus_from_node): New function.
|
||
(Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
|
||
make and the function end_locus.
|
||
(Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
|
||
for the elaboration subprogram.
|
||
(set_gnu_expr_location_from_node) <default case>: Use it to attempt to
|
||
set the end_locus of the expression as well.
|
||
|
||
2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/47131
|
||
* gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
|
||
variables that are referenced in exception handlers volatile.
|
||
|
||
|
||
|
||
Copyright (C) 2011 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|