Age | Commit message (Collapse) | Author | Files | Lines |
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* a-except.adb: Minor comment clarification.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Complete list of implementation attributes.
* snames.ads-tmpl: Clean up list of impl-defined attributes.
From-SVN: r213192
|
|
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Perform various
volatility-related checks.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_eval.adb: Minor reformatting.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: sem_attr.adb (Access_Attribute): Handle properly
the case where the attribute reference appears in a nested scope
from that of the subprogram prefix.
* sem_attr.adb: Minor reformatting.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clarify documentation of Initialize_Scalar
initialization options.
From-SVN: r213191
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Minor comment addition.
2014-07-29 Bob Duff <duff@adacore.com>
* sem_eval.adb, sem_ch13.adb: Minor reformatting.
From-SVN: r213190
|
|
2014-07-29 Doug Rupp <rupp@adacore.com>
* init.c: Complete previous change.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_If_Expression): Deal with unconstrained
array case.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Access_Attribute): If the prefix is a subprogram
and the completion will appear in the same declarative part,
create elaboration flag.
* exp_util.adb (Set_Elaboration_Flag): If the subprogram body
is a completion of a declaration in the same declarative part,
and the subprogram has had its address taken, add elaboration
check inside the subprogram body, to detect elaboration errors
that may occur through indirect calls.
From-SVN: r213189
|
|
2014-07-29 Doug Rupp <rupp@adacore.com>
* sigtramp-armvxw.c: Enhance to handle RTP trampolining.
* init.c: Remove guard on sigtramp for ARM VxWorks RTP.
2014-07-29 Vincent Celier <celier@adacore.com>
* switch-c.adb (Scan_Front_End_Switches): Do not fail when two
runtime directorie specified with two switches --RTS= designate
the same directory, even when there are no literarily the same.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor documentation clarification.
* switch-c.adb: Minor reformatting.
From-SVN: r213187
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Fix incorrect RTE call which caused bomb if pragma was in
configuration pragma file.
2014-07-29 Jerome Lambourg <lambourg@adacore.com>
* expect.c (__gnat_expect_poll): Fix typo in previous change.
* g-expect.adb: Update comments.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
(Default_Attribute_Count): Bump to 16 on native platforms.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Add guard to front-end inlining for SPARK.
From-SVN: r213185
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
Minor reformatting.
From-SVN: r213183
|
|
GNATprove mode when subprogran is marked Inline_Always.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to
inline in GNATprove mode when subprogran is marked Inline_Always.
* sem_res.adb (Resolve_Call): Expand call in place in GNATProve
mode if body to inline is available.
* sem_prag.adb (Analyze_Pragma, case Inline_Always): Make pragma
effective in GNATprove mode.
* sem_ch10.adb (Analyze_Compilation_Unit): Call
Check_Package_Body_For_Inlining in GNATprove mode, so that body
containing subprograms with Inline_Always can be available before
calls to them.
From-SVN: r213182
|
|
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* inline.ads, inline.adb, sem_ch10.adb: Rename Check_Body_For_Inlining
to Check_Package_Body_For_Inlining, to prevent confusion with other
inlining subprograms.
2014-07-29 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor comment update.
* sem_attr.adb (Uneval_Old_Msg): Deal with case of aspect, where
we want setting of Uneval_Old at time of encountering the aspect.
* sem_ch13.adb (Analyze_Aspect_Specifications): Capture setting
of Opt.Uneval_Old.
* sinfo.adb (Uneval_Old_Accept): New function (Uneval_Old_Warn):
New function (Set_Uneval_Old_Accept): New procedure.
(Set_Uneval_Old_Warn): New procedure.
* sinfo.ads: Uneval_Old_Accept: New flag Uneval_Old_Warn: New flag.
From-SVN: r213181
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sinfo.ads, inline.adb, inline.ads, sem_ch6.adb: Minor reformatting.
* snames.ads-tmpl: Minor reformatting.
* xsnamest.adb (XSnamesT): Remove special casing of Name_Error
to give <Error>. Not clear why this was there, but the compiler
sources do not reference Name_Error, and this interfered with
the circuits for pragma Unevaluated_Use_Of_Old.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Process_Atomic_Shared_Volatile): Allow volatile
types in SPARK 2014 (again).
* sem_res.adb (Is_OK_Volatile_Context): New routine.
(Resolve_Entity_Name): Ensure that a volatile object with
enabled properties Async_Writers or Effectire_Reads appears in
a non-interfering context.
From-SVN: r213180
|
|
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Move Build_Body_To_Inline,
Check_And_Buid_Body_To_Inline, and Cannot_Inline to package Inline.
* exp_ch6.adb: Mode Expand_Inlined_Body to package Inline.
* inline.ads, inline.adb: Package now contains subprograms that
implement front-end inlining. No functional changes, no test
needed.
From-SVN: r213179
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_dbug.adb, g-expect.adb, sem_elab.adb: Minor typo fix.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): Reject a return type that
is a limited view when the context is a package body, because
there is no subsequent place at which the non-limited view may
become visible.
(Process_Formals): Ditto.
* sinfo.ads, par-ch3.adb: Minor reformatting.
From-SVN: r213178
|
|
2014-07-29 Jerome Lambourg <lambourg@adacore.com>
* expect.c (__gnat_expect_poll): New parameter dead_process
used to return the dead process among the array of file
descriptors. The Windows, VMS and HPUX implementations now
properly report the dead process via this parameter. Other unixes
don't need it.
* g-expect.adb (Poll): Adapt to the C profile.
(Expect_Internal): Use the new parameter to properly close the
File Descriptor. This then can be properly reported by the
function First_Dead_Process as is expected.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor clarification of -gnatQ switch.
From-SVN: r213177
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.adb (Derived_Type_Link): New function
(Set_Derived_Type_Link): New procedure.
(Write_Field31_Name): Output Derived_Type_Link.
* einfo.ads: New field Derived_Type_Link.
* exp_ch6.adb (Expand_Call): Warn if change of representation
needed on call.
* sem_ch13.adb: Minor addition of ??? comment.
(Rep_Item_Too_Late): Warn on case that is legal but could cause an
expensive implicit conversion.
* sem_ch3.adb (Build_Derived_Type): Set Derived_Type_Link if needed.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Renamed Local_DF_Id
to DF_Id. Add new local variable DF_Call. Do not perform any
elaboration-related checks on the call to the partial finalization
routine within an init proc to avoid generating bogus elaboration
warnings on expansion-related code.
* sem_elab.adb (Check_A_Call): Move constant Access_Case to
the top level of the routine. Ensure that Output_Calls takes
into account flags -gnatel and -gnatwl when emitting warnings
or info messages.
(Check_Internal_Call_Continue): Update the call to Output_Calls.
(Elab_Warning): Moved to the top level of routine Check_A_Call.
(Emit): New routines.
(Output_Calls): Add new formal parameter Check_Elab_Flag along with a
comment on usage. Output all warnings or info messages only when the
caller context demands it and the proper elaboration flag is set.
2014-07-29 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute/Attribute_Old):
Check rule about Old appearing in potentially unevaluated
expression everywhere, not only in Post.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb: Update comment.
* a-except.adb, a-except-2005.adb: Minor editing.
2014-07-29 Pierre-Marie Derodat <derodat@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration):
Do not create renaming entities for renamings of non-packed
objects and for exceptions.
From-SVN: r213175
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb,
sem_ch6.adb, par-ch3.adb: Minor reformatting.
From-SVN: r213174
|
|
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Return_Subtype_Indication): Reject a return
subtype indication in an extended return statement when the
return value is an ancestor of the return type of the function,
and that return type is a null record extension.
2014-07-29 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Rep_Item_Too_Late): Specialize/clarify error
message produced for the case of a type-related representation
item that is made illegal by 13.10(1).
* gnat_rm.texi (Scalar_Storage_Order): Minor change in
documentation.
From-SVN: r213173
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add section on Wide_Wide_Character encodings.
* erroutc.adb (Output_Error_Msgs): Take wide characters into
account in computing position of error flags.
* sinput.adb (Get_Column_Number): Take wide characters into
account.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Access_Type_Definition): The subtype indication
in an access type definition can carry a null_exclusion indicator.
* sem_ch3.adb (Access_Type_Declaration): If the subtype indication
carries a null_exclusion indicator, verify that the subtype
indication denotes an access type, and create a null-excluding
subtype for it.
* sinfo.ads, sinfo.adb: New attribute Null_Excluding_Subtype,
defined on N_Access_To_Object_Definition to indicate that the
subtype indication carries a null_exclusion indicator.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Add_Extra_Actual): Do not construct
the extra actual by name, generate a reference instead.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Analyze_Pragma): Do not crash analyzing
Allow_Integer_Address if already set.
* a-except-2005.adb (Rcheck_PE_Stream_Operation_Not_Allowed):
Fix order, for consistency with Rmsg_xx declarations.
From-SVN: r213172
|
|
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Complete_Object_Operation): If the type of the
candidate subprogram is a limited view, use non-limited view
when available.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor change in RM reference.
* sem_mech.ads: Minor reformatting.
* einfo.ads: Minor comment fix.
* types.ads: Minor correction to range given for Mechanism_Type.
* exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not
check predicate on way out for OUT or IN OUT parameters.
* par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword
better (P_Range_Constraint): Corresponding fix.
* checks.ads: Minor comment clarification.
2014-07-29 Gary Dismukes <dismukes@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile
and Treat_As_Volatile flags based on whether the renamed object
is a volatile object.
From-SVN: r213170
|
|
2014-07-29 Olivier Hainque <hainque@adacore.com>
* g-debpoo.adb
(Default_Alignment): Rename as Storage_Alignment. This is not
a "default" that can be overriden. Augment comment to clarify
intent and document why we need to manage alignment padding.
(Header_Offset): Set to Header'Object_Size instead of 'Size
rounded up to Storage_Alignment. Storage_Alignment on the
allocation header is not required by our internals so was
overkill. 'Object_Size is enough to ensure proper alignment
of the header address when substracted from a storage address
aligned on Storage_Alignment.
(Minimum_Allocation): Rename as Extra_Allocation, conveying that
this is always added on top of the incoming allocation requests.
(Align): New function, to perform alignment rounding operations.
(Allocate): Add comments on the Storage_Address computation
scheme and adjust so that the alignment padding applies to that
(Storage_Address) only.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Default_Initialize_Object): Remove incorrect
pragma Unreferenced.
* cstand.adb (Create_Standard): Use E_Array_Type for standard
string types. Make sure index of Any_String/Any_Array is in a list.
* errout.adb: Minor reformatting.
From-SVN: r213169
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clean up and correct documentation of warnings.
* usage.adb: Minor corrections to make sure warnings are properly
documented.
* warnsw.adb (Set_Warning_Switch): Remove redundant return statement.
(WA_Warnings): Add Warn_On_Suspicious_Modulus_Value.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): The dummy block
created to match internal sequence numbers between compilations
with/without abort must have its type properly set.
From-SVN: r213168
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* ali.adb (Initialize_ALI): Initialize SSO_Default_Specified
(Scan_ALI): Set SSO_Default in ALIs_Record (Scan_ALI): Set
SSO_Default_Specified.
* ali.ads (ALIs_Record): Add field SSO_Default
(SSO_Default_Specified): New global switch.
* bcheck.adb (Check_Consistent_SSO_Default): New procedure
(Check_Configuration_Consistency): Call this procedure
* einfo.adb (SSO_Set_High_By_Default): New
function (SSO_Set_Low_By_Default): New function
(Set_SSO_Set_High_By_Default): New procedure
(Set_SSO_Set_Low_By_Default): New procedure (Write_Entity_Flags):
List new flags
* einfo.ads (SSO_Set_Low_By_Default): New flag
(SSO_Set_High_By_Default): New flag
* freeze.adb (Set_SSO_From_Default): New procedure
(Freeze_Array_Type): Call Set_SSO_From_Default
(Freeze_Record_Type): Call Set_SSO_From_Default
* gnat_rm.texi: Document pragma Default_Scalar_Storage_Order
* lib-writ.adb (Write_ALI): Set OL/OH in P line as needed
* lib-writ.ads: Add OL/OH parameters to P line
* opt.adb: Set Default_SSO, Default_SSO_Config as appropriate
* opt.ads (Default_SSO): New global switch (Default_SSO_Config):
New global switch
* repinfo.adb (List_Scalar_Storage_Order): List SSO when it is
set by default using pragma Default_Scalar_Storage_Order.
* sem.ads (Scope_Stack_Entry): Add component Save_Default_SSO
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects):
Clear SSO defaults when explicit SSO is inherited.
(Analyze_Attribute_Definition_Clause): Clear SSO defaults when
explicit SSO is specified.
(Inherit_Aspects_At_Freeze_Point):
Clear SSO default when inheriting SSO.
* sem_ch3.adb (Set_Default_SSO): New procedure
(Analyze_Private_Extension_Declaration): Set defualt SSO
(Array_Type_Declaration): ditto (Build_Derived_Array_Type): ditto
(Build_Derived_Private_Type): ditto (Build_Derived_Record_Type):
ditto (Build_Derived_Type): ditto (Make_Class_Wide_Type): ditto
(Record_Type_Declaration): ditto
* sem_ch8.adb (Pop_Scope): Restore Default_SSO (Push_Scope):
Save Default_SSO
* sem_prag.adb (Analyze_Pragma, case
Default_Scalar_Storage_Order): Set Default_SSO
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Valid_Operator_Definition): Verify that
all parameter have mode IN. This check must be done here for
subprogram instantiations that have operator names, because their
analysis does not follow the same path as that for subprogram
declarations.
From-SVN: r213167
|
|
of a component of the corresponding...
2014-07-29 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity, Concurrent_Type case): Add a guard
to make sure that the Etype of a component of the corresponding
record type is present before trying to freeze it.
* sem_ch5.adb: Minor reformatting.
From-SVN: r213165
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb,
a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed,
and then use it when a stream operation is used from a library generic
when the restriction (No_Streams) is active.
2014-07-29 Thomas Quinot <quinot@adacore.com>
* projects.texi: Fix minor typo.
2014-07-29 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute): Fix generation of warning.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Do not remove code in
CodePeer mode.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Find_Last_Init): Add local variable
Deep_Init_Found. Check the statement immediately following the
declaration if [Deep_]Initialization was not found.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Is_Aliased): It appears that
'reference-d and renamed objects still play some role in Boolean
expression with actions and cannot be finalized immediately.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Qualify_Needed): For debugging purposes,
Loop names are not part of the full qualification of entity names.
From-SVN: r213164
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.adb (Has_Protected): Test base type.
* sem_ch4.adb (Analyze_Allocator): Reorganize code to make sure
that we always properly check No_Protected_Type_Allocators.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Defining_Entity): Now applies to
loop declarations as well.
* exp_ch5.adb (Expand_Loop_Statement): Apply Qualify_Entity_Names
to an iterator loop, because it may contain local renaming
declarations that require debugging information.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_util.ads, exp_util.adb, sem_attr.adb: Minor reformatting.
From-SVN: r213163
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
(Set_Static_Real_Or_String_Predicate): New procedure
* sem_ch13.adb (Build_Predicate_Functions): Accomodate static
string predicates (Is_Predicate_Static): Handle static string
predicates.
* sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
New procedure (Check_Expression_Against_Static_Predicate):
Deal with static string predicates, now fully implemented
(Eval_Relational_Op): Allow string equality/inequality as static
if not comes from source.
From-SVN: r213162
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb,
einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb,
sem_eval.ads, sem_ch13.adb: General cleanup of static predicate
handling. Change name of Discrete_Predicate to
Discrete_Static_Predicate, and replace testing of the presence of this
field by testing the flag Has_Static_Expression.
From-SVN: r213161
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
* opt.adb: Handle Uneval_Old.
* opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
* par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
* sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
* sem_attr.adb (Uneval_Old_Msg): New procedure.
* sem_ch8.adb (Push_Scope): Save Uneval_Old.
(Pop_Scope): Restore Uneval_Old.
* sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
Implemented.
* snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
Add entries for Name_Warn, Name_Allow.
From-SVN: r213160
|
|
Is_OK_Static_Range.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range
to Is_OK_Static_Range.
* sem_attr.adb (Eval_Attribute): Make sure we properly flag
static attributes (Eval_Attribute, case Size): Handle size of
zero properly (Eval_Attribute, case Value_Size): Handle size of
zero properly.
* sem_ch13.adb: Minor reformatting.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Change
Is_Static_Range to Is_OK_Static_Range.
* sem_eval.adb (Eval_Case_Expression): Total rewrite, was
wrong in several ways (Is_Static_Range): Moved here from spec
(Is_Static_Subtype): Moved here from spec Change some incorrect
Is_Static_Subtype calls to Is_OK_Static_Subtype.
* sem_eval.ads: Add comments to section on
Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range):
Add clarifying comments (Is_Static_Range): Moved to body
(Is_Statically_Unevaluated): New function.
* sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change
Is_Static_Range to Is_OK_Static_Range.
* sinfo.ads: Additional commments for Is_Static_Expression noting
that clients should almost always use Is_OK_Static_Expression
instead. Many other changes throughout front end units to obey
this rule.
* tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression
for enumeration literal.
* exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb,
lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads,
sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb,
exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb:
Replace all occurrences of Is_Static_Expression by
Is_OK_Static_Expression.
From-SVN: r213159
|
|
its initialization expression in place.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Process_Transient_Object): Remove constant
In_Cond_Expr, use its initialization expression in place.
* exp_ch7.adb (Process_Declarations): There is no need to check
that a transient object being hooked is controlled as it would
not have been hooked in the first place.
* exp_util.adb (Is_Aliased): 'Reference-d or renamed transient
objects are not considered aliased when the related context is
a Boolean expression_with_actions.
(Requires_Cleanup_Actions): There is no need to check that a transient
object being hooked is controlled as it would not have been hooked in
the first place.
From-SVN: r213158
|
|
2014-07-29 Robert Dewar <dewar@adacore.com>
* errout.adb: Minor reformatting.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Default_Initialize_Object): Add new variables
Abrt_Blk and Dummy. Generate a dummy temporary when aborts are
not allowed to ensure the symmetrical generation of symbols.
* exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr
and E_Decl. Add new variables Decl and Dummy. Generate a dummy
temporary when aborts are not allowed to ensure symmertrical
generation of symbols.
* exp_intr.adb (Expand_Unc_Deallocation): Add new variable
Dummy. Generate a dummy temporary when aborts are not allowed
to ensure symmertrical generation of symbols.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): For an object
renaming, indicate that the renamed entity itself needs debug
information. This is necessary if that entity is a temporary,
e.g. part of the expansion of an explicit dereference in an
iterator.
From-SVN: r213157
|
|
2014-07-29 Thomas Quinot <quinot@adacore.com>
* errout.adb (Set_Error_Posted): When propagating flag to
an enclosing named association, also propagate to the parent
of that node, so that named and positional associations are
treated consistently.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'Update): Set
Do_Range_Check properly on array component expressions that
have a scalar type. In GNATprove mode, only checks on scalar
components must be marked by the front-end.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): If the type of the
expression is a limited view, use the non-limited view when
available.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
case statement as coming from a conditional expression.
(Expand_N_If_Expression): Mark the generated if statement as
coming from a conditional expression.
* exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled
objects found in case statement alternatives when the case
statement is actually a case expression.
(Expand_N_If_Statement):
Do not process controlled objects found in an if statement when
the if statement is actually an if expression.
* sinfo.adb (From_Conditional_Expression): New routine.
(Set_From_Conditional_Expression): New routine.
* sinfo.ads Add new semantic flag From_Conditional_Expression and
update related nodes.
(From_Conditional_Expression): New routine along with pragma Inline.
(Set_From_Conditional_Expression): New routine along with pragma Inline.
From-SVN: r213156
|
|
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove
formal parameter Obj_Id and update the comment on usage. Renamed
Obj_Typ to Func_Typ and update all occurrences.
(Find_Last_Init): Remove formal parameter Decl and update the comment
on usage.
Remove local constants Obj_Id and Obj_Typ. Remove local variables
Init_Typ and Is_Conc. Remove the extraction of the initialization type.
(Find_Last_Init_In_Block): Remove formal parameter
Init_Typ and update the comment on usage.
(Is_Init_Call): Remove formal parameter Init_Typ and update the comment
on usage. Check whether the procedure call is an initialization
procedure of either the object type or the initialization type.
(Is_Init_Proc_Of): New routine.
(Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this
routine. Add new variable Init_Typ. Add circuitry to extract the object
type as well as the initialization type.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_case.adb: Minor reformatting.
* sem_aux.ads: Minor reformatting.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent
pointer on these fields, even though they are semantic, because
subsequent analysis and expansion of action nades may require
exploring the tree, for example to locate a node to be wrapped
when a function with controlled result is called.
2014-07-29 Claire Dross <dross@adacore.com>
* sem_aux.adb (Get_Binary_Nkind): Use case on
Name_Id instead of an intermediate string.
(Get_Unary_Nkind): Use case on Name_Id instead of an intermediate
string.
2014-07-29 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note
about processing sources with preprocessor directives.
From-SVN: r213155
|
|
From-SVN: r213080
|
|
* gcc-interface/trans.c (finalize_nrv): Correct cgraph_node (symtab_node)
function used.
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Likewise.
(gnat_write_global_declarations): Likewise.
From-SVN: r213007
|
|
From-SVN: r212845
|
|
From-SVN: r212844
|
|
From-SVN: r212819
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb: Minor reformatting.
2014-07-18 Claire Dross <dross@adacore.com>
* sem_aux.ads (Get_Binary_Nkind): New function that returns
the Node_Kind value of an entity defining a binary operator.
(Get_Unary_Nkind): New function that returns the Node_Kind value
of an entity defining a unary operator.
2014-07-18 Pascal Obry <obry@adacore.com>
* sysdep.c: comment update.
* adaint.c (__gnat_fputwc): Use wchar_t on a limited set of
platforms where it is known to be supported.
2014-07-18 Thomas Quinot <quinot@adacore.com>
* sem_dist.adb (Process_Remote_AST_Declaration): Need
to set Fat_Type's Ekind in order to be able to use its
Corresponding_Remote_Type attribute.
From-SVN: r212815
|
|
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Last_Aggregate_Assignment is now Node 30.
(Last_Aggregate_Assignment): Include
constants in the assertion. Update the underlying node.
(Set_Last_Aggregate_Assignment): Include constants in the
assertion. Update the underlying node. (Write_Field11_Name):
Remove the entry for Last_Aggregate_Assignment.
(Write_Field30_Name): Add an entry for Last_Aggregate_Assignment.
* einfo.ads Update the node designation and usage of attribute
Last_Aggregate_Assignment.
* exp_aggr.adb (Expand_Array_Aggregate): Store the last
assignment statement used to initialize a controlled object.
(Late_Expansion): Store the last assignment statement used to
initialize a controlled record or an array of controlled objects.
* exp_ch3.adb (Expand_N_Object_Declaration): Default
initialization of objects is now performed in a separate routine.
(Default_Initialize_Object): New routine.
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Add formal parameter
Obj_Id. Update the comment on usage.
(Find_Last_Init): Remove formal parameter Typ. Update comment on usage.
Reimplement the logic. (Find_Last_Init_In_Block): New routine.
(Is_Init_Call): Add formal parameter Init_Typ. Update the
comment on usage. Account for the type init proc when trying
to determine whether a statement is an initialization call.
(Make_Adjust_Call): Rename formal parameter For_Parent to
Skip_Self. Update all occurrences of For_Parent. Account for
non-tagged types. Update the call to Make_Call.
(Make_Call): Rename formal parameter For_Parent to Skip_Self. Update
comment on usage. Update all occurrences of For_Parent.
(Make_Final_Call): Rename formal parameter For_Parent to
Skip_Self. Update all occurrences of For_Parent. Account
for non-tagged types. Update the call to Make_Call.
(Process_Object_Declaration): Most variables and constants are
now local to the routine.
* exp_ch7.ads (Make_Adjust_Call): Rename formal parameter
For_Parent to Skip_Self. Update the comment on usage.
(Make_Final_Call): Rename formal parameter For_Parent to
Skip_Self. Update the comment on usage.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Analyze_Requeue): The entry being referenced
can be a procedure that is implemented by entry, and have a
formal that is a synchronized interface. It does not have to
be declared as a protected operation.
From-SVN: r212814
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Remove mention of obsolete attributes
Max[_Interrupt]_Priority, which have never been implemented
(or at the very least were removed long ago if they ever were
implemented. Add documentation of Max[_Interrupt]_Priority
constants in package System.
* ttypes.ads: Document actual handling of package System,
rather than a historical fantasy version. Remove mention of
non-existent attributes Max[_Interrupt]_Priority.
2014-07-18 Pascal Obry <obry@adacore.com>
* a-witeio.adb (Put): No 16-bit character output when text
translation is disabled.
* i-cstrea.ads: Code clean up.
From-SVN: r212813
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that Wchar_T_Size and Word_Size are
static attributes.
2014-07-18 Arnaud Charlet <charlet@adacore.com>
* a-witeio.adb, initialize.c: Update comments. Minor clean ups.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c: Do not include wchar.h on VxWorks.
* mingw32.h: Remove obsolete definition.
From-SVN: r212812
|
|
2014-07-18 Pascal Obry <obry@adacore.com>
* a-textio.adb, a-witeio.adb, a-ztexio.adb: Use C_Streams Default_Text.
* i-cstrea.ads (Content_Encoding): Moved here, add convention C.
* s-ficobl.ads (Content_Encoding): Moved to C_Streams.
* s-fileio.adb (Open): Adjust to use Content_Encoding from C_Streams.
From-SVN: r212811
|
|
2014-07-18 Pascal Obry <obry@adacore.com>
* a-textio.adb: Rename Is_Text_File to Text_Encoding.
* a-ztexio.adb: Likewise.
* a-witeio.adb: Likewise.
(Open): Pass file's translation mode to set_text_mode.
* s-ficobl.ads (Content_Encoding): New type.
(Text_Content_Encoding): New subtype.
(AFCB): Rename Is_Text_File to Text_Encoding.
* s-fileio.adb (Open): Handles new text_translation
values. Remove Is_Text_File which is equivalent to Text_Encoding
in Text_Content_Encoding.
* adaint.h (__gnat_set_mode): New routine.
* sysdep.c (__gnat_set_wide_text_mode): Removed.
(__gnat_set_mode): New routine.
From-SVN: r212810
|
|
* gcc-interface/decl.c, gcc-interface/trans.c,
gcc-interface/utils.c (Is_Packed_Array_Type): Renamed
Is_Packed_Array_Impl_Type.
From-SVN: r212808
|
|
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* sem_util.adb: Minor typo correction.
2014-07-18 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Complete previous change.
2014-07-18 Pascal Obry <obry@adacore.com>
* s-fileio.adb: Minor style fix.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Detect improper
specification of stream attributes for subtypes that are not
first subtypes, to prevent malformed rep_item chains in the case
of such illegal specifications for discriminated private subtypes.
(Check_Overloaded_Name): Verify that the name is an entity name
before other checks.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_fputwc) Do not disable on cross-build.
From-SVN: r212807
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_attr.adb,
sem_aggr.adb, sinfo.ads, sem_eval.ads: Minor reformatting.
2014-07-18 Pascal Obry <obry@adacore.com>
* sysdep.c (__gnat_wide_text_translation_required): Removed from here.
* initialize.c (__gnat_wide_text_translation_required): Defined here.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_fputwc): New routine.
* s-crtl.ads (fputwc): Now imported as __gnat_fputwc.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Flag 270 is now used as Stores_Attribute_Old_Prefix.
(Set_Stores_Attribute_Old_Prefix): New routine.
(Stores_Attribute_Old_Prefix): New routine.
(Write_Entity_Flags):
Output flag Stores_Attribute_Old_Prefix.
* einfo.ads Add new flag Stores_Attribute_Old_Prefix along with
comment on usage.
(Set_Stores_Attribute_Old_Prefix): New routine
along with pragma Inline.
(Stores_Attribute_Old_Prefix): New
routine along with pragma Inline.
* exp_attr.adb (Expand_N_Attribute_Reference): Mark the generated
constant which captures the result of attribute 'Old's prefix.
* sem_util.adb (In_Assertion_Expression_Pragma): Recognize a
relocated expression which acted as a prefix of attribute 'Old.
2014-07-18 Bob Duff <duff@adacore.com>
* s-spsufi.adb (Finalize_And_Deallocate): Set Subpool.Owner to
null before dispatching to Deallocate_Subpool.
* s-stposu.ads (Default_Subpool_For_Pool): Change mode of
parameter of Default_Subpool_For_Pool to 'in out'.
* s-stposu.adb (Set_Pool_Of_Subpool): Use raise expression. Add
a message to the raise.
* sem_util.adb: Minor reformatting.
From-SVN: r212806
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Mark expression as non-static if it fails static predicate check,
and issue additional warning.
2014-07-18 Pascal Obry <obry@adacore.com>
* a-witeio.adb (Put): Control translation based on
wide_text_translation_required.
* adaint.c (CurrentCCSEncoding): New variable.
* initialize.c (__gnat_initialize): On Windows initialize
CurrentCCSEncoding based on values in GNAT_CCS_ENCODING
environment variable.
* mingw32.h (CurrentCCSEncoding): New external.
(__gnat_wide_text_translation_required): Likewise.
* sysdep.c (wide_text_translation_required): New variable.
(__gnat_set_wide_text_mode): Set mode based on CurrentCCSEncoding.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
variable Refined_States. Add global variable Matched_Items.
(Check_Dependency_Clause): Account for dependency
clauses utilizing states with visible null refinements.
(Is_Null_Refined_State): New routine.
(Match_Items): Record each successfully matched item of pragma Depends.
(Record_Item): New routine.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): Set
Do_Range_Check flag on a dynamic index expression used in a
component association in the argument of Update.
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* einfo.ads, sem_eval.ads, sem_ch13.adb: Minor reformatting.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Expand_Simple_Function_Return): Redo the marking
of enclosing blocks, loops and the enclosing function using a
parent-based traversal.
* exp_util.adb (Wrap_Statements_In_Block): Suppress the secondary
stack reclamation if the iterator loop contains a return statement
that uses the stack.
* sem_ch5.adb (Analyze_Loop_Statement): There is no need to
patch up the scope stack as the secondary stack management now
takes into account the enclosing function of the iterator loop.
From-SVN: r212805
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, g-memdum.ads, i-cstrea.ads: Minor reformatting.
2014-07-18 Robert Dewar <dewar@adacore.com>
* einfo.adb (Has_Static_Predicate): New function.
(Set_Has_Static_Predicate): New procedure.
* einfo.ads (Has_Static_Predicate): New flag.
* sem_ch13.adb (Is_Predicate_Static): New function
(Build_Predicate_Functions): Use Is_Predicate_Static to reorganize
(Add_Call): Minor change in Sloc of generated expression
(Add_Predicates): Remove setting of Static_Pred, no longer used.
* sem_ch4.adb (Has_Static_Predicate): Removed this function,
replace by use of the entity flag Has_Static_Predicate_Aspect.
* sem_eval.adb (Eval_Static_Predicate_Check): Check real case
and issue warning that predicate is not checked for now.
* sem_eval.ads (Eval_Static_Predicate_Check): Fix comments in
spec.
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Carry out check for any case where there is a static predicate,
and output appropriate message.
* sinfo.ads: Minor comment corrections.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): If the type is derived
from an untagged private type whose full view is tagged, the type
is marked tagged for layout reasons, but it has no dispatch table,
so Set_All_DT_Position must not be called.
* exp_ch13.adb: If the freeze node is for a type internal to a
record declaration, as is the case for a class-wide subtype
of a parent component, the relevant scope is the scope of the
enclosing record.
From-SVN: r212804
|
|
2014-07-18 Thomas Quinot <quinot@adacore.com>
* g-memdum.adb, g-memdum.ads: Code clean ups.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Dependency_Clause):
Update the comment on usage. Reimplement the mechanism which
attempts to match a single clause of Depends against one or
more clauses of Refined_Depends.
(Input_Match): Removed.
(Inputs_Match): Removed.
(Is_Self_Referential): Removed.
(Normalize_Clause): Update the call to Split_Multiple_Outputs.
(Normalize_Outputs): Rename variable Split to New_Claue and update
all its occurrences.
(Report_Extra_Clauses): Update the comment on usage.
(Split_Multiple_Outputs): Renamed to Normalize_Outputs.
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* i-cstrea.ads: Minor reformatting.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Wrap_Statements_In_Block): Propagate both
secondary stack-related flags to the generated block.
* sem_ch5.adb (Analyze_Loop_Statement): Update the scope chain
once the loop is relocated in a block.
From-SVN: r212803
|
|
2014-07-18 Robert Dewar <dewar@adacore.com>
* repinfo.ads: Add documentation on handling of back annotation
for dynamic case.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb (Incomplete_View): New semantic attribute
of full type declaration, denotes previous declaration for
incomplete view of the type.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Incomplete_View
of declaration if one is present.
(Replace_Type): When constructing the signature of an inherited
operation, handle properly the case where the operation has a
formal whose type is an incomplete view.
* sem_util.adb (Collect_Primitive_Operations): Handle properly
the case of an operation declared after an incomplete declaration
for a type T and before the full declaration of T.
2014-07-18 Pascal Obry <obry@adacore.com>
* i-cstrea.ads: Add documentation for set_wide_text_mode.
From-SVN: r212802
|