Age | Commit message (Collapse) | Author | Files | Lines |
|
2013-10-10 Robert Dewar <dewar@adacore.com>
* lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
s-atocou-builtin.adb: Minor reformatting.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
constant needs to be output to s-oscons.h, as it is tested
by init.c.
2013-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
* exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
flag to avoid expanding choices when not necessary.
* exp_util.adb: Minor reformatting
* freeze.adb (Freeze_Record_Type): Redo expansion of variants
* sem_aggr.adb: Minor reformatting
* sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
Checking of choices.
* sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
Analyze_Choices.
* sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
and Check_Choices
* sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
and Check_Choices
* sem_util.adb: Minor reformatting
* sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.
2013-10-10 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Build_Library): Do not issue link dynamic
libraries with an Rpath, if switch -R was used.
2013-10-10 Tristan Gingold <gingold@adacore.com>
* s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
Image_Index_Table_32): Remove as not used.
* s-imgint.adb (Image_Integer): Call Set_Image_Integer and
remove duplicated code.
From-SVN: r203358
|
|
2013-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Variant_Part): Expand statically
predicated subtype which appears in Discrete_Choices list.
* exp_ch5.adb (Expand_N_Case_Statement): Expand statically
predicated subtype which appears in Discrete_Choices list of
case statement alternative.
* exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
procedure.
* sem_case.adb: Minor reformatting (Analyze_Choices): Don't
expand out Discrete_Choices that are names of subtypes with
static predicates. This is now done in the analyzer so that the
-gnatct tree is properly formed for ASIS.
* sem_case.ads (Generic_Choices_Processing): Does not apply
to aggregates any more, so change doc accordingly, and remove
unneeded Get_Choices argument.
* sem_ch3.adb (Analyze_Variant_Part): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sem_ch4.adb (Analyze_Case_Expression): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sem_ch5.adb (Analyze_Case_Statement): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
document that choices that are names of statically predicated
subtypes are expanded in the code generation tree passed to the
back end, but not in the ASIS tree generated for -gnatct.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb: Revert previous change.
2013-10-10 Gary Dismukes <dismukes@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
the Storage_Pool aspect is specified by an aspect clause and a
renaming is used to capture the evaluation of the pool name,
insert the renaming in front of the aspect's associated entity
declaration rather than in front of the corresponding attribute
definition (which hasn't been appended to the declaration
list yet).
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Is_Interface_Conformant): The controlling type
of the interface operation is obtained from the ultimate alias
of the interface primitive parameter, because that may be in
fact an implicit inherited operation whose signature involves
the type extension and not the desired interface.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
recognize an aspect specification with a misspelled name if it
is followed by a a comma or semicolon.
2013-10-10 Vadim Godunko <godunko@adacore.com>
* s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
Fix copyright notice.
2013-10-10 Yannick Moy <moy@adacore.com>
* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
enclosing subprogram for precondition/postcondition/contract cases.
From-SVN: r203350
|
|
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sinput-c.adb (Load_File): Ensure Source_Align alignment.
* sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment.
* sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align
alignment.
(Load_File): Ditto.
* sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single
line) version.
* types.ads (Source_Align): New definition.
(Source_Buffer): Document new alignment requirement.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow
this for types.
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor adjustment to doc for To_Address attribute.
2013-10-10 Vadim Godunko <godunko@adacore.com>
* s-stopoo.ads (Root_Storage_Pool): Add pragma
Preelaborable_Initialization.
From-SVN: r203343
|
|
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: sem_ch3.adb:
(Replace_Anonymoous_Access_To_Protected_Subprogram): If the
return type is itself an access to function, recurse to emit
another anonymous type.
gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode
(type_annotate_only) do not check whether access types have a set size.
2013-09-10 Robert Dewar <dewar@adacore.com>
* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
* inline.ads (Warnings): New component in Pending_Body_Info.
* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
at instantiation point.
* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
New procedure Remove special handling of Warning_Doc_Switch,
cleaner to handle the VMS case in errout, than to introduce
undocumented oddities here.
* warnsw.ads (Warning_Record) : New type.
(Save_Warnings): New function.
(Restore_Warnings): New procedure.
From-SVN: r202467
|
|
2013-09-10 Robert Dewar <dewar@adacore.com>
* sinput.adb (Check_For_BOM): Avoid reading past end of file.
2013-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
* inline.ads: Save/Restore Ada_Version_Pragma.
* opt.adb: Save/Restore Ada_Version_Pragma.
* opt.ads (Ada_Version_Pragma): New variable.
* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
* prj.adb: Initialize Ada_Version_Pragma.
* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
* switch-c.adb: Initialize Ada_Version_Pragma.
* sem_ch12.adb: Minor reformatting.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Subtype): Discard constraint on access
to class-wide type. Such constraints are not supported and are
considered a language pathology.
From-SVN: r202466
|
|
2013-09-10 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Diagnose -gnatc given after -gnatRm.
* gnat_ugn.texi: Add documentation for -gnatRm.
* usage.adb: Minor reorganization (put style entries in proper
order) Document -gnatRm switch.
* sinfo.ads: Minor comment fix.
2013-09-10 Sergey Rybin <rybin@adacore.com frybin>
* tree_io.ads: Update ASIS_Version_Number.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
designated type can appear in a parameterless call.
* sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
in the case of an indirect call through an access function that
returns an array type.
(Analyze_One_Call): Handle properly legal parameterless calls
whose result is indexed, in constructs of the for F.all (I)
* sem_ch6.ads (May_Need_Actuals): Make public, for use on access
to subprogram types.
* sem_res.adb (Resolve_Call): If the call is indirect, there is
no entity to set on the name in the call.
From-SVN: r202461
|
|
2013-09-10 Robert Dewar <dewar@adacore.com>
* aspects.ads (Delay_Type): New type (Aspect_Delay): New table.
* einfo.adb (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed
(use Get_Attribute_Representation_Clause).
* einfo.ads (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag
* freeze.adb: Minor reformatting
* sem_ch13.adb (Analyze_Aspect_Speficifications): Redo
handling of delayed evaluation, including optimizing some cases
and avoiding delays.
(Analyze_Aspects_At_Freeze_Point): Now
handled inheriting delayed rep aspects for type derivation case.
(Inherit_Delayed_Rep_Aspects): New procedure
* sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled
inheriting delayed rep aspects for type derivation case.
* sem_ch3.adb (Build_Derived_Type): Set
May_Inherit_Derived_Rep_Aspects if parent type flag
Has_Delayed_Rep_Aspects is set
2013-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Finalize): Don't delete real errors with specific
warning control.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call,
Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select):
Handle properly a trigger that is a call to a primitive operation
of a type that implements a limited interface, if the type itself
is not limited.
From-SVN: r202456
|
|
2013-09-10 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb,
exp_ch4.adb, sprint.adb: Minor reformatting.
From-SVN: r202455
|
|
2013-07-08 Robert Dewar <dewar@adacore.com>
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
* restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
referenced there.
* scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
* snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.
2013-07-08 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Use a response file for gnatls
when possible.
From-SVN: r200764
|
|
2013-07-05 Claire Dross <dross@adacore.com>
* a-cfdlli.ads: Add preconditions when needed.
2013-07-05 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting.
2013-07-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): Use
Generate_Reference_To_Formals.
* lib-xref.adb (Generate_Reference_To_Formals): In the case of
access to subprograms, the formals are found in the designated
subprogram type.
2013-07-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document that comments can be lined up with
previous non-blank line.
* styleg.adb (Check_Comment): Allow indentation to match previous
non-blank line (Same_Column_As_Previous_Line): New function
From-SVN: r200705
|
|
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Apply_Predicate_Check): Update the comment associated
with the call to Check_Expression_Against_Static_Predicate.
* sem_ch3.adb (Analyze_Object_Declaration): Update the comment
associated with the call to Check_Expression_Against_Static_Predicate.
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Broaden the check from a static expression to an expression with
a known value at compile time.
* sem_util.ads (Check_Expression_Against_Static_Predicate): Update
comment on usage.
2013-04-25 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, cases Position,
First_Bit, and Last_Bit): Fix incorrect test in implementation of
RM 2005 13.5.2(3/2).
2013-04-25 Claire Dross <dross@adacore.com>
* a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb,
a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads
(Query_Element): Removed.
(Update_Element): Removed.
(Insert): The version with no New_Item specified is removed.
(Iterate): Removed.
(Write): Removed.
(Read): Removed.
Every check of fields Busy and Lock has been removed.
2013-04-25 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove
call to S14_Pragma (Find_Related_Subprogram): Require proper
placement in subprogram body (Find_Related_Subprogram): Detect
duplicates for all cases (Find_Related_Subprogram): Handle case
of spec nested inside body.
From-SVN: r198297
|
|
2013-04-25 Arnaud Charlet <charlet@adacore.com>
* par-prag.adb: Fix typo.
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Apply_Predicate_Check): If the type has a static
predicate and the expression is also static, check whether the
expression satisfies the predicate.
* sem_ch3.adb (Analyze_Object_Declaration): If the type has a
static predicate and the expression is also static, see if the
expression satisfies the predicate.
* sem_util.adb: Alphabetize several routines.
(Check_Expression_Against_Static_Predicate): New routine.
* sem_util.ads (Check_Expression_Against_Static_Predicate): New routine.
From-SVN: r198296
|
|
2013-04-25 Robert Dewar <dewar@adacore.com>
* debug.adb: Remove d.X and d.Y entries and documentation.
* exp_ch4.adb (Expand_N_If_Expression): Remove special code used
if expression with actions not available (now always available).
(Expand_Short_Circuit_Operator): Same change.
* gnat1drv.adb (Adjust_Global_Switches) Remove setting
Use_Expression_With_Actions flag, since this is now obsolete.
* opt.ads (Use_Expression_Actions): Removed (always True now).
* sinfo.ads: Minor comment updates.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Check_Generic_Actuals): If an actual is an array
subtype whose base type is currently private, install full view
when compiling instance body.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Refine checks for
AI05-0125: the check for a hidden primitive that may be overridden
by the new declaration is only performed if the declaration comes
from source, and it must carry an explicit overriding indicator.
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Abstract_States): The attribute now applies to
generic packages.
* sem_ch3.adb (Analyze_Object_Declaration): Check whether an
object declaration introduces an illegal hidden state.
* sem_prag.adb (Analyze_Abstract_State): Check whether a state
declaration introduces an illegal hidden state.
* sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may
be to a protected function, in which case the name in the call
is a selected component.
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch4.adb (Analyze_Quantified_Expression):
Warn on a suspicious use of quantifier "some" when "all" was meant.
(No_Else_Or_Trivial_True): New routine.
From-SVN: r198287
|
|
2013-04-25 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb: Put back with/use for Namet.
(Get_Pragma): New name (wi new spec) for Find_Pragma.
* sem_ch6.adb: Change name Find_Pragma to Get_Pragma with
different interface.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Is_Visible_Component): In an instance all
components are visible.
From-SVN: r198286
|
|
2013-04-25 Matthew Heaney <heaney@adacore.com>
* a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for
tampering when container empty.
* a-crbtgk.adb (Ceiling, Find, Floor): ditto.
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
ditto.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* par-ch12.adb: Move aspects from package specification to
generic package declaration.
* sem_ch12.adb: Analyze aspect specifications before building
and analyzing the generic copy, so that the generated pragmas
are properly taken into account.
* sem_ch13.adb: For compilation unit aspects that apply to a
generic package declaration, insert corresponding pragmas ahead
of visible declarations.
* sprint.adb: Display properly the aspects of a generic type
declaration.
2013-04-25 Robert Dewar <dewar@adacore.com>
* frontend.adb: Minor reformatting.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* einfo.ads: Extend documentation on use of Is_Private_Ancestor
for untagged types.
* sem_ch3.adb (Is_Visible_Component): Refine predicate for the
case of untagged types derived from private types, to reject
illegal selected components.
From-SVN: r198285
|
|
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Expand_Actuals): Add a predicate check on an
actual the related type has a predicate function.
* sem_ch3.adb (Constant_Redeclaration): Ensure that the related
type has an invariant procedure before building a call to it.
* sem_ch6.adb (Append_Enabled_Item): New routine.
(Check_Access_Invariants): Use routine
Append_Enabled_Item to chain onto the list of postconditions.
(Contains_Enabled_Pragmas): Removed.
(Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
the list of postconditions.
(Invariants_Or_Predicates_Present): Removed.
(Process_PPCs): Partially reimplemented.
2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
* tree_io.ads: Update ASIS_Version_Number because of changes
in the way how entities are chained in a scope by means of
Next_Entity link.
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
Storage_Size): If the clause is not from an aspect, insert
assignment to size variable of task type at the point of the
clause, not after the task definition, to prevent access before
elaboration in the back-end.
2013-04-24 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
2013-04-24 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Document 'Loop_Entry.
2013-04-24 Jose Ruiz <ruiz@adacore.com>
* s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
fall-back termination handlers from the parents, because they apply
only to dependent tasks.
* s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
termination handlers because the environment task has no parent,
and if it defines one of these handlers it does not apply to
itself because they apply only to dependent tasks.
From-SVN: r198244
|
|
2013-04-24 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch7.adb: Minor reformatting.
* gnat_rm.texi: Document pragma Loop_Invariant.
* sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
no longer an S14_Attribute.
* sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
processing with Assert, allow message parameter, remove call
to S14_Pragma.
2013-04-24 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor reformatting.
From-SVN: r198241
|
|
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Swap_Private_Dependents): New internal routine
to Install_Private_Declarations, to make the installation of
private dependents recursive in the presence of child units.
* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
the Private_Dependents of a private subtype.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
retrieval of the block declarations.
* par-ch4.adb (P_Name): Let the name parsing machinery create
a sequence of nested indexed components for attribute Loop_Entry.
* sem_attr.adb (Analyze_Attribute): Add local constant
Context. Reimplement part of the analysis of attribute Loop_Entry.
(Convert_To_Indexed_Component): Removed.
* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
an indexed component after it has been rewritten into attribute
Loop_Entry.
From-SVN: r198240
|
|
pragma.
2013-04-24 Yannick Moy <moy@adacore.com>
* snames.ads-tmpl: Minor change to list
Loop_(In)variant not in configuration pragma.
* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
for analyzing the expressions in pre/postconditions.
From-SVN: r198239
|
|
2013-04-24 Yannick Moy <moy@adacore.com>
* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
sem_res.adb, sem_util.adb: Everything with name
'Alfa' renamed in 'SPARK'. Update comments.
Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
* exp_alfa.adb: renamed exp_spark.adb.
* exp_alfa.ads: renamed exp_spark.ads.
* get_alfa.adb: renamed get_spark_xrefs.adb.
* get_alfa.ads: renamed get_spark_xrefs.ads.
* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
* put_alfa.adb: renamed put_spark_xrefs.adb.
* put_alfa.ads: renamed put_spark_xrefs.ads.
* alfa.adb: renamed spark_xrefs.adb.
* alfa.ads: renamed spark_xrefs.ads.
* alfa_test.adb: renamed spark_xrefs_test.adb.
From-SVN: r198234
|
|
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb: Remove with and use clause for Sem_Prag.
(Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
the contract of a subprogram.
* sem_ch3.adb: Remove with and use clause for Sem_Prag.
(Analyze_Declarations): Call Analyze_Subprogram_Contract to
analyze the contract of a subprogram.
* sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
(Check_Subprogram_Contract): Removed.
* sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
(Check_Subprogram_Contract): Removed.
(Expand_Contract_Cases): Add a guard against malformed contract cases.
* sem_ch13.adb (Analyze_Aspect_Specifications): Call
Decorate_Delayed_Aspect_And_Pragma to decorate aspects
Contract_Cases, Depends and Global. Reimplement the analysis of
aspect Contract_Cases.
(Decorate_Delayed_Aspect_And_Pragma): New routine.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
(Analyze_CTC_In_Decl_Part): Removed.
(Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
(Analyze_Test_Case_In_Decl_Part): New routine.
(Find_Related_Subprogram): New routine.
(Requires_Profile_Installation): Add new formal Prag. Update
the logic to take into account the origin of the pragma.
* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
(Analyze_CTC_In_Decl_Part): Removed.
(Analyze_Test_Case_In_Decl_Part): New routine.
From-SVN: r198227
|
|
2013-04-24 Robert Dewar <dewar@adacore.com>
* exp_ch13.adb, sem_prag.adb: Update comments.
* sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
reformatting.
2013-04-24 Doug Rupp <rupp@adacore.com>
* vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.
2013-04-24 Yannick Moy <moy@adacore.com>
* sinfo.ads: Minor correction of typo.
From-SVN: r198223
|
|
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Create packed array only when expander is
active.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
when the context warrants it.
(Analyze_Global_In_Decl_List): Install the formals only when
the context warrants it.
(Requires_Profile_Installation): New routine.
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
type is a discriminated private type that does not require use
of the secondary stack, a constrained subtype of the underlying
type is created to convey the proper object size to the backend.
If the return type is originally a private type, the return
expression is wrapped in an unchecked_conversion. If the return
expression is used subsequently in a call to the postcondition
function, this conversion must be undone to prevent a spurious
error on the analysis of that call.
From-SVN: r198222
|
|
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of
pre- and post-conditions.
(Expand_N_Task_Type_Declaration):
Use the correct attribute to check for pre- and post-conditions.
* exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of
pre- and post-conditions. Analyze delayed classification items.
* freeze.adb (Freeze_Entity): Use the correct attribute to
check for pre- and post- conditions.
* sem_ch3.adb (Analyze_Declarations): Correct the traversal
of pre- and post-conditions as well as contract- and
test-cases. Analyze delayed pragmas Depends and Global.
* sem_ch6.adb (Check_Subprogram_Contract): Use the correct
attribute to check for pre- and post-conditions, as well as
contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects):
Correct the traversal of pre- and post- conditions.
(Process_Contract_Cases): Update the comment on usage. Correct
the traversal of contract-cases.
(Process_Post_Conditions): Update the comment on usage. Correct the
traversal of pre- and post-conditions.
(Process_PPCs): Correct the traversal of pre- and post-conditions.
(Spec_Postconditions): Use the correct
attribute to check for pre- and post- conditions, as well as
contract-cases and test-cases.
* sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the
actions related to aspects Depends and Global. Code refactoring
for pre- and post-conditions.
(Insert_Delayed_Pragma): New routine.
* sem_prag.adb (Add_Item): New routine.
(Analyze_Depends_In_Decl_Part): New routine.
(Analyze_Global_In_Decl_Part): New routine.
(Analyze_Pragma): Reimplement the actions related to aspects Depends and
Global. Verify that a body acts as a spec for pragma Contract_Cases.
(Chain_PPC): Use Add_Contract_Item to chain a pragma.
(Chain_CTC): Correct the traversal of contract-
and test-cases. Use Add_Contract_Item to chain a pragma.
(Chain_Contract_Cases): Correct the traversal of contract-
and test-cases. Use Add_Contract_Item to chain a pragma.
(Check_Precondition_Postcondition): Update the comment on usage.
(Check_Test_Case): Update the comment on usage.
* sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine.
(Analyze_Global_In_Decl_Part): New routine.
* sem_util.ads, sem_util.adb (Add_Contract_Item): New routine.
* sinfo.adb (Classifications): New routine.
(Contract_Test_Cases): New routine.
(Pre_Post_Conditions): New routine.
(Set_Classifications): New routine.
(Set_Contract_Test_Cases): New routine.
(Set_Pre_Post_Conditions): New routine.
(Set_Spec_CTC_List): Removed.
(Set_Spec_PPC_List): Removed.
(Spec_CTC_List): Removed.
(Spec_PPC_List): Removed.
* sinfo.ads: Update the structure of N_Contruct along with all
related comments.
(Classifications): New routine and pragma Inline.
(Contract_Test_Cases): New routine and pragma Inline.
(Pre_Post_Conditions): New routine and pragma Inline.
(Set_Classifications): New routine and pragma Inline.
(Set_Contract_Test_Cases): New routine and pragma Inline.
(Set_Pre_Post_Conditions): New routine and pragma Inline.
(Set_Spec_CTC_List): Removed.
(Set_Spec_PPC_List): Removed.
(Spec_CTC_List): Removed.
(Spec_PPC_List): Removed.
2013-04-23 Doug Rupp <rupp@adacore.com>
* init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2
to account for LIB$STOP not having the chance to add the PC and
PSL fields.
From-SVN: r198198
|
|
2013-04-23 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor code reorganization (remove some redundant
assignments).
* sem_ch3.adb, sem_prag.adb: Minor reformatting.
From-SVN: r198197
|
|
2013-04-23 Yannick Moy <moy@adacore.com>
* einfo.ads: Minor typo fix.
* sem_ch13.adb (Build_Predicate_Functions): Reject cases where
Static_Predicate is applied to a non-scalar or non-static type.
* sem_prag.adb: Minor typo fix.
2013-04-23 Doug Rupp <rupp@adacore.com>
* init.c (GNAT$STOP) [VMS]: New function.
2013-04-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Add exp_pakd to context.
(Constrain_Component_Type): If the component of the parent is
packed, and the record subtype being built is already frozen,
as is the case for an itype, the component type itself will not
be frozen, and the packed array type for it must be constructed
explicitly.
2013-04-23 Thomas Quinot <quinot@adacore.com>
* g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram.
From-SVN: r198196
|
|
2013-04-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
* exp_util.adb (Expand_Subtype_From_Expr): If the expression
is a source entity and the declaration is for an aliased
unconstrained array, create a new subtype so that the flag
Is_Constr_Subt_For_UN_Aliased does not pollute other entities.
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Move tables Base_Aspect and Inherited_Aspect
from the spec to the body.
(Find_Aspect): Update the call to Get_Aspect_Id.
(Get_Aspect_Id): New version that takes an aspect specification.
* aspects.ads: Reorganize all aspect related tables.
(Get_Aspect_Id): New version that takes an aspect specification.
* par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
the call to Get_Aspect_Id.
* sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update
the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.
From-SVN: r198179
|
|
2013-04-23 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Fix_Error): Rewrite to do more accurate job
of getting proper name in the case where pragma comes from
aspect.
* sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.
2013-04-23 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
applicable policy.
2013-04-23 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.
2013-04-23 Doug Rupp <rupp@adacore.com>
* init.c: Move facility macros outside IN_RTS.
2013-04-23 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Freeze_Entity): For the case of a bit-packed
array time that is known at compile time to have more that
Integer'Last+1 elements, issue an error, since such arrays are
not supported.
From-SVN: r198178
|
|
2013-04-22 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Contract_Case): New routine.
(Analyze_Pragma): Aspect/pragma Contract_Cases can
now be associated with a library level subprogram.
Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
in a subprogram body.
(Chain_Contract_Cases): Rename formal parameter Subp_Decl to
Subp_Id. Remove local constant Subp. The entity of the subprogram
is now obtained via the formal paramter.
2013-04-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Do not set
Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
if the expression is a source entity.
From-SVN: r198134
|
|
2013-04-12 Robert Dewar <dewar@adacore.com>
* namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
* exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).
2013-04-12 Doug Rupp <rupp@adacore.com>
* init.c: Don't clobber condition code on VMS.
From-SVN: r197917
|
|
2013-04-11 Doug Rupp <rupp@adacore.com>
* gnatlink.adb: Fold program basename to lower case on VMS for
consistency.
2013-04-11 Matthew Heaney <heaney@adacore.com>
* a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
entering loop.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
needed, and seems to confuse some versions of makeinfo.
2013-04-11 Javier Miranda <miranda@adacore.com>
* einfo.adb (Is_Thunk): Remove assertion.
(Set_Is_Thunk): Add assertion.
* einfo.ads (Is_Thunk): Complete documentation.
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
* exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
(Is_Variable_Size_Record): Moved to sem_util
* exp_ch6.adb (Expand_Call): Code cleanup.
(Expand_N_Extended_Return_Statement): Code cleanup.
(Expand_Simple_Function_Return): Code cleanup.
* exp_disp.adb Remove dependency on exp_ch3
(Expand_Interface_Thunk): Add minimum decoration needed to set
attribute Is_Thunk.
* sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
* sem_util.ad[sb] (Is_Constant_Bound): Moved from
sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
(Is_Variable_Size_Record): Moved from exp_ch3
From-SVN: r197787
|
|
actions in thunks associated with interface types.
2013-04-11 Javier Miranda <miranda@adacore.com>
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
not add cleanup actions in thunks associated with interface types.
* exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
the package spec.
* exp_ch4.adb (Tagged_Conversion): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
assertion to ensure that interface thunks are never handled by
this routine.
(Expand_N_Simple_Function_Return): Do not rewrite this statement
as an extended return statement in interface thunks, and do not
perform copy in the secondary stack if the return statement is
located in a thunk.
* exp_disp.adb (Expand_Dispatching_Call): No longer displace
the pointer to the returned object in functions returning interface
types.
(Expand_Interface_Thunk): For functions returning interface types
displace the pointer to the returned object.
(Expand_Interface_Conversion): Remove formal
Is_Static since this subprogram can now evaluate it locally.
* sem_ch3.adb (Add_Internal_Interface_Entities): For functions
propagate the type returned by the covered interface primitive to
the internal interface entity. Needed by the thunk to generate
the code which displaces "this" to reference the corresponding
secondary dispatch table.
* sem_disp.adb (Propagate_Tag): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* sem_res.adb (Resolve_Type_Conversion): Update calls to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed plus code cleanup.
From-SVN: r197786
|
|
2013-04-11 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
makeutl.adb, sem_ch8.adb: Minor reformatting.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Minor fixes for VMS.
* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
2013-04-11 Robert Dewar <dewar@adacore.com>
* usage.adb (Usage): Minor edit to -gnatW message
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
others for string literal case. Also add big ??? comment about
this new code, which should be redundant, but is not.
* sem_eval.adb (Eval_Concatenation): Handle non-static case
properly (Eval_String_Literal): Handle non-static literal properly
From-SVN: r197744
|
|
2013-02-06 Robert Dewar <dewar@adacore.com>
* osint.ads: Minor fix of typo.
2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: gnatmetric: update the documentation of
complexity metrics for Ada 2012.
2013-02-06 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_Secondary_DT): Code cleanup:
remove useless initialization.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Discriminant_Constraints): Do not
generate overflow checks on a discriminant expression if the
discriminant constraint is applied to a private type that has
a full view, because the check will be applied when the full
view is elaborated. Removing the redundant check is not just
an optimization, but it prevents spurious assembler errors,
because of the way the backend generates names for expressions
that require overflow checking.
2013-02-06 Pascal Obry <obry@adacore.com>
* s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
limitation on Windows.
(DA): Removed.
(LIA): Removed.
(LLIA): Removed.
(TFA): Removed.
(BTA): Removed.
(BMTA): Removed.
(BCA): Removed.
(BMCA): Removed.
(BTiA): Removed.
(Clock): Use variable corresponding to access.
(Get_Base_Time): Likewise.
(Monotonic_Clock): Likewise.
2013-02-06 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): When gnatmake is called with a project
file, do not invoke gnatbind with -I-.
* makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
the infos from all the sources.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
Overriding_Renamings.
* par-prag.adb: Recognize pragma Overriding_Renamings.
* opt.ads (Overriding_Renamings): flag to control compatibility
mode with Rational compiler, replaces Rational_Profile flag.
* sem_ch8.adb (Analyze_Subprogram_Renaming): When
Overriding_Renamings is enabled, accept renaming declarations
where the new subprogram renames and overrides a locally inherited
operation. Improve error message for some illegal renamings.
* sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
(Set_Rational_Profile): The Rational_Profile enables
Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb: Set parent of copied aggregate component, to
prevent infinite loop.
From-SVN: r195798
|
|
2013-02-06 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch10.adb: Minor reformatting.
* exp_disp.adb: Minor comment update.
* comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
No_Return pragmas.
2013-02-06 Thomas Quinot <quinot@adacore.com>
* targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
parameter, defaulted to False for now, indicates targets where
non-default scalar storage order may be specified.
2013-02-06 Thomas Quinot <quinot@adacore.com>
* sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
same as E_Record_Subtype. Display E_Class_Wide_Subtype as
subtype, not type.
From-SVN: r195797
|
|
Has_Unknown_Discriminants from the full view of the base type.
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Complete_Private_Subtype): Inherit the
Has_Unknown_Discriminants from the full view of the base type.
From-SVN: r195795
|
|
2013-02-06 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
N_Pragma nodes.
2013-02-06 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor text updates for pragma Warning.
2013-02-06 Geert Bosch <bosch@adacore.com>
* s-multip.adb (Number_Of_CPUs): Short-circuit in case of
CPU'Last = 1.
2013-02-06 Vincent Celier <celier@adacore.com>
* clean.adb (Delete): On VMS use host notation to delete all files.
From-SVN: r195788
|
|
2013-01-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): An expression
function declaration is not a subprogram declaration, and thus
cannot appear in a protected definition.
2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Insert_Actions): When new
actions come from the expression of the expression with actions,
then they must be added to the list of existing actions.
2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
the subtype of a constrained private type with discriminants
that has got a full view, show that the completion is a clone
of the full view.
From-SVN: r195543
|
|
2013-01-29 Javier Miranda <miranda@adacore.com>
* errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
* opt.ads (Warn_On_Overlap): Update documentation.
* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
Check function writable actuals.
* sem_ch3.adb (Build_Derived_Record_Type,
Record_Type_Declaration): Check function writable actuals.
* sem_ch4.adb (Analyze_Range): Check function writable actuals.
* sem_ch5.adb (Analyze_Assignment): Remove code of the initial
implementation of AI05-0144.
* sem_ch6.adb (Analyze_Function_Return,
(Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
of the initial implementation of AI05-0144.
* sem_res.adb (Resolve): Remove code of the initial implementation.
(Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
of the initial implementation.
(Resolve_Arithmetic_Op, Resolve_Logical_Op,
Resolve_Membership_Op): Check function writable actuals.
* sem_util.ad[sb] (Actuals_In_Call): Removed
(Check_Order_Dependence): Removed (Save_Actual): Removed
(Check_Function_Writable_Actuals): New subprogram.
* usage.adb (Usage): Update documentation.
* warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
setting all warnings.
From-SVN: r195540
|
|
flag in a nested instance.
2013-01-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
Is_Generic_Actual_Type flag in a nested instance.
* sem_ch12.adb (Restore_Private_Views): Preserve
Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
of an enclosing instance.
* sem_util.adb (Corresponding_Generic_Type): Handle generic actual
which is an actual of an enclosing instance.
* sem_type.adb (Real_Actual): If a generic_actual_type is the
formal of an enclosing generic and thus renames the corresponding
actual, use the actual of the enclosing instance to resolve
spurious ambiguities in instantiations when two formals are
instantiated with the same actual.
From-SVN: r195538
|
|
derived from an untagged private type whose...
2013-01-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Private_Derived_Type): Set
Has_Private_Ancestor on type derived from an untagged private
type whose full view has discriminants
* sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
aggregate for untagged record type with private ancestor.
From-SVN: r194892
|
|
2013-01-04 Thomas Quinot <quinot@adacore.com>
* sem_elab.adb, sem_ch3.adb: Minor reformatting.
From-SVN: r194891
|
|
2013-01-04 Robert Dewar <dewar@adacore.com>
* table.adb: Minor reformatting.
2013-01-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
not come from source does not generate a warning for redundant
with_clauses.
2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
* par-prag.adb: Add pragma Global to the list of pragmas that
do not need special processing by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
Global into a pragma without any form of legality checks. The
work is done by Analyze_Pragma. The aspect and pragma are both
marked as needing delayed processing. Insert the corresponding
pragma of aspect Abstract_State in the visible declarations of the
related package.
(Check_Aspect_At_Freeze_Point): Aspect Global
does not need processing even though it is marked as delayed.
Alphabetize the list on aspect names.
* sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
(Analyze_Pragma): Add ??? comment about the grammar of pragma
Abstract_State. Move the error location from the pragma to the
state to improve the quality of error placement. Add legality
checks for pragma Global.
* snames.ads-tmpl Add the following specially recognized names
2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch3.adb: Fix minor typo.
2013-01-04 Ed Schonberg <schonberg@adacore.com>
* par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
accept an aspect name followed by a comma, indicating a defaulted
boolean aspect.
From-SVN: r194890
|
|
2013-01-04 Thomas Quinot <quinot@adacore.com>
* sinfo.ads: Minor documentation update.
2013-01-04 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
before resolving initialization expression.
2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Generate_Index_Checks): Delay the generation of
the check for an indexed component where the prefix mentions
Loop_Entry until the attribute has been properly expanded.
* exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
decoration of the constant that captures the value of Loop_Entry's
prefix at the entry point into a loop. Generate index checks
for an attribute reference that has been transformed into an
indexed component.
2013-01-04 Thomas Quinot <quinot@adacore.com>
* exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
do if Obj is already frozen.
(Exp_Util.Find_Init_Call): Rename to...
(Exp_Util.Remove_Init_Call): New subprogram, renamed from
Find_Init_Call. Remove the initialization call from the enclosing
list if found, and if it is from an Initialization_Statements
attribute, reset it.
(Exp_Util.Append_Freeze_Action): Minor code reorganization.
(Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
allocated (as is already done in Append_Freeze_Action).
(Freeze.Freeze_Entity): For an object with captured
Initialization_Statements and non-delayed freezeing, unwrap the
initialization statements and insert and them directly in the
enclosing list.
(Sem_Ch13.Check_Address_Clause): For an object
with Initialization_Statements and an address clause, unwrap the
initialization statements when moving them to the freeze actions.
From-SVN: r194887
|
|
2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
relevant tables.
* einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
the description of fields (Abstract_States): New routine.
(Integrity_Level): New routine.
(Has_Property): New routine.
(Is_Input_State): New routine.
(Is_Null_State): New routine.
(Is_Output_State): New routine.
(Is_Volatile_State): New routine.
(Refined_State): New routine.
(Set_Abstract_States): New routine.
(Set_Integrity_Level): New routine.
(Set_Refined_State): New routine.
(Write_Field8_Name): Add proper output for E_Abstract_State.
(Write_Field9_Name): Add proper output for E_Abstract_State.
(Write_Field25_Name): Add proper output for E_Package.
* lib-xref.ads: Add new letter for an abstract state.
* par-prag.adb: Add pragma Abstract_State to the list of pragma
that do not need special processing by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert
aspect Abstract_State into a pragma without any form
of legality checks. The work is done by Analyze_Pragma.
(Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
require delayed analysis.
* sem_prag.adb: Add a value for pragma Abstract_State in table
Sig_Flags.
(Analyze_Pragma): Add legality checks for pragma
Abstract_State. Analysis of individual states introduces a state
abstraction entity into the visibility chain.
* snames.ads-tmpl: Add new names for abstract state and
integrity. Add new pragma id for abstract state.
2013-01-03 Bob Duff <duff@adacore.com>
* table.adb (Reallocate): Calculate new Length in
Long_Integer to avoid overflow.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
(Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
it is set properly when expanding the initialization expression.
(Freeze.Check_Address_Clause): Transfer initialization expression
to an assignment in the freeze actions, so that the object is
initialized only after being elaborated by GIGI.
(Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
a Null_Statement as the expression in an Expression_With_Actions.
(Exp_Aggr.Collect_Initialization_Statements): New subprogram
shared by expansion of record and array aggregates, used to
capture statements for an aggregate used to initalize an object
into an Expression_With_Actions (which acts as a container for
a list of actions).
(Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
capture initialization statements, instead of the previously
existing loop which left freeze nodes out of the capturing
construct (causing out of order elaboration crashes in GIGI).
(Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
initialization statements (this was previously not done for
arrays). Also do not unconditionally prevent in place expansion
for an object with address clause.
From-SVN: r194851
|
|
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting.
2013-01-02 Pascal Obry <obry@adacore.com>
* cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
Win64 and default to ftell on other platforms.
(__gnat_fsek64): Likewise.
* i-cstrea.ads: Add fssek64 and ftell64 specs.
* s-crtl.ads: Likewise.
* a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
(Set_Position): Likewise.
From-SVN: r194797
|
|
2013-01-02 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Generate X SCOs for default expressions in
subprogram body stubs. Do not generate any SCO for package,
task, or protected body stubs.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Further improvement to ASIS mode for anonymous
access to protected subprograms.
From-SVN: r194796
|
|
2013-01-02 Robert Dewar <dewar@adacore.com>
* errout.ads: Minor comment fixes.
* opt.ads: Minor comment additions.
* exp_aggr.adb: Add tags to warning messages
* exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
sem_warn.adb: Add tags to warning messages
2013-01-02 Doug Rupp <rupp@adacore.com>
* init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Recover source name for renamed packagea.
From-SVN: r194786
|
|
2013-01-02 Thomas Quinot <quinot@adacore.com>
* exp_prag.adb: Minor reformatting.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Get_Associated_Node): If the node is an
identifier that denotes an unconstrained array in an object
declaration, it is rewritten as the name of an anonymous
subtype whose bounds are given by the initial expression in the
declaration. When checking whether that identifier is global
reference, use the original node, not the local generated subtype.
2013-01-02 Olivier Hainque <hainque@adacore.com>
* tracebak.c: Revert previous change, incomplete.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
appears on a subprogram body that acts as a spec, place the
corresponding pragma in the declarations of the body, so that
e.g. pre/postcondition checks can be generated appropriately.
2013-01-02 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting and code reorganization.
From-SVN: r194781
|
|
2013-01-02 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Record the
complete switch -fstack-check=specific instead of its shorter
alias -fstack-check.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
if the derived type is a tagged generic formal type with
unknown discriminants, the inherited operation has convention
Intrinsic. As such, the 'Access attribute cannot be applied to it.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb: Minor reformatting.
From-SVN: r194780
|