15970 lines
594 KiB
Plaintext
15970 lines
594 KiB
Plaintext
2014-12-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_{Min,Max}>: If the
|
||
type is a floating-point type, implement the semantics of the C99
|
||
f{min,max} routines with regard to NaNs.
|
||
(gnat_to_gnu): Call builtin_decl_implicit.
|
||
* gcc-interface/utils2.c (compare_arrays): Adjust comments.
|
||
|
||
2014-12-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Post the error message
|
||
for parent overlapping on the position instead of on the first bit.
|
||
For a field that needs strict alignment, issue the error for the
|
||
position first and, for the size, issue an error if it is too large
|
||
only for the atomic and aliased cases. Issue a specific error if
|
||
the size is not a multiple of a byte in the volatile and the strict
|
||
alignment cases.
|
||
|
||
2014-12-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (check_ok_for_atomic): Rename into...
|
||
(check_ok_for_atomic_type): ...this. When checking the mode, also
|
||
check that the type is sufficient aligned. Remove useless code and
|
||
tidy up implementation.
|
||
(gnat_to_gnu_entity): Adjust to above renaming.
|
||
(gnat_to_gnu_component_type): Likewise.
|
||
(gnat_to_gnu_field): Likewise.
|
||
|
||
2014-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_get_array_descr_info): New. Use it for
|
||
the get_array_descr_info lang-hook. Use it to tune the DWARF output
|
||
for array types.
|
||
|
||
2014-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (Cygwin/Mingw): Fix previous change.
|
||
|
||
2014-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (build_return_expr): Use INIT_EXPR instead of
|
||
MODIFY_EXPR to assign to the return object.
|
||
(finalize_nrv_r): Adjust to above change.
|
||
(finalize_nrv_unc_r): Likewise.
|
||
|
||
2014-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (push_range_check_info): Replace early test
|
||
with assertion.
|
||
(Raise_Error_to_gnu): Do not call push_range_check_info if the loop
|
||
stack is empty.
|
||
* gcc-interface/utils.c (convert_to_fat_pointer): Fix formatting.
|
||
* gcc-interface/utils2.c (gnat_invariant_expr): Deal with padded types
|
||
and revert latest change.
|
||
|
||
2014-11-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
|
||
actuals of In parameters if the destination type is an unconstrained
|
||
composite type.
|
||
|
||
2014-11-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable.
|
||
<case NULL_EXPR>: Deal with unconstrained array types and use 'type'.
|
||
<case ADDR_EXPR>: Use 'type'.
|
||
<case DECL_EXPR>: Likewise.
|
||
|
||
2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/decl.c (annotate_value_cache): Replace htab with
|
||
hash_table.
|
||
(annotate_value): Adjust.
|
||
(init_gnat_decl): Likewise.
|
||
(destroy_gnat_decl): Likewise.
|
||
* gcc-interface/utils.c (pad_type_hash_table): Replace htab with
|
||
hash_table.
|
||
(init_gnat_utils): Adjust.
|
||
(destroy_gnat_utils): Likewise.
|
||
(lookup_and_insert_pad_type): Likewise.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
PR ada/63931
|
||
* gnatvsn.ads (Library_Version): Switch to "5".
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
|
||
for aliased constant objects.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb (Following_Address_Clause): Use new Name_Table
|
||
boolean flag set by parser to avoid the search if there is no
|
||
address clause anywhere for the name.
|
||
* namet.adb (Name_Enter): Initialize Boolean_Info flag
|
||
(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
|
||
New function (Set_Name_Table_Boolean): New procedure
|
||
* namet.ads: Add and document new Boolean field in name table
|
||
(Get_Name_Table_Boolean): New function.
|
||
(Set_Name_Table_Boolean): New procedure.
|
||
* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
|
||
flag for an identifier name if we detect an address clause or
|
||
use-at clause for the identifier.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
|
||
Following_Address_Clause since this function is now optimized
|
||
and is not a performance concern.
|
||
* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
|
||
mode, pragma Elaborate is now allowed, but does not suppress
|
||
elaboration checking.
|
||
|
||
2014-11-20 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Add some support for VxWorks7.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb, freeze.adb: Minor reformatting.
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Minor reformatting.
|
||
(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
|
||
in SPARK.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_rm.texi: Correction to documentation of
|
||
'Unrestricted_Access in case of access to unconstrained array.
|
||
* a-cofove.adb (Capacity): Fix bug -- was always
|
||
returning Capacity_Range'Last.
|
||
(Is_Sorted): Fix bug -- was always returning True, because
|
||
Container.Last = Last. That test isn't even needed, because the
|
||
loop will go around zero times in that case, so deleted that
|
||
test rather than fixing it.
|
||
(Reverse_Elements): Make sure to use the correct array bounds.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
|
||
wrappers for functions and operators that are actuals only if
|
||
expander is enabled. Wrappers play no role within a generic unit.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Policy_In_Effect): Use the
|
||
configuration level assertion flag.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-parame-ae653.ads: Update comments.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* types.ads, einfo.ads: Minor reformatting.
|
||
* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
|
||
for variable case.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
|
||
instead of access-to-unconstrained, because the latter doesn't
|
||
work with 'Unrestricted_Access when the result is returned from
|
||
a function.
|
||
* a-cofove.ads (Vector): Move the discriminant-dependent array
|
||
after the other components for efficiency. Otherwise the compiler
|
||
will generate a lot of code to calculate the offset of the other
|
||
components every time they're accessed.
|
||
|
||
2014-11-20 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
|
||
it is set to true.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
|
||
a type invariant check on an object with default initialization
|
||
and an address clause.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Check_A_Call): Handle variable ref case in
|
||
SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
|
||
(Get_Referenced_Ent): ditto.
|
||
* sem_elab.ads: Comment fixes to account for the fact that we
|
||
now deal with variable references in SPARK mode.
|
||
* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
|
||
Check_Elab_Call for variable.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cofove.ads (Copy): Fix precondition, which should allow
|
||
Capacity = 0.
|
||
(First_To_Previous, Current_To_Last): Add necessary preconditions.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Initialization_Call): Reimplement the
|
||
circuitry which extraacts the [underlying] full view of a
|
||
private type to handle a case where the private type acts as a
|
||
generic actual.
|
||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
|
||
loop label form the original loop regardless of whether it came
|
||
from source.
|
||
* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
|
||
expression function with a generated body that has not been
|
||
analyzed yet, analyze the body to freeze the expression.
|
||
* sem_util.adb (Set_Public_Status_Of): New routine.
|
||
(Transfer_Entities): Handle the case where a private type with
|
||
an internally generated full view is being transfered and update
|
||
its full view.
|
||
|
||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
|
||
file, its object file is never the same as any other unit.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.adb (Initialize_ATCB): Take into
|
||
account the fact that the domain of the activator can be null
|
||
if we're initializing a foreign task.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2014-11-20 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* s-osinte-vxworks.ads: Add comments. Minor reformatting.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, sem_elab.adb: Minor rewording of error message in
|
||
SPARK mode, for consistency.
|
||
|
||
2014-11-20 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: New section on gnattest stubbing. Minor
|
||
reformatting.
|
||
|
||
2014-11-20 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* s-taprop-vxworks.adb (Create_Task): Fix thread comparison.
|
||
Minor reformatting.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
|
||
reformatting.
|
||
* comperr.adb (Compiler_Abort): New wording for bug box.
|
||
* par-ch13.adb: Minor reformatting.
|
||
* par-ch3.adb (P_Identifier_Declarations): Handle aspect
|
||
specifications given before initialization expression in object
|
||
declaration cleanly.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Make sure static
|
||
elaboration mode is set if we are operating in SPARK mode.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Make
|
||
sure static elab mode is set if we are in SPARK mode.
|
||
(Analyze_Subprogram_Instantiation): ditto.
|
||
(Set_Instance_Env): ditto.
|
||
* sem_elab.adb (Check_A_Call): In SPARK mode, we require
|
||
Elaborate_All in the case of a call during elaboration to a
|
||
subprogram in another unit.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Can_Split_Unconstrained_Function,
|
||
Build_Procedure): Copy parameter type rather than creating
|
||
reference to the entity, to capture class-wide reference, whose
|
||
name is not retrieved by visibility.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.
|
||
|
||
2014-11-20 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* init.c (__gnat_map_signal for VxWorks): Use a common mapping
|
||
scheme for VxWorks version >= 6, instead of falling back to the
|
||
vx5 scheme for versions > 6.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
|
||
base type when constructing subtype indication for constrained
|
||
target object.
|
||
|
||
2014-11-20 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* projects.texi: Minor spelling fix.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.
|
||
|
||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb (Register_New_Package): Allow the registration
|
||
of an already unknown package and make it known.
|
||
|
||
2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/decl.c, gcc-interface/utils.c: replace htab with
|
||
hash_table.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
|
||
Elaborate in SPARK mode.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain
|
||
is null, then initialize T.Common.Domain to that of the
|
||
activating task (not the parent task!), as required by RM-D.16.1.
|
||
T.Common.Domain should never be null; so Assert. Remove similar
|
||
code from Create_Task in s-tassta.adb.
|
||
* s-mudido-affinity.adb: Remove checks for Domain = null,
|
||
because it can't be null.
|
||
* s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads,
|
||
s-taspri-posix.ads, s-taspri-posix-noaltstack.ads,
|
||
s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as
|
||
explicitly limited for clarity.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Init_Hidden_Discriminants): Code clean up.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Error_Msg): Don't suppress continuation msgs for
|
||
run-time files.
|
||
* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
|
||
Elaborate in SPARK mode.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Update GNAT RM with rule about expressions in
|
||
Update attribute.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (To_Host_Entry): Guard against case of a
|
||
non-AF_INET entry.
|
||
|
||
2014-11-20 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-strunb-shared.adb (To_Unbounded_String): Use shared empty
|
||
object to construct return value when source string is empty or
|
||
requested length is zero.
|
||
* a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise.
|
||
* a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb,
|
||
a-cofove.adb: Skip CodePeer analysis on body of all formal containers.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* adaint.c: Fix typo.
|
||
* exp_util.adb (Make_Subtype_From_Expr): Complete previous change,
|
||
generate constant values.
|
||
* sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong
|
||
evaluation to '0' of some unknown values.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* repinfo.adb (List_Record_Info): Do not list discriminant in
|
||
unchecked union.
|
||
* sem_ch13.adb (Has_Good_Profile): Minor reformatting
|
||
(Analyze_Stream_TSS_Definition): Minor reformatting
|
||
(Analyze_Record_Representation_Clause): Do not issue warning
|
||
for missing rep clause for discriminant in unchecked union.
|
||
|
||
2014-11-20 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
|
||
("&") Use already computed value of data length to call allocation
|
||
subprogram.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
|
||
debugging information for a call to a predefined unit, if the
|
||
call comes from source and the unit is in the Ada hierarchy.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-mudido.ads: Update signature of Create and Get_Last_CPU. Add
|
||
CPU_Set, another Create, and Get_CPU_Set.
|
||
* s-mudido.adb: Corresponding changes to the spec. New
|
||
operations just raise an exception. Also minor cleanup: use
|
||
raise_expressions.
|
||
* s-mudido-affinity.adb: Implementations of new operations from
|
||
* s-mudido.ads, for the platforms that actually support processor
|
||
affinity. The new Create (which takes a set) now does all the
|
||
work; the old Create (which takes a range) now just calls the
|
||
new one. Change error messages to reflect the fact that it's an
|
||
arbitrary set, not just a range.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Minor reformatting.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of
|
||
all index constracts when the expression is of an array type.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.ads: Minor comment improvements.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor comment fixes.
|
||
* s-taskin.adb (Initialize): Small simplification: pass System_Domain
|
||
to Initialize_ATCB instead of passing null and then setting the Domain
|
||
to System_Domain. This requires moving the creation of System_Domain
|
||
earlier.
|
||
* s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for
|
||
processors that have a True in the Domain. This is necessary if the
|
||
Domain is not all-True values.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Has_Good_Profile): a) An stream attribute
|
||
for the class-wide type of an interface type is not a primitive
|
||
operation and is not subject to the restrictions of 13.13. (38/3).
|
||
b) A stream operation for an interface type must be a null
|
||
procedure, and it cannot be a function.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_attr.adb (Attribute_Max_Size_In_Storage_Elements):
|
||
Eliminate 'Class references from the tree, because gigi crashes on
|
||
'Class. Also, don't check Nkind (Attr) -- it is known to be
|
||
N_Attribute_Reference. Assert that instead.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* debug.adb: Minor comment fix.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-ciorma.adb: Minor update: move pragma Annotate up.
|
||
* a-cfdlli.adb: Skip codepeer analysis on this body.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
|
||
Allow use of this pragma with generic unit (package or subprogram).
|
||
* gnat_rm.texi: Clarify that pragma No_Elaboration_Code_All can
|
||
be applied to generics.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Valid_Limited_Ancestor): Ancestor part of
|
||
extension aggregate can itself be an extension aggregate, as
|
||
well as a call that is rewritten as a reference.
|
||
|
||
2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Add_Inlined_Subprogram): Insert all programs
|
||
generated as a body or whose declaration was provided along with
|
||
the body.
|
||
|
||
2014-11-20 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem.adb (Semantics): Disable expansion if we are compiling a
|
||
separate unit under configurable runtime. By default separate
|
||
units are compiled with expansion disabled but under configurable
|
||
runtime we enable the expansion to get error messages about
|
||
missing entities.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
* exp_util.adb (Following_Address_Clause): Handle case of
|
||
package private part.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
|
||
a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
|
||
a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
|
||
a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
|
||
a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
|
||
a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
|
||
a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
|
||
from analyzing these bodies.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not apply
|
||
inlining expansion if function build in place, i.e. has a limited
|
||
return type.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Add
|
||
variables Body_Id, Body_Inputs, Body_Outputs, Spec_Inputs,
|
||
Spec_Outputs. Synthesize the inputs and outputs of the subprogram
|
||
when pragma [Refined_]Global is missing and perform legality
|
||
checks on output states with visible refinement.
|
||
(Appears_In): Update the comment on usage.
|
||
(Check_Output_States): New routine.
|
||
(Collect_Dependency_Clause): New routine.
|
||
(Collect_Global_Items): Relocated to
|
||
Analyze_Refined_Global_In_Decl_Part.
|
||
(Collect_Subprogram_Inputs_Outputs): Add new formal parameters
|
||
Synthesize and Depends_Seen. The routine can now synthesize inputs
|
||
and outputs from pragma [Refined_]Depends.
|
||
(Normalize_Clause): Update the comment on usage. The routine no longer
|
||
performs normalization of outputs.
|
||
(Normalize_Clauses): Normalize both inputs and outputs.
|
||
(Normalize_Output): Relocated to Normalize_Clauses.
|
||
* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Add new
|
||
formal parameters Synthesize and Depends_Seen and update the
|
||
comment on usage.
|
||
|
||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||
|
||
PR ada/47500
|
||
* back_end.adb (Scan_Back_End_Switches): Skip switch -G and
|
||
its argument.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Reset_Loop_Variable): New subsidiary procedure
|
||
in Build_Predicate_Functions, to handle properly quantified
|
||
expressions in dynamic predicates.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb, sem_ch6.adb, exp_dist.adb: Minor reformatting.
|
||
* sem_util.adb (Bad_Unordered_Enumeration_Reference): Suppress
|
||
warning (return False) for generic type.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Appears_In_Check): Removed.
|
||
(Is_OK_Volatile_Context): Rewrite the checks which verify that
|
||
an effectively volatile object subject to enabled properties
|
||
Async_Writers or Effective_Reads appears in a suitable context to
|
||
properly recognize a procedure call.
|
||
(Within_Check): New routine.
|
||
(Within_Procedure_Call): New routine.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Improve better error message.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb, sem_ch13.adb: Minor editing.
|
||
|
||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Remove any special processing for the ASIS tools
|
||
(gnatpp, gnatmetric, gnatcheck, gnatelim and gnatstup) and simply
|
||
invoke the tool with the provided switches and arguments.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Reject declaration
|
||
of expression function with identical profile as previous
|
||
expression function.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb: Complete previous change.
|
||
* exp_dist.adb, exp_dist.ads: Rework PolyORB/DSA arguments processing
|
||
circuitry to correctly handle the case of non-private limited
|
||
unconstrained formals.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, exp_dbug.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads: Fix minor typo in comment.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, sem_util.adb: Minor reformatting.
|
||
|
||
2014-11-20 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* uintp.h (UI_Eq): Declare.
|
||
* urealp.h (Norm_Den): Declare.
|
||
(Norm_Num): Declare.
|
||
* exp_dbug.adb (Is_Handled_Scale_Factor): New.
|
||
(Get_Encoded_Name): Do not output ___XF GNAT encodings
|
||
for fixed-point types when these can be handled by GCC's DWARF
|
||
back-end.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.db (Inherit_Aspects_At_Freeze_Point): Inherit parent
|
||
SSO even if set through a pragma Default_Scalar_Storage_Order.
|
||
* freeze.adb (Set_SSO_From_Default): For a type extension,
|
||
do not let the default SSO override the parent SSO.
|
||
* gnat_rm.texi: document the above
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-stream.ads, a-reatim.ads, a-calend.ads, sinfo.ads, s-crtl.ads,
|
||
interfac.ads, s-taskin.ads: Minor reformatting.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Extensions_Visible can now
|
||
apply to an expression function.
|
||
* sem_util.adb (Extensions_Visible_Status): Add special processing
|
||
for expression functions.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* inline.adb (Build_Body_To_Inline): Remove meaningless aspects
|
||
and pragmas.
|
||
(Generate_Subprogram_Body): Remove meaningless aspects and pragmas.
|
||
(Remove_Aspects_And_Pragmas): New routine.
|
||
(Remove_Pragmas): Removed.
|
||
* namet.ads, namet.adb (Nam_In): New versions of the routine.
|
||
|
||
2014-11-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Linker_Section): Detect
|
||
duplicate Linker_Section.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb: Add guard for build-in-place boolean op.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): In GNATprove mode,
|
||
put a range check when an empty range is used, instead of an
|
||
error message.
|
||
* sinfo.ads Update comment on GNATprove mode.
|
||
|
||
2014-11-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-stream.ads, s-osinte-linux.ads, a-reatim.ads, a-calend.ads,
|
||
s-crtl.ads, interfac.ads, s-taskin.ads: Replace uses of 2 ** 63 and
|
||
2 ** 64 by references to Long_Long_Integer instead, to allow these
|
||
units to be analyzed by codepeer or spark when using a target
|
||
configuration file with long_long_size set to 32.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Extensions_Visible_Status): Modify the logic to account
|
||
for non-SPARK code.
|
||
(Object_Access_Level): In ASIS mode, recognize
|
||
a selected component with an implicit dereference so that it
|
||
yields the same value with and without expansion.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS
|
||
(compile-only) mode, use original type declaration to determine
|
||
whether protected type implements an interface.
|
||
|
||
2014-11-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads,
|
||
* a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private
|
||
part/body as SPARK_Mode Off.
|
||
* a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads,
|
||
* a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use
|
||
aspect instead of pragma for uniformity.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Is_EVF_Expression): Include
|
||
attributes 'Loop_Entry, 'Old and 'Update to the logic.
|
||
|
||
2014-11-20 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb (Make_Call_Into_Operator): Don't
|
||
call Left_Opnd in the case of unary operators, because they only
|
||
have Right.
|
||
|
||
2014-11-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* initialize.c (ProcListCS): New extern variable (critical section).
|
||
(ProcListEvt): New extern variable (handle).
|
||
(__gnat_initialize)[Win32]: Initialize the ProcListCS critical
|
||
section object and the ProcListEvt event.
|
||
* final.c (__gnat_finalize)[Win32]: Properly finalize the
|
||
ProcListCS critical section and the ProcListEvt event.
|
||
* adaint.c (ProcListEvt): New Win32 event handle.
|
||
(EnterCS): New routine to enter the critical section when dealing with
|
||
child processes chain list.
|
||
(LeaveCS): As above to exit from the critical section.
|
||
(SignalListChanged): Routine to signal that the chain process list has
|
||
been updated.
|
||
(add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the
|
||
handle has been added.
|
||
(__gnat_win32_remove_handle): Use EnterCS/LeaveCS,
|
||
also call SignalListChanged if the handle has been found and removed.
|
||
(remove_handle): Routine removed, implementation merged with the above.
|
||
(win32_wait): Use EnterCS/LeaveCS for the critical section. Properly
|
||
copy the PID list locally to ensure that even if the list is updated
|
||
the local copy remains valid. Add into the hl (handle list) the
|
||
ProcListEvt handle. This handle is used to signal that a change has
|
||
been made into the process chain list. This is to ensure that a waiting
|
||
call can be resumed to take into account new processes. We also make
|
||
sure that if the handle was not found into the list we start over
|
||
the wait call. Indeed another concurrent call to win32_wait()
|
||
could already have handled this process.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): The legality rule concerning
|
||
the use of class-wide actuals for a non-controlling formal are
|
||
not rechecked in an instance.
|
||
|
||
2014-11-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-dirope.ads: Minor typo fix.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference,
|
||
Expand_Update_Attribute): Preserve the tag of a prefix by offering
|
||
a specific view of the class-wide version of the prefix.
|
||
|
||
2014-11-20 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Return): For functions returning
|
||
an access to an interface add an implicit conversion to the target
|
||
type to force the displacement of the pointer to the object to
|
||
reference the secondary dispatch table.
|
||
(Check_Anonymous_Return): Skip internally built functions which handle
|
||
the case of null access when locating the master of a task.
|
||
* sem_res.adb (Valid_Conversion): Return true for internally
|
||
generated conversions of access to interface types added to force
|
||
the displacement of the pointer to reference the corresponding
|
||
dispatch table.
|
||
|
||
2014-11-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (add_handle): realloc with a size of +100.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
|
||
back the resolved operands to the original call node, taking
|
||
into account that the original call may have named associations.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* inline.adb (Has_Some_Contract): Change the
|
||
guard to test the Ekind of the entity rather than the Analyzed
|
||
flag. This handles partially analyzed contexts.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do
|
||
not reject the renaming of a function result if the renaming
|
||
does not come for source.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.ads: Minor addition of ??? clause.
|
||
|
||
2014-11-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Variable): For an Ada 2012 implicit
|
||
dereference introduced for an indexing opertion, check that the
|
||
type of the corresponding access discriminant is not an access
|
||
to constant.
|
||
|
||
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Find_Corresponding_Spec): Inherit
|
||
the ghostness of the matching spec, the same way convention
|
||
is inherited.
|
||
|
||
2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of
|
||
tests in a condition so Following_Address_Clause is invoked
|
||
only if need be.
|
||
* exp_util.ads (Following_Address_Clause): Add small note.
|
||
|
||
2014-11-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (remove_handle): New local routine without a lock.
|
||
(win32_wait): fix the critical section to properly protect needed
|
||
code, use new remove_handle.
|
||
(__gnat_win32_remove_handle): refactor code with remove_handle.
|
||
|
||
2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Analyze_Inlined_Bodies): Iterate between loading
|
||
of the inlined bodies and instantiation of the generic bodies
|
||
until no more bodies need to be loaded.
|
||
|
||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name:
|
||
Update_Ignore_Missing_With becomes Set_Ignore_Missing_With.
|
||
|
||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
|
||
sem_ch6.adb: Minor reformatting.
|
||
|
||
2014-11-20 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit
|
||
conversion to force the displacement of the pointer to the object
|
||
to reference the secondary dispatch table.
|
||
|
||
2014-11-11 Simon Wright <simon@pushface.org>
|
||
|
||
PR ada/42978
|
||
* mlib-utl.adb (ar): Output the options passed to ranlib.
|
||
|
||
2014-11-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding'
|
||
a keyword in Ada 95 mode when -gnatd.D is used.
|
||
* gnat_ugn.texi: Document -gnatd.D.
|
||
|
||
2014-11-07 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnatls.adb: Lower severity of the program's return value in
|
||
some common cases.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Decorate_Type): The limited view of a tagged
|
||
type has an empty list of primitive operations.
|
||
|
||
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK
|
||
RM.
|
||
(Process_Full_View): Update references to SPARK RM.
|
||
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
|
||
to SPARK RM.
|
||
(Analyze_Subprogram_Body_Helper): Update references
|
||
to SPARK RM.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
|
||
to SPARK RM.
|
||
* sem_prag.adb (Check_Ghost_Constituent): Update references to
|
||
SPARK RM.
|
||
* sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM.
|
||
(Resolve_Actuals): Ensure that the actual parameter of a Ghost
|
||
subprogram whose formal is of mode IN OUT or OUT is Ghost.
|
||
* sem_util.adb (Check_Ghost_Completion): Update references to
|
||
SPARK RM.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch7.adb (Make_Final_Call): If type of designated object is
|
||
derived from that of the formal of the Deep_Finalize procedure,
|
||
add an unchecked conversion to prevent spurious type error.
|
||
|
||
2014-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb,
|
||
exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads:
|
||
Minor reformatting.
|
||
|
||
2014-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting.
|
||
|
||
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Set_Is_Checked_Ghost_Entity,
|
||
Set_Is_Ignored_Ghost_Entity): Add exceptions to the assertion
|
||
check.
|
||
* sem_ch6.adb (Check_Conformance): Consider only
|
||
source subprograms when checking for Ghost conformance.
|
||
* sem_prag.adb (Analyze_Pragma): Handle the case
|
||
where pragma Ghost applies to a stand alone subprogram body that
|
||
acts as a compilation unit.
|
||
* sem_res.adb: Minor reformatting (merge if statements).
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
|
||
Check whether underlying type is constrained before generating
|
||
the object declaration for the result object of the function.
|
||
|
||
2014-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Code clean up.
|
||
|
||
2014-11-07 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cfinve.ads,
|
||
* a-cforma.ads, a-cforse.ads, a-cofove.ads: Mark First_To_Previous,
|
||
Current_To_Last and Strict_Equal as Ghost.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Code clean up.
|
||
|
||
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Issue an error regardless of the
|
||
SPARK_Mode when a ghost type is effectively volatile.
|
||
* sem_ch3.adb (Analyze_Object_Contract): Decouple the checks
|
||
related to Ghost from SPARK_Mode.
|
||
* sem_res.adb (Check_Ghost_Policy): Issue an error regardless
|
||
of the SPARK_Mode when the Ghost policies do not match.
|
||
* sem_util.adb (Check_Ghost_Completion): Issue an error regardless
|
||
of the SPARK_Mode when the Ghost policies do not match.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): return if name
|
||
in iterator does not have any usable aspect for iteration.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Null_Procedure): Reject a null procedure
|
||
that there is a previous null procedure in scope with a matching
|
||
profile.
|
||
|
||
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* atree.adb (Copy_Separate_Tree): Copy the aspect specifications.
|
||
* inline.adb (Has_Some_Contract): Do the check only when the
|
||
related entity has been analyzed.
|
||
|
||
2014-11-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Integer):
|
||
If the restriction No_Floating_Point is in effect, and the
|
||
operands have the same type, introduce a temporary to hold
|
||
the fixed point result, to prevent the use of floating-point
|
||
operations at run-time.
|
||
|
||
2014-11-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Check_Address_Clause): Minor reformatting
|
||
(Find_Constant): Minor reformatting.
|
||
(Freeze_Array_Type): Modify check for packed declarations.
|
||
(Freeze_Entity): Minor reformatting.
|
||
|
||
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 5.0.
|
||
|
||
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): For a function with
|
||
copy-in/copy-out parameters and which returns by invisible reference,
|
||
do not create the variable for the return value; instead, manually
|
||
generate the indirect copy out statements on exit.
|
||
(gnat_to_gnu) <N_Simple_Return_Statement>: Adjust accordingly and build
|
||
a simple indirect assignment for the return value.
|
||
|
||
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: For a
|
||
derived untagged type that renames discriminants, be prepared for
|
||
a type derived from a private discriminated type when changing the
|
||
type of the stored discriminants.
|
||
|
||
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Set
|
||
the SLOC of the node on the call to set_jmpbuf_address_soft emitted
|
||
on block entry with SJLJ.
|
||
|
||
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (create_subprog_decl): Move code dealing with
|
||
conflicting inlining status of nested subprograms to...
|
||
* gcc-interface/trans.c (check_inlining_for_nested_subprog): ...here.
|
||
(Attribute_to_gnu) <Attr_Access>: Call it.
|
||
(Call_to_gnu): Likewise.
|
||
(Subprogram_Body_to_gnu): Drop the body if it is an inlined external
|
||
function that has been marked uninlinable.
|
||
|
||
2014-10-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb Add an entry for aspect Ghost in table
|
||
Canonical_Aspect.
|
||
* aspects.ads Add an entry for aspect Ghost in tables
|
||
Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and
|
||
Implementation_Defined_Aspect.
|
||
* einfo.adb: Flags 277 and 278 are now in use.
|
||
(Is_Checked_Ghost_Entity): New routine.
|
||
(Is_Ghost_Entity): Removed.
|
||
(Is_Ghost_Subprogram): Removed.
|
||
(Is_Ignored_Ghost_Entity): New routine.
|
||
(Set_Is_Checked_Ghost_Entity): New routine.
|
||
(Set_Is_Ignored_Ghost_Entity): New routine.
|
||
(Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and
|
||
Is_Ignored_Ghost_Entity.
|
||
* einfo.ads: Add new flags Is_Checked_Ghost_Entity
|
||
and Is_Ignored_Ghost_Entity along with usage in nodes.
|
||
(Is_Checked_Ghost_Entity): New routine and pragma Inline.
|
||
(Is_Ghost_Entity): Removed along with synthesized flag
|
||
description and usage in nodes.
|
||
(Is_Ghost_Subprogram): Removed along with synthesized flag description
|
||
and usage in nodes.
|
||
(Is_Ignored_Ghost_Entity): New routine and pragma Inline.
|
||
(Set_Is_Checked_Ghost_Entity): New routine and pragma Inline.
|
||
(Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline.
|
||
* freeze.adb (Freeze_Entity): A Ghost type cannot be effectively
|
||
volatile.
|
||
* par-prag.adb Pragma Ghost does not need special handling by
|
||
the parser.
|
||
* repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check.
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): Mark
|
||
the type as Ghost when its enclosing context is Ghost.
|
||
(Analyze_Incomplete_Type_Decl): Mark the type as Ghost when
|
||
its enclosing context is Ghost.
|
||
(Analyze_Number_Declaration): Mark the number as Ghost when its
|
||
enclosing context is Ghost.
|
||
(Analyze_Object_Declaration): Mark the object as Ghost when its
|
||
enclosing context is Ghost. Verify the Ghost policy between
|
||
initial declaration and completion of a deferred constant.
|
||
(Analyze_Object_Contract): A Ghost variable cannot be effectively
|
||
volatile, imported or exported.
|
||
(Build_Derived_Record_Type): Mark a type extension as Ghost when it
|
||
implements a Ghost interface.
|
||
(Build_Record_Type): Inherit volatility and "ghostness" from
|
||
the parent type.
|
||
(Check_Completion): A Ghost entity declared
|
||
in a non-Ghost package does not require completion in a body.
|
||
(Implements_Ghost_Interface): New routine.
|
||
(Process_Full_View): Inherit "ghostness" from the partial view. Verify
|
||
the Ghost policy between the partial and full views. Verify the
|
||
completion of a Ghost type extension.
|
||
* sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed.
|
||
* sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first.
|
||
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark
|
||
the subprogram as Ghost when its enclosing context is Ghost.
|
||
(Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost
|
||
when its enclosing context is Ghost. Verify the Ghost policy
|
||
between the spec and body.
|
||
(Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its
|
||
enclosing context is Ghost. Verify the Ghost policy between the spec
|
||
and body.
|
||
(Check_Conformance): A Ghost subprogram profile and a non-Ghost
|
||
subprogram profile are not subtype conformant.
|
||
(Convention_Of): Removed.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the
|
||
"ghostness" from the spec. Verify the Ghost policy between
|
||
the spec and body.
|
||
(Analyze_Private_Type_Declaration): Mark the type as Ghost when its
|
||
enclosing context is Ghost.
|
||
(Requires_Completion_In_Body): New routine.
|
||
(Unit_Requires_Body): Use Requires_Completion_In_Body.
|
||
(Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update
|
||
comment on usage and all uses of P in the body. Use
|
||
Requires_Completion_In_Body.
|
||
* sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P
|
||
to Pack_Id, update comment on usage and all uses of P in the body.
|
||
* sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness"
|
||
from the renamed excention.
|
||
(Analyze_Generic_Renaming): Inherit the "ghostness" from the
|
||
renamed generic subprogram.
|
||
(Analyze_Object_Renaming): Inherit the "ghostness" from the renamed
|
||
object.
|
||
(Analyze_Package_Renaming): Inherit the "ghostness" from the
|
||
renamed package.
|
||
(Analyze_Subprogram_Renaming): Inherit the "ghostness" from the
|
||
renamed subprogram.
|
||
* sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception
|
||
as Ghost when its enclosing context is Ghost.
|
||
* sem_ch12.adb (Analyze_Generic_Package_Declaration,
|
||
Analyze_Generic_Subprogram_Declaration): Mark an exception as
|
||
Ghost when its enclosing context is Ghost.
|
||
(Preanalyze_Actuals): Remove obsolete check.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Ghost.
|
||
(Check_Aspect_At_Freeze_Point): Aspects
|
||
Depends and Global do no need special checking at freeze point.
|
||
(Insert_After_SPARK_Mode): Update comment on usage.
|
||
* sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost.
|
||
* sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags.
|
||
(Analyze_Abstract_State): Update the grammar of the pragma. Add
|
||
formal parameter Pack_Id along with comment on usage. Mark an
|
||
abstract state as Ghost when its enclosing context is Ghost. Add
|
||
processing for option Ghost.
|
||
(Analyze_Constituent): Verify
|
||
that a Ghost abstract state is refined by Ghost constituents.
|
||
(Analyze_Pragma): "Ghost" is now a valid policy. Add checks
|
||
related to the use and placement of Check_Policy Ghost. Add
|
||
processing for pragma Ghost.
|
||
(Check_Ghost_Constituent): New routine.
|
||
(Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion.
|
||
(Process_Convention): Remove obsolete check.
|
||
(Set_Convention_From_Pragma): Remove the processing for convention
|
||
Ghost.
|
||
* sem_res.adb (Check_Ghost_Context): New routine.
|
||
(Resolve_Call): Verify that a reference to a Ghost entity appears in a
|
||
suitable context. Verify the Ghost polity between point of declaration
|
||
and point of use.
|
||
(Resolve_Entity_Name): Verify that a reference to
|
||
a Ghost entity appears in a suitable context. Verify the Ghost
|
||
polity between point of declaration and point of use.
|
||
* sem_util.adb (Check_Ghost_Completion): New routine.
|
||
(Check_Ghost_Derivation): New routine.
|
||
(Incomplete_Or_Partial_View): New routine.
|
||
(Incomplete_Or_Private_View): Removed.
|
||
(Is_Ghost_Entity): New routine.
|
||
(Is_Ghost_Statement_Or_Pragma): New routine.
|
||
(Is_Subject_To_Ghost): New routine.
|
||
(Policy_In_Effect): New routine.
|
||
(Set_Is_Ghost_Entity): New routine.
|
||
(Within_Ghost_Scope): New routine.
|
||
* sem_util.ads (Check_Ghost_Completion): New routine.
|
||
(Check_Ghost_Derivation): New routine.
|
||
(Incomplete_Or_Partial_View): New routine.
|
||
(Incomplete_Or_Private_View): Removed.
|
||
(Is_Ghost_Entity): New routine.
|
||
(Is_Ghost_Statement_Or_Pragma): New routine.
|
||
(Is_Subject_To_Ghost): New routine.
|
||
(Policy_In_Effect): New routine.
|
||
(Set_Is_Ghost_Entity): New routine.
|
||
(Within_Ghost_Scope): New routine.
|
||
* snames.adb-tmpl (Get_Convention_Id): Remove the entry for
|
||
convention Ghost.
|
||
(Get_Convention_Name): Remove the entry for convention Ghost.
|
||
* snames.ads-tmpl Remove the convention id for Ghost. Add a
|
||
pragma id for Ghost.
|
||
|
||
2014-10-31 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: Add description of --RTS option for ASIS tools.
|
||
|
||
2014-10-31 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (arm-vxworks): Update target pairs.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of.
|
||
* prj-proc.adb (Recursive_Process): Call Display_Name_Of to
|
||
get the project Display_Name.
|
||
* prj-tree.adb (Display_Name_Of): New function
|
||
(Set_Display_Name_Of): New procedure.
|
||
(Create_Project): Call Set_Display_Name_Of.
|
||
* prj-tree.ads (Display_Name_Of): New function.
|
||
(Set_Display_Name_Of): New procedure.
|
||
(Project_Node_Record): New component Display_Name.
|
||
(Project_Name_And_Node): Remove component Display_Name.
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): Use the full
|
||
Config_File_Path as the Config_File_Name, not just its simple
|
||
name.
|
||
|
||
2014-10-31 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* get_scos.adb: Minor reformatting.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Formal_Container_Loop): Create block to
|
||
capture declaration for cursor to prevent spurious errors when
|
||
several formal iterators that use the same cursoe name appear
|
||
in the same context.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Recursive_Process): Make sure that the project
|
||
display name is never No_Name.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Access_Attribute): Do not emit error
|
||
message if reference does not come from source, as in the case
|
||
for the controlling argument of a dispatching call. Error is
|
||
diagnosed when call is resolved.
|
||
* sem_ch4.adb (Complete_Object_Operation); Fix incorrect RM
|
||
reference in error message.
|
||
* sem_res.adb (Check_Prefixed_Call): ditto.
|
||
|
||
2014-10-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Do not
|
||
suppress checks when pragma Restrictions (No_Exception) is used in
|
||
CodePeer or GNATprove mode.
|
||
|
||
2014-10-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Explicitly mark language
|
||
checks as not suppressed in GNATprove mode.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Elab_Call): Nothing to check if call is
|
||
being pre-analyzed.
|
||
* sem_ch3.adb (Complete_Private_Subtype): If all rep items of full
|
||
view are those of the base, use rep_item chain of partial view,
|
||
which may include aspects.
|
||
* sem_cat.adb (Is_non_Remote_Access_Type): Use underlying type
|
||
of base type, to handle properly declared subtypes.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Package_Declaration): If there
|
||
is a default storage pool, add a corresponding aspect to the
|
||
generic unit, to be used at the point of instantiation.
|
||
(Analyze_Package_Instantiation): If generic unit has aspect
|
||
specifications, propagate them to instance. If instance has a
|
||
Default_Storage_Pool aspect, make sure that it overrides the
|
||
one that may be inherited from the generic.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: Minor removal of attributes of package Linker
|
||
that have never been used and never been documented.
|
||
* projects.texi: Add documentation for attribute Runtime.
|
||
* prj-nmsc.adb (Check_Configuration): Do not report a warning
|
||
for unknown compilers when the project is externally built.
|
||
|
||
2014-10-31 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* prj-conf.adb (Do_Autoconf): Refactor the code so that empty
|
||
Normalized_Pathname doesn't inhibit the custom Selected_Target
|
||
value.
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): Make sure that
|
||
Automatically_Generated is correctly set after the first call
|
||
to Process_Project_And_Apply_Config and not modified after the
|
||
second call, if any.
|
||
|
||
2014-10-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* Makefile.rtl, gnat_rm.texi, impunit.adb: Add mention of new library
|
||
files.
|
||
* a-cfinve.adb, a-cfinve.ads: New unit for formal indefinite
|
||
vectors, suitable for use in client SPARK code, also more
|
||
efficient than the standard vectors.
|
||
* a-coboho.adb, a-coboho.ads New unit for bounded holders, that
|
||
are used to define formal indefinite vectors in terms of formal
|
||
definite ones.
|
||
* a-cofove.adb, a-cofove.ads: Simplification of the API of formal
|
||
definite vectors, similar to the API of the new indefinite ones. A
|
||
new formal parameter of the generic unit called Bounded allows
|
||
to define growable vectors that use dynamic allocation.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Look_For_Project_Paths): New procedure
|
||
(Parse_Project_And_Apply_Config): Initially, parse the project
|
||
files ignoring missing withs. If there are missing withs, extend
|
||
the project path with directories rooted at the compiler roots,
|
||
including directories rooted at the runtime roots, if there are
|
||
non default runtimes, in the PATH orser.
|
||
* prj-env.adb (Initialize_Default_Project_Path): Do not add
|
||
any directory from the prefix if the target is "-".
|
||
* prj-part.adb (Parse): Initialize the tables, as Parse may be
|
||
call several times by gprbuild.
|
||
* prj.adb (Update_Ignore_Missing_With): New procedure.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.adb (First_Stored_Discriminant,
|
||
Has_Completely_Hidden_Discriminant): When scanning the list of
|
||
discriminants to locate possibly hidden (inherited) discriminants,
|
||
ignore itypes that may appear in the entity list, when an access
|
||
discriminants is constrained by an access attribute reference.
|
||
|
||
2014-10-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Add missing
|
||
check to verify that all the primitives of an interface type
|
||
are abstract or null procedures.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* s-os_lib.adb, s-os_lib.ads: New function Non_Blocking_Spawn that
|
||
redirects standard output and standard error to two different files.
|
||
|
||
2014-10-31 Bob Duff <duff@adacore.com>
|
||
|
||
* makeutl.ads: Minor comment fix.
|
||
|
||
2014-10-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* system-linux-x86_64.ads, system-mingw-x86_64.ads (Word_Size,
|
||
Memory_Size): Use Standard'Word_Size so that the value can be changed
|
||
via a target configuration file.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor tweak.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Do not inline with
|
||
back-end inlining.
|
||
(Must_Inline_Subp): Delete.
|
||
* sem_util.ads, sem_util.adb (Must_Inline): Likewise.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): A default_pool does not apply to
|
||
internal access types generated for 'access references.
|
||
* sem_prag (Analyze_Pragma, case Default_Pool): If the name is
|
||
not null it must designate a variable.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb: Minor reformatting.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Private_Type): If the derived
|
||
type has access discriminants, create itype references for their
|
||
anonymous types, so that they are elaborated before the generated
|
||
bodies for the primitive operations of the type.
|
||
|
||
2014-10-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* prj-conf.adb (Locate_Runtime): Remove procedure.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Has_Excluded_Declaration): With back-end inlining,
|
||
only return true for nested packages.
|
||
(Cannot_Inline): Issue errors/warnings whatever the optimization level
|
||
for back-end inlining and remove assertion.
|
||
|
||
2014-10-31 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* table.adb (Tree_Read, Tree_Write): Use parentheses to specify
|
||
the desired order of '*' and '/' operations to avoid overflow.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Do_Inline): Remove unreachable code.
|
||
(Do_Inline_Always): Likewise.
|
||
|
||
2014-10-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Stand_Alone_Library): Change error message
|
||
when library has no Ada interfaces and Library_Standalone is
|
||
declared.
|
||
|
||
2014-10-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Constant_Address_Clause): Disable checks
|
||
on address clauses in CodePeer mode.
|
||
|
||
2014-10-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): Do not skip
|
||
inlining of calls to subprogram renamings.
|
||
|
||
2014-10-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entity_Name): Account for
|
||
the case where the immediate parent of a reference to an entity
|
||
is a parameter association.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Check_And_Split_Unconstrained_Function): Do not
|
||
test for the presence of nested subprograms.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspect Default_Storage_Pool.
|
||
* sem_ch13.adb (Analyze_One_Aspect): Generate pragma for aspect
|
||
Default_Storage_Pool.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch6.adb: Remove obsolete comment.
|
||
|
||
2014-10-31 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* g-allein.ads: bind vec_sld for pixels to 8hi vsldoi instead
|
||
of 4si, as pixels are short.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): Do not reject a call to a protected
|
||
operation in the spec of a protected type, when the call appears
|
||
in a pre/postcondition for another protected operation.
|
||
|
||
2014-10-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* prj-conf.adb: Locate_Runtime: Always search the runtime in
|
||
project path.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Check_Package_Body_For_Inlining): Adjust previous
|
||
change to use correct idiom for back-end inlining.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Do not check component size
|
||
if its type is generic.
|
||
|
||
2014-10-31 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_rm.texi: Fix documentation w.r.t -gnatw.w.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): Use Check_Implicit_Dereference.
|
||
* sem_util.adb (Check_Implicit_Dereference): a) Handle generalized
|
||
indexing as well as function calls. b) If the context is a
|
||
selected component and whe are in an instance, remove entity from
|
||
selector name to force resolution of the node, so that explicit
|
||
dereferences can be generated in the instance if they were in
|
||
the generic unit.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Back_End_Cannot_Inline): Delete.
|
||
(Add_Inlined_Subprogram): Do not call it.
|
||
|
||
2014-10-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.ads (Make_Tag_Assignment): New function, used to
|
||
re-initialize the tag in a tagged object declaration with
|
||
initial value.
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Use
|
||
Make_Tag_Assignment to simplify code for a tagged object
|
||
declaration.
|
||
* exp_ch13.adb (Expand_Freeze_Entity): Analyze freeze actions
|
||
for the freeze node of an object.
|
||
* freeze.adb (Check_Address_Clause): Use Make_Tag_Assignment when
|
||
needed to extend Freeze_Actions for a tagged object declaration.
|
||
|
||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Further minor improvement to -flto entry.
|
||
|
||
2014-10-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* g-dynhta.adb, g-dynhta.ads: Minor typo fixes and reformatting.
|
||
|
||
2014-10-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Code cleanup.
|
||
|
||
2014-10-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If a subtype
|
||
indication is provided, check properly that it covers the element
|
||
type of of the container type.
|
||
|
||
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* g-dynhta.ads, g-dynhta.adb: Add the implementation of a load facto
|
||
-based hash table.
|
||
|
||
2014-10-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.ads, exp_util.adb (Following_Address_Clause): Modify
|
||
Has_Following_Address_Clause so that it returns the address
|
||
clause if present, rather than a boolean value.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): use
|
||
Following_Address_Clause.
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): When a tagged object
|
||
is initialized, insert tag assignment after object is frozen,
|
||
which may be after an address clause that follows the declaration.
|
||
|
||
2014-10-30 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
|
||
system-vxworks-arm.ads, system-freebsd-x86_64.ads,
|
||
system-linux-hppa.ads, system-linux-s390.ads,
|
||
system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
|
||
system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads,
|
||
system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads,
|
||
system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads,
|
||
system-linux-armel.ads, system-darwin-ppc.ads, system-solaris-sparc.ads,
|
||
system-vxworks-m68k.ads, system-hpux-ia64.ads, system.ads,
|
||
system-solaris-x86_64.ads, system-mingw-x86_64.ads,
|
||
system-vxworks-mips.ads, system-linux-sparc.ads, system-freebsd-x86.ads,
|
||
system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Add
|
||
pragma No_Elaboration_Code_All.
|
||
|
||
2014-10-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor improvement to -flto entry.
|
||
|
||
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Inherit_Subprogram_Contract):
|
||
Add a guard to protect against enumeration literal overriding.
|
||
* sem_ch3.adb, sem_ch4.adb, sem_res.adb, sem_util.adb:
|
||
Minor reformatting (add SPARK RM references).
|
||
|
||
2014-10-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_dbug.adb, opt.ads: Minor reformatting.
|
||
|
||
2014-10-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Has_Single_Return_In_GNATprove_Mode):
|
||
Return False when return statement is inside one or more blocks.
|
||
|
||
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Is_Subprogram_Call): Account for the case where an
|
||
object declaration initialized by a function call that returns
|
||
an unconstrained result may be rewritted as a renaming of the
|
||
secondary stack result.
|
||
|
||
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry for aspect Extensions_Visible in
|
||
table Canonical_Aspect.
|
||
* aspects.ads: Add entry for aspect Extensions_Visible in
|
||
tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names,
|
||
Implementation_Defined_Aspect.
|
||
* einfo.adb (Get_Pragma): Include pragma Extensions_Visible in
|
||
the list of contract pragmas.
|
||
* par-prag.adb Pragma Extensions_Visible does not require special
|
||
processing from the parser.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Prevent an
|
||
implicit class-wide conversion of a formal parameter
|
||
of a specific tagged type whose related subprogram is
|
||
subject to pragma Extensions_Visible with value "False".
|
||
(Check_Abstract_Overriding): Add various overriding checks
|
||
related to pragma Extensions_Visible.
|
||
(Derive_Subprogram):
|
||
A subprogram subject to pragma Extensions_Visible with value
|
||
False requires overriding if the subprogram has at least one
|
||
controlling OUT parameter.
|
||
(Is_EVF_Procedure): New routine.
|
||
* sem_ch4.adb (Analyze_Type_Conversion): A formal parameter of
|
||
a specific tagged type whose related subprogram is subject to
|
||
pragma Extensions_Visible with value "False" cannot appear in
|
||
a class-wide conversion.
|
||
* sem_ch6.adb (Analyze_Subprogram_Contract): Remove
|
||
the assertion to account for pragma Extensions_Visible.
|
||
(Check_Overriding_Indicator): An overriding subprogram
|
||
inherits the contact of the overridden subprogram.
|
||
(New_Overloaded_Entity): An overriding subprogram inherits the
|
||
contact of the overridden subprogram.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Extensions_Visible.
|
||
(Check_Aspect_At_Freeze_Point): Aspect Extensions_Visible does not
|
||
require special processing at the freeze point.
|
||
* sem_prag.adb Add an entry for pragma Extensions_Visible in
|
||
table Sig_Flags.
|
||
(Analyze_Pragma): Ensure that various SPARK
|
||
pragmas lack identifiers in their arguments. Add processing for
|
||
pragma Extensions_Visible.
|
||
(Chain_CTC): Code reformatting.
|
||
* sem_res.adb (Resolve_Actuals): A formal parameter of a
|
||
specific tagged type whose related subprogram is subject to
|
||
pragma Extensions_Visible with value "False" cannot act as an
|
||
actual in a subprogram with value "True".
|
||
* sem_util.adb (Add_Classification): New routine.
|
||
(Add_Contract_Item): Account for pragma Extensions_Visible. Code
|
||
reformatting.
|
||
(Add_Contract_Test_Case): New routine.
|
||
(Add_Pre_Post_Condition): New routine.
|
||
(Extensions_Visible_Status): New routine.
|
||
(Inherit_Subprogram_Contract): New routine.
|
||
(Is_EVF_Expression): New routine.
|
||
(Is_Specific_Tagged_Type): New routine.
|
||
* sem_util.ads Add type Extensions_Visible_Mode and document all values.
|
||
(Add_Contract_Item): Add pragma Extensions_Visible to the
|
||
comment on usage.
|
||
(Inherit_Subprogram_Contract): New routine.
|
||
(Is_EVF_Expression): New routine.
|
||
(Is_Specific_Tagged_Type): New routine.
|
||
* sinfo.adb (Is_Inherited): New routine.
|
||
(Set_Is_Inherited): New routine.
|
||
* sinfo.ads Add flag Is_Inherited along with its usage in
|
||
nodes.
|
||
(Is_Inherited): New routine along with pragma Inline.
|
||
(Set_Is_Inherited): New routine along with pragma Inline.
|
||
* snames.ads-tmpl: Add predefined name "Extensions_Visible"
|
||
and a new Pragma_Id for the pragma.
|
||
|
||
2014-10-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Case_Construction): Do not look for
|
||
the ultimate extending project for a case variable.
|
||
|
||
2014-10-30 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* exp_dbug.adb, opt.ads (GNAT_Encodings): Import from C. Define
|
||
enumerators.
|
||
(gnat_encodings): Define a dummy variable for the AAMP back-end.
|
||
(Get_Encoded_Name): When -fgnat-encodings=all|gdb, encode names
|
||
for all discrete types whose bounds do not match size and do so
|
||
only for biased types when -fgnat-encodings=minimal.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not create ___XA
|
||
parallel types when array bounds are constant while the lower bound is
|
||
not 1. Also stop generating them because the bound type is
|
||
larger than sizetype.
|
||
* gcc-interface/misc.c (gnat_encodings): New.
|
||
|
||
2014-10-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* opt.adb (Set_Opt_Config_Switches): For an internal unit,
|
||
always reset Default_SSO to ' '.
|
||
|
||
2014-10-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Set SSO from default before
|
||
checking SSO consistency.
|
||
|
||
2014-10-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* inline.adb (Check_Package_Body_For_Inlining):
|
||
Cleanup this subprogram to implement exactly the behavior
|
||
documented in the spec.
|
||
|
||
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-comutr.adb, a-cimutr.adb (Insert_Child): Add new variable First.
|
||
Update the position after all insertions have taken place.
|
||
|
||
2014-10-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case License): Do not perform
|
||
analysis of pragma arguments when in CodePeer mode, pragma has
|
||
different format on other compilers.
|
||
|
||
2014-10-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-os_lib.adb: Minor reformatting.
|
||
|
||
2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c,
|
||
gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c:
|
||
Remove redundant enum from machine_mode.
|
||
|
||
2014-10-28 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gcc-interface/trans.c: Adjust include files.
|
||
* gcc-interface/utils.c: Ditto.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (create_subprog_decl): Adjust condition.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init_options_struct): Parameterize errno
|
||
support here instead of...
|
||
Do not set flag_delete_dead_exceptions to 1 unconditionally.
|
||
(gnat_init_gcc_eh): Set flag_delete_dead_exceptions to 1.
|
||
(gnat_init_gcc_fp): ...here.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Real_Literal>: Minor tweaks.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (create_var_decl_1): For a variable declared
|
||
in the unit, set TREE_PUBLIC only if it has static storage duration.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Apply special treatment
|
||
of derived packed array types to constrained subtypes only.
|
||
|
||
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove
|
||
superfluous computation for the max size.
|
||
<E_Array_Subtype>: Likewise. Make sure that the max size calculation
|
||
does not overflow at compile time.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb (Check_Non_Static_Context): Do not set
|
||
Is_Machine_Number on a literal of a fixed-point type.
|
||
|
||
2014-10-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-10-23 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* exp_dbug.ads: Update ___XA parallel type specification.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep
|
||
chain of the source type.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Minor
|
||
reformatting of an error message.
|
||
* sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep
|
||
chain that has been inherited already.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Simplify analysis
|
||
in generic context, and generate body in this case as well,
|
||
to simplify ASIS traversals on the construct.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Complete_Object_Operation): Indicate that the
|
||
scope of the operation (s) is referenced, to prevent spurious
|
||
warnings about unused units.
|
||
|
||
2014-10-23 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* errout.adb (Error_Msg_Internal): Copy check flag, increment
|
||
check msg count.
|
||
* erroutc.adb (Delete_Msg) adjust check msg count.
|
||
(Output_Msg_Text) handle check msg case (do nothing).
|
||
(Prescan_Message) recognize check messages with severity prefixes.
|
||
* errutil.adb (Error_Msg) handle check flag, adjust counter.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb (Subtypes_Statically_Match): For a generic actual
|
||
type, check for the presence of discriminants in its parent type,
|
||
against the presence of discriminants in the context type.
|
||
|
||
2014-10-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c: __gnat_get_file_names_case_sensitive: Default is
|
||
true on arm-darwin.
|
||
|
||
2014-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* pprint.adb (Expression_Image): Add handling of quantifiers.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Packed_Element_Reference): If the
|
||
prefix is a source entity, generate a reference to it before
|
||
transformation, because rewritten node might not generate a
|
||
proper reference, leading to spurious warnings.
|
||
|
||
2014-10-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c: Fix thinko in previous patch.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration):
|
||
Inherit the rep chain of the implicit base type.
|
||
(Floating_Point_Type_Declaration): Inherit the rep chain of the
|
||
implicit base type.
|
||
(Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the
|
||
implicit base type.
|
||
(Signed_Integer_Type_Declaration): Inherit the rep chain of the
|
||
implicit base type.
|
||
* sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine.
|
||
|
||
2014-10-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit
|
||
view of the registry.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract,
|
||
return without expanding expression, to prevent subsequent crash.
|
||
* freeze.adb: better error message for illegal declaration.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sysdep.c (__gnat_localtime_tzoff): Properly delimit the
|
||
substring which represents the time zone on VxWorks.
|
||
|
||
2014-10-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatls.adb: If --RTS= was not used, check if there is a default
|
||
runtime. If there is none, in verbose mode, indicate that the
|
||
default runtime is not available and show only the current
|
||
directory in the source and the object search paths.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): A thunk procedure with a
|
||
parameter of a limited view does not need a freeze node.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper):
|
||
The logic which hides local entities from external
|
||
visibility is now contained in routine Hide_Public_Entities.
|
||
(Hide_Public_Entities): New routine. Object and subprogram
|
||
renamings are now hidden from external visibility the same way
|
||
objects are.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated
|
||
does not require freezing, in particular if it denotes a generic
|
||
function.
|
||
|
||
2014-10-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always):
|
||
Disable analysis in GNATprove mode.
|
||
|
||
2014-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only).
|
||
|
||
2014-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Ignore style check
|
||
pragmas in codepeer mode.
|
||
|
||
2014-10-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ',').
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Inline_Instance_Body): Alphabetize
|
||
local variables and constants. Add constants Save_SM and Save_SMP
|
||
to capture SPARK_Mode-related attributes. Compile the inlined
|
||
body with the SPARK_Mode of the enclosing context.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sinfo.adb (Elaboration_Boolean): Removed.
|
||
(Set_Elaboration_Boolean): Removed.
|
||
* sinfo.ads Remove attribute Elaboration_Boolean along with its
|
||
occurrence in nodes.
|
||
(Elaboration_Boolean): Removed along with pragma Inline.
|
||
(Set_Elaboration_Boolean): Removed along with pragma Inline.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Constant_Redeclaration): Make error message more
|
||
explicit on a deferred constant whose object_definition is an
|
||
anonymous array.
|
||
|
||
2014-10-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatls.adb: Never call Targparm.Get_Target_Parameters.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): In a generic
|
||
context do not create a body, and only pre-analyze the expression,
|
||
which may include incomplete views.
|
||
|
||
2014-10-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In).
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): If an actual for a formal
|
||
object is a call to a parameterless expression function, add
|
||
the function to the list of actuals to freeze.
|
||
* freeze.adb (Check_Expression_Function): Create freeze nodes of
|
||
outer types that may be references in the body of the expression.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.ads, checks.ads: Minor comment reformatting.
|
||
|
||
2014-10-23 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_eval (Test_In_Range): Disable removal of range_check for
|
||
VM targets.
|
||
|
||
2014-10-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb (Validate_Specific_Warnings): Fix test for -W
|
||
messages, which got disabled when we unconditionally added an
|
||
asterisk at the start of the string.
|
||
|
||
2014-10-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatls.adb: Ensure that "gnatls -l" works even when there is
|
||
no default runtime.
|
||
|
||
2014-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Private_Type): When the parent is
|
||
untagged and has discriminants, build the implicit full view after
|
||
building the derived type. Capture original declaration and type
|
||
here instead of...
|
||
(Copy_And_Build): ...here.
|
||
* sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View.
|
||
|
||
2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Ensure_Valid): Update the subprogram
|
||
profile. Propagate the contex attributes to Insert_Valid_Check.
|
||
(Insert_Valid_Check): Update the subprogram profile. Propagate
|
||
the attributes of the context to Duplicate_Subexpr_No_Checks.
|
||
(Validity_Check_Range): Update the subprogram profile. Propagate
|
||
the context attribute to Ensure_Valid.
|
||
* checks.ads (Ensure_Valid): Update the subprogram profile
|
||
along with the comment on usage.
|
||
(Insert_Valid_Check): Update the subprogram profile along with the
|
||
comment on usage.
|
||
(Validity_Check_Range): Update the subprogram profile along with
|
||
the comment on usage.
|
||
* exp_util.adb (Build_Temporary): New routine.
|
||
(Duplicate_Subexpr_No_Checks): Update the subprogram
|
||
profile. Propagate the attributes of the context to Remove_Side_Effects.
|
||
(Remove_Side_Effects): Update the subprogram profile. Update all calls
|
||
to Make_Temporary to invoke Build_Temporary.
|
||
* exp_util.ads (Duplicate_Subexpr_No_Checks): Update
|
||
the subprogram profile along with the comment on usage.
|
||
(Remove_Side_Effects): Update the subprogram profile along with
|
||
the comment on usage.
|
||
* sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype
|
||
to the validity check machinery. Explain the reason for this
|
||
propagation.
|
||
|
||
2014-10-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-strsea.adb: Minor reformatting.
|
||
|
||
2014-10-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* bcheck.adb (Check_Consistent_SSO_Default): Exclude internal
|
||
units from consistency check.
|
||
* gnat_rm.texi (Default_Scalar_Storage_Order): Document that
|
||
consistency check excludes run-time units.
|
||
|
||
2014-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-strsea.adb (Find_Token): Enable constraint checking in this
|
||
procedure, so that even when compiling with checks suppressed, as is
|
||
the case for the run-time, an exception is raised in this routine when
|
||
the input meets the conditions described in RM 2005 A.4.3 (68/1).
|
||
|
||
2014-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Private_Type): When the parent
|
||
is untagged and has discriminants, build the implicit full
|
||
view even if the derived type is a completion, and make it
|
||
the Underlying_Full_View of the type.
|
||
(Copy_And_Build): Fix Is_Completion actual parameter in the calls to
|
||
Build_Derived_Type.
|
||
(Build_Derived_Record_Type): Likewise.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Add guard to convention setting.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor
|
||
reformatting.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-prag.adb (Add_List_Pragma_Entry): New procedure.
|
||
* par.adb (P_Pragma): Document requirement to handle multiple calls.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
|
||
Fix error of bad inheritance of this pragma from with'ed unit.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype,
|
||
inherit convention from parent type, because the subtype may
|
||
have been declared on a partial view, prior to the pragma on
|
||
the parent.
|
||
|
||
2014-10-20 Olivier Hainque <hainque@adacore.com>
|
||
Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7.
|
||
Misc clean ups.
|
||
|
||
2014-10-20 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: ensure that automatically generated
|
||
dependency are referencing generated gnatvsn rather than original
|
||
one.
|
||
|
||
2014-10-20 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor reformatting.
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2014-10-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: New project level attribute Runtime.
|
||
* prj-conf.adb (Get_Project_Runtimes): New procedure to get
|
||
the attributes Runtime declared in the main project, to use
|
||
in auto-configuration.
|
||
(Get_Or_Create_Configuration_File): Call Get_Project_Runtimes.
|
||
* prj-proc.adb (Runtime_Defaults): New table to store
|
||
the default values of attributes Runtime (<language>).
|
||
(Set_Default_Runtime_For): New procedure to store the default
|
||
value of a Runtime (<language>) in table Runtime_Defaults.
|
||
(Expression): Use the value stored in table Runtime_Defaults as
|
||
the default for Runtime (<language>).
|
||
* prj-proc.ads (Set_Default_Runtime_For): New procedure.
|
||
* prj.ads (Attribute_Default_Value): New enumerated value
|
||
Runtime_Value.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): If the type is
|
||
an unconstrained unchecked_union type, rewrite declaration
|
||
as a renaming to prevent attempt to retrieve non- existent
|
||
discriminants from expression.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor reformatting.
|
||
|
||
2014-10-20 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c (__gnat_is_stack_guard): Don't use mach_vm_region_recurse on
|
||
arm-darwin.
|
||
* raise-gcc.c: Add ATTRIBUTE_UNUSED to remove warnings for
|
||
unused arguments.
|
||
|
||
2014-10-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Replace
|
||
variables CS and PS with Proc_Id and Subp_Id to better illustrate
|
||
their purpose. Account for the case where _Postconditions
|
||
has not been generated yet and the context is aspect/pragma
|
||
Refined_Post. In that scenario the expected prefix of attribute
|
||
'Result is the current scope.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch4.adb (P_Expression): Handle extraneous comma/semicolon
|
||
in middle of expression with logical operators.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch13.adb (Possible_Misspelled_Aspect): New function.
|
||
|
||
2014-10-20 Steve Baird <baird@adacore.com>
|
||
|
||
* pprint.adb: Improve Expression_Image function.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document No_Tagged_Streams pragma and aspect.
|
||
* snames.ads-tmpl: Add entry for pragma No_Tagged_Streams.
|
||
* aspects.ads, aspects.adb: Add aspect No_Tagged_Streams.
|
||
* einfo.adb (No_Tagged_Streams_Pragma): New field.
|
||
* einfo.ads: Minor reformatting (reorder entries).
|
||
(No_Tagged_Streams_Pragma): New field.
|
||
* exp_ch3.adb: Minor comment update.
|
||
* opt.ads (No_Tagged_Streams): New variable.
|
||
* par-prag.adb: Add dummy entry for pragma No_Tagged_Streams.
|
||
* sem.ads (Save_No_Tagged_Streams): New field in scope record.
|
||
* sem_attr.adb (Check_Stream_Attribute): Check stream ops
|
||
prohibited by No_Tagged_Streams.
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): Set
|
||
No_Tagged_Streams_Pragma.
|
||
(Analyze_Subtype_Declaration): ditto.
|
||
(Build_Derived_Record_Type): ditto.
|
||
(Record_Type_Declaration): ditto.
|
||
* sem_ch8.adb (Pop_Scope): Restore No_Tagged_Streams.
|
||
(Push_Scope): Save No_Tagged_Streams.
|
||
* sem_prag.adb (Analyze_Pragma, case No_Tagged_Streams): Implement new
|
||
pragma.
|
||
|
||
2014-10-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads,
|
||
sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-10-20 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Expand the
|
||
declaration of a class-wide limited object containing an
|
||
initializing expression into a renaming declaration. Required to
|
||
avoid passing such declaration to the backend and also to avoid
|
||
generating an extra copy.
|
||
|
||
2014-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (List_Inlining_Info): Minor tweaks.
|
||
(Add_Inlined_Body): Inline the enclosing package
|
||
if it is not internally generated, even if it doesn't come
|
||
from source.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Process_Function_Call): If the first actual
|
||
denotes a discrete type, the mode must be interpreted as a slice
|
||
of an array returned by a parameterless call.
|
||
|
||
2014-10-20 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit
|
||
searching for runtime referenced by a simple name on a project path.
|
||
|
||
2014-10-20 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* vxworks-x86-link.spec: New file.
|
||
* system-vxworks-x86.ads: Add pragma Linker_Options to link with
|
||
vxworks-x86-link.spec.
|
||
|
||
2014-10-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* opt.ads (Origin_Of_Target): New type.
|
||
(Target_Origin): New variable.
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): Record
|
||
Target_Value and Target_Origin. If target was not specified
|
||
on the command line with --target=, check if attribute Target
|
||
is declared in the main project. If it is and it is not the
|
||
native target, parse again the projects so that 'Target get
|
||
the new value. Fail if the target has changed again. Invoke
|
||
Process_Project_And_Apply_Config with Do_Phase_1 set to False
|
||
is Process_Project_Tree_Phase_1 has already been invoked.
|
||
* prj-conf.ads (Process_Project_And_Apply_Config): New Boolean
|
||
parameter Do_Phase_1, defaulted to True.
|
||
* prj-proc.adb (Expression): Check the special values and
|
||
defaults for attribute Target.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze
|
||
the subprogram spec of the body in full, because it will be
|
||
reanalyzed when the declaration itself is analyzed; otherwise. a
|
||
formal may end up duplicated in the list of formals leading to
|
||
spurious conformance errors with an existing declaration.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Improve error recovery on illegal aspect.
|
||
|
||
2014-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* set_targ.adb (Write_Target_Dependent_Values, Write_Line):
|
||
Fix calling C APIs with no trailing NUL char by calling better
|
||
wrappers instead.
|
||
|
||
2014-10-20 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document that gdb users must be in group
|
||
_developer on mac os.
|
||
|
||
2014-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-tgdico.ads: Fix typo.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Convert_To_Assignments): Do not create a
|
||
transient scope for a component whose type requires it, if the
|
||
context is an initialization procedure, because the target of
|
||
the assignment must be visible outside of the block.
|
||
|
||
2014-10-20 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* tracebak.c: Define PC_ADJUST for arm-darwin.
|
||
* env.c: Remove darwin specific code.
|
||
* raise-gcc.c (__gnat_Unwind_ForcedUnwind): Error on arm-darwin.
|
||
|
||
2014-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): If previous view
|
||
is incomplete rather than private, and full type declaration
|
||
has aspects, analyze aspects on the full view rather than
|
||
the incomplete view, to prevent freezing anomalies with the
|
||
class-wide type.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Task_Body): Add defense against
|
||
previous errors.
|
||
* freeze.adb (Freeze_Entity): Add defense against checking null
|
||
scope for generic.
|
||
* restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode.
|
||
* sem_ch13.adb (Freeze_Entity_Checks): Add defense against
|
||
previous errors.
|
||
* sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if
|
||
in No_Run_Time mode.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-makr.adb: Minor reformatting.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
|
||
prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_prag.adb (Undo_Initialization): If Initialize_Scalars
|
||
is enabled, code will be generated for some composite types
|
||
to initialize an object after its declaration. If there is
|
||
a subsequent Import pragma for the object, that code must be
|
||
removed as specified byw the semantics of the pragma, and to
|
||
prevent out-of-order elaboration issues in the back-end.
|
||
|
||
2014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator
|
||
wrapping mechanism under debug flag -gnatd.h.
|
||
* debug.adb: Claim debug switch -gnatd.h.
|
||
|
||
2014-10-17 Doug Rupp <rupp@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Enable the socket runtime bits
|
||
for Android.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Invariants, Replace_Type_References): Do
|
||
not perform the replacement on the expression for an inherited
|
||
class-wide invariant if in ASIS_Mode and the type reference is
|
||
already the prefix of a 'Class attribute reference: the expression
|
||
has already been preanalyzed and the replacement performed when
|
||
first encountered on the declaration of the parent type.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_ch7.adb, prj-nmsc.adb, sem_ch13.adb, exp_ch3.adb:
|
||
Minor reformatting.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Component_Invariant_Call): Retrieve Invariant
|
||
subprogram from base type.
|
||
* sem_ch7.adb (Analyze_Package_Specification): Build invariant
|
||
subprogram for private type, not any of its subtypes.
|
||
* sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set type
|
||
of procedure entity, because a call to it may be generated in
|
||
a client unit before the corresponding subprogram declaration
|
||
is analyzed.
|
||
|
||
2014-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Get_Directories): Do not create directories
|
||
when a project is abstract.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If the domain
|
||
of iteration is given by an expression that is not an array type,
|
||
verify that its type implements an iterator iterface.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Ensure that attribute
|
||
reference is not marked as being a static expression if the
|
||
prefix evaluation raises CE.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_pakd.adb: Move bit packed entity tables to spec.
|
||
* exp_pakd.ads: Move bit packed entity tables here from body.
|
||
* freeze.adb (Freeze_Array_Type): Check that packed array type
|
||
is supported.
|
||
* rtsfind.adb (PRE_Id_Table): New table (Entity_Not_Defined):
|
||
Specialize messages using PRE_Id_Table.
|
||
* uintp.ads, uintp.adb (UI_Image): New functional form.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add Suppress_Initialization aspect.
|
||
* einfo.ads, einfo.adb (Suppress_Initialization): Now applies to
|
||
E_Variable.
|
||
* exp_ch3.adb (Default_Initialize_Object): Handle
|
||
Suppress_Initialization.
|
||
* exp_prag.adb (Expand_Pragma_Suppress_Initialization): New
|
||
procedure (Expand_N_Pragma): Handle Suppress_Initialization
|
||
(Expand_Pragma_Import_Or_Interface): Use Undo_Initialization
|
||
(Undo_Initialization): New procedure.
|
||
* sem_prag.adb (Analyze_Pragma, case Suppress_Initialization):
|
||
This is now allowed for E_Variable case.
|
||
* gnat_rm.texi: Document new aspect Suppress_Initialization
|
||
Suppress_Initialization aspect/pragma can apply to variable.
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-10-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* spark_xrefs.ads: Add documentation pointer to Flow_Computed_Globals.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): Mark Short_Integer as
|
||
implementation defined.
|
||
* sem_util.adb (Set_Entity_With_Checks): Avoid blow up for
|
||
compiler built with assertions for No_Implementation_Identifiers test.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads: Documentation fix, aspect Lock_Free does have a
|
||
corresponding pragma.
|
||
* gnat_rm.texi: Document implementation defined boolean aspects
|
||
as boolean.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Invariants): For a class-wide type invariant,
|
||
preserve semantic information on the invariant expression
|
||
(typically a function call) because it may be inherited by a
|
||
type extension in a different unit, and it cannot be resolved
|
||
by visibility elsewhere because it may refer to local entities.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that string literal can be used for
|
||
pragma Warnings when operating in Ada 83 mode.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Find_Aggregate_Component_Desig_Type): New
|
||
subsidiary function to Freeze_ Expression, used to determine
|
||
whether an aggregate for an array of access types also freezes the
|
||
designated type, when some aggregate components are allocators.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-strsea.adb (Find_Token): AI05-031 indicates that the
|
||
procedure must raise Index_Error when Source is not empty and
|
||
the From parameter is not within the range of the Source string.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Static_String_Expression): Allow string
|
||
literal in Ada 83 mode.
|
||
|
||
2014-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Config_Switches): In CodePeer mode, do
|
||
not take into account any compiler command from package IDE.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Build_Function_Wrapper): The formals of the
|
||
wrapper must have the same identifiers as those of the formal
|
||
subprogram, because calls within the generic may use named
|
||
associations.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, a-strsea.adb: Minor reformatting.
|
||
* par-ch6.adb (P_Subprogram): Fix bad handling of null procedures.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect
|
||
specfications from original type declaration to declaration of
|
||
implicit base, because original node is rewritten as a subtype
|
||
declaration on which type aspects do not belong.
|
||
|
||
2014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Propagate_Default_Init_Cond_Attributes): A derived type
|
||
inherits the attributes related to pragma Default_Initial_Condition
|
||
from its parent type.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-strsea.adb (Index - versions with a From parameter):
|
||
According to AI05-056, the Index functions with a From parameter
|
||
return 0 if the source is an empty string.
|
||
|
||
2014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Disable
|
||
the consistency checks in ASIS mode.
|
||
|
||
2014-10-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-expmod.ads: Minor typo fix.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Build_Function_Wrapper): Build wrappers for
|
||
actuals that are defaulted subprograms of the formal subprogram
|
||
declaration.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Eq): Make sure we deal with the
|
||
implementation base type.
|
||
* sinfo.ads: Add a note for N_Op_Eq and N_Op_Ne that record
|
||
operands are always expanded out into component comparisons.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-vallli.adb: Minor comment correction.
|
||
* s-valuti.ads: Minor comment reformatting.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document System.Atomic_Counters.
|
||
* impunit.adb: Add System.Atomic_Counters (s-atocou.ads) to the
|
||
list of user- accessible units added as children of System.
|
||
* s-atocou.ads: Update comment.
|
||
|
||
2014-10-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-expmod.ads: Add comments.
|
||
|
||
2014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation
|
||
of all attributes related to pragma Default_Initial_Condition.
|
||
(Build_Derived_Type): Propagation of all attributes related
|
||
to pragma Default_Initial_Condition.
|
||
(Process_Full_View): Account for the case where the full view derives
|
||
from another private type and propagate the attributes related
|
||
to pragma Default_Initial_Condition to the private view.
|
||
(Propagate_Default_Init_Cond_Attributes): New routine.
|
||
* sem_util.adb: Alphabetize various routines.
|
||
(Build_Default_Init_Cond_Call): Use an unchecked type conversion
|
||
when calling the default initial condition procedure of a private type.
|
||
(Build_Default_Init_Cond_Procedure_Declaration): Prevent
|
||
the generation of multiple default initial condition procedures.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-conf.adb: Revert previous change.
|
||
|
||
2014-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-writ.ads, s-valdec.ads: Minor reformatting.
|
||
|
||
2014-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Additional work on function wrappers.
|
||
|
||
2014-10-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_util.adb (Possible_Bit_Aligned_Component): Also recurse
|
||
on the renamed object of renamings.
|
||
|
||
2014-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer
|
||
mode, always use the native target.
|
||
|
||
2014-10-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gcc-interface/misc.c: Adjust include files.
|
||
|
||
2014-10-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
PR ada/63225
|
||
* uintp.adb (Vector_To_Uint): Move from here to...
|
||
* uintp.ads (UI_Vector): Make public.
|
||
(Vector_To_Uint): ...here.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, sem_attr.adb: Minor reformatting.
|
||
|
||
2014-10-10 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
|
||
a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition"
|
||
to container type.
|
||
|
||
2014-10-10 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get
|
||
any configuration switches from the project file.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper.
|
||
(Build_Function_Wrapper): New function, to construct a wrapper
|
||
function for actuals that are functions with an arbitrary
|
||
number of parameters. Used in GNATProve mode to simplify proof
|
||
propagation in instantiations.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, gnat1drv.adb, sem_ch13.adb: Minor reformatting and
|
||
code clean up.
|
||
|
||
2014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Is_OK_Volatile_Context): Allow
|
||
a volatile object reference to appear as the expression of a
|
||
type conversion.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications, Library_Unit_Aspects):
|
||
Aspect specification is legal on a local instantiation of a
|
||
library-level generic unit.
|
||
|
||
2014-10-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set Front_End_Inlining
|
||
if inlining has been enabled via -gnatn and the target is not GCC.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Freezing a subprogram does
|
||
not always freeze its profile. In particular, an attribute
|
||
reference that takes the access type does not freeze the types
|
||
of the formals.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Adjust_Name_Case): New procedure.
|
||
(Set_Msg_Node): Use Adjust_Name_Case.
|
||
* errout.ads (Adjust_Name_Case): New procedure.
|
||
* exp_intr.adb (Add_Source_Info): Minor code reorganization
|
||
(use Ekind_In).
|
||
(Write_Entity_Name): Use Errout.Adjust_Name_Case.
|
||
* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Review
|
||
and fix up entries in Sig_Flags, and correct logical errors in
|
||
function itself.
|
||
* sprint.adb (Sprint_Node_Actual): Properly print string for
|
||
raise statement.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): For an object of an
|
||
anonymous array type with delayed aspects, defer freezing of
|
||
type until object itself is frozen.
|
||
* freeze.adb (Freeze_Entity): When freezing an object of an
|
||
anonymous array type with delayed aspects, remove freeze node of
|
||
object after freezing type, to prevent out-of-order elaboration
|
||
in the back-end. The initialization call for the object has
|
||
already been constructed when expanding the object declaration.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_intr.adb (Write_Entity_Name): Moved to outer level
|
||
(Write_Entity_Name): Properly handle operator names
|
||
(Expand_Source_Info): New procedure.
|
||
* exp_intr.ads (Add_Source_Info): New procedure.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* butil.ads: Minor reformatting.
|
||
* sem_ch5.adb: Code clean up.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_N_Raise_Statement): Handle
|
||
Prefix_Exception_Messages.
|
||
* opt.adb: Handle new flags Prefix_Exception_Message[_Config].
|
||
* opt.ads: New flags Prefix_Exception_Message[_Config].
|
||
* par-prag.adb: New dummy entry for pragma Prefix_Exception_Messages.
|
||
* snames.ads-tmpl: Add entries for new pragma Prefix_Exception_Messages.
|
||
* sem_prag.adb: Implement new pragma Prefix_Exception_Messages
|
||
* gnat_rm.texi: Document pragma Prefix_Exception_Messages.
|
||
|
||
2014-10-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sinfo.ads, gnat_ugn.texi, a-except.adb, a-except-2005.adb,
|
||
raise-gcc.c Spelling changes (prolog => prologue, epilog => epilogue).
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Is_Wrapped_In_Block): Handle properly blocks that
|
||
contain pragmas generated for loop invariants and type predicates.
|
||
Clarify use of this subprogram.
|
||
|
||
2014-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Accept formal objects in Global
|
||
contracts.
|
||
* errout.adb, errout.ads (SPARK_Msg_NE): Issue error unless
|
||
SPARK_Mode is Off.
|
||
|
||
2014-10-10 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-stwima.adb (To_Sequence): Compute size of result array.
|
||
|
||
2014-10-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* gnat_ugn.texi (Interfacing with C++ at the Class Level): Update the
|
||
sources of the example to avoid a warning when the Ada files are
|
||
automatically generated by the binding generator.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute, case 'Update): Set
|
||
Do_Range_Check on the expression of a record component
|
||
association when needed, as is done for array components, when
|
||
the corresponding type is a scalar type.
|
||
|
||
2014-10-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-coinho-shared.adb: Minor typo fix.
|
||
* prj-env.ads: Minor reformatting.
|
||
|
||
2014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_String_Literal): Do not
|
||
generate a string literal subtype for the default expression of
|
||
a formal parameter in GNATprove mode.
|
||
|
||
2014-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (SPARK_Msg_N): Issue error unless SPARK_Mode is Off.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Formal_Container_Element_Loop): Analyze
|
||
declaration for loop parameter before rest of loop, and set
|
||
entity kind to prevent assignments to it in the user code.
|
||
* sem_ch3.adb (Analyze_Object_Contract): No contracts apply to the
|
||
loop parameter in an element iteration over o formal container.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document use of user-level routines to handle
|
||
e.g. col major arrays.
|
||
|
||
2014-10-10 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-osinte-android.adb: Fix misspelling.
|
||
* gsocket.h: Tweak the Android quirks.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads (SPARK_Msg_N): Fix spec to match change in body.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor code reorganization.
|
||
|
||
2014-10-10 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_rm.texi: Text now indicates pragma No_Run_Time is not
|
||
for users.
|
||
|
||
2014-10-10 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-coinho-shared.adb: Add minor comment.
|
||
* a-stzmap.adb (To_Sequence): Compute size of result array.
|
||
|
||
2014-10-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
|
||
if-stmt to match its current documentation.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
|
||
freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
|
||
sem_ch6.adb, sem_cat.adb, sem_disp.adb
|
||
(Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
|
||
throughout where appropriate.
|
||
|
||
2014-10-10 Bob Duff <duff@adacore.com>
|
||
|
||
* a-coinho-shared.ads: Minor reformatting.
|
||
* s-traceb.adb: Minor clean up.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
|
||
* ali.ads (GNATprove_Mode): New component in ALI table.
|
||
(GNATprove_Mode_Specified): New global.
|
||
* gnatbind.adb (Gnatbind): Give fatal error if any file compiled
|
||
in GNATProve mode.
|
||
* lib-writ.ads, lib-writ.adb (GP): New flag on P line for
|
||
GNATProve_Mode.
|
||
|
||
2014-10-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Init_Procedure): Adding assertion.
|
||
(Build_Init_Statement): Ensure that statements
|
||
associated with the parent components are located at the beginning
|
||
of the returned list of statements.
|
||
|
||
2014-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
|
||
view of a private type T that has a type invariant is a scalar
|
||
or constrained array type, the base type created for the full
|
||
view has the same type invariant.
|
||
|
||
2014-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.ads, sem_ch12.adb, exp_util.adb, i-fortra.ads: Minor code
|
||
reorganization.
|
||
|
||
2014-09-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.
|
||
|
||
2014-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/Make-lang.in (check_acats_numbers0,
|
||
check_acats_numbers1, check_acats_numbers2, check_acats_numbers3,
|
||
check_acats_numbers4, check_acats_numbers5, check_acats_numbers6,
|
||
check_acats_numbers, check_acats_subdirs): New variables.
|
||
(check_acats_targets): Use $(check_acats_subdirs).
|
||
(check-acats, check-acats%): Rewritten so that for parallelized
|
||
testing each job runs all the chapters files, with
|
||
GCC_RUNTEST_PARALLELIZE_DIR set in environment. Prepare the support
|
||
directory sequentially and share it.
|
||
(check-acats-subtargets): Always print just check-acats.
|
||
|
||
2014-08-25 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Adjust to
|
||
new cgraph interface.
|
||
(gnat_write_global_declarations): Likewise.
|
||
|
||
2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
|
||
|
||
* 9drpc.adb: Fix a typo
|
||
* s-interr.ads: Likewise
|
||
* s-taskin.ads: Likewise
|
||
* s-traces.ads: Likewise
|
||
* sysdep.c: Likewise
|
||
|
||
2014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||
|
||
* socket.c: For RTEMS, use correct prototype of gethostbyname_r().
|
||
* gsocket.h Add include of <unistd.h> on RTEMS.
|
||
|
||
2014-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||
|
||
* s-osinte-rtems.adb: Correct formatting of line in license block.
|
||
|
||
2014-08-04 Claire Dross <dross@adacore.com>
|
||
|
||
* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
|
||
For an instance, look at the scope before the generic parent.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-writ.ads: Update comments.
|
||
* sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add
|
||
parameters to filter inherited subprograms.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add section on use of address clause for memory
|
||
mapped I/O.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in
|
||
particular the subtype created for a generic actual, inherits
|
||
invariant information from the base type.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add entries for aspect Obsolescent.
|
||
* gnat_rm.texi: Add documentation for aspect Obsolescent.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect
|
||
Obsolescent.
|
||
(Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent.
|
||
* s-osprim-mingw.adb: Minor reformatting.
|
||
* sem_res.adb (Is_Atomic_Ref_With_Address): New function
|
||
(Resolve_Indexed_Component): Rework warnings for non-atomic access
|
||
(Resolve_Selected_Component): Add warnings for non-atomic access.
|
||
|
||
2014-08-04 Doug Rupp <rupp@adacore.com>
|
||
|
||
* g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec
|
||
formal to long_long.
|
||
* g-calend.ads (timeval): Bump up size to accomodate sec type.
|
||
* s-taprop-linux.adb (timeval_to_duration): Change sec formal to
|
||
long_long
|
||
* s-osprim-posix.adb (timeval): Bump up size to accomodate
|
||
new sec type.
|
||
(timeval_to_duration): Change sec formal to Long_Long_Integer
|
||
* s-osinte-darwin.adb (timeval): Bump up
|
||
size to accomodate new sec type.
|
||
(timeval_to_duration): Change sec formal to long_long
|
||
* s-osinte-android.adb: Likewise.
|
||
* cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change
|
||
sec formal from long to long long.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Qualified_Expression): Make sure
|
||
Do_Range_Check flag gets set.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Is_Standard_String_Type): New function.
|
||
* exp_ch3.adb (Build_Array_Init_Proc): Use
|
||
Is_Standard_String_Type.
|
||
(Expand_Freeze_Array_Type): ditto.
|
||
(Get_Simple_Init_Val): ditto.
|
||
(Needs_Simple_Initialization): ditto.
|
||
* sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type.
|
||
* sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type.
|
||
|
||
2014-08-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of
|
||
_stprintf which insert garbage into the wfull_path buffer.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks
|
||
code.
|
||
* fe.h: Minor reformatting.
|
||
|
||
2014-08-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* cstreams.c: (_LARGEFILE_SOURCE): Guard definition.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch13.adb (Get_Aspect_Specifications): Improve error
|
||
recovery, fixing a -gnatQ bomb.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
|
||
do not generate two Itypes with the same name for an array
|
||
definition.
|
||
* sinfo.ads: Expand doc on GNATprove mode.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
|
||
master and storage pool attributes on the root type of an
|
||
anonymous access type.
|
||
* exp_ch4.adb (Expand_N_Allocator): Set the finalization master
|
||
and storage pool attributes on the root type of an anonymous
|
||
access type.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb: Minor reformatting.
|
||
* tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
|
||
* tracebak.c: Remove use of above files.
|
||
* gcc-interface/Makefile.in: Update dependencies.
|
||
|
||
2014-08-04 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_set_type_context): Also set the
|
||
context for parallel types' TYPE_STUB_DECL. Do not change
|
||
anything if the context is already set for them.
|
||
(gnat_pushdecl): Update the comment for calls to
|
||
gnat_set_type_context to mention parallel types.
|
||
(add_parallel_type): When adding a context-less parallel type to
|
||
a type that has a context, propagate the context from the latter
|
||
type to the former.
|
||
(process_deferred_decl_context): Call gnat_set_type_context
|
||
rather than manually setting the type context.
|
||
(build_unc_object_type): Call gnat_set_type_context on the
|
||
template type.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Case_Statement): If a choice is a
|
||
subtype indication and the case statement has only two choices,
|
||
replace subtype indication with its range, because the resulting
|
||
membership test cannot have a subtype indication as an operand.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb: Update comments, minor reformatting.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
|
||
the default initial condition procedures are build here.
|
||
* sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
|
||
analyzed argument of pragma Default_Initial_Condition in some
|
||
dummy code as GNATprove mode disables assertions, but still
|
||
needs to see the argument.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb, sem_util.adb: Minor reformatting.
|
||
|
||
2014-08-04 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* a-comutr.ads: Set Root_Node_Type'Alignment to
|
||
Standard'Maximum_Alignment, so that it is at least as large as
|
||
the max default for Tree_Node_Type'Alignment.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Freeze_Type): Remove the generation and inheritance
|
||
of the default initial condition procedure [body].
|
||
* sem_ch3.adb (Analyze_Declarations): Create the bodies of
|
||
all default initial condition procedures at the end of private
|
||
declaration analysis.
|
||
* sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New
|
||
routine.
|
||
(Build_Default_Init_Cond_Procedure_Body): Merged in the
|
||
processing of routine Build_Default_Init_Cond_Procedure_Bodies.
|
||
* sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies):
|
||
New routine.
|
||
(Build_Default_Init_Cond_Procedure_Body): Removed.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Elab_Call): Do not check a call to a
|
||
postcondtion.
|
||
* exp_ch6.adb (Expand_Call): Clarify handling of inserted
|
||
postcondition call.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Ensure that an
|
||
internally generated spec for a stand alone body is recognized
|
||
as a proper context for pragma SPARK_Mode.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* adabkend.adb (Scan_Back_End_Switches): Ignore extra -o
|
||
when -gnatO has already been specified, for compatibility
|
||
with gcc driver.
|
||
(Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in
|
||
codepeer mode.
|
||
* g-expect.ads: Fix typo.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Insert_Dereference_Action): the actual Size
|
||
must account for the bounds template if the designated type is
|
||
an unconstrained array.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add
|
||
SPARK_Mode in the body.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original
|
||
way to verify the consistency of SPARK_Mode between a spec and
|
||
a body.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Remove the call
|
||
to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
|
||
manually.
|
||
(Analyze_Subprogram_Instantiation): Remove the call to
|
||
Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
|
||
manually.
|
||
* sem_prag.adb (Analyze_Pragma): Remove local variable
|
||
Inst_Id. SPARK_Mode can no longer be applied to a package or
|
||
subprogram instantiation.
|
||
* sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode):
|
||
Removed.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, osint.adb, osint.ads: Minor reformatting.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Type_Declaration,
|
||
Process_Discriminants): Remove SPARK-specific legality checks.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram.
|
||
* gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support
|
||
for HMAC.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the
|
||
compatibility of SPARK_Mode between a spec and a body, use the
|
||
SPARK_Mode of the public part.
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use
|
||
the already available routine to exchange the aspects between
|
||
the template and its copy. Analyze the aspects of copy to
|
||
ensure that the corresponding pragmas perform their semantic
|
||
effects. The partial analysis of aspects is no longer needed.
|
||
(Analyze_Package_Instantiation): Save and restore the SPARK_Mode
|
||
of the context.
|
||
(Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of
|
||
the context.
|
||
* sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram
|
||
instantiation which does not come from source.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add
|
||
SPARK_Mode pragmas to the public and private part of the unit.
|
||
* sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived
|
||
type cannot have discriminants if the parent type already has
|
||
discriminants.
|
||
(Process_Discriminants): Ensure that the type of a discriminant is
|
||
discrete.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on
|
||
SPARK_Mode compatibility between a spec and a body can now be
|
||
safely performed while processing a generic.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): The check on
|
||
SPARK_Mode compatibility between a spec and a body can now be
|
||
safely performed while processing a generic.
|
||
* sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be
|
||
safely analyzed when processing a generic.
|
||
|
||
2014-08-04 Nicolas Roche <roche@adacore.com>
|
||
|
||
* g-dirope.adb: Minor reformating.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor reformatting.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Assert and related pragmas):
|
||
Before normalizing these pragmas into a pragma Check, preanalyze
|
||
the optional Message argument, (which is subsequently copied)
|
||
so that it has the proper semantic information for ASIS use.
|
||
* sem_case.adb: Initialize flag earlier.
|
||
* osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when
|
||
the full source path of a configuration file is requested.
|
||
(Read_Source_File): Use Full_Name parameter..
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* opt.ads Alphabetize various global flags. New flag
|
||
Ignore_Pragma_SPARK_Mode along with a comment on usage.
|
||
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
|
||
Pragma SPARK_Mode is now allowed in generic units.
|
||
(Analyze_Subprogram_Body_Helper): Do not verify the compatibility
|
||
between the SPARK_Mode of a spec and that of a body when inside
|
||
a generic.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the
|
||
compatibility between the SPARK_Mode of a spec and that of a
|
||
body when inside a generic.
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
|
||
Pragma SPARK_Mode is now allowed in generic units.
|
||
(Analyze_Package_Instantiation): Save and restore the value of
|
||
flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
|
||
the governing SPARK_Mode before analyzing the instance.
|
||
(Analyze_Subprogram_Instantiation): Save and restore the value
|
||
of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
|
||
the governing SPARK_Mode before analyzing the instance.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the
|
||
placement of a source pragma when inserting the generated pragma
|
||
for aspect SPARK_Mode.
|
||
* sem_prag.adb (Analyze_Pragma): Reimplement the handling of
|
||
pragma SPARK_Mode to allow for generics and their respective
|
||
instantiations.
|
||
* sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed.
|
||
(Set_Ignore_Pragma_SPARK_Mode): New routine.
|
||
|
||
2014-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with
|
||
renaming discriminants in tagged types first.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test
|
||
the underlying type of the prefix.
|
||
(Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..."
|
||
(process_freeze_entity): Reset the nodes of all the view of a type,
|
||
if any.
|
||
|
||
2014-08-04 Doug Rupp <rupp@adacore.com>
|
||
Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7
|
||
and remove incorrect EH_MECHANISM macros.
|
||
Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to
|
||
EXTRA_LIBGNAT_OBJS.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix
|
||
of constructed 'Valid attribute in -gnatVa mode does not appear
|
||
to come from source.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Don't set
|
||
Never_Set_In_Source for non-source reference.
|
||
* sem_util.adb: Minor reformatting.
|
||
* sem_warn.adb (Check_References): Don't check Address_Taken,
|
||
not necessary, see comment.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_case.adb: Minor reformatting.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Extract_Entry): If the synchronized object is a
|
||
limited view, replace with non-limited view, which is available
|
||
at the point of an entry call.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): If the call is to a function in
|
||
a run-time unit that is marked Inline_Always, we must suppress
|
||
debugging information on it, so that the code that is eventually
|
||
inlined will not affect debugging of the user program.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment
|
||
fixes.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Import_Or_Interface): Handle properly
|
||
an aspect Import that specifies a False value.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add section on aspect Invariant'Class.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Check_Choice_Set): New flag Predicate_Error,
|
||
for better control of cascaded error messages when some choice
|
||
in a case statement over a predicated type violates the given
|
||
static predicate.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Type): Modify the
|
||
inheritance of the rep chain to ensure that a non-tagged type's
|
||
items are not clobbered during the inheritance.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, einfo.ads: Minor reformatting.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix
|
||
detection of subprograms that cannot be inlined in GNATprove mode.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.adb: Add guard to Returns_Limited_View.
|
||
|
||
2014-08-04 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of
|
||
the secondary stack to respect the alignments of the returned objects.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Returns_Limited_View): New flag defined
|
||
on function entities whose return type is a limited view.
|
||
* freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine
|
||
where to place the freeze node for a function that returns the
|
||
limited view of a type, when the function is called and frozen
|
||
in a different unit.
|
||
|
||
2014-08-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Private_Type): Minor code
|
||
refactoring.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Clarify documentation on assertions.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn
|
||
if a component association has a box initialization when the
|
||
component type has no default initialization, either through an
|
||
initial value, an aspect, or an implicit initialization procedure.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb: Code clean up.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch5.adb: Minor reformatting.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Late_Freeze_Subprogram): Following AI05-151,
|
||
a function can return a limited view of a type declared
|
||
elsewhere. In that case the function cannot be frozen at the end
|
||
of its enclosing package. If its first use is in a different unit,
|
||
it cannot be frozen there, but if the call is legal the full view
|
||
of the return type is available and the subprogram can now be
|
||
frozen. However the freeze node cannot be inserted at the point
|
||
of call, but rather must go in the package holding the function,
|
||
so that the backend can process it in the proper context.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_ch5.adb, einfo.ads: Minor reformatting.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): Refine previous change.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_scil.ads: Improve comments.
|
||
* sem_ch4.adb (Analyze_Equality_Op): Add support for
|
||
Allow_Integer_Address (equality between Address and Integer).
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-cfhama.adb, a-cforse.adb: Minor fixes to avoid using prefix
|
||
notation on untagged objects.
|
||
* sem.ads: Update comment.
|
||
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do
|
||
not inline subprograms declared in the visible part of a package.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb: minor reformatting.
|
||
* einfo.ads, einfo.adb (Is_Processed_Transient): Applies to loop
|
||
parameters.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-fatgen.adb: Minor reformatting.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb (Is_Possibly_Unaligned_Object): Always return
|
||
False on .NET.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Statement): Set properly the kind of
|
||
the loop parameter for element iterators over containers and
|
||
arrays, so that improper uses of it are detected in the loop
|
||
body when expansion is disabled.
|
||
* exp_ch5.adb (Expand_Iterator_Loop): The entity kind of the
|
||
generated cursor is that of the analyzed loop parameter.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_CPP_Init_Procedure): Remove
|
||
Flag_Decl. Do not analyze the declaration of the flag as it is
|
||
not part of the tree yet, instead add it to the freeze actions
|
||
of the C++ type.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Make sure we handle
|
||
case of OUT and IN OUT parameter correctly (where Source_Typ is
|
||
set), we were missing one case where a check must be applied.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on
|
||
the generated code. Instead of hiding the renaming and using the
|
||
wrapper as the proper association, have the subprogram renaming
|
||
alias the wrapper.
|
||
(Build_Spec): The entity of the wrapper is
|
||
now derived from the entity of the related primitive.
|
||
|
||
2014-08-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when
|
||
using non-capturing groups.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Build_Body_To_Inline): Remove Unmodified and
|
||
related pragmas before copying the original body, to prevent
|
||
spurious errors when the pragmas apply to formals that will not
|
||
appear in the inlined body.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, sem_ch7.adb, einfo.adb, sem_prag.adb, sem_util.adb,
|
||
exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-strt.adb, prj-strt.ads, sem_attr.adb: Minor reformatting.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb Add an entry in table Canonical_Aspect for
|
||
Default_Initial_Condition.
|
||
* aspects.ads Add an entry in tables Aspect_Id, Aspect_Argument,
|
||
Aspect_Names and Aspect_Delay for Default_Initial_Condition.
|
||
* einfo.adb Flag3 is now Has_Default_Init_Cond. Flag132
|
||
is now Is_Default_Init_Cond_ Procedure. Flag133 is now
|
||
Has_Inherited_Default_Init_Cond.
|
||
(Default_Init_Cond_Procedure): New routine.
|
||
(Has_Default_Init_Cond): New routine.
|
||
(Has_Inherited_Default_Init_Cond): New routine.
|
||
(Is_Default_Init_Cond_Procedure): New routine.
|
||
(Set_Default_Init_Cond_Procedure): New routine.
|
||
(Set_Has_Default_Init_Cond): New routine.
|
||
(Set_Has_Inherited_Default_Init_Cond): New routine.
|
||
(Set_Is_Default_Init_Cond_Procedure): New routine.
|
||
(Write_Entity_Flags): Output all the new flags.
|
||
* einfo.ads New attributes Default_Init_Cond_Procedure,
|
||
Has_Inherited_Default_Init_Cond and Is_Default_Init_Cond_Procedure
|
||
along with usage in nodes.
|
||
(Default_Init_Cond_Procedure): New routine.
|
||
(Has_Default_Init_Cond): New routine and pragma Inline.
|
||
(Has_Inherited_Default_Init_Cond): New routine and
|
||
pragma Inline.
|
||
(Is_Default_Init_Cond_Procedure): New routine and
|
||
pragma Inline.
|
||
(Set_Default_Init_Cond_Procedure): New routine.
|
||
(Set_Has_Default_Init_Cond): New routine and pragma Inline.
|
||
(Set_Has_Inherited_Default_Init_Cond): New routine and pragma Inline.
|
||
(Set_Is_Default_Init_Cond_Procedure): New routine and pragma Inline.
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): New constant
|
||
Next_N. Generate a call to the default initial condition procedure
|
||
if the object's type is subject to the pragma. (Freeze_Type):
|
||
Generate the body of the default initial condition procedure or
|
||
inherit the spec from a parent type.
|
||
* exp_ch7.adb Add with and use clause for Exp_Prag.
|
||
(Expand_Pragma_Initial_Condition): Removed.
|
||
* exp_prag.ads, exp_prag.adb (Expand_Pragma_Initial_Condition): New
|
||
routine.
|
||
* par-prag.adb (Prag): Pragma Default_Initial_Condition does
|
||
not need special treatment by the parser.
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Propagate the
|
||
attributes related to pragma Default_Initial_Condition to the
|
||
derived type.
|
||
(Process_Full_View): Propagate the attributes
|
||
related to pragma Default_Initial_Condition to the full view.
|
||
* sem_ch7.adb (Analyze_Package_Specification): Build the
|
||
declaration of the default initial condition procedure for all
|
||
types that qualify or inherit the one from the parent type.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Add processing for aspect Default_Initial_Condition.
|
||
(Check_Aspect_At_Freeze_Point): Aspect
|
||
Default_Initial_Condition does not require delayed analysis.
|
||
(Replace_Type_References_Generic): Moved to spec.
|
||
* sem_ch13.ads (Replace_Type_References_Generic): Moved from body.
|
||
* sem_prag.adb Add an entry in table Sif_Glags for
|
||
Default_Initial_Condition.
|
||
(Analyze_Pragma): Pragma
|
||
Default_Initial_Condition is now part of assertion
|
||
policy. Add processing for pragma Default_Initial_Condition.
|
||
(Is_Valid_Assertion_Kind): Pragma Default_Initial_Condition is
|
||
now recognized as a proper assertion policy.
|
||
* sem_util.ads, sem_util.adb (Build_Default_Init_Cond_Call): New
|
||
routine.
|
||
(Build_Default_Init_Cond_Procedure_Body): New routine.
|
||
(Build_Default_Init_Cond_Procedure_Declaration): New routine.
|
||
(Inherit_Default_Init_Cond_Procedure): New routine.
|
||
* snames.ads-tmpl Add new predefined name and pragma id for
|
||
Default_Initial_Condition.
|
||
|
||
2014-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-dect.adb (Parse_Case_Construction): It is no longer
|
||
an error if the variable for a case construction is not
|
||
typed, only if the variable value is not a single string. Call
|
||
Parse_Choice_List and End_Case_Construction with the new parameter
|
||
to indicate that the variable is typed.
|
||
* prj-strt.adb (End_Case_Construction): Only check the labels
|
||
if the variable is typed. If the variable is not typed,
|
||
issue a warning when there is no "when others" allternative.
|
||
(Parse_Choice_List): Manage the labels only if the variable
|
||
is typed.
|
||
* prj-strt.ads (End_Case_Construction): New Boolean parameter
|
||
String_Type.
|
||
(Parse_Choice_List): Ditto.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Additional fix to Check_Predicate_Use.
|
||
|
||
2014-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Update documentation of case constructions with
|
||
variables that are not typed.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries
|
||
an Eliminated pragma, indicate that the wrapper is also to be
|
||
eliminated, to prevent spurious errors when using gnatelim on
|
||
programs that include box-initialization of equality operators
|
||
(consequence of AI05-071)..
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Activate_Overflow_Check): Handle floating-point
|
||
case correctly.
|
||
* checks.ads (Activate_Overflow_Check): Clarify handling of
|
||
floating-point cases.
|
||
* exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check
|
||
flag if we generate an explicit overflow check (for
|
||
Check_Float_Overflow mode).
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads,
|
||
prj-attr.adb, prj-attr.ads: Minor reformatting.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* expander.adb (Expand): Always perform special
|
||
expansion in GNATprove mode, even when doing pre-analysis.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* repinfo.adb (List_Scalar_Storage_Order): List bit order if
|
||
not default. Also list bit order if SSO is specified. Do not
|
||
assume that bit order is always equal to scalar storage order.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Set_SSO_From_Default): Do not set scalar storage
|
||
order to reverse SSO for a type that has an explicit native
|
||
Bit_Order.
|
||
|
||
2014-08-04 Doug Rupp <rupp@adacore.com>
|
||
|
||
* cal.c: Macro check for VxWorks7.
|
||
* init.c (getpid): Likewise.
|
||
* mkdir.c (__gnat_mkdir): Likewise.
|
||
* sysdep.c (__gnat_is_file_not_found_error): Likewise.
|
||
|
||
2014-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation
|
||
of an invariant check in the case where No_Initialization is set,
|
||
since the object is uninitialized.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute
|
||
name, in addition to a pragma name.
|
||
* snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name,
|
||
Is_Pragma_Name): Adjust accordingly.
|
||
* sem_attr.ads, sem_attr.adb, exp_attr.adb
|
||
(Attribute_Default_Scalar_Storage_Order): Add handling of new
|
||
attribute.
|
||
* gnat_rm.texi: Document the above.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer
|
||
mode for now, to revert to previous behavior.
|
||
* checks.adb: Revert previous change, no longer needed.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Don't set
|
||
Check_Float_Overflow if Machine_Oveflows_On_Target is True.
|
||
* sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't
|
||
set Check_Float_Overflow if Machine_Oveflows_On_Target is True.
|
||
* switch-c.adb (Scan_Front_End_Switches): Don't set
|
||
Check_Float_Overflow if Machine_Oveflows_On_Target is True.
|
||
|
||
2014-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: Add new default indications for
|
||
attributes Object_Dir, Exec_Dir, Source_Dirs and Target.
|
||
(Attribute_Default_Of): New function (Initialize): Set the
|
||
default for those attributes that have one specified.
|
||
* prj-attr.ads (Attribute_Data): New component Default.
|
||
* prj-proc.adb (Expression): Take into account the new defaults
|
||
for attributes Object_Dir, Exec_Dir and Source_Dirs.
|
||
* prj-strt.adb (Attribute_Reference): Set the default for
|
||
the attribute.
|
||
* prj-tree.ads, prj-tree.adb (Default_Of): New function.
|
||
(Set_Default_Of): New procedure.
|
||
* prj.adb (The_Dot_String): New global Name_Id variable,
|
||
initialized in procedure Initialize.
|
||
(Dot_String): New function
|
||
(Initialize): Initialize The_Dot_String.
|
||
(Reset): Create the string list Shared.Dot_String_List.
|
||
* prj.ads (Attribute_Default_Value): New enumeration type.
|
||
(Project_Qualifier): Change enumeration value Dry to Abstract_Project.
|
||
(Dot_String): New function.
|
||
(Shared_Project_Tree_Data): New string list component Dot_String_List.
|
||
* projects.texi: Document new defaults for attribute Object_Dir,
|
||
Exec_Dir and Source_Dirs.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb, checks.adb (Check_Float_Op_Overflow): Add special
|
||
expansion in CodePeer_Mode.
|
||
(Selected_Range_Checks): Add handling of overflow checks in
|
||
CodePeer_Mode.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
|
||
Remove special test for Float'First, no longer required.
|
||
(Expand_N_Attribute_Reference, case Succ): Remove special test
|
||
for Float'First, no longer required.
|
||
* s-fatgen.adb (Pred): return infinity unchanged.
|
||
(Succ): ditto.
|
||
|
||
2014-08-04 Claire Dross <dross@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): Defaults should only be
|
||
used if there is no explicit match.
|
||
* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
|
||
Also check for pragma external_axiomatization on generic units.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Activate_Overflow_Check): Remove
|
||
Check_Float_Overflow processing.
|
||
(Apply_Scalar_Range_Check): Ditto.
|
||
(Generate_Range_Check): Ditto.
|
||
* exp_ch4.adb (Expand_N_Op_Add): Add call to
|
||
Check_Float_Op_Overflow.
|
||
(Expand_N_Op_Divide): ditto.
|
||
(Expand_N_Op_Multiply): ditto.
|
||
(Expand_N_Op_Subtract): ditto.
|
||
* exp_util.ads, exp_util.adb (Check_Float_Op_Overflow): New procedure.
|
||
* sem_attr.adb (Analyze_Attribute, case Pred): Make sure
|
||
Do_Range_Check is set for floating-point case in -gnatc or
|
||
GNATprove mode.
|
||
(Analyze_Attribute, case Succ): Make sure
|
||
Do_Range_Check is set for floating-point case in -gnatc or
|
||
GNATprove mode.
|
||
* sem_res.adb (Resolve_Type_Conversion): Make sure Do_Range_Check
|
||
flag is set for real to integer conversion in GNATprove or
|
||
-gnatc mode.
|
||
|
||
2014-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Resolve
|
||
the expression of an Import or Export aspect as type Boolean
|
||
and require it to be static. Add ??? comment. Also, set the
|
||
Is_Exported flag when appropriate.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
* exp_attr.adb: Minor reformatting.
|
||
|
||
2014-08-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
|
||
(Unaligned_Valid): Remove now unused subprogram.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case
|
||
Attribute_Valid): If the prefix is in reverse SSO or potentially
|
||
unaligned, copy it using a byte copy operation to a temporary
|
||
variable.
|
||
* einfo.adb: Minor comment fix.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Do not freeze formal subprograms.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
|
||
* s-fatgen.adb (Pred): Handle Float'First.
|
||
(Succ): Handle Float'Last.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Potentially_Unevaluated): If the original
|
||
node of a parent node in the tree is a short-circuit operation,
|
||
the node is potentially unevaluated.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on
|
||
conversion from a real type to an integer type.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
|
||
sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
|
||
exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
|
||
sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
|
||
SPARK_05 instead of SPARK.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.ads: Minor reformatting.
|
||
* sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
|
||
reformatting.
|
||
(Analyze_Aspect_Specifications, case Convention): Put External_Name
|
||
before Link_Name when constructing pragma.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem.adb, sem.ads (In_Default_Expr): Global flag that is set
|
||
to True during analysis of a default component expression.
|
||
(Semantics): Save and restore In_Default_Expr around analysis.
|
||
* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration):
|
||
Call new wrapper Preanalyze_Default_Expression.
|
||
(Preanalyze_Default_Expression): New wrapper on
|
||
Preanalyze_Spec_Expression which sets and restores In_Default_Expr.
|
||
* sem_res.adb (Resolve_Call): Mark calls inside default
|
||
expressions as not inlined in GNATprove mode.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2014-08-04 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* link.c: remove const on __gnat_objlist_file_supported for AIX
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.ads: Minor addition of comment.
|
||
|
||
2014-08-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-dect.adb (Check_Package_Allowed): Allow package IDE in
|
||
all projects, including aggregate and aggregate library projects.
|
||
|
||
2014-08-04 Yannick Moy <moy@adacore.com>
|
||
|
||
* back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Test_In_Range): Always in range for
|
||
Is_Known_Valid target type, where input type has smaller or
|
||
equal size and does not have biased rep.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Constrained is not treated as
|
||
a static attribute, and the Static flag must not be set on it
|
||
during resolution. It may be constant-folded during expansion,
|
||
but if expansion is disabled it is not a static expression.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as
|
||
referenced once resolution has taken place.
|
||
|
||
2014-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Don't
|
||
compare access levels in the case where the target type is the
|
||
anonymous type of an access discriminant, since the level of
|
||
such types is defined based on context. Add comment.
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
|
||
cases related to equality. Remove the special processing
|
||
for dispatching abstract subprograms as it is not needed.
|
||
(Interpretation_Error): Add a specialized error message for
|
||
predefined operators.
|
||
(Is_Intrinsic_Equality): New routine.
|
||
(Is_Suitable_Candidate): New routine.
|
||
|
||
2014-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* checks.adb: Minor comment reformatting.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* restrict.adb (Check_Restriction): For checked max_parameter
|
||
restrictions reset Violated flag, so that subsequent violations
|
||
are properly detected.
|
||
|
||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
|
||
mode.
|
||
(Process_Discriminants): Fix bad test of GNATprove mode
|
||
|
||
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Formal_Subprogram):
|
||
Move variable to their own section. Propagate the source
|
||
location of a formal parameter to the corresponding formal of
|
||
the subprogram renaming declaration. Code reformatting.
|
||
|
||
2014-08-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* g-trasym-vms-ia64.adb, g-trasym-vms-alpha.adb: Removed.
|
||
|
||
2014-08-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
|
||
if error already detected. We may reach this point in spite of
|
||
previous errors when compiling with -gnatq, to force all possible
|
||
errors (this is the usual ACATS mode).
|
||
|
||
2014-08-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* checks.adb (Generate_Range_Check): For the case of converting
|
||
a base type with a larger range to a smaller target subtype, only
|
||
use unchecked conversions of bounds in the range check followed
|
||
by conversion in the case where both types are discrete. In other
|
||
cases, convert to the target base type and save in a temporary
|
||
followed by the range check.
|
||
(Convert_And_Check_Range): New procedure factoring code to save
|
||
conversion to a temporary followed by a range check (called two
|
||
places in Generate_Range_Check).
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
|
||
check-in, to generate range checks for conversions between
|
||
any floating-point types rather than limiting it to matching
|
||
base types.
|
||
|
||
2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/trans.c: Use hash_set instead of pointer_set.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* restrict.adb (Update_Restrictions): For restrictions with a
|
||
maximum parameter (e.g. number of protected entries in Ravenscar)
|
||
do not compute the maximum of the violation over several objects,
|
||
because the restriction is per-object.
|
||
(Check_Restriction): After possible message, reset the value
|
||
of of a checked max_parameter restriction to zero, to prevent
|
||
cascaded errors.
|
||
* sem_ch3.adb (Build_Derived_Private_Type): Use base of parent
|
||
(sub)type to determine whether derived type should be on the
|
||
list of private dependents of a type whose full view may become
|
||
visible subsequently.
|
||
|
||
2014-08-01 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use
|
||
$(CXX) instead of ../../xg++ to feed CXX.
|
||
(CXX_LFLAGS): Remove. Now unused as the proper flags
|
||
are expected to be included in the CXX variable.
|
||
|
||
2014-08-01 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): Return the new
|
||
variable when debug info is needed and the expression is not
|
||
constant. Tag as external only new variables that are global.
|
||
(gnat_to_gnu_entity): Call it after the GNU declaration is saved.
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Do not cache
|
||
attributes for IN array parameters when their actual subtype
|
||
needs debug info.
|
||
(Compilation_Unit_to_gnu): Call it to process all remaining nodes.
|
||
* gcc-interface/gigi.h (process_deferred_decl_context): New.
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Do not
|
||
emit debug info for ignored global declarations.
|
||
(struct deferred_decl_context_node,
|
||
add_deferred_decl_context, add_deferred_type_context,
|
||
compute_deferred_decl_context, defer_or_set_type_context,
|
||
deferred_decl_context_queue, get_debug_scope,
|
||
get_global_context, process_deferred_decl_context): New.
|
||
(gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT
|
||
computation machinery to rely on the GNAT Scope attribute.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Add guard.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb, opt.ads Minor comment updates.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Request a renaming
|
||
from the side effects removal machinery.
|
||
* exp_util.adb (Duplicate_Subexpr): Add formal parameter
|
||
Renaming_Req. Update the nested call to Remove_Side_Effects.
|
||
(Duplicate_Subexpr_No_Checks): Add formal parameter
|
||
Renaming_Req. Update the nested call to Remove_Side_Effects.
|
||
(Duplicate_Subexpr_Move_Checks): Add formal parameter
|
||
Renaming_Req. Update the nested call to Remove_Side_Effects.
|
||
(Remove_Side_Effects): Add formal parameter Renaming_Req. Generate
|
||
an object renaming declaration when the caller requests it.
|
||
* exp_util.ads (Duplicate_Subexpr): Add formal
|
||
parameter Renaming_Req. Update comment on usage.
|
||
(Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req.
|
||
(Duplicate_Subexpr_Move_Checks): Add formal parameter
|
||
Renaming_Req.
|
||
|
||
2014-08-01 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor updates.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.adb: Minor reformatting.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a
|
||
private extension, get stored constraint, if any, from full view.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads (No_Elab_Code_All_Pragma): New global variable.
|
||
* sem_ch10.adb (Check_No_Elab_Code_All): New procedure
|
||
(Analyze_Compilation_Unit): Call Check_No_Elab_Code_All
|
||
(Analyze_Subunit_Context): Call Check_No_Elab_Code_All.
|
||
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
|
||
Remove code for checking with's, now in sem_ch10.adb, set
|
||
Opt.No_Elab_Code_All_Pragma.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Copy_And_Build): Copy the declaration for
|
||
access types as well and adjust the subtype mark if there are
|
||
no constraints.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Test_In_Range): Return Unknown if error posted.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Has_Private_Ancestor): Remove obsolete usage.
|
||
* exp_ch4.adb (Expand_Composite_Equality): Add conversion
|
||
of the actuals in the case of untagged record types too.
|
||
* sem_ch3.adb (Build_Full_Derivation): New procedure to create the
|
||
full derivation of a derived private type, extracted from...
|
||
(Copy_And_Build): In the case of record types and most
|
||
enumeration types, copy the original declaration. Build the
|
||
full derivation according to the approach extracted from...
|
||
(Build_Derived_Private_Type): ...here. Call Build_Full_Derivation
|
||
to create the full derivation in all existing cases and also
|
||
create it in the no-discriminants/discriminants case instead of
|
||
deriving directly from the full view.
|
||
(Is_Visible_Component): Remove obsolete code.
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Likewise.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* fe.h (GNAT_Mode): New.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
|
||
reverse SSO in GNAT mode.
|
||
|
||
2014-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2014-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch3.adb (Default_Initialize_Object): Do not generate
|
||
default initialization for an imported object.
|
||
|
||
2014-08-01 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr
|
||
to the expected FARPROC type instead of void *.
|
||
* adaint.c (f2t): Expect __time64_t * as second argument, in line with
|
||
other datastructures.
|
||
(__gnat_file_time_name_attr): Adjust accordingly.
|
||
(__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR,
|
||
in line with uses.
|
||
(__gnat_check_OWNER_ACL): Declare AccessMode
|
||
parameter as ACCESS_MODE instead of DWORD, in line with callers
|
||
and uses.
|
||
(__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode,
|
||
unused on win32. Correct cast of "args" on call to spawnvp.
|
||
(add_handle): Cast realloc calls into their destination types.
|
||
(win32_wait): Remove declaration and initialization of unused variable.
|
||
(__gnat_locate_exec_on_path): Cast alloca calls
|
||
into their destination types.
|
||
* initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into
|
||
their destination types.
|
||
|
||
2014-08-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Expand
|
||
range checks for conversions between floating-point subtypes
|
||
when the target and source types are the same.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Indexing_Functions): Initialize
|
||
Indexing_Found.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the
|
||
ALI file before we call the backend (so that gnat2why can append
|
||
to it).
|
||
|
||
2014-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Bit_Packed_Element_Set,
|
||
Expand_Packed_Element_Reference): Pass additional Rev_SSO
|
||
parameter indicating whether the packed array type has reverse
|
||
scalar storage order to the s-pack* Set/Get routines.
|
||
* s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO
|
||
indicating reverse scalar storage order.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Initialization): Set Do_Range_Check
|
||
for initial component value in -gnatc or GNATprove mode.
|
||
(Process_Discriminants): Same fix for default discriminant values.
|
||
* sem_eval.adb (Test_In_Range): Improve accuracy of results by
|
||
checking subtypes.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Minor comment clarification.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Code
|
||
reformatting. Store the generated pragma Import in the related
|
||
subprogram as routine Wrap_Imported_Subprogram will need it later.
|
||
* sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of
|
||
a private type with discriminants is considered to fall in the
|
||
category of unconstrained or tagged items.
|
||
|
||
2014-08-01 Arnaud charlet <charlet@adacore.com>
|
||
|
||
* s-os_lib.adb (Open_Append): New functions to open a file for
|
||
appending. This binds to the already existing (but not used)
|
||
__gnat_open_append.
|
||
* osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure
|
||
to open a file for appending.
|
||
* osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure
|
||
to open the ALI file for appending.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2014-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Insert_Pragma): Add special case for precondition
|
||
pragmas from aspects, which need to be inserted in proper order.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants):
|
||
Handle properly a type extension that constrains a discriminated
|
||
derived type that renames other discriminants of an ancestor.
|
||
|
||
2014-08-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads,
|
||
s-pack25.adb: Fix minor inconsistencies and typos.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize
|
||
globals and move certain variables to the "local
|
||
variable" section. Call Build_Class_Wide_Wrapper when
|
||
renaming a default actual subprogram with a class-wide actual.
|
||
(Build_Class_Wide_Wrapper): New routine.
|
||
(Check_Class_Wide_Actual): Removed.
|
||
(Find_Renamed_Entity): Code reformatting.
|
||
(Has_Class_Wide_Actual): Alphabetize. Change the
|
||
logic of the predicate as the renamed name may not necessarely
|
||
denote the correct subprogram.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch7.adb: Fix minor oversight in condition.
|
||
|
||
2014-08-01 Bob Duff <duff@adacore.com>
|
||
|
||
* projects.texi: Minor documentation improvements.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All.
|
||
* gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect.
|
||
* lib-load.adb: Initialize No_Elab_Code_All field.
|
||
* lib-writ.adb: Initialize No_Elab_Code_All.
|
||
* lib.ads, lib.adb: New field No_Elab_Code_All.
|
||
* par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All.
|
||
* restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no
|
||
longer exists.
|
||
* sem_ch10.adb (Analyze_Context): Processing for
|
||
No_Elaboration_Code_All removed.
|
||
(Generate_Parent_References): Moved to Sem_Util.
|
||
* sem_prag.adb: Add processing for pragma No_Elaboration_Code_All.
|
||
* sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from
|
||
Sem_Ch10.
|
||
* snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All.
|
||
* targparm.adb: Minor comment updates Add comments on ignoring
|
||
pragma No_Elaboration_Code_All.
|
||
|
||
2014-08-01 Nicolas Roche <roche@adacore.com>
|
||
|
||
* adaint.c (__gnat_set_close_on_exec): Ensure that
|
||
we can unset "close_on_exec" flag.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building
|
||
the parameter specs of the wrapper program for a primitive operation
|
||
of a synchronized type that implements an interface, copy the
|
||
null_exclusion indicator as well.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.ads: Minor reformatting.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type
|
||
to go down the chain of private derivations.
|
||
* freeze.adb (Freeze_Entity): Fix typo in comment.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Type_Declaration): If designated type is
|
||
a limited view, create a master entity (as is already done for
|
||
class-wide types) in case the full view designates a type that
|
||
contains tasks.
|
||
* sem_ch8.adb (Find_Selected_Component): If prefix is a dereference
|
||
and the designated type is a limited view, use the non-limited
|
||
view if available.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.
|
||
(DECL_FUNCTION_STUB): Likewise.
|
||
(SET_DECL_FUNCTION_STUB): Likewise.
|
||
(DECL_PARM_ALT_TYPE): Likewise.
|
||
(SET_DECL_PARM_ALT_TYPE): Likewise.
|
||
(TYPE_VAX_FLOATING_POINT_P): Delete.
|
||
(TYPE_DIGITS_VALUE): Likewise.
|
||
(SET_TYPE_DIGITS_VALUE): Likewise.
|
||
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_malloc32_decl.
|
||
(malloc32_decl): Delete.
|
||
(build_vms_descriptor): Likewise.
|
||
(build_vms_descriptor32): Likewise.
|
||
(fill_vms_descriptor): Likewise.
|
||
(convert_vms_descriptor): Likewise.
|
||
(TARGET_ABI_OPEN_VMS): Likewise.
|
||
(TARGET_MALLOC64): Likewise.
|
||
* gcc-interface/decl.c (add_parallel_type_for_packed_array): New.
|
||
(gnat_to_gnu_entity): Call it to add the original type as a parallel
|
||
type to the implementation type of a packed array type.
|
||
<E_Procedure>: Remove now obsolete kludge.
|
||
<E_Exception>: Delete obsolete comment.
|
||
<object>: Small tweak.
|
||
<E_Subprogram_Type>: Remove support for stub subprograms, as well as
|
||
for the descriptor passing mechanism.
|
||
(gnat_to_gnu_param): Likewise.
|
||
* gcc-interface/misc.c (gnat_init_gcc_fp): Remove special case.
|
||
(gnat_print_type): Adjust.
|
||
* gcc-interface/trans.c (gigi): Remove obsolete initializations.
|
||
(vms_builtin_establish_handler_decl): Delete.
|
||
(gnat_vms_condition_handler_decl): Likewise.
|
||
(establish_gnat_vms_condition_handler): Likewise.
|
||
(build_function_stub): Likewise.
|
||
(Subprogram_Body_to_gnu): Do not call above functions.
|
||
(Call_to_gnu): Remove support for the descriptor passing mechanism.
|
||
* gcc-interface/utils.c (make_descriptor_field): Delete.
|
||
(build_vms_descriptor32): Likewise.
|
||
(build_vms_descriptor): Likewise.
|
||
(fill_vms_descriptor): Likewise.
|
||
(convert_vms_descriptor64): Likewise.
|
||
(convert_vms_descriptor32): Likewise.
|
||
(convert_vms_descriptor): Likewise.
|
||
* gcc-interface/utils.c (unchecked_convert): Likewise.
|
||
* gcc-interface/utils2.c (maybe_wrap_malloc): Remove obsolete stuff.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Use gnat_to_gnu_type for the exception
|
||
type and get_unpadded_type for the longest FP type.
|
||
(Attribute_to_gnu) <Machine>: Compare the precision of the types.
|
||
(convert_with_check): Adjust formatting and remove FIXME.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
|
||
Do not convert the RM bounds to the base type.
|
||
(E_Floating_Point_Subtype): Likewise.
|
||
(E_Array_Subtype): Convert the bounds to the base type.
|
||
* gcc-interface/trans.c (get_type_length): New function.
|
||
(Attribute_to_gnu) <Range_Length>: Call it.
|
||
<Length>: Likewise.
|
||
(Loop_Statement_to_gnu): Convert the bounds to the base type.
|
||
(gnat_to_gnu) <N_In>: Likewise.
|
||
* gcc-interface/utils.c (make_type_from_size): Do not convert the RM
|
||
bounds to the base type.
|
||
(create_range_type): Likewise.
|
||
(convert): Convert the bounds to the base type for biased types.
|
||
* gcc-interface/utils2.c (compare_arrays): Convert the bounds to the
|
||
base type.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Remove
|
||
incorrect implicit type derivation.
|
||
* gcc-interface/utils.c (max_size) <tcc_reference>: Convert the bounds
|
||
to the base type.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Preanalyze and resolve the
|
||
prefix of attribute Loop_Entry.
|
||
* sem_prag.adb (Analyze_Pragma): Verify the placement of pragma
|
||
Loop_Variant with respect to an enclosing loop (if any).
|
||
(Contains_Loop_Entry): Update the parameter profile and all
|
||
calls to this routine.
|
||
* sem_res.adb (Resolve_Call): Code reformatting. Do not ask
|
||
for the corresponding body before determining the nature of the
|
||
ultimate alias's declarative node.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb, sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Rewrite_In_Raise_CE): Don't try to reuse inner
|
||
constraint error node since it is a list member.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb: Minor reformatting.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.adb (Underlying_Type): Return the underlying full view
|
||
of a private type if present.
|
||
* freeze.adb (Freeze_Entity):
|
||
Build a single freeze node for partial, full and underlying full
|
||
views, if any.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Private_Type>: Add a
|
||
missing guard before the access to the Underlying_Full_View.
|
||
* gcc-interface/trans.c (process_freeze_entity): Deal with underlying
|
||
full view if present.
|
||
* gcc-interface/utils.c (make_dummy_type): Avoid superfluous work.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entry_Call): When an entry has
|
||
preconditions, the entry call is wrapped in a procedure call
|
||
that incorporates the precondition checks. To prevent a double
|
||
expansion, with possible duplication of extra formals, that
|
||
procedure call must only be pre-analyzed and resolved. Expansion
|
||
takes place upon return to the caller Resolve_Call.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): Do not perform
|
||
GNATprove-specific inlining while within a generic.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Case_Expression): Handle properly a
|
||
case expression with incompatible alternatives, when the first
|
||
alternative is overloaded.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Check_Parameterless_Call): Use Relocate_Node
|
||
to create the name of the parameterless call, rather than
|
||
New_Copy, to preserve the tree structure when the name is a
|
||
complex expression, e.g. a selected component that denotes a
|
||
protected operation, whose prefix is itself a selected component.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use
|
||
Unit_Declaration_Node to retrieve body when inlining, to handle
|
||
properly subprogram child units.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* debug.adb: Minor documentation addition for -dn switch.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, exp_ch9.adb, sem_prag.adb, sem_util.adb,
|
||
sem_attr.adb, sem_eval.ads, sem_cat.adb, sem_ch13.adb: Improve
|
||
documentation of Is_Static_Expression vs Is_OK_Static_Expression.
|
||
In several places, use the Is_OK version as suggested by the spec.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Revert last change which was not correct.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Find_Constant): Ensure that the constant being
|
||
inspected is still an object declaration (i.e. not a renaming).
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): a)
|
||
An attribute_reference to Loop_Entry denotes an iterator
|
||
specification: its prefix is an object, as is the case for 'Old.
|
||
b) If the domain of iteration is an expression whose type has
|
||
the Iterable aspect defined, this is an iterator specification.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb: Minor reformatting.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads (Info_Messages): New counter.
|
||
* err_vars.ads: Minor comment update.
|
||
* errout.adb (Delete_Warning_And_Continuations): Deal
|
||
with new Info_Messages counter.
|
||
(Error_Msg_Internal): ditto.
|
||
(Delete_Warning): ditto.
|
||
(Initialize): ditto.
|
||
(Write_Error_Summary): ditto.
|
||
(Output_Messages): ditto.
|
||
(To_Be_Removed): ditto.
|
||
* erroutc.adb (Delete_Msg): Deal with Info_Messages counter.
|
||
(Compilation_Errors): ditto.
|
||
* errutil.adb (Error_Msg): Deal with Info_Messages counter.
|
||
(Finalize): ditto.
|
||
(Initialize): ditto.
|
||
* sem_prag.adb (Analyze_Pragma): Minor comment addition.
|
||
* gnat_ugn.texi: Document that -gnatwe does not affect info
|
||
messages.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document debug switch -gnatd.Z.
|
||
* sem.adb (Semantics): Force expansion on in no or configurable
|
||
run time mode.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): An
|
||
unchecked conversion denotes an iterator specification. Such a
|
||
conversion will be inserted in the context of an inlined call
|
||
when needed, and its argument is always an object.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, makeutl.ads: Minor reformatting.
|
||
* debug.adb, opt.ads: Clarify documentation of Front_End_Inlining and
|
||
Back_End_Inlining.
|
||
|
||
2014-08-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatcmd.adb (GNATCmd): Set AAMP_On_Target using command name.
|
||
|
||
2014-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of
|
||
-gnatd.z.
|
||
* debug.adb: Updating documentation.
|
||
* exp_ch6.adb (Expand_Call): Remove assertion.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb,
|
||
sem_res.adb: Minor reformatting.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Initialize): Set Keep_Temporary_Files to True when
|
||
-dn is specified.
|
||
* makeusg.adb: Add line for new switch --keep-temp-files.
|
||
* makeutl.ads (Keep_Temp_Files_Option): New constant String.
|
||
* opt.ads (Keep_Temporary_Files): Document that it is also used
|
||
by gnatmake and gprbuild.
|
||
* switch-m.adb: Recognize new switch --keep-temp-files.
|
||
|
||
2014-08-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Task_Type_Declaration): Move code from ...
|
||
* exp_ch9.adb (Make_Task_Create_Call): ... here.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat1drv.adb: Do not try to get the target parameters when
|
||
invoked with -gnats.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Last_Init): Nothing to do for an object
|
||
declaration subject to No_Initialization.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Reject choice that
|
||
is a subtype with dynamic predicates, or a non-static subtype
|
||
with predicates.
|
||
* sem_ch3.adb (Analyze_Number_Declaration): Reject qualified
|
||
expression if subtype has a dynamic predicate.
|
||
(Constrain_Index): Reject subtype indication if subtype mark
|
||
has predicates.
|
||
(Inerit_Predicate_Flags): Inherit Has_Predicates as well.
|
||
(Make_Index): If index is a subtype indication, itype inhereits
|
||
predicate flags for subsequent testing.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): New
|
||
procedure Check_Predicate_Use, to reject illegal uses of domains
|
||
of iteration that have dynamic predicates.
|
||
* sem_res.adb (Resolve_Slice): Reject slices given by a subtype
|
||
indication to which a predicate applies.
|
||
* sem_util.adb (Bad_Predicated_Subtype_Use): Add guard to
|
||
prevent cascaded errors when subtype is invalid.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb: Minor reformatting.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Same_Generic_Actual): Make function symmetric,
|
||
because either type may be a subtype of the other.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeusg.adb: Add documentation for debug switch -dn.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
|
||
expression with standard operator and type, for pretty-printing
|
||
use, when in ASIS_Mode. When generating code dimensional analysis
|
||
is not involved and dimension expressions are handled statically,
|
||
and other operators are resolved in the usual way.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Remove setting of
|
||
Parent_Subtype in ASIS mode, leads to several failures.
|
||
* sem_ch4.adb (Analyze_Selected_Component): In an instance,
|
||
if the prefix is a type extension, check whether component is
|
||
declared in the parent type, possibly in a parent unit. Needed
|
||
in ASIS mode when Parent_Subtype is not set.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
* s-regpat.adb: Minor reformatting.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Do not set
|
||
Treat_As_Volatile on constants.
|
||
|
||
2014-08-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Make_Task_Create_Call): Improve error message.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Do not place a
|
||
warning on a with_clause created for the renaming of a parent
|
||
unit in an explicit with_clause.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Import):
|
||
Set Is_Imported flag at once, to simplify subsequent legality
|
||
checks. Reject the aspect on an object whose declaration has an
|
||
explicit initial value.
|
||
* sem_prag.adb (Process_Import_Or_Interface): Use original node
|
||
to check legality of an initial value for an imported entity.
|
||
Set Is_Imported flag in case of error to prevent cascaded errors.
|
||
Do not set the Is_Imported flag if the pragma comes from an
|
||
aspect, because it is already done when analyzing the aspect.
|
||
|
||
2014-08-01 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-regpat.adb (Parse): Add support for non-capturing parenthesis.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb, einfo.adb, einfo.ads, sem_ch13.adb: Minor change of
|
||
identifier name.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Contract): Enable the volatility
|
||
checks when the related variable comes from source.
|
||
* sem_res.adb (Resolve_Actuals): Enable the volatility checks
|
||
when the related actual parameter comes from source. Update comment.
|
||
* freeze.adb (Freeze_Record_Type): Do not freeze the designated
|
||
type of an array of pointers when the designated type is
|
||
class-wide and its root type is the record being currently frozen.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Preserve Ekind
|
||
of renaming declaration created for domain of iteration.
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Better placement
|
||
for error messages on aggregates whose index subtypes have
|
||
predicates. The new placement avoids posting messages on previous
|
||
subtype declarations rather than on the aggregate itself.
|
||
* sem_disp.adb (Is_Inherited_Public_Operation): New predicate for
|
||
Add_Dispatching_Operation, to handle properly the overriding of
|
||
the predefined operations on controlled types, when the partial
|
||
view of a type is not visibly controlled.
|
||
|
||
2014-08-01 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add tutorial on portable fixed-point types as an
|
||
appendix.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the
|
||
assertion check as the attribute is defined for all entities.
|
||
(Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion
|
||
check as the attribute is defined for all entities.
|
||
* einfo.ads Update the documentation of attribute
|
||
Is_Hidden_Non_Overridden_Subprogram.
|
||
* sem_ch7.adb (Install_Package_Entity): No need to check the
|
||
entity kind of the Id.
|
||
* sem_ch13.adb (Hide_Matching_Homograph): Update the comment on
|
||
usage. Ensure that the homographs are of the same entity kind
|
||
and not fully conformant.
|
||
(Hide_Non_Overridden_Subprograms): Update the comment on usage.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb: Minor code reorganization.
|
||
* sem_ch12.adb, s-tasdeb.ads: Minor reformatting.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, s-os_lib.ads: Minor reformatting.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tasdeb.ads, s-tasdeb.adb (Master_Hook, Master_Completed_Hook): New.
|
||
* s-tassta.adb (Task_Wrapper, Vulnerable_Complete_Master): Call new
|
||
hooks.
|
||
|
||
2014-08-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Cannot_Inline): Issue info message instead of
|
||
warning for subprograms not inlined in GNATprove mode.
|
||
* sem_res.adb (Resolve_Call): Take body into account for deciding
|
||
whether subprogram can be inlined in GNATprove mode or not.
|
||
|
||
2014-08-01 Claire Dross <dross@adacore.com>
|
||
|
||
* exp_util.ads (Get_First_Parent_With_Ext_Axioms_For_Entity): Renaming
|
||
of Get_First_Parent_With_External_Axiomatization_For_Entity for
|
||
shorter.
|
||
* sem_ch12.adb (Analyze_Associations): Only call Build_Wrapper
|
||
for parameters of packages with external axiomatization.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb: Minor comment addition.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-crtl.ads, i-cstrea.ads, adaint.c, adaint.h, osint.adb,
|
||
s-fileio.adb (__gnat_fopen, __gnat_freopen): Remove vms_form parameter,
|
||
no longer used.
|
||
* s-os_lib.ads: Minor reformatting.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Restore more
|
||
completely previous code since only GCC back-ends are prepared
|
||
to handle e.g. 'Machine attribute.
|
||
* targparm.adb, targparm.ads: Remove remaining refs and
|
||
handling of OpenVMS_On_Target, VAX_Float_On_Target and
|
||
RTX_RTSS_Kernel_Module_On_Target.
|
||
* hostparm.ads (OpenVMS, Max_Debug_Name_Length): Removed,
|
||
no longer used.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_dist.adb, exp_attr.adb: Minor reformatting.
|
||
* sem_ch3.adb, mlib-tgt-specific-hpux.adb, a-direct.ads,
|
||
a-synbar-posix.adb, exp_ch9.adb, sem_ch10.adb, sem_prag.adb,
|
||
sem_ch12.adb, sem.ads, sem_res.adb, s-exctra.adb, s-soflin.ads,
|
||
g-alveop.ads, sem_ch8.adb, vxaddr2line.adb, sem_cat.ads: Remove
|
||
improper use of shall.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, exp_atag.adb, layout.adb, nlists.adb, nlists.ads,
|
||
exp_attr.adb, exp_ch9.adb, par-ch12.adb, exp_aggr.adb,
|
||
exp_ch3.adb: Minor reformatting & code reorganization.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Remove VMS specific rules for pragma Ident.
|
||
* Makefile.rtl, adaint.c, gnat_rm.texi, s-asthan.adb, s-asthan.ads,
|
||
s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
|
||
s-po32gl.adb, s-po32gl.ads, s-vaflop.adb, s-vaflop.ads, s-vmexta.adb,
|
||
s-vmexta.ads, sem_vfpt.adb, sem_vfpt.ads, socket.c: Remove VMS specific
|
||
code.
|
||
* gcc-interface/decl.c, gcc-interface/Makefile.in,
|
||
gcc-interface/Make-lang.in: Ditto. Also remove refs to rTX.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads: Rename File_Size to Large_File_Size.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
|
||
a-numaux-darwin.adb, a-numaux-darwin.ads, a-numaux.ads,
|
||
a-numaux-libc-x86.ads: Fix bad package header comments.
|
||
* elists.ads, elists.adb (Append_New_Elmt): New procedure.
|
||
* gnat_rm.texi, a-calend.adb, gnatcmd.adb, einfo.adb, einfo.ads,
|
||
checks.adb, sem_prag.adb, sem_prag.ads, rtsfind.ads, freeze.adb,
|
||
sem_util.adb, sem_attr.adb, exp_dbug.adb, exp_dbug.ads, gnat1drv.adb,
|
||
targparm.adb, targparm.ads, exp_ch6.adb, switch-b.adb, s-shasto.ads,
|
||
stand.ads, s-auxdec.ads, opt.adb, opt.ads, mlib-tgt.ads, s-fatgen.adb,
|
||
s-fatgen.ads, system.ads, snames.ads-tmpl, s-stalib.ads,
|
||
s-os_lib.adb: Remove VMS-specific code.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to
|
||
previous state in CodePeer_Mode.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* hostparm.ads: Put back definition of OpenVMS as False to aid
|
||
the transition process.
|
||
* sem_ch7.adb: Minor reformatting.
|
||
* prj-env.adb: Minor code fix.
|
||
* gnat_rm.texi: Complete previous change.
|
||
* sem_ch3.adb: Minor reformatting.
|
||
* sem_ch6.adb: Minor reformatting.
|
||
* sem_elab.adb: Minor reformatting.
|
||
* exp_strm.adb: Complete previous change.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Unreferenced_Entity): Do not issue a
|
||
warning when a constant is unreferenced and its type has pragma
|
||
Unreferenced_Objects.
|
||
|
||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Flag2 is now known as
|
||
Is_Hidden_Non_Overridden_Subprogram.
|
||
(Is_Hidden_Non_Overridden_Subprogram): New routine.
|
||
(Set_Is_Hidden_Non_Overridden_Subprogram): New routine.
|
||
(Write_Entity_Fields): Output Flag2.
|
||
* einfo.ads: New attribute Is_Hidden_Non_Overridden_Subprogram
|
||
along with occurrences in entities.
|
||
(Is_Hidden_Non_Overridden_Subprogram): New routine and pragma Inline.
|
||
(Set_Is_Hidden_Non_Overridden_Subprogram): New routine
|
||
and pragma Inline.
|
||
* sem_ch7.adb (Install_Package_Entity): Do not enter implicitly
|
||
declared non-overriden homographs into visibility.
|
||
* sem_ch13.adb (Freeze_Entity_Checks): Hide all
|
||
implicitly declared non-overriden homographs.
|
||
(Hide_Non_Overridden_Subprograms): New routine.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove
|
||
VMS-specific code.
|
||
* prj-conf.adb: Minor reformatting.
|
||
* xr_tabls.adb (Read_File): Restore code which was enabled on
|
||
non VMS platforms before.
|
||
* prj-env.adb (Initialize_Default_Project_Path): Ditto.
|
||
* sem_ch5.adb: Minor reformatting.
|
||
* lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb,
|
||
sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb:
|
||
Remove VMS-specific code.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Await_Compile): Remove loop that was only needed
|
||
for VMS.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb,
|
||
a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb,
|
||
a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb,
|
||
einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb,
|
||
exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb,
|
||
fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads,
|
||
g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
|
||
g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb,
|
||
krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb,
|
||
mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb,
|
||
osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb,
|
||
prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb,
|
||
rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads,
|
||
s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads,
|
||
s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb,
|
||
s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads,
|
||
s-taspri-posix-noaltstack.ads, s-taspri-posix.ads,
|
||
s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads,
|
||
sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
|
||
sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
|
||
sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb,
|
||
treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS
|
||
specific code and comments.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): New procedure
|
||
Check_Reverse_Iteration, to verify the legality of the Reverse
|
||
indicator on various container types, and to detect illegal
|
||
reverse iterations on containers that only supoort forward
|
||
iteration.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Remove the VMS specific stuff. Integrate in
|
||
procedure GNATCmd the relevant declarations from packages VMS_Cmds
|
||
and VMS_Conv.
|
||
* gnatcmd.ads: Update comments to remove any trace of VMS
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: sem_ch12.adb (Build_Wrapper): Capture entity for
|
||
defaulted actual that is an operator, before building wrapper
|
||
for it in GNATprove mode. Restrict construction of wrapper to
|
||
actuals that are operators.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* vms_conv.adb, vms_conv.ads, vms_data.ads, vms_cmds.ads: Remove VMS
|
||
specific packages no longer needed.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads (System.CRTL): Move with clause to body.
|
||
(File_Size): New type.
|
||
(File_Length64): Use it.
|
||
(File_Length): Restore previous spec returning a Long_Integer.
|
||
* s-os_lib.adb (System.CRTL): Move with clause here.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* mlib-prj.adb: Update comments to remove any mention of VMS.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* ug_words, xgnatugn.adb, gcc-interface/Make-lang.in: Remove
|
||
xgnatugn.adb and ug_words.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Check whether
|
||
expansion can be avoid for Machine, Model and Rounding.
|
||
(Is_Inline_Floating_Point_Attribute): Return true for Machine
|
||
& Model, as well as Rounding if wrapped in a conversion to an
|
||
integer type.
|
||
* sem_res.adb (Simplify_Type_Conversion): Deal with Rounding as well.
|
||
* gcc-interface/gigi.h (fp_arith_may_widen): Declare.
|
||
* gcc-interface/utils.c (fp_arith_may_widen): New global variable.
|
||
* gcc-interface/misc.c (enumerate_modes): Compute it.
|
||
* gcc-interface/trans.c (FP_ARITH_MAY_WIDEN): Delete.
|
||
(lvalue_required_for_attribute_p): Deal with Descriptor_Size,
|
||
Machine and Model.
|
||
(Attribute_to_gnu) <Attr_Model>: New case.
|
||
<Attr_Machine>): Likewise.
|
||
(convert_with_check): Test
|
||
fp_arith_may_widen variable.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.h (GNAT_FOPEN): New definition for Windows.
|
||
(GNAT_OPEN): Likewise.
|
||
(GNAT_STAT): Likewise.
|
||
(GNAT_FSTAT): Likewise.
|
||
(GNAT_LSTAT): Likewise.
|
||
(GNAT_STRUCT_STAT): Likewise.
|
||
* adaint.c (__gnat_stat): Fix computation of file size for
|
||
Windows.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* Makefile.rtl: Minor comment update.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* Make-generated.in: Remove dependencies for vms-help.
|
||
|
||
2014-08-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* makeutl.ads, opt.ads: Minor grammar fixes.
|
||
* makeutl.adb: Minor code reorganization.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in,
|
||
gnatsym.adb: Remove gnatsym (VMS only tool).
|
||
|
||
2014-08-01 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi, projects.texi, xgnatugn.adb: Removed all VMS
|
||
conditionalization from gnat_ugn.texi and projects.texi, and updated
|
||
(considerably simplified) xgnatugn.adb, to be removed soon.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
|
||
* make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message
|
||
instead of Debug.Debug_Flag_S.
|
||
* makeutl.adb (Finish_Program, Fail_Program): Use Opt flag
|
||
No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit
|
||
error messages.
|
||
* makeutl.ads (No_Exit_Message_Option): New constant string
|
||
for switch --no-exit-message.
|
||
* opt.ads (No_Exit_Message): New Boolean flag, defaulted to False.
|
||
* switch-m.adb (Scan_Make_Switches): Recognize new switch
|
||
--no-exit-message.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
|
||
* gcc-interface/Make-lang.in: Remove exp_vfpt.o
|
||
|
||
2014-08-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* inline.ads (Inlined_Calls, Backend_Calls,
|
||
Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
|
||
moved to inline.adb (Cannot_Inline): Update documentation.
|
||
(Check_And_Build_Body_To_Inline): Renamed.
|
||
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
|
||
* inline.adb (Check_Inlining_Restrictions): New local variable.
|
||
(Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
|
||
Backend_Not_Inlined_Subps): Declarations moved here
|
||
from inline.ads (Number_Of_Statements): Removed.
|
||
(Remove_Pragmas): Avoid duplicated version of this subprogram.
|
||
(Build_Body_To_Inline): Code cleanup.
|
||
(Build_Body_To_Inline.Has_Excluded_Statament): Removed.
|
||
(Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
|
||
(Check_Body_To_Inline): Removed.
|
||
(Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
|
||
(Has_Excluded_Declaration): No action if not
|
||
Check_Inlining_Restrictions.
|
||
(Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
|
||
(Initialize): Initialize the lists of inlined calls and subprograms.
|
||
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
|
||
to Check_And_Build_Body_To_Inline since it has been renamed as
|
||
Check_And_Split_Unconstrained_Function
|
||
* exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
|
||
package inline.
|
||
* gnat1drv.adb Update call to Inline.List_Inlining_Info.
|
||
|
||
2014-08-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* debug.adb: Add documentation for new debug switch -ds.
|
||
* make.adb (List_Bad_Compilations): Do not issue any message
|
||
when switch -ds is specified.
|
||
* makeutl.adb (Fail_Program): Do not issue any message when
|
||
-ds is specified.
|
||
(Finish_Program): Ditto.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
|
||
s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
|
||
s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
|
||
indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
|
||
indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
|
||
s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
|
||
s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
|
||
s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
|
||
s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
|
||
s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
|
||
s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
|
||
s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
|
||
g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
|
||
s-tratas.ads: Minor fix to copyright notices.
|
||
|
||
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sinfo.ads: Remove long obsolete comment.
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* cstreams.c: Only enable large file support on know supported
|
||
platforms. Add missing defines/includes.
|
||
|
||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb New flags No_Predicate_On_Actual and
|
||
No_Dynamic_Predicate_On_Actual, to enforce the generic contract
|
||
on generic units that contain constructs that forbid subtypes
|
||
with predicates.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype):
|
||
Inherit flags indicating the presence of predicates in subtype
|
||
declarations with and without constraints.
|
||
(Inherit_Predicate_Flags): Utility for the above.
|
||
* sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context,
|
||
indicate that the actual cannot have predicates, and preserve
|
||
warning. In an instance, report error if actual has predicates
|
||
and the construct appears in a package declaration.
|
||
* sem_ch12.adb (Diagnose_Predicated_Actual): Report error
|
||
for an actual with predicates, if the corresponding formal
|
||
carries No_Predicate_On_Actual or (in the case of a loop)
|
||
No_Dynamic_Predicate_On_Actual.
|
||
* sem_ch13.adb (Build_Predicate_Functions); Do not build a
|
||
Static_Predicate function if the type is non-static (in the
|
||
presence of previous errors),
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag
|
||
No_Dynamic_Predicate_On_Actual in a generic context, to enforce
|
||
generic contract on actuals that cannot have predicates.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-direct.adb (C_Size): Returns an int64.
|
||
* osint.adb (System.CRTL): New with clause.
|
||
(File_Length.Internal): Returns an int64.
|
||
* s-os_lib.ads (File_Length): Returns an int64.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb,
|
||
mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb,
|
||
osint.adb, krunch.adb: Minor reformatting.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb,
|
||
sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb,
|
||
sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl:
|
||
Remove VMS-specific code.
|
||
* gcc-interface/decl.c, gcc-interface/trans.c: Ditto.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* binde.adb, bindgen.adb, butil.adb, clean.adb, gnatbind.adb,
|
||
gnatchop.adb, gnatcmd.adb, gnatls.adb, gnatname.adb, krunch.adb,
|
||
make.adb, makeutl.adb, memtrack.adb, mlib-prj.adb, mlib.adb,
|
||
mlib.ads, tempdir.adb: Remove VMS handling.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
|
||
(__gnat_named_file_length): Likewise.
|
||
(__gnat_file_length_attr): Likewise.
|
||
* a-direct.adb (C_Size): Use size_t as returned type.
|
||
* osint.adb (File_Length): Adjust spec for Internal routine
|
||
(returns size_t).
|
||
* s-os_lib.adb (File_Length): Now returns a CRTL.size_t.
|
||
(System.CRTL): With claused moved to spec.
|
||
* s-os_lib.ads (System.CRTL): With clause moved to here.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.h, adaint.c (__gnat_open): Added.
|
||
* s-crtl.ads (open): Import __gnat_open for large file support.
|
||
|
||
2014-08-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_case.adb (Dup_Choice): Improve message for integer constants.
|
||
|
||
2014-08-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatlink.adb: Remove special handling of VMS, RTX and JVM.
|
||
|
||
2014-08-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.h (GNAT_OPEN): Defines as open64 where supported.
|
||
* adaint.c (GNAT_OPEN): Uses new macro where needed.
|
||
|
||
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (lookup_and_insert_pad_type): New function
|
||
extracted from...
|
||
(maybe_pad_type): ...here. Call it to canonicalize the pad type.
|
||
* gcc-interface/gigi.h: Update comment.
|
||
|
||
2014-07-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* debug.adb Remove documentation of -gnatd.k (no longer needed).
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup.
|
||
* inline.ads (Backend_Inlined_Subps): New
|
||
Elist. (Backend_Not_Inlined_Subps): New Elist.
|
||
(Has_Excluded_Declaration): Declaration previously located in
|
||
* inline.adb (Has_Excluded_Statement): Declaration previously
|
||
located in inline.adb
|
||
* inline.adb (Has_Single_Return): Moved out of
|
||
Build_Body_To_Inline to avoid having duplicated code.
|
||
(Number_Of_Statements): New subprogram.
|
||
(Register_Backend_Inlined_Subprogram): New subprogram.
|
||
(Register_Backend_Not_Inlined_Subprogram): New subprogram.
|
||
(Add_Inlined_Subprogram): Register backend inlined subprograms and
|
||
also register subprograms that cannot be inlined by the backend.
|
||
(Has_Excluded_Declaration): Moved out of Build_Body_To_Inline
|
||
to avoid having duplicated code. Replace occurrences of
|
||
Debug_Flag_Dot_K by Back_End_Inlining.
|
||
* sem_res.adb (Resolve_Call): Code cleanup.
|
||
* exp_ch6.adb (Expand_Call): Complete previous patch. Replace
|
||
occurrence of Debug_Flag_Dot_K by Back_End_Inlining.
|
||
(List_Inlining_Info): Add listing of subprograms passed to the
|
||
backend and listing of subprograms that cannot be inlined by
|
||
the backend.
|
||
* sem_ch12.adb, sem_ch3.adb Replace occurrences of
|
||
Debug_Flag_Dot_K by Back_End_Inlining.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* nlists.ads: Minor code fix (remove unwise Inline for
|
||
List_Length).
|
||
|
||
2014-07-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* einfo.adb: Remove VMS specific code.
|
||
* exp_attr.adb: Remove VAX specific code.
|
||
* set_targ.adb: Remove handling of VAX_Float.
|
||
* sem_vfpt.adb: Remove references to Vax_Native.
|
||
* sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-07-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/trans.c, gcc-interface/misc.c: Remove references
|
||
to VMS. Misc clean ups.
|
||
* gcc-interface/Makefile.in (gnatlib-shared-vms): Remove.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb, einfo.adb, einfo.ads, errout.adb, exp_attr.adb,
|
||
exp_prag.adb, frontend.adb, interfac.ads,
|
||
par-prag.adb, s-auxdec.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads,
|
||
s-fvaffl.ads, s-fvagfl.ads, s-vaflop.ads, sem_attr.adb, sem_attr.ads,
|
||
sem_ch13.adb, sem_ch3.adb, sem_ch8.adb, sem_prag.adb, snames.adb-tmpl,
|
||
snames.ads-tmpl: Remove obsolete VMS-specific code.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-07-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-intnam-linux.ads: Minor: update obsolete comments.
|
||
* s-taasde.adb: Minor: fix comment header.
|
||
|
||
2014-07-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-auxdec-vms-ia64.adb, s-parame-vms-alpha.ads, s-asthan-vms-alpha.adb,
|
||
s-tpopde-vms.adb, s-mastop-vms.adb, s-tpopde-vms.ads, s-taprop-vms.adb,
|
||
mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, s-inmaop-vms.adb,
|
||
g-enblsp-vms-alpha.adb, s-ransee-vms.adb, s-osprim-vms.adb,
|
||
s-osprim-vms.ads, g-socthi-vms.adb, g-socthi-vms.ads, system-vms_64.ads,
|
||
s-osinte-vms.adb, s-osinte-vms.ads, g-eacodu-vms.adb,
|
||
s-vaflop-vms-alpha.adb, s-parame-vms-ia64.ads, a-dirval-vms.adb,
|
||
a-caldel-vms.adb, mlib-tgt-specific-vms-alpha.adb, s-tasdeb-vms.adb,
|
||
symbols-vms.adb, a-intnam-vms.ads, g-expect-vms.adb,
|
||
symbols-processing-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
|
||
s-traent-vms.adb, s-traent-vms.ads, i-cstrea-vms.adb, a-numaux-vms.ads,
|
||
symbols-processing-vms-ia64.adb, s-interr-vms.adb, s-memory-vms_64.adb,
|
||
s-memory-vms_64.ads, g-enblsp-vms-ia64.adb, s-taspri-vms.ads,
|
||
s-auxdec-vms_64.ads, s-intman-vms.adb, s-intman-vms.ads,
|
||
s-tpopsp-vms.adb, s-asthan-vms-ia64.adb, a-calend-vms.adb,
|
||
a-calend-vms.ads, system-vms-ia64.ads, s-auxdec-vms-alpha.adb: Removed.
|
||
* namet.h (Is_Non_Ada_Error): Remove.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, lib-writ.adb, sem_ch12.adb, s-direio.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the comment
|
||
which demonstrates the expansion of while loops subject to
|
||
attribute 'Loop_Entry. The condition of a while loop along with
|
||
related condition actions is now wrapped in a function. Instead
|
||
of repeating the condition, the expansion now calls the function.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Check_Against_Predicate): Correct off-by-one
|
||
error when reporting of missing values in a case statement for
|
||
a type with a static predicate.
|
||
(Check_Choices): Reject a choice given by a subtype to which a
|
||
Dynamic_Predicate applies.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
|
||
Has_Dynamic_Predicate_Aspect flag from parent.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): A predicate
|
||
cannot apply to a subtype of an incomplete type.
|
||
(Is_Static_Choice): Treat an Others_Clause as static. The
|
||
staticness of the expression and of the range are checked
|
||
elsewhere.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.h (__gnat_ftell64): Added.
|
||
(__gnat_fseek64): Added.
|
||
(__int64): Added.
|
||
* cstreams.c (__int64): Removed.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-stream.ads (Stream_Element_Offset): Now a signed 64bit type.
|
||
* i-cstrea.ads, s-crtl.ads (fseek64): Offset is always a 64bit value.
|
||
(ftell64): Always returns a 64bit value.
|
||
* cstreams.c (int64): New definition.
|
||
(_FILE_OFFSET_BITS): Set to 64 to enable 64bit offset support.
|
||
(__gnat_ftell64): Always returns a 64bit value. The implemenation now
|
||
uses ftello() on UNIX.
|
||
(__gnat_fseek64): Offset is always a 64bit value. The
|
||
implementation now uses fseeko() on UNIX.
|
||
* a-ststio.adb, s-direio.adb (Set_Position): Simplify code,
|
||
always use fseek64 to set the offset.
|
||
(Size): Simplify code, always use fseek64/ftell64.
|
||
* s-direio.ads (Count): Now an int64.
|
||
* g-socket.ads (Vector_Element): Adjust definition for Length
|
||
to be a size_t. This matches the C definition and avoid using
|
||
a 64bit integer on 32bit platforms now that Count is always 64bit.
|
||
* g-socthi-mingw.adb (Ada.Streams): Removed as not used anymore.
|
||
(C_Recvmsg): Change some conversion to account for change in
|
||
Vector_Element.
|
||
(C_Sendmsg): Likewise.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): Remove handling of -gnatdm flag.
|
||
* debug.adb: Remove documentation of -gnatdm flag.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Remove handling of
|
||
-gnatdm flag.
|
||
|
||
2014-07-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* lib-writ.adb (Write_Unit_Information): Fix case where U =
|
||
No_Unit.
|
||
|
||
2014-07-31 Claire Dross <dross@adacore.com>
|
||
|
||
* exp_util.adb, exp_util.ads
|
||
(Get_First_Parent_With_External_Axiomatization_For_Entity):
|
||
New routine to find the first parent of an entity with
|
||
a pragma Annotate (GNATprove, External_Axiomatization).
|
||
(Has_Annotate_Pragma_For_External_Axiomatization): New function
|
||
to check if a package has a pragma Annotate (GNATprove,
|
||
External_Axiomatization).
|
||
* einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New
|
||
flag on the entity for the declaration created for a formal
|
||
subprogram in an instance. This is a renaming declaration,
|
||
or in GNATprove_Mode the declaration of an expression function
|
||
that captures the axiomatization of the actual.
|
||
* sem_ch6.adb (Analyze_Expression_Function): For a
|
||
Generic_Actual_Subprogram, place body immediately after the
|
||
declaration because it may be used in a subsequent declaration
|
||
in the instance.
|
||
* sem_ch12.adb (Build_Wrapper): Add code to handle instances where
|
||
the actual is a function, not an operator. Handle functions with
|
||
one and two parameters and binary and unary operators.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* cstreams.c (__gnat_is_regular_file_fd): Removed.
|
||
* adaint.c (__gnat_is_regular_file_fd): Added.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_strm.adb: Minor reformatting.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to
|
||
Analyze_Associations, to create a wrapper around operators that
|
||
are actuals to formal subprograms. This is done in GNATProve
|
||
mode in order to propagate the contracts of the operators to
|
||
the body of the instance.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Old): The reference is
|
||
legal if within an aspect specification for a generic subprogram.
|
||
|
||
2014-07-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* gnat1drv.adb (Back_End_Inlining): Set to false if
|
||
Suppress_All_Inlining is set.
|
||
* debug.adb: Adding documentation for -gnatd.z.
|
||
* inline.adb (Add_Inlined_Body): Extend the -gnatn2
|
||
processing to -gnatn1 for calls to Inline_Always routines.
|
||
(Add_Inlined_Subprogram): Remove previous patch.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_One_Function): Apply properly the static
|
||
semantic rules for indexing aspects and the functions they denote.
|
||
|
||
2014-07-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* debug.adb: Complete documentation of -gnatd.z.
|
||
|
||
2014-07-31 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor doc fixes.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing
|
||
index value.
|
||
|
||
2014-07-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-unstyp.ads (Packed_Byte): Make this type universal aliasing.
|
||
(Packed_Bytes1): Make component aliased.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-unstyp.ads, s-fileio.adb: Minor reformatting.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP
|
||
on array references here, now done more selectively in trans.c.
|
||
|
||
2014-07-31 Doug Rupp <rupp@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Is_Effectively_Volatile): New routine.
|
||
|
||
2014-07-31 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document --test-duration option for gnattest.
|
||
|
||
2014-07-31 Javier Miranda <miranda@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* opt.ads (Back_End_Inlining): New variable which controls
|
||
activation of inlining by back-end expansion.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Initialize Back_End_Inlining
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build
|
||
the body to be inlined by the frontend if Back_End_Inlining
|
||
is enabled.
|
||
* exp_ch6.adb (Register_Backend_Call): Moved to inline.adb.
|
||
(Expand_Call): If backend inlining is enabled let the backend to
|
||
handle inlined subprograms.
|
||
* inline.ads (Register_Backend_Call): Moved here from exp_ch6
|
||
* inline.adb (Register_Backend_Call): Moved here from exp_ch6.
|
||
(Add_Inlined_Subprogram): Add subprograms when Back_End_Inlining is set.
|
||
(Must_Inline): Do not return Inline_Call if Back_End_Inlining is
|
||
enabled.
|
||
* debug.adb Document -gnatd.z
|
||
* fe.h Import Back_End_Inlining variable.
|
||
* gcc-interface/utils.c (create_subprog_decl): If Back_End_Inlining is
|
||
enabled then declare attribute "always inline"
|
||
* gcc-interface/decl.c, gcc-interface/trans.c,
|
||
gcc-interface/gigi.h: Add handling of Inline_Always pragma.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ngelfu.ads: Minor comment fix.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Replace all calls to
|
||
Is_SPARK_Volatile with Is_Effectively_Volatile and update
|
||
related comments.
|
||
* sem_ch3.adb (Analyze_Object_Contract, Process_Discriminants):
|
||
Replace all calls to Is_SPARK_Volatile with
|
||
Is_Effectively_Volatile and update related comments.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification,
|
||
Analyze_Loop_Parameter_Specification): Replace all calls to
|
||
Is_SPARK_Volatile with Is_Effectively_Volatile and update
|
||
related comments.
|
||
* sem_ch6.adb (Process_Formals): Replace all calls to
|
||
Is_SPARK_Volatile with Is_Effectively_Volatile and update
|
||
related comments.
|
||
* sem_ch12.adb (Instantiate_Object): Replace the call to
|
||
Is_SPARK_Volatile_Object with Is_Effectively_Volatile_Object
|
||
and update related comment.
|
||
* sem_prag.adb (Analyze_External_Property_In_Decl_Part,
|
||
Analyze_Global_Item): Replace all calls to Is_SPARK_Volatile
|
||
with Is_Effectively_Volatile and update related comments.
|
||
* sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Replace
|
||
all calls to Is_SPARK_Volatile with Is_Effectively_Volatile and
|
||
update related comments.
|
||
* sem_util.adb (Has_Enabled_Property,
|
||
Variable_Has_Enabled_Property): Replace all calls
|
||
to Is_SPARK_Volatile with Is_Effectively_Volatile and
|
||
update related comments.
|
||
(Is_Effectively_Volatile): New routine.
|
||
(Is_Effectively_Volatile_Object): New routine.
|
||
(Is_SPARK_Volatile): Removed.
|
||
(Is_SPARK_Volatile_Object): Removed.
|
||
* sem_util.ads (Is_Effectively_Volatile): New routine.
|
||
(Is_Effectively_Volatile_Object): New routine.
|
||
(Is_SPARK_Volatile): Removed.
|
||
(Is_SPARK_Volatile_Object): Removed.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-fileio.adb (Open): Make sure a shared file gets inserted into
|
||
the global list atomically. This ensures that the file descriptor
|
||
won't be freed because another tasks is closing the file.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on
|
||
generation of _FIRST and _LAST variables even in GNATprove_Mode.
|
||
* gnat_ugn.texi: Minor editing.
|
||
* sem_prag.adb (Ensure_Aggregate_Form): Make sure generated
|
||
aggregate is marked Comes_From_Source if argument is CFS.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-fileio.adb: Remove obsolete comment.
|
||
|
||
2014-07-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-strbou.ads ("=" (Bounded_String, Bounded_String): Add
|
||
overriding keyword before function to avoid error when compiler
|
||
is called with -gnatyO (check overriding indicators).
|
||
|
||
2014-07-31 Tucker Taft <taft@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add a paragraph pointing the reader
|
||
to the "plugins" example.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Document the
|
||
purpose of the parent chain traversal.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for
|
||
unconstrained fpt ops.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-fileio.adb (Open): Make sure a shared file gets inserted into
|
||
the global list atomically. This ensures that the file descriptor
|
||
won't be freed because another tasks is closing the file.
|
||
|
||
2014-07-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Minor spelling error fix.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document No_Elaboration_Code_All restriction.
|
||
* lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit
|
||
information.
|
||
* lib.ads, lib.adb (No_Elab_Code): New field in unit information.
|
||
* restrict.adb (Process_Restriction_Synonyms): Add handling
|
||
of No_Elaboration_Code_All.
|
||
* restrict.ads (Process_Restriction_Synonyms): Now handles
|
||
No_Elaboration_Code_All.
|
||
* sem_ch10.adb (Analyze_Context): Enforce transitive with for
|
||
No_Elaboration_Code_All.
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Handle setting of No_Elab_Code in unit information. Handle
|
||
No_Elaboration_Code_All.
|
||
* snames.ads-tmpl (Name_No_Elaboration_Code): New name for
|
||
pragma processing.
|
||
(Name_No_Elaboration_Code_All): New name for pragma processing.
|
||
|
||
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
|
||
types with a null range and use the Esize of the component
|
||
instead of its RM_Size to identify appropriate values.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb Add with and use clause for Aspects.
|
||
(Freeze_Expression): Emit an error when a volatile constant lacks
|
||
Boolean aspect Import.
|
||
(Has_Boolean_Aspect_Import): New routine.
|
||
|
||
2014-07-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb: Minor reformatting.
|
||
|
||
2014-07-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* errutil.adb (Error_Msg): Make sure that all components of
|
||
the error message object are initialized.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): If the container type is
|
||
class-wide, use specific type to locate iteration primitives.
|
||
* sem_ch13.adb (Check_Indexing_Functions): Add legality checks for
|
||
rules in RM 4.1.6 (Illegal_Indexing): New diagnostic procedure.
|
||
Minor error message reformating.
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Handle properly Iterator
|
||
aspect for a derived type.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document debug flag d.X.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
|
||
* sem_util.adb (Find_Specific_Type): If type is untagged private,
|
||
retrieve full view so that primitive operations can be located.
|
||
* exp_disp.adb Move Find_Specific_Type to sem_util.
|
||
* exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use
|
||
Find_Specific_Type to locate primitive equality.
|
||
* exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent
|
||
type does not require initialization.
|
||
* exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance
|
||
body all visibility is established, and the enclosing package
|
||
declarations must not be installed.
|
||
|
||
2014-07-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs):
|
||
Make subprogram public.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): New
|
||
predicate Discriminated_Size, to distinguish between private
|
||
components that depend on discriminants from those whose size
|
||
depends on some other non-static expression.
|
||
|
||
2014-07-31 Nicolas Setton <setton@adacore.com>
|
||
|
||
* g-exptty.adb (Close): Fix binding to Waitpid: use the
|
||
tty version.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Make_Index): Reject properly the use of 'Length
|
||
in a discrete range, when 'range was probably intended.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb, sem_warn.ads (Has_Junk_Name): Moved from body to spec.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb: Minor reformatting.
|
||
* sem.adb: Minor reformatting.
|
||
* sem_ch6.adb (Analyze_Null_Procedure): Set proper sloc for
|
||
identifiers on rewrite.
|
||
* par.adb: Minor comment updates.
|
||
* a-ngelfu.adb (Cos): Minor simplification.
|
||
* par-ch13.adb (Get_Aspect_Specifications): Improve messages
|
||
and recovery for bad aspect.
|
||
* exp_ch3.adb: Code clean up.
|
||
* sem_util.ads: Minor comment correction.
|
||
* sem_ch13.adb (Check_Array_Type): Properly handle large types.
|
||
* sem_ch3.adb: Code clean up.
|
||
* binderr.ads: Minor comment correction.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Interface_Conversion): A call whose
|
||
prefix is a static conversion to an interface type that is not
|
||
class-wide is not dispatching.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb,
|
||
s-traceb-mastop.adb: Minor reformatting.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform
|
||
expansion, to handle properly visibility of selected components
|
||
in instance bodies.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends.
|
||
* par-ch2.adb (P_Pragma): Set Inside_Depends.
|
||
* par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to
|
||
Check_Unary_Plus_Or_Minus.
|
||
* scans.ads (Inside_Depends): New flag.
|
||
* scng.adb (Scan): Pass Inside_Depends to Check_Arrow.
|
||
* style.ads: Add Inside_Depends parameter to Check_Arrow Add
|
||
Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
|
||
* styleg.adb (Check_Arrow): Handle Inside_Depends case.
|
||
(Check_Unary_Plus_Or_Minus): Handle Inside_Depends case.
|
||
* styleg.ads: Add Inside_Depends parameter to Check_Arrow Add.
|
||
Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
|
||
|
||
2014-07-31 Javier Miranda <miranda@adacore.com>
|
||
|
||
* s-vaflop.adb Move the body of function T_To_G before
|
||
T_To_D. Required for frontend inlining.
|
||
* inline.adb (Has_Excluded_Contract): New subprogram used to
|
||
check if a subprogram inlined by the frontend has contracts
|
||
which cannot be inlined.
|
||
|
||
2014-07-31 Bob Duff <duff@adacore.com>
|
||
|
||
* s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb:
|
||
(Call_Chain): Add 1 to number of frames to skip, to account for
|
||
the fact that there's one more frame on the stack.
|
||
* gcc-interface/Makefile.in (s-traceb.o): Adjust rules.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Enable_Overflow_Check): More precise setting of
|
||
Do_Overflow_Check flag for division.
|
||
|
||
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject packed
|
||
array types with implementation type.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch10.adb (Process_State): Remove local variable Name. Add
|
||
local variable Decl. Partially declare an abstract state by
|
||
generating an entity and storing it in the state declaration.
|
||
* sem_prag.adb (Create_Abstract_State): Fully declare a
|
||
semi-declared abstract state.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2014-07-31 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasdeb.adb (System.Tasking.Debug): Remove
|
||
all usage of the secondary stack from this package.
|
||
|
||
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Update the loop in charge
|
||
of finding a proper insertion place for freeze nodes to handle
|
||
N_Expression_With_Actions nodes.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Has_Preelaborable_Initialization): Check that
|
||
type is tagged before checking whether a user-defined Initialize
|
||
procedure is present.
|
||
|
||
2014-07-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-ngelfu.ads (Sqrt): Augment postcondition.
|
||
|
||
2014-07-31 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes): An aggegate library
|
||
directory and ALI directory must be different than all object
|
||
and library directories of aggregated projects.
|
||
|
||
2014-07-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec
|
||
to package body, as it is not called from outside. Remove argument
|
||
Project_Tree, no longer used. When runtime cannot be found,
|
||
call Raise_Invalid_Config instead of failing the program.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress
|
||
(Overflow_Check).
|
||
* gnatlink.adb (Process_Args): Remove generation of -gnato0,
|
||
no longer needed.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document new switch -gnato0.
|
||
* sem_ch3.ads: Minor reformatting.
|
||
* gnatlink.adb (Process_Args): Compile bind file with -gnato0
|
||
(we do not want overflow checks when incrementing elaboration
|
||
counters).
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, freeze.adb, exp_ch3.adb: Minor comment correction.
|
||
* s-arit64.adb: Minor reformatting.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow
|
||
checking is enabled except in GNAT_Mode.
|
||
* switch-c.adb (Scan_Front_End_Switches): Implement -gnato0
|
||
(suppress overflow checks).
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Record_Type): Do not build an
|
||
invariant procedure for an internally generated subtype that is
|
||
created for an object of a class-wide type.
|
||
|
||
2014-07-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb, errutil.adb: Make code similar to Errout.
|
||
|
||
2014-07-31 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_aux.ads, einfo.ads, sem_util.ads, sem_ch6.adb,
|
||
exp_disp.adb: Minor reformatting.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, exp_ch9.adb,
|
||
sem_ch7.adb, checks.adb, s-exctra.adb, exp_ch6.adb, exp_disp.adb,
|
||
exp_dist.adb, sem_ch13.adb, exp_strm.adb, exp_ch3.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Invariant_Checks): If the enclosing record
|
||
is an unchecked_union, warn that invariants will not be checked
|
||
on components that have them.
|
||
|
||
2014-07-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Check for error of
|
||
Type_Invariant'Class applied to a untagged type.
|
||
* sem_ch6.adb (Analyze_Null_Procedure): Unconditionally rewrite
|
||
as null body, so that we perform error checks even if expansion
|
||
is off.
|
||
|
||
2014-07-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Build_Invariant_Procedure): If body of procedure
|
||
is already present, nothing to do.
|
||
* exp_ch3.adb (Build_Component_Invariant_Call): For an access
|
||
component, check whether the access type has an invariant before
|
||
checking the designated type.
|
||
(Build_Record_Invariant_Proc): Change suffix of generated
|
||
name to prevent ambiguity when record type has invariants
|
||
in addition to those of components, and two subprograms are
|
||
constructed. Consistent with handling of array types.
|
||
(Insert_Component_Invariant_Checks): Build invariant procedure
|
||
body when one has not been created yet, in the case of composite
|
||
types that are completions and whose full declarations carry
|
||
invariants.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor doc fixes.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-rbtgbo.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing
|
||
of error message.
|
||
* prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the
|
||
message to report that a directory cannot be created, to avoid
|
||
processing of the directory path that may contains special
|
||
insertion characters.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-crdlli.ads: Place declaration of Empty_List after full type
|
||
declaration for Curosr, to prevent freezing error.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* get_targ.adb: Minor code reorganization.
|
||
* prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error,
|
||
not Program_Error, when attempting to remove an element not in
|
||
the set. This is the given semantics for all set containers.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-rbtgbo.adb (Delete_Node_Sans_Free): If
|
||
element is not present in tree return rather than violating
|
||
an assertion. Constraint_Error will be raised in the caller if
|
||
element is not in the container.
|
||
|
||
2014-07-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* set_targ.adb (Read_Target_Dependent_Values): New subprogram.
|
||
(elab body): Add provision for default target config file.
|
||
* get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error,
|
||
when attempting to remove an element not in the set. This is
|
||
the given semantics for all set containers.
|
||
* a-cborse.adb (Delete): Attempt removal first, to check for
|
||
tampering, before checking whether this is an attempt to
|
||
delete a non-existing element, and in fthe latter case raise
|
||
Constraint_Error.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Recursive_Process): Do not create a new
|
||
Project_Id if the project is already in the list of projects of
|
||
the tree.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Return): Reject a return expression
|
||
whose type is an incomplete formal type.
|
||
(Analyze_Return_Type): Reject a return type that is an untagged
|
||
imcomplete formal type.
|
||
(Process_Formals): Reject a formal parameter whose type is an
|
||
untagged formal incomplete type.
|
||
* sem_res.adb (Resolve_Actuals): Reject an actual whose type is
|
||
an untagged formal incomplete type.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor spelling correction.
|
||
* makeutl.adb: Minor code reorganization.
|
||
* exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads (Has_Unchecked_Union): Document that this is used
|
||
to check for illegal Valid_Scalars attribute references.
|
||
* exp_attr.adb (Build_Record_VS_Func): New function
|
||
(Expand_N_Attribute_Reference, case Valid_Scalars): Call this
|
||
function.
|
||
* gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
|
||
Unchecked_Union Add note on 'Valid_Scalars generating a lot
|
||
of code.
|
||
* sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
|
||
error on attempt to apply Valid_Scalars to Unchecked_Union type.
|
||
|
||
2014-07-30 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Indexed_Component): Disable optimized handling
|
||
of A(I..J)(K) in CodePeer_Mode.
|
||
|
||
2014-07-30 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* lib-writ.ads: document format change.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.adb (For_Interface_Sources): Do not
|
||
include sources from withed externally built projects.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.adb: Minor reformatting.
|
||
* prj-util.adb: Minor reformatting.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Build_Record_Aggr_Code): For an array component
|
||
that depends on discriminants, and which is given by an others
|
||
clause, create an explicit subtype with the discriminant values
|
||
of the enclosing aggregate, because the backend cannot otherwise
|
||
retrieve the actual bounds of the array.
|
||
|
||
2014-07-30 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Improve gnattest documentation.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* makeutl.adb (Insert_Project_Sources): Properly handle sources
|
||
that are aggregated. We want to include sources not only part
|
||
of libraries but also if part of an aggregated project from an
|
||
aggregate library.
|
||
* prj.adb (For_Project_And_Aggregated_Context): Properly check
|
||
state of root project.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* lib-load.ads: Minor reformatting.
|
||
* sinfo.ads (Library_Unit): Update comment.
|
||
* lib.ads (Notes): Simplify. The Unit component in Notes_Entry
|
||
is redundant. Instead used the pragma Node_Id directly as the
|
||
element type.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* lib.adb (Store_Note): Store only notes that do not come from
|
||
an instance, and that are in the extended main source unit.
|
||
* lib-writ (Write_Unit_Information): Annotations from subunits
|
||
must be emitted along with those for the main unit, and they
|
||
must carry a specific file name.
|
||
* ali.ads (Notes_Record): Use a File_Name_Type instead of a
|
||
Unit_Id for the source file containing the pragma, as in the
|
||
case of annotations from subunits we might not have a readily
|
||
available unit id.
|
||
* ali.adb (Scan_ALI): Account for above change in data structure.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Insert_Project_Sources): When the library project
|
||
is an aggregate Stand-Alone Library, insert in the queue the
|
||
Ada interface units, with Closure set to True;
|
||
|
||
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb: Fix minor typo.
|
||
* makeutl.adb: Minor reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.ads: Fix typo in comment.
|
||
|
||
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* sem_util.adb (Set_Debug_Info_Needed): For scalar types, recurse on
|
||
entities that materialize range bounds, if any.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Minor spelling fix.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Make_Bignum_Block): Use the new secondary stack
|
||
build routines to manage the mark.
|
||
* exp_ch7.adb (Create_Finalizer, Expand_Cleanup_Actions):
|
||
Use the new secodary stack build routines to manage the mark.
|
||
(Insert_Actions_In_Scope_Around): Add new formal parameter
|
||
Manage_SS along with comment on its usage. Code and comment
|
||
reformatting. Mark and release the secondary stack when the
|
||
context warrants it.
|
||
(Make_Transient_Block): Update the call
|
||
to Insert_Actions_In_Scope_Around to account for parameter Manage_SS.
|
||
(Wrap_Transient_Declaration): Remove local variable
|
||
Uses_SS. Ensure that the secondary stack is marked and released
|
||
when the related object declaration appears in a library level
|
||
package or package body. Code and comment reformatting.
|
||
* exp_util.ads, exp_util.adb (Build_SS_Mark_Call): New routine.
|
||
(Build_SS_Release_Call): New routine.
|
||
|
||
2014-07-30 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_attr.adb: Revert previous change, not needed after all.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Queue.Insert_Project_Sources): Insert with
|
||
Closure => True for interfaces of Stand-Alone Libraries.
|
||
* makeutl.ads (Source_Info (Format => Gprbuild)): Add new
|
||
Boolean component Closure, defaulted to False.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb: Fix typo in error message.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Range_Expr_In_Decl): Use _FIRST/_LAST
|
||
as name suffixes rather than L/H for subtype bounds.
|
||
* tbuild.ads: Minor comment improvements and fixes
|
||
(Make_External_Name): Document that suffix can start with an
|
||
underscore.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document --rep-clauses switch.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Default_Value and
|
||
Default_Component_Value can only be specified for scalar type or
|
||
arrays of scalar types respectively. This legality check must
|
||
be performed at the point the aspect is analyzed, in order to
|
||
reject aspect specifications that apply to a partial view.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Attribute, case First/Last): Don't expand in
|
||
codepeer mode.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Check_Expression_Function): At the freeze point
|
||
of an expression function, verify that the expression in the
|
||
function does not contain references to any deferred constants
|
||
that have no completion yet.
|
||
(Freeze_Expression, Freeze_Before): call
|
||
Check_Expression_Function.
|
||
* a-ciorse.ads: Add Reference_Control_Type to detect tampering.
|
||
* a-ciorse.adb: Add Adjust and Finalize routines for
|
||
Reference_Control_Type. Use it in the construction of Reference
|
||
and Constant_Reference values.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Update comments.
|
||
* a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor
|
||
reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb (New_Standard_Entity): New version takes name
|
||
string to call Make_Name.
|
||
(Create_Standard): Use this routine to set name before setting other
|
||
fields.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Attribute, case First): Rewrite simple
|
||
entity reference.
|
||
(Expand_Attribute, case Last): Ditto.
|
||
* exp_ch3.adb (Constrain_Index): New calling sequence for
|
||
Process_Range_Expr_In_Decl.
|
||
(Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one
|
||
problematical case.
|
||
* sem_ch3.adb (Constrain_Index): New calling sequence for
|
||
Process_Range_Expr_In_Decl.
|
||
(Set_Scalar_Range_For_Subtype): ditto.
|
||
(Process_Range_Expr_In_Decl): Create constants to hold bounds for
|
||
subtype.
|
||
* sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter.
|
||
* sem_eval.adb (Compile_Time_Compare): Make sure we use base
|
||
types if we are not assuming no invalid values.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* clean.adb: Minor reformatting.
|
||
* opt.ads: Minor fix to incorrect comment.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-chtgbo.ads, a-chtgbo.adb (Delete_Node_At_Index): New
|
||
subprogram, used by bounded hashed sets, to delete a node at
|
||
a given index, whose element may have been improperly updated
|
||
through a Reference_Preserving key.
|
||
* a-cbhase.ads: Add Reference_Control_Type to package Generic_Keys.
|
||
* a-cbhase.adb: Add Adjust and Finalize routines for
|
||
Reference_Control_Type.
|
||
(Delete, Insert): Raise Program_Error, not Constraint_Error,
|
||
when operation is illegal.
|
||
(Reference_Preserving_Key): Build aggregate for Reference_Control_Type
|
||
* a-cmbutr.ads: Add Reference_Control_Type to detect tampering. Add
|
||
private with_clause for Ada.Finalization.
|
||
* a-cbmutr.adb: Add Adjust and Finalize routines for
|
||
Reference_Control_Type. Use it in the construction of Reference
|
||
and Constant_Reference values.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch3.ads: Minor code reorganization.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* clean.adb (Clean_Project): Properly check for directory
|
||
existence before trying to enter it.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch5.adb (P_Sequence_Of_Statements): Properly handle
|
||
missing semicolon after name.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads (Gprinstall_Flags): New constant.
|
||
* prj-nmsc.adb (Check_Library_Attributes): Do not fails for
|
||
missing library dir if Directories_Must_Exist_In_Projects
|
||
is false.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* a-except-2005.adb, a-except.adb: Remove obsolete comments.
|
||
* s-traceb.ads: Updagte comments.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads,
|
||
a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads,
|
||
a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New
|
||
subprogram, used by all versions of hashed sets, to delete a node
|
||
whose element has been improperly updated through a Reference_
|
||
Preserving key.
|
||
* a-cohase.adb: Remove Delete_Node, use new common procedure
|
||
Delete_Node_At_Index.
|
||
* a-cihase.ads: Add Reference_Control_Type to package Generic_Keys.
|
||
* a-cihase.adb: Add Adjust and Finalize routines for
|
||
Reference_Control_Type.
|
||
(Reference_Preserving_Key): Build aggregate for
|
||
Reference_Control_Type
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb, checks.ads (Determine_Range_R): New procedure to
|
||
determine the possible range of a floating-point expression.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cborse.ads: Add Reference_Control_Type to package Generic_Keys.
|
||
* a-cborse.adb: Add Adjust and Finalize routines for
|
||
Reference_Control_Type.
|
||
(Reference_Preserving_Key): Build aggregate for
|
||
Reference_Control_Type.
|
||
(Delete): Check for tampering, and raise Program_Error (not
|
||
Constraint_Error) when attempting to delete an element not in
|
||
the set.
|
||
(Insert): Ditto.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb,
|
||
* a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb:
|
||
Exception_Information is used to produce useful debugging
|
||
information for the programmer. However, it was also used to
|
||
implement the stream attributes for type Exception_Occurrence. The
|
||
latter requires a stable and portable interface, which meant
|
||
that we couldn't include a symbolic traceback. A separate set of
|
||
routines was used to provide symbolic tracebacks under program
|
||
control (i.e. not automatically). The goal of this ticket is
|
||
to provide such automatic tracebacks, so the change here is to
|
||
split the two functionalities: Exception_Information gives the
|
||
maximally useful information for debugging (i.e. it now includes
|
||
a symbolic traceback when a decorator is set, and it can be
|
||
improved freely in the future without disturbing streaming).
|
||
Untailored_Exception_Information always uses hexadecimal addresses
|
||
in the traceback, has a stable and portable output, and is now
|
||
used for streaming.
|
||
|
||
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Array_Aggregate): Add missing test
|
||
on the target of the assignment to find out whether it
|
||
can be directly done by the back-end.
|
||
* exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads,
|
||
a-tasatt.adb: Minor reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
|
||
Reference_Control_Type to generic package, to keep additional
|
||
information for Reference_Types that manipulate keys. Add Adjust and
|
||
Finalize procedures for this type.
|
||
(Finalize): When finalizing a reference_preserving_key, verify
|
||
that the key of the new value is equivalent to the key of the
|
||
original element, raise Program_Error otherwise.
|
||
(Insert): Detect tampering.
|
||
(Reference_Preserving_Key): Build proper Reference_Control_Type,
|
||
and update Busy and Lock bits to detect tampering.
|
||
* a-cohase.ads: Keep with-clause private.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
|
||
of an equality are of an Unchecked_Union type and lack inferable
|
||
discriminants.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl,
|
||
g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move
|
||
GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System
|
||
hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so
|
||
we can call them from the runtimes. Leave renamings in place under GNAT.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Check_And_Build_Body_To_Inline): Include code for
|
||
inlining in GNATprove mode.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cohase.adb, a-cohase.ads (Generic_Keys): Add a
|
||
Reference_Control_Type to generic package, to keep additional
|
||
information for Reference_Types that manipulate keys. Add Adjust and
|
||
Finalize procedures for this type.
|
||
(Delete_Node): New procedure called when finalizing a
|
||
Reference_Control_Type, to remove a node whose element has been
|
||
improperly updated through a Reference.
|
||
(Insert): Detect tampering.
|
||
(Reference_Preserving_Key): Build proper Reference_Control_Type,
|
||
and update Busy and Lock bits to detect tampering.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_intr.ads: Minor comment fix.
|
||
|
||
2014-07-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_prag.adb, a-tags.ads: Minor typo fixes.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* a-excach.adb, a-excach-cert.adb, a-except-2005.ads,
|
||
a-except.ads, g-traceb.adb, memtrack.adb,
|
||
s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
|
||
Cleanup: Make the three versions of System.Traceback.Call_Chain
|
||
have the same interface. Use an array for the Traceback parameter
|
||
instead of an Address. This will enable reduction in code
|
||
duplication.
|
||
|
||
2014-07-30 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_ugn.texi: Corrected minor textual error in description
|
||
of switch -gnatwl.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* Makefile.rtl: Sort file names.
|
||
|
||
2014-07-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-tasatt.adb: Complete previous change: kill spurious warning
|
||
on e.g. sparc, and make sure we only use the fast path when the
|
||
alignment is compatible.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as
|
||
coming from source.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Build_Body_To_Inline): Issue more precise messages
|
||
for declarations that prevent inlining.
|
||
(Cannot_Inline): Change usual start of message to refer to contextual
|
||
analysis in GNATprove mode.
|
||
* sem_res.adb (Resolve_Call): Change usual start of message to
|
||
refer to contextual analysis in GNATprove mode, when inlining
|
||
not possible.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb, sem_ch6.adb: Minor code reorganization.
|
||
* inline.adb: Minor reformatting.
|
||
|
||
2014-07-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* a-tags.ads: Add comments.
|
||
|
||
2014-07-30 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor word error.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Old): Insert declarationss of temporaries
|
||
created to capture the value of the prefix of 'Old at the
|
||
beginning of the current declarative part, to prevent data flow
|
||
anomalies in the postcondition procedure that will follow.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Retire debug flag -gnatdQ.
|
||
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode
|
||
on decl, not on body. Ignore predicate functions.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of
|
||
debug flag -gnatdQ. Correctly analyze SPARK_Mode on decl and
|
||
body when generating a decl for a body on which SPARK_Mode aspect
|
||
is given.
|
||
* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for
|
||
attaching pragma to entity, to account for declaration not coming
|
||
from source.
|
||
* sem_res.adb (Resolve_Call): Issue warning and flag subprogram
|
||
as not always inlined in GNATprove mode, when called in an
|
||
assertion context.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* debug.adb: Minor comment update.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tasuti.adb, s-tassta.adb: Minor reformatting.
|
||
* sprint.adb (Sprint_Node): Handle N_Contract case.
|
||
* exp_prag.adb: Minor reformatting.
|
||
* freeze.adb (Freeze_Entity): Check useless postcondition for
|
||
No_Return subprogram.
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2014-07-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* a-tags.ads: Complete comments about performance.
|
||
|
||
2014-07-30 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Adding description for --exit-status option to
|
||
gnattest section. Fixing index entry of --passed-tests option
|
||
in gnattest section.
|
||
|
||
2014-07-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb,
|
||
rtsfind.ads: Remove references to package Interfaces.CPP since this
|
||
package is no longer needed.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taasde.adb (Timer_Queue): Don't use a
|
||
build-in-place function call to initialize the Timer_Queue.
|
||
* s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads:
|
||
Turn off polling in these units, because otherwise we get
|
||
elaboration circularities with Ada.Exceptions when the -gnatP
|
||
switch is used.
|
||
* s-tassta.adb (Create_Task): Make sure independent tasks
|
||
are created with Parent = Environment_Task. This was not true,
|
||
for example, in s-interr.adb, when Interrupt_Manager does "new
|
||
Server_Task"; the Server_Task had Parent = Interrupt_Manager,
|
||
which is wrong because the master is determined by the access
|
||
type, which is at library level.
|
||
* s-tasuti.adb (Make_Independent): Avoid setting Parent; it is
|
||
now set correctly by Create_Task.
|
||
(Make_Passive): Remove the workaround for the race condition in
|
||
Make_Independent.
|
||
* frontend.adb (Frontend): Revert to previous method of detecting
|
||
temporary configuration pragma files, recognizing such files by
|
||
".tmp" in the name. This is more general than detecting pragmas
|
||
Source_File_Name_Project, because it allows any tool to use
|
||
this naming convention, no matter the content of the file.
|
||
* gnat_ugn.texi: Document this naming convention.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads,
|
||
inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb,
|
||
s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads,
|
||
s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting.
|
||
* a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8
|
||
conversion.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Improve error recovery.
|
||
* inline.adb (Build_Body_To_Inline): Set Full_Analysis to false
|
||
before analyzing the body, so that in GNATprove mode there is
|
||
no light expansion. Whatever expansion is required by SPARK will
|
||
be performed when analysing the inlined code.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
|
||
verify that it is not hidden by an inner implicit declaration.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
|
||
* sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects.
|
||
* exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where
|
||
the call returns an unconstrained type: in this case there is
|
||
already a transient scope, and we should not establish a new one.
|
||
* exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If
|
||
True, also insert cleanup actions in the tree.
|
||
(Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around
|
||
with Clean set True.
|
||
|
||
2014-07-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taskin.ads (Direct_Index, Direct_Index_Range,
|
||
Direct_Attribute_Element, Direct_Attribute_Array,
|
||
Direct_Index_Vector, Direct_Attributes, Is_Defined,
|
||
Indirect_Attributes): Removed. (Atomic_Address,
|
||
Attribute_Array, Attributes): New.
|
||
* s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes,
|
||
Finalize_Attributes_Link, Initialize_Attributes_Link): Removed.
|
||
(Finalize_Attributes): Reimplement.
|
||
* s-tassta.adb (Create_Task): Remove call to
|
||
Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task):
|
||
Replace Finalize_Attributes_Link by Finalize_Attributes.
|
||
* a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb:
|
||
Reimplement from scratch, using a simpler and more efficient
|
||
implementation.
|
||
* s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment.
|
||
* s-parame.ads, s-parame-hpux.ads,
|
||
* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads,
|
||
* s-parame-vxworks.ads (Max_Attribute_Count): New, replace
|
||
Default_Attribute_Count.
|
||
|
||
2014-07-30 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* vxworks-ppc-link.spec: New file. Extra link
|
||
instructions for ppc-vxworks.
|
||
* vxworks-crtbe-link.spec: Likewise, for ZCX related support.
|
||
* system-vxworks-ppc.ads: Adjust linker options to use spec files.
|
||
* system-vxworks-arm.ads: Likewise.
|
||
* gcc-interface/Makefile.in: Enable .spec files.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb: Minor comment reformatting.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Junk_Name): Removed.
|
||
* sem_warn.adb (Has_Junk_Name): New function
|
||
(Check_References): Use Has_Junk_Name to delete junk warnings
|
||
(Check_Unset_Reference): ditto.
|
||
(Warn_On_Unreferenced_Entity): ditto.
|
||
(Warn_On_Useless_Assignment): ditto.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Insert_Valid_Check): Do not check for the packed
|
||
array type of a prefix that is an access type.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute
|
||
Unconstrained_Array even if prefix is not frozen yet, as can
|
||
occur with a private subtype used as a generic actual.
|
||
|
||
2014-07-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2014-07-30 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_rm.texi: Corrected minor wording error in description
|
||
of No_Exception_Registration.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove
|
||
mode. Realphabetize two subprograms.
|
||
* inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode.
|
||
(Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id.
|
||
(Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove
|
||
mode.
|
||
(Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use
|
||
Is_Inline in GNATprove mode.
|
||
(Analyze_Subprogram_Specification):
|
||
Set Is_Inlined_Always at subprogram entity creation.
|
||
* sem_res.adb (Resolve_Call): Do not deal with inlining during
|
||
pre-analysis. Issue warning on call to possibly inlined
|
||
subprogram when body not seen.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Add special
|
||
case for compiler-generated formals in GNATprove mode.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb: Add comments.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-os_lib.ads (GM_Time_Of): Clarify documentation.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_res.adb: Minor reformatting.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
Bit_Order): Set Reverse_Bit_Order on the base type of the
|
||
specified first subtype.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): Use a renaming declaration
|
||
to capture the value of actuals of a limited type rather than
|
||
an object declaration, to prevent spurious errors when analyzing
|
||
the inlined body.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body
|
||
as an instance, and inhibit semantic checks on already analyzed
|
||
code to prevent spurious errors.
|
||
|
||
2014-07-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-exctra.ads ("="): New function, to restore compatibility.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime
|
||
routine to use the OS dst setting.
|
||
|
||
2014-07-30 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor correction to description of -gnatw.K.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Wrong_Type): Disable some checks equally within
|
||
instances and within inlined bodies, to suppress spurious type
|
||
errors on already analyzed code.
|
||
* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression
|
||
is legal in an inlined body, juts as it is in an instance body.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined
|
||
body the operand of an unchecked conversion may be a literal, in
|
||
which case its type is the target type of the conversion. This
|
||
is in contrast to conversions in other contexts, where the
|
||
operand cannot be a literal and must be resolvable independent
|
||
of the context.
|
||
|
||
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a
|
||
mere scalar constant instead of a reference for a renaming of
|
||
scalar literal.
|
||
* gcc-interface/utils.c (renaming_from_generic_instantiation_p): New.
|
||
* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb,
|
||
g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb,
|
||
g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb,
|
||
s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb,
|
||
g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb,
|
||
s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting
|
||
& code reorganization.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tassta.adb, sem_util.ads: Minor reformatting.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Build_Body_To_Inline): Detect when
|
||
subprogram has multiple returns, or not a single last return
|
||
statement, in GNATprove mode.
|
||
(Cannot_Inline): Simplify logic to handle case of GNATprove
|
||
inlining first.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Stubs are not subject to inlining.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this
|
||
from a procedure to a function, so that it can more easily be
|
||
called before the "begin" of a task.
|
||
* s-taasde.ads (Delay_Block): Make this type immutably limited,
|
||
so we can use a build-in-place function call to initialize
|
||
Timer_Queue in the body.
|
||
* a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb,
|
||
* s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb,
|
||
* s-interr-vms.adb, s-taasde.adb: Each independent task now calls
|
||
Make_Independent before reaching its "begin", to avoid race
|
||
conditions. This causes the activating task to wait until after
|
||
Make_Independent is complete before proceeding. In addition,
|
||
we initialize data structures used by independent tasks before
|
||
activating those tasks, to avoid possible use of uninitialized data.
|
||
* s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads:
|
||
Minor comment fixes.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move
|
||
the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to
|
||
System.Traceback_Entries (s-traent.ads and s-traent-vms.ads). Add
|
||
subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback.
|
||
* g-debpoo.adb: Refer to Tracebacks_Array in its new home.
|
||
|
||
2014-07-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-tasatt.adb: Remove old comments.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.ads (Is_Inlined): Document new use in GNATprove mode.
|
||
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add comments
|
||
to explain rationale for inlining or not in GNATprove mode.
|
||
(Expand_Inlined_Call): In GNATprove mode, set Is_Inlined flag
|
||
to False when inlining is not possible.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Is_Inlined
|
||
flag to indicate that subprogram is fully inlined. To be reversed
|
||
if inlining problem is found.
|
||
* sem_res.adb (Resolve_Call): Set Is_Inlined flag to False when
|
||
call in potentially unevaluated context.
|
||
|
||
2014-07-30 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-tarest.adb, s-tarest.ads: Fix comments.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, checks.adb, sem_util.adb, sem_util.ads, sem_attr.adb:
|
||
Change No_Scalar_Parts predicate to Scalar_Part_Present and
|
||
invert sense of test. This avoids the "not No_xxx" situation
|
||
which is always ugly.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): When generating code for
|
||
an internal subprogram the expansion uses the location of the
|
||
call, so that gdb can skip over it. In GNATprove mode we want to
|
||
preserve slocs of original subprogram when expanding an inlined
|
||
call, to obtain better warnings, even though subprogram appears
|
||
not to come from source if it is the inlining of a subprogram
|
||
body without a previous spec.
|
||
|
||
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
|
||
types with atomic components.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in: Remove now unnecessary targets after s-oscons
|
||
reorg.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): Use ultimate alias
|
||
of callee when available.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): To check whether
|
||
an expression function is a completion, use the specification of
|
||
the previous declaration, not its entity, which may be internally
|
||
generated in an inlined context.
|
||
|
||
2014-07-30 Doug Rupp <rupp@adacore.com>
|
||
|
||
* adaint.c (__gnat_tmp_name) [__ANDROID__]: Default to putting
|
||
temp files in /cache directory unless overridden by TMPDIR.
|
||
|
||
2014-07-30 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-tassta.adb, s-tarest.adb (Initialize, Create_Task,
|
||
Create_Restricted_Task): Remove redundant check. Number_Of_CPUs returns
|
||
type CPU, so it can never be greater than CPU_Range'Last.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.ads: Minor comment fix.
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb: Remove now useless WITH, USE, and USE TYPE
|
||
clauses.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Free debug flag dQ used for frontend inlining in
|
||
GNATprove mode..
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove test of
|
||
debug flag..
|
||
|
||
2014-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in: Remove generation of s-oscons.ads, only
|
||
generate the xoscons utility, in runtime-agnostic rules.
|
||
* gcc-interface/Makefile.in: Clean up rules. Remove VMS parts,
|
||
no longer supported.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New
|
||
parameter Chain to be used in the allocator case.
|
||
(Make_Build_In_Place_Call_In_Allocator): If the allocated object
|
||
has tasks, wrap the code in a block that will activate them,
|
||
including the usual finalization code to kill them off in case
|
||
of exception or abort.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* treepr.adb, treepr.ads; Reorganize documentation for new pp routines
|
||
Remove renamings (don't work for gdb).
|
||
(par): New synonym for p (avoid gdb ambiguities).
|
||
* inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-07-30 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment
|
||
fixes.
|
||
* treepr.ads, treepr.adb (ppp): Make this debugging routine
|
||
accept any type covered by Union_Id.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_If_Expression): Resolve condition before
|
||
analyzing branches.
|
||
* sem_eval.adb (Out_Of_Range): Check for statically unevaluated
|
||
expression case.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use
|
||
of predicate aspect on entity other than a type.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Body_Has_Contract): New predicate to determine
|
||
when a subprogram body without a previous spec cannot be inlined
|
||
in GNATprove mode, because it includes aspects or pragmas that
|
||
generate a SPARK contract clause.
|
||
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram
|
||
instance cannot be inlined.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document that d7 suppresses compilation time output.
|
||
* errout.adb (Write_Header): Include compilation time in
|
||
header output.
|
||
* exp_intr.adb (Expand_Intrinsic_Call): Add
|
||
Compilation_Date/Compilation_Time (Expand_Source_Info): Expand
|
||
Compilation_Date/Compilation_Time.
|
||
* g-souinf.ads (Compilation_Date): New function
|
||
(Compilation_Time): New function.
|
||
* gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time.
|
||
* gnat_rm.texi (Compilation_Date): New function
|
||
(Compilation_Time): New function.
|
||
* opt.ads (Compilation_Time): New variable.
|
||
* s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function.
|
||
* sem_intr.adb (Compilation_Date): New function.
|
||
(Compilation_Time): New function.
|
||
* snames.ads-tmpl (Name_Compilation_Date): New entry.
|
||
(Name_Compilation_Time): New entry.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb: Add comment.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (Is_Parameterless_Attribute): 'Result is a
|
||
parameterless attribute, and a postondition can mention an
|
||
indexed component or a slice whose prefix is an attribute
|
||
reference F'Result.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb (Sprint_Node_Actual, case Object_Declaration):
|
||
Avoid bomb when printing package Standard.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Internal_Call_Continue): If an elaboration
|
||
entity is created at this point, ensure that the name of the
|
||
flag is unique, because the subprogram may be overloaded and
|
||
other homonyms may also have elaboration flags created on the fly.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Array_Component_Update): New routine.
|
||
(Analyze_Attribute): Major cleanup of attribute
|
||
'Update. The logic is now split into two distinct routines
|
||
depending on the type of the prefix. The use of <> is now illegal
|
||
in attribute 'Update.
|
||
(Analyze_Record_Component_Update): New routine.
|
||
(Check_Component_Reference): Removed.
|
||
(Resolve_Attribute): Remove the return statement and ??? comment
|
||
following the processing for attribute 'Update. As a result,
|
||
the attribute now freezes its prefix.
|
||
|
||
2014-07-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Do
|
||
not call Base_Address() in VM targets.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set
|
||
Ineffective_Inline_Warnings to True in GNATprove mode.
|
||
* inline.adb (Cannot_Inline): Prepare new semantics for GNATprove
|
||
mode of inlining.
|
||
* opt.ads (Ineffective_Inline_Warnings): Add comment that
|
||
describes use in GNATprove mode.
|
||
* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore
|
||
pragma when applied to the special body created for inlining.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb:
|
||
Minor reformatting.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.ads Add a comment explaining why SPARK 2014 aspects are
|
||
not delayed. Update the delay status of most SPARK 2014 aspects.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls
|
||
to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert
|
||
to Decorate and Insert_Pragma. Add various comments concerning
|
||
the delay status of several SPARK 2014 aspects. The insertion
|
||
of Refined_State now uses routine Insert_After_SPARK_Mode.
|
||
(Decorate): New routine.
|
||
(Decorate_Aspect_And_Pragma): Removed.
|
||
(Insert_Delayed_Pragma): Removed.
|
||
(Insert_Pragma): New routine.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): In GNATprove mode, emit
|
||
only a warning, not an error on an attempt to inline a recursive
|
||
subprogram.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-forstr.adb: Minor code reorganization (use J rather than I
|
||
as a variable name).
|
||
* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb,
|
||
g-forstr.ads: Minor reformatting.
|
||
|
||
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sprint.adb (Set_Debug_Sloc): Also reset the end location if
|
||
we are debugging the generated code.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that
|
||
returns True for source pointer for an inlined body.
|
||
|
||
2014-07-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Add
|
||
missing calls to Base_Address().
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove
|
||
mode, subprogram bodies without a previous declaration are also
|
||
candidates for front-end inlining.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.ads Aspects Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes do not need to be delayed.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the
|
||
optional Boolean expression when generating the corresponding
|
||
pragma for an external property aspect.
|
||
* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove
|
||
local constant Obj. Add local constant Obj_Id. Reimplement the
|
||
check which ensures that the related variable is in fact volatile.
|
||
(Analyze_Pragma): Reimplement the analysis of external property pragmas.
|
||
* sem_util.adb (Is_Enabled): New routine.
|
||
(Variable_Has_Enabled_Property): Reimplement the detection of
|
||
an enabled external property.
|
||
|
||
2014-07-30 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits
|
||
for body stubs.
|
||
|
||
2014-07-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-forstr.adb, g-forstr.ads: New.
|
||
* gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit
|
||
GNAT.Formatted_String.
|
||
|
||
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate.
|
||
(Expand_Array_Aggregate): Also enable in-place expansion for
|
||
code generated by the compiler. For an object declaration,
|
||
set the kind of the object in addition to its type. If an
|
||
in-place assignment is to be generated and it can be directly
|
||
done by the back-end, do not expand the aggregate.
|
||
* fe.h (Is_Others_Aggregate): Declare.
|
||
* gcc-interface/trans.c
|
||
(gnat_to_gnu) <N_Assignment_Statement>: Add support for an
|
||
aggregate with a single Others choice on the RHS by means of
|
||
__builtin_memset. Tidy up.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_rm.texi: minor reformatting.
|
||
|
||
2014-07-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline
|
||
in SPARK_Mode Off.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document additional implementation-defined use
|
||
of Constrained.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-proc.adb, prj-strt.adb: Update comments.
|
||
|
||
2014-07-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting.
|
||
|
||
2014-07-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean
|
||
parameter No_Extending, defaulted to False. When No_Extending
|
||
is True, do not look for an extending project.
|
||
(Expression): For a variable reference that is not for the current
|
||
project, get its Id calling Imported_Or_Extended_Project_From
|
||
with No_Extending set to True.
|
||
* prj-strt.adb (Parse_Variable_Reference): If a referenced
|
||
variable is not found in the current project, check if it is
|
||
defined in one of the projects it extends.
|
||
|
||
2014-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for
|
||
some additional cases of internally generated routines.
|
||
|
||
2014-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS,
|
||
if the compilation unit is a subunit, extend optional processing
|
||
to all subunits of the current one. This allows gnatstub to
|
||
supress generation of spurious bodies.
|
||
|
||
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cbmutr.adb (Insert_Child): Use local variable First to keep
|
||
track of the initial element's index within the tree.
|
||
|
||
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cbmutr.adb (Allocate_Node): Remove the two parameter version.
|
||
(Insert_Child): Add local variable First. Capture the index of the
|
||
first node being created to ensure correct cursor construction
|
||
later on. Use the three parameter version of Allocate_Node
|
||
when creating multiple children as this method allows aspect
|
||
Default_Value to take effect (if applicable).
|
||
|
||
2014-07-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Safe_Slice_Assignment): Remove.
|
||
(Expand_Array_Aggregate): For a safe slice assignment, just set
|
||
the target and use the common code path.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert
|
||
predicate No_Predicate_Test_On_Arguments, new name is
|
||
Predicate_Tests_On_Arguments (with the opposite sense).
|
||
|
||
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Clean up the code for
|
||
attribute 'Access. Do not generate an elaboration flag for a
|
||
stand alone expression function. The expression of an expression
|
||
function is now frozen when the expression function appears as
|
||
the prefix of attribute 'Access.
|
||
* sem_ch6.adb (Analyze_Expression_Function): Remove local
|
||
variable New_Decl and update all references to it after the
|
||
rewriting has taken place. Establish the linkages between the
|
||
generated spec and body.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (ip, rv): Prevent from being optimized away.
|
||
* gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found.
|
||
* s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-pp.adb: Minor comment update.
|
||
* frontend.adb: If a target dependency info file has been read
|
||
through switch -gnateT= add it to the dependencies of the source
|
||
being compiled.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, prj.adb: Minor reformatting.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-pp.adb (Pretty_Print.Output_Project_File): New
|
||
procedure to output project file names between quotes without
|
||
concatenation, even if the line is too long.
|
||
(Pretty_Print): Use Output_Project_File for project being extended and
|
||
project imported.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document that configuration pragmas files are
|
||
added to the dependencies, unless they contain only pragmas
|
||
Source_File_Name_Project.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb: Minor reformatting.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting
|
||
(Expand_Actuals): Make sure predicate checks are properly applied
|
||
for the case of OUT or IN OUT parameters.
|
||
* sem_res.adb: Minor reformatting (Resolve_Actuals): Skip
|
||
predicate tests on arguments for Finalize
|
||
* sem_util.adb (No_Predicate_Test_On_Arguments): Returns True
|
||
if predicate tests on subprogram arguments should be skipped.
|
||
* sem_util.ads (No_Predicate_Test_On_Arguments): New function
|
||
|
||
2014-07-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): If there is an address
|
||
clause for the object and the expression is an aggregate, defer
|
||
resolution and expansion of the aggregate until the freeze point
|
||
of the entity.
|
||
* sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if
|
||
the parent node is an N_Reference generated during expansion.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb (Add_To_Buffer): Effectively double the size of the buffer.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb, inline.adb, sem_util.adb, sem_res.adb,
|
||
prepcomp.ads: Minor reformatting and code clean up.
|
||
* exp_ch6.adb (Expand_Actuals): Generate predicate test
|
||
unconditionally for case of OUT or IN OUT actual (before this
|
||
was generated only for certain subcases, which is wrong, the
|
||
test is always needed).
|
||
|
||
2014-07-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
|
||
* sem_ch4.adb (Analyze_Allocator): Defer resolution of expression
|
||
until context type is available.
|
||
* sem_res.adb (Resolve_Allocator): In the case of a qualified
|
||
expression, complete resolution of expression.
|
||
(Check_Aliased_Parameter): New procedure within Resolve_Actuals,
|
||
to apply Ada2012 checks on aliased formals, as well as
|
||
accesibility checks when the context of the call is an allocator
|
||
or a qualified expression.
|
||
* sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants):
|
||
Moved here from sem_ch3.
|
||
(Object_Access_Level): Handle properly aliased formals and
|
||
aggregates.
|
||
* exp_ch6.adb (Expand_Call): Remove check on aliased parameters,
|
||
now properly performed in sem_res (Resolve_Actuals,
|
||
Check_Aliased_Parameter).
|
||
|
||
2014-07-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now.
|
||
* inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New
|
||
function to decide when a subprogram can be inlined in GNATprove mode.
|
||
(Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a
|
||
condition for possible inlining.
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Remove special case
|
||
for Inline_Always in GNATprove mode.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined
|
||
body for subprograms in GNATprove mode, under debug flag -gnatdQ.
|
||
* sem_prag.adb Minor change in comments.
|
||
* sem_res.adb (Resolve_Call): Only perform GNATprove inlining
|
||
inside subprograms marked as SPARK_Mode On.
|
||
* sinfo.ads: Minor typo fix.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* frontend.adb: Add dependency on gnat.adc when taken into account
|
||
and on non-temporary configuration pragmas files specified in
|
||
switches -gnatec.
|
||
* prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add
|
||
dependencies on configuration pragmas files.
|
||
|
||
2014-07-29 Pat Rogers <rogers@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor clarification to the explanation for the
|
||
GNATtest -v switch.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with
|
||
documentation that explains the need for this extended range
|
||
(use by C_Pass_By_Copy).
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_prag.adb: Minor reformatting.
|
||
|
||
2014-07-29 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
|
||
complexity metrics.
|
||
|
||
2014-07-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
PR ada/60652
|
||
* s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
|
||
CRTSCTS to be visible.
|
||
|
||
2014-07-29 Bob Duff <duff@adacore.com>
|
||
|
||
* g-trasym.adb, g-trasym.ads: Code cleanup.
|
||
|
||
2014-07-29 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sigtramp-vxworks.c: Minor reformatting.
|
||
|
||
2014-07-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_rm.texi: No doc needed for Ada2012 aspect
|
||
Implicit_dereference.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Attribute_12): New array
|
||
(Analyze_Attribute): Check impl-defined Ada 2012 attributes.
|
||
(Check_Ada_2012_Attribute): Removed.
|
||
|
||
2014-07-29 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM,
|
||
PPC, and e500.
|
||
* sigtramp-vxworks.c: New file.
|
||
* sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files.
|
||
|
||
2014-07-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Output_Refs, Check_Type_Reference): For a
|
||
derived array type, add information about component type, which
|
||
was previously missing in ali file.
|
||
* gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free.
|
||
|
||
2014-07-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Corresponding_Record): For the case
|
||
of the subtype created for a record component, do not mark
|
||
the subtype as frozen. For one thing, this is anomalous (in
|
||
particular, the base type might not itself be frozen yet);
|
||
furthermore, proper freezing of the subtype must happen in any
|
||
case. So, we just mark the subtype as requiring delayed freezing
|
||
(and we'll actually freeze it when generating the init_proc of
|
||
the enclosing record).
|
||
Also change the name of the constrained record subtype (append a
|
||
'C' so that it is clearly different from the unconstrained record
|
||
type, "related_idV") to make debugging easier.
|
||
(Process_Full_View): When creating a full subtype for a pending
|
||
private subtype, re-establish the scope of the private subtype
|
||
so that we get proper visibility on outer discriminants.
|
||
* exp_ch3.adb (Build_Init_Statements): Freeze any component
|
||
subtype that is not frozen yet.
|
||
|
||
2014-07-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Recursive_Process): Always initialize the
|
||
environment when the project is an aggregate project, even when
|
||
it is not the root tree.
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_ch9.adb: Minor comment additions.
|
||
* gnat_rm.texi: Complete list of implementation aspects.
|
||
* aspects.ads: Minor comment clarification.
|
||
|
||
2014-07-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): If the target type
|
||
is a null-excluding access type, do not generate a constraint
|
||
check if Suppress_Assignment_Checks is set on assignment node.
|
||
* exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out
|
||
parameter of a null-excluding access type, there is access check
|
||
on entry, so set Suppress_Assignment_Checks on generated statement
|
||
that assigns actual to parameter block.
|
||
* sinfo.ads: Document additional use of Suppress_Assignment_Checks.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Change theta to @ in documentation of aspect
|
||
Dimension_System.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn
|
||
are now on pragma.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting
|
||
of Uneval_Old_*
|
||
* sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags
|
||
* sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node.
|
||
|
||
2014-07-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* types.ads Update documentation on how to add new reason codes
|
||
for exceptions.
|
||
(RT_Exception_Code): Keep values ordered by their
|
||
reason code. Required by the .NET backend.
|
||
(RT_CE_Exceptions): Subtype declaration removed.
|
||
(RT_PE_Exceptions): Subtype declaration removed.
|
||
(RT_SE_Exceptions): Subtype declaration removed.
|
||
(Kind): New mapping table of RT_Exception_Codes.
|
||
* exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the
|
||
new mapping table.
|
||
* tbuild.adb (Make_Raise_Storage_Error): Updated to use the new
|
||
mapping table. (Make_Raise_Program_Error): Updated to use the
|
||
new mapping table.
|
||
(Make_Raise_Storage_Error): Updated to use the new mapping table.
|
||
* a-except.adb Keep Rcheck_CE_xxx entities ordered according to
|
||
their reason code.
|
||
|
||
2014-07-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Document internal attributes used for PolyORB/DSA
|
||
distributed stubs generation.
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-07-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Document constraint between frontend and GNATprove.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
2014-07-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
|
||
Minor reformatting.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
2014-07-24 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcc-interface/trans.c (finalize_nrv): Adjust function call.
|
||
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Likewise.
|
||
(gnat_write_global_declarations): Likewise.
|
||
|
||
2014-07-19 David Wohlferd <dw@LimeGreenSocks.com>
|
||
|
||
* gnat_rm.texi: Clean up for makeinfo 5.2.
|
||
|
||
2014-07-19 David Wohlferd <dw@LimeGreenSocks.com>
|
||
|
||
* gnat_rm.texi (Machine Code Insertions): Clean up.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
2014-07-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/decl.c, gcc-interface/trans.c,
|
||
gcc-interface/utils.c (Is_Packed_Array_Type): Renamed
|
||
Is_Packed_Array_Impl_Type.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-witeio.adb: Minor code reorganization.
|
||
* i-cstrea.ads: Add comment.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (NAME_MAX): Minor cleaup and comment
|
||
clarifications.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-memdum.adb, g-memdum.ads, exp_strm.adb: Minor reformatting.
|
||
|
||
2014-07-18 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-crtl.ads, i-cstrea.ads (fputwc): New routine.
|
||
* a-witeio.adb (Put): On platforms where there is translation
|
||
done by the OS output the raw text.
|
||
(New_Line): Use Put above to properly handle the LM wide characters.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-memdum.adb, g-memdum.ads (Dump): New parameter Prefix, defaulted
|
||
to Absolute_Address.
|
||
|
||
2014-07-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* opt.ads (Suppress_Back_Annotation): Remove as unused.
|
||
* fe.h (Back_Annotate_Rep_Info): Likewise.
|
||
(Global_Discard_Names): Likewise.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Is_Type_Ref): Check that type name is not
|
||
parenthesized.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* s-osinte-vms.ads: Fix style errors.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (_POSIX_SOURCE): Define in order to get
|
||
NAME_MAX and PATH_MAX.
|
||
|
||
2014-07-18 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function,
|
||
Build_Record_Or_Elementary_Output_Procedure): For Input and
|
||
Output attributes, do not read/write the discriminants if they
|
||
have default values; that will be done by Read/Write.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, layout.adb, sem_type.adb,
|
||
exp_util.adb, exp_attr.adb, einfo.adb, einfo.ads, exp_pakd.adb,
|
||
checks.adb, exp_pakd.ads, freeze.adb, sem_util.adb, exp_dbug.adb,
|
||
exp_dbug.ads, exp_ch4.adb, sem_ch8.adb, exp_aggr.adb, sem_eval.adb,
|
||
sem_ch13.adb: Change name Packed_Array_Type to Packed_Array_Impl_Type.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-writ.adb, makeutl.adb, ali.ads: Minor reformatting.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* lib-writ.ads: Update documentation about the D lines.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Replace_Type_References_Generic): Use type entity
|
||
as a parameter, rather than its Chars field, in order to locate
|
||
freeze node of type. If the predicate or invariant has references
|
||
to types other than the one to which the contract applies, these
|
||
types must be frozen, and the corresponding predicate functions
|
||
created, before that freeze node.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, einfo.ads, einfo.adb: Minor code reorganization.
|
||
* par_sco.adb: Minor reformatting.
|
||
|
||
2014-07-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Real_Range_Check): Turn off
|
||
the Do_Range_Check flag on the conversion's current Expression
|
||
argument rather than on the originally captured Operand node,
|
||
as Expression may reflect a rewriting (as in conversions to a
|
||
fixed-point type).
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* ali.adb (Scan_ALI): Set Sdep_Record.Unit_Name, when the unit
|
||
is not a subunit.
|
||
* ali.ads (Sdep_Record): New component Unit_Name.
|
||
* lib-writ.adb (Write_ALI): Write the unit name in D lines.
|
||
* makeutl.adb (Check_Source_Info_In_ALI): Return False if a
|
||
dependent unit is in a project and the source file name is not
|
||
one of its sources.
|
||
|
||
2014-07-18 Bob Duff <duff@adacore.com>
|
||
|
||
* s-addima.ads: Minor: add comment.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Fix enforcement
|
||
of nesting rules for composites with different SSOs.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Is_Logical_Operator): An If_Expression is not
|
||
a proper logical operator.
|
||
(Has_Decision): An If_Expression indicates the presence of a decision
|
||
although it is not a logical operator.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove note that -gnatR not allowed with -gnatc.
|
||
* switch-c.adb: Remove prohibition of -gnatR and -gnatc together.
|
||
|
||
2014-07-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch13.adb (Kill_Rep_Clause): Clear Comes_From_Source flag
|
||
on the null statement.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* adaint.c: Minor comment rewording.
|
||
* socket.c: Define macros _REENTRANT and _THREAD_SAFE so that
|
||
use of errno in this file is thread safe.
|
||
|
||
2014-07-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Doc clarification.
|
||
* sem_ch13.adb (Kill_Rep_Clause): Use Replace not Rewrite.
|
||
* sem_ch13.ads: Minor comment update.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* repinfo.ads: Minor comment fix.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-prag.adb: Add dummy entry for Default_Scalar_Storage_Order.
|
||
* sem_prag.adb: Add dummy implementation of
|
||
Default_Scalar_Storage_Order.
|
||
* snames.ads-tmpl: Add dummy entry for
|
||
Default_Scalar_Storage_Order pragma.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.adb (Tree_Read): Read Address_Is_Private,
|
||
Ignore_Rep_Clauses, Ignore_Style_Check_Pragmas, Multiple_Unit_Index.
|
||
(Tree_Write): Corresponding writes
|
||
* opt.ads: Minor comment reformatting and fixes.
|
||
* tree_io.ads: Increment ASIS_Version_Number.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb, s-os_lib.ads, prj-tree.adb: Minor reformatting.
|
||
* types.h: Fix typo.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Check_Address_Clause): Use Kill_Rep_Clause (no
|
||
functional change).
|
||
* gnat_ugn.texi: Document that -gnatI removes rep clauses from
|
||
ASIS trees.
|
||
* sem_ch13.adb (Kill_Rep_Clause): New procedure
|
||
(Analyze_Attribute_Definition_Clause): Use
|
||
Kill_Rep_Clause. This is just a cleanup, no functional effect.
|
||
(Analyze_Enumeration_Representation_Clause):
|
||
Use Kill_Rep_Clause. This means that enum rep
|
||
clauses are now properly removed from -gnatct trees.
|
||
(Analyze_Record_Representation_Clause): Same change.
|
||
* sem_ch13.ads (Kill_Rep_Clause): New procedure.
|
||
|
||
2014-07-18 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an
|
||
OS_Time from time parts.
|
||
* adaint.h, adaint.c (__gnat_to_os_time): New routine.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): Refine previous patch for
|
||
indexing over containers that are derived types: check whether
|
||
signature of found operation has the correct first parameter
|
||
before retrieving directly a primitive operation.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): Set
|
||
Do_Range_Check flag on dynamic bounds of a range used in a
|
||
component association in the argument of Update.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* adaint.c: #define _REENTRANT and _THREAD_SAFE in order for
|
||
accesses to errno(3) to be thread safe.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-tree.adb (Imported_Or_Extended_Project_Of): For each non
|
||
limited imported project that is an extending project, return
|
||
a project being extended if it has the expected name.
|
||
|
||
2014-07-18 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads, s-os_lib.adb (Set_File_Last_Modify_Time_Stamp): New
|
||
routine to set the last modification time stamp for the given file.
|
||
* gnatchop.adb (File_Time_Stamp): Removed.
|
||
(Write_Unit): Use
|
||
Set_File_Last_Modify_Time_Stamp instead of ad-hoc implementation.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Aggregate_Constraint_Checks): Moved to sem_util.
|
||
* sem_util.ads, sem_util.adb (Aggregate_Constraint_Checks):
|
||
Moved here, so it can be shared with the resolution of 'Update,
|
||
whose argument shares some features with aggregates.
|
||
* sem_attr.adb (Resolve_Attribute, case 'Update): Apply
|
||
Aggregate_Constraint_Checks with the expression of each
|
||
association, so that the Do_Range_Check flag is set when needed.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): If the container
|
||
type is a derived type, the value of the inherited aspect is
|
||
the Reference operation declared for the parent type. However,
|
||
Reference is also a primitive operation of the new type, and
|
||
the inherited operation has a different signature. We retrieve
|
||
the right one from the list of primitive operations of the
|
||
derived type.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* debug.adb: Update comment.
|
||
|
||
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Needs_Finalization): There is no reason why a
|
||
C type should not benefit from finalization actions.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (NAME_MAX): Fix definition for Solaris
|
||
(FILENAME_MAX): Remove unneeded definition.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, debug.adb: Update comments.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* par-ch4.adb (Simple_Expression): Add missing style check
|
||
for binary adding operators.
|
||
(Term): Add missing style check for multiplying operators.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb: Minor comment correction.
|
||
* widechar.adb, s-wchcon.ads: Minor comment corrections.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Build_Discrete_Static_Predicate): New name
|
||
for Build_Static_Predicate (Build_Predicate_Functions):
|
||
Don't try to build discrete predicate for real type.
|
||
(Build_Predicate_Functions): Report attempt to use
|
||
Static_Predicate function on real type as unimplemented.
|
||
* sem_util.adb (Check_Expression_Against_Static_Predicate):
|
||
Add guard to prevent blow up on predicate for real type.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.adb (Set_Static_Predicate): Simplify assertion to handle
|
||
properly static predicate on enumeration types and modular types
|
||
(not subtypes).
|
||
|
||
2014-07-18 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* scos.ads (SCO_Unit_Table_Entry): Add a field to keep track of
|
||
the corresponding source file index.
|
||
* get_scos.ads (Get_SCOs): Add a default value for it.
|
||
* par_sco.adb (SCO_Record): Fill the corresponding value.
|
||
* scos.h: New.
|
||
|
||
2014-07-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-strunb-shared.adb, s-auxdec.ads, s-rannum.adb, atree.ads,
|
||
urealp.adb, vms_data.ads, lib.ads, s-auxdec-vms_64.ads: Minor
|
||
reformatting.
|
||
* gnat_ugn.texi: Add documentation for new gnatmem switch -t.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sercom.ads (Set): document possible data loss.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, cases Input,
|
||
Output, Read, Write): If the restriction No_Streams is active,
|
||
replace each occurrence of a stream attribute by an explicit
|
||
Raise statement.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, a-reatim.ads, exp_attr.adb, sem_util.adb: Minor
|
||
reformatting.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): New flag and
|
||
function.
|
||
(Set_Has_Out_Or_In_Out_Parameter): New procedure.
|
||
* sem_ch6.adb (Set_Formal_Mode): Set Has_Out_Or_In_Out_Parameter flag.
|
||
* sem_res.adb (Resolve_Call): Error if call of Ada 2012 function
|
||
with OUT or IN OUT from earlier Ada mode (e.g. Ada 2005)
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bcheck.adb (Check_Consistent_Restrictions):
|
||
Remove obsolete code checking for violation of
|
||
No_Standard_Allocators_After_Elaboration (main program)
|
||
* bindgen.adb (Gen_Adainit): Handle
|
||
No_Standard_Allocators_After_Elaboration
|
||
(Gen_Output_File_Ada): ditto.
|
||
* exp_ch4.adb (Expand_N_Allocator): Handle
|
||
No_Standard_Allocators_After_Elaboration.
|
||
* Makefile.rtl: Add entry for s-elaall
|
||
* rtsfind.ads: Add entry for Check_Standard_Allocator.
|
||
* s-elaall.ads, s-elaall.adb: New files.
|
||
* sem_ch4.adb (Analyze_Allocator): Handle
|
||
No_Standard_Allocators_After_Elaboration.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb,
|
||
ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses.
|
||
Remove AB parameter from ali files and all uses.
|
||
Remove Allocator_In_Body and all uses.
|
||
|
||
2014-07-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-expect-vms.adb: Add comment.
|
||
|
||
2014-07-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Is_Logical_Operation): return True for
|
||
N_If_Expression.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute, case 'Update): Do full
|
||
analysis and resolution of each choice in the associations within
|
||
the argument of Update, because they may be variable names.
|
||
|
||
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition
|
||
actions before the generated if statement.
|
||
|
||
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gnat_ugn.texi Enhance the documentation of
|
||
switches -gnateA and -gnateV.
|
||
|
||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Build_Default_Subtype): Add missing condition
|
||
so that code matches description: use the full view of the base
|
||
only if the base is private and the subtype is not.
|
||
|
||
2014-07-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_disp.adb: Minor reformatting.
|
||
* exp_disp.adb: Minor code reorganization.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not
|
||
require an explicit SSO attribute definition clause on a composite type
|
||
just because one of its components has one.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite
|
||
attribute out of existence if the enclosing pragma is ignored.
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Array_Aggregate): Handle properly an
|
||
array aggregate expanded into assignments when it appears as a
|
||
local declaration in an inlined body.
|
||
|
||
2014-07-17 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c [__ANDROID__]: Modify for ZCX.
|
||
* exp_aggr.adb: Minor reformatting
|
||
* sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads,
|
||
exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi,
|
||
scng.adb: Remove incorrect usage "allow to" and "allows to".
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_dist.adb: Minor reformatting.
|
||
|
||
2014-07-17 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Improve documentation of Unrestricted_Access.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam
|
||
(Add_Invariants): Set Nam to Name_Type_Invariant if from aspect.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a
|
||
non-bit-packed array, propagate Reverse_Storage_Order to the
|
||
packed array type.
|
||
|
||
2014-07-17 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb: Fix comment.
|
||
* exp_pakd.adb: Minor reformatting.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Elab_Calls): Skip reference to elab
|
||
entity if none exists (Gen_Elab_Calls): Complain if clash with
|
||
No_Multiple_Elaboration.
|
||
* s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration.
|
||
* sem_util.adb (Build_Elaboration_Entity): Skip building entity
|
||
if not needed.
|
||
* gnat_rm.texi: Document restriction No_Multiple_Elaboration.
|
||
* sem_ch4.adb: Minor comment updates.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type
|
||
of function call for later use when shared passive objects
|
||
are involved.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-ch13.adb (Get_Aspect_Specifications):
|
||
Catch a case where the argument of SPARK aspect Refined_State
|
||
is not properly parenthesized.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend
|
||
the lifetime of a reference to an Ada 2012 container element.
|
||
(Is_Element_Reference): New routine.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ali.ads: Minor comment fix.
|
||
* lib-writ.adb: Minor reformatting.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit
|
||
in ASIS mode, load another subunit only if it a subunit of the
|
||
current one, not a sibling that has been reached through the
|
||
analysis of an ancestor. This allows the construction of the
|
||
ASIS tree for the subunit even when sibling subunits have errors.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Remove the guard which
|
||
prevents the analysis of various contracts when the associated
|
||
construct is erroneous.
|
||
* sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the
|
||
SPARK_Pragma of an illegal or a partially decorated construct.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-imguns.ads: Minor reformatting.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalization_Master): Move all local
|
||
variables to the proper code section. When looking for an existing
|
||
finalization master, inspect the ultimate ancestor type of the
|
||
full view.
|
||
* sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add entries for aspect Annotate.
|
||
* gnat_rm.texi: Document Entity argument for pragma Annotate and
|
||
Annotate aspect.
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): Add processing
|
||
for Annotate aspect.
|
||
* sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional
|
||
Entity argument at end.
|
||
* sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect.
|
||
|
||
2014-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-imguns.ads: Fix minor typo.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sprint.adb: Minor reformatting.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb (Write_Itype): Print proper header for string
|
||
literal subtype.
|
||
|
||
2014-07-17 Steve Baird <baird@adacore.com>
|
||
|
||
* sinfo.ads, sem_scil.ads: Improve comments, minor reformatting.
|
||
|
||
2014-07-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatbind.adb: Change in message "try ... for more information".
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb: Code clean up.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Last_Init): Relocate local variables to
|
||
the relevant code section. Add new local constant Obj_Id. When
|
||
a limited controlled object is initialized by a function call,
|
||
the build-in-place object access function call acts as the last
|
||
initialization statement.
|
||
* exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine.
|
||
(Is_Secondary_Stack_BIP_Func_Call): Code reformatting.
|
||
* exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms,
|
||
propagate intrinsic flag to renamed entity, to allow e.g. renaming
|
||
of Unchecked_Conversion.
|
||
* sem_ch3.adb (Analyze_Declarations): Do not analyze contracts
|
||
if the declaration has errors.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether
|
||
container is busy before checking whether capacity allows for
|
||
a further insertion. Insertion in a busy container that is full
|
||
raises Program_Error rather than Capacity_Error. Previous to that
|
||
patch which exception was raised varied among container types.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-comlin.ads, g-comlin.adb: Minor clean up.
|
||
|
||
2014-07-17 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update gnatpp doc.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document new restriction No_Long_Long_Integers.
|
||
* exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
|
||
could do this by actually expanding a real generic.
|
||
* a-tags.ads: Add comments about performance.
|
||
* sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
|
||
Print Etype of defining identifier, rather than the object
|
||
definition. More information.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb: Minor documentation clarification.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Is_Aliased): Revert previous change.
|
||
|
||
2014-07-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* g-comlin.adb (Try_Help): New procedure.
|
||
(Getopt): Use new procedure Try_Help.
|
||
* g-comlin.ads (Try_Help): New procedure.
|
||
|
||
2014-07-17 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor update.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Improve documentation of Unrestricted_Access.
|
||
* sinfo.ads: Document restriction on aggregates (must expand to
|
||
assignments if one or more assignments needs expansion, e.g. for
|
||
controlled types).
|
||
* sem_ch13.adb: All warning messages regarding bit order should
|
||
be info: messages.
|
||
* gnat_ugn.texi: Minor correction of missing @ on @code
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
|
||
* s-rident.ads (Partition_Boolean_Restrictions): Add
|
||
No_Long_Long_Integer.
|
||
* sem_ch3.adb (Modular_Type_Declaration): Size must be <=
|
||
Long_Integer'Size if restriction No_Long_Long_Integer is active.
|
||
(Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
|
||
as the implicit base type for a signed integer type declaration
|
||
if restriction No_Long_Long_Integer is active.
|
||
* sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
|
||
No_Long_Long_Integer.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
|
||
einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
|
||
repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
|
||
sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
|
||
treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Remove -gnatdQ.
|
||
* exp_disp.adb: Remove -gnatdQ.
|
||
* a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
|
||
a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
|
||
rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
|
||
a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
|
||
sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
|
||
a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.adb: Minor reformatting and comment additions.
|
||
* checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
|
||
function.
|
||
* exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
|
||
(Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
|
||
* gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
|
||
* gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
|
||
* snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
|
||
* types.ads (Duplicated_Tag_Checks_Suppressed): New check.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor comment updates.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Make_Explicit_Dereference): If the expression
|
||
being dereferenced is a generalized indexing, reset the overloaded
|
||
flag on the generalized indexing call, consistent with the
|
||
resetting of the flag on the original indexed component.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document advise not to mix -gnatV? and
|
||
optimization.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Insert_Valid_Check): Don't insist on a name
|
||
for the prefix when we make calls to Force_Evaluation and
|
||
Duplicate_Subexpr_No_Checks.
|
||
* exp_util.adb (Is_Volatile_Reference): Handle all cases properly
|
||
(Remove_Side_Effects): Handle all volatile references right
|
||
(Side_Effect_Free): Volatile reference is never side effect free
|
||
* sinfo.ads (N_Attribute_Reference): Add comments explaining
|
||
that in the tree, the prefix can be a general expression.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
|
||
Analyze_Subprogram_Contract): Add comments on SPARK_Mode save/restore.
|
||
* sem_ch7.adb (Analyze_Package_Body_Contract,
|
||
Analyze_Package_Contract): Add comments on SPARK_Mode save/restore.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.ads, exp_util.ads: Document Insert_Action_After,
|
||
Store_After_Actions_In_Scope.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aux.ads: Minor comment addition.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Make_Call_Into_Operator): If the call is already
|
||
a rewriting of an operator node, there are no actuals to be
|
||
propagated from original node to rewritten node when in ASIS mode.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
|
||
Analyze_Subprogram_Contract): Add new local variable Mode. Save
|
||
and restore the SPARK mode of the related construct in a
|
||
stack-like fashion.
|
||
* sem_ch7.adb (Analyze_Package_Body_Contract,
|
||
Analyze_Package_Contract): Add new local variable Mode. Save and
|
||
restore the SPARK mode of the related construct in a stack-like fashion.
|
||
* sem_util.adb Remove with and use clause for Opt.
|
||
(Restore_SPARK_Mode): New routine.
|
||
(Save_SPARK_Mode_And_Set): New routine.
|
||
* sem_util.ads Add with and use clause for Opt.
|
||
(Restore_SPARK_Mode): New routine.
|
||
(Save_SPARK_Mode_And_Set): New routine.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Is_Aliased): Transient objects
|
||
within an expression with actions cannot be considered aliased.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
|
||
introduce a new list (cleanup actions) for each (transient) scope.
|
||
* sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
|
||
N_Block_Statement
|
||
* exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
|
||
* exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
|
||
processing for Store_xxx_Actions_In_Scope.
|
||
(Build_Cleanup_Statements): Allow for a list of additional
|
||
cleanup statements to be passed by the caller.
|
||
(Expand_Cleanup_Actions): Take custom cleanup actions associated
|
||
with an N_Block_Statement into account.
|
||
(Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
|
||
reorganization (refactoring only, no behaviour change).
|
||
(Make_Transient_Block): Add assertion to ensure that the current
|
||
scope is indeed a block (namely, the entity for the transient
|
||
block being constructed syntactically, which has already been
|
||
established as a scope). If cleanup actions are present in the
|
||
transient scope, transfer them now to the transient block.
|
||
* exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
|
||
called function while it is still present as the name in a call
|
||
in the tree. This may not be the case later on if the call is
|
||
rewritten into a transient block.
|
||
* exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
|
||
inserted after calling a protected operation on a shared passive
|
||
protected must be performed in a block finalizer, not just
|
||
inserted in the tree, so that they are executed even in case of
|
||
a normal (RETURN) or abnormal (exception) transfer of control
|
||
outside of the current scope.
|
||
* exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
|
||
* sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
|
||
Scope_Stack_Entry reorganization.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
|
||
call for types that do not have an explicit attribute definition
|
||
clause for External_Tag, as their default tag may clash with an
|
||
explicit tag defined for some other type.
|
||
|
||
2014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Is_Controlled_Function_Call): Recognize a
|
||
controlled function call with multiple actual parameters that
|
||
appears in Object.Operation form.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
|
||
entity flag.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
External_Tag): No need to set entity flag.
|
||
* sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
|
||
Reimplement correctly in terms of Has_Rep_Item.
|
||
|
||
2014-07-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
|
||
Start examining the tree at the node passed to
|
||
Establish_Transient_Scope (not its parent).
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
The access type for the variable storing the reference to
|
||
the call must be declared and frozen prior to establishing a
|
||
transient scope.
|
||
* exp_ch9.adb: Minor reformatting.
|
||
|
||
2014-07-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.ads: Minor comment update.
|
||
|
||
2014-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings. Fix some
|
||
indentation.
|
||
* socket.c: Remove #warning to avoid warning.
|
||
* expect.c: Indent some preprocessor directives to clarify
|
||
nested if. Do not use wait.h on PikeOS. Add ATTRIBUTE_UNUSED
|
||
to remove warnings.
|
||
* env.c: Fix indentation. Port to PikeOS.
|
||
* gsocket.h: Port to PikeOS. Remove #warning.
|
||
* terminals.c: Port to PikeOS. Fix indentation of the stubs.
|
||
Add ATTRIBUTE_UNUSED to stubs arguments. Fix return statement
|
||
of stubbed __gnat_setup_parent_communication.
|
||
* adaint.c: Port to PikeOS. Reindent some preprocessor
|
||
directives to clarify nested if. Fix indentation. Add missing
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2014-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting.
|
||
|
||
2014-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Check_Choice_Set): If the case expression is the
|
||
expression in a predicate, do not recheck coverage against itself,
|
||
to prevent spurious errors.
|
||
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that
|
||
expression comes from an aspect specification, to prevent spurious
|
||
errors when expression is a case expression in a predicate.
|
||
|
||
2014-07-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c, adaint.h (__gnat_set_executable): Add mode parameter.
|
||
* s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter.
|
||
|
||
2014-07-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb,
|
||
gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output
|
||
the usage for an erroneous invocation of a gnat tool.
|
||
|
||
2014-07-16 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatls.adb: Get the target parameters only if -nostdinc was
|
||
not specified.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Insert_Valid_Check): If the expression is a packed
|
||
component of a modular type of the right size the data is always
|
||
valid. This os particularly useful if the component is part of
|
||
a volatile variable.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.ads: Minor documentation fix.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Find_Type_Name): Diagnose properly
|
||
a private extension completion that is an interface definition
|
||
with an interface list.
|
||
|
||
2014-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatls.adb (Gnatls): Code clean ups.
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb (N_Compound_Statement): New node kind.
|
||
* sem.adb (Analyze): Handle N_Compound_Statement.
|
||
* sprint.adb (Sprint_Node_Actual): Ditto.
|
||
* sem_ch5.ads, sem_ch5.adb (Analyze_Compound_Statement): New
|
||
procedure to handle N_Compound_Statement.
|
||
* exp_aggr.adb (Collect_Initialization_Statements):
|
||
Use a proper compound statement node, instead of a bogus
|
||
expression-with-actions with a NULL statement as its expression,
|
||
to wrap collected initialization statements.
|
||
* freeze.ads, freeze.adb
|
||
(Explode_Initialization_Compound_Statement): New public procedure,
|
||
lifted from Freeze_Entity.
|
||
(Freeze_Entity): When freezing
|
||
an object with captured initialization statements and without
|
||
delayed freezing, explode compount statement.
|
||
* sem_ch4.adb (Analyze_Expression_With_Actions): Remove special
|
||
case that used to handle bogus EWAs with NULL statement as
|
||
the expression.
|
||
* exp_ch13.adb (Expand_N_Freeze_Entity): For an object with
|
||
delayed freezing and captured initialization statements, explode
|
||
compound statement.
|
||
|
||
2014-07-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* g-rewdat.adb, g-rewdat.ads: Minor reformatting.
|
||
|
||
2014-07-16 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-interr-hwint.adb: Casing error on parameter.
|
||
|
||
2014-07-16 Pascal Obry <obry@adacore.com>
|
||
|
||
* Makefile.rtl: Add g-rewdat.o dependencies in
|
||
GNATRTL_NONTASKING_OBJS.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb: Code clean up.
|
||
|
||
2014-07-16 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb: Do not read gnat.adc when gnatmake is invoked
|
||
with -gnatA.
|
||
|
||
2014-07-16 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_rm.texi, impunit.adb, g-rewdat.adb, g-rewdat.ads: Initial
|
||
implementation of GNAT.Rewrite_Data.
|
||
|
||
2014-07-16 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatls.adb (Normalize): New function.
|
||
(Gnatls): Get the target parameters. On targets other than VMS,
|
||
normalize the path names in the source search path, the object search
|
||
path and the project search path.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb: Avoid self-checking of case expressions in
|
||
dynamic predicates.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document effect of Suppress_Initialization on tags and
|
||
discriminants.
|
||
|
||
2014-07-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* switch-b.adb (Scan_Binder_Switches): Add missing guard.
|
||
|
||
2014-07-16 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Do not expand case
|
||
expression if it is the specification of a subtype predicate:
|
||
it will be expanded when the return statement is analyzed, or
|
||
when a static predicate is transformed into a static expression
|
||
for evaluation by the front-end.
|
||
* sem_ch13.adb (Get_RList): If the expression for a static
|
||
predicate is a case expression, extract the alternatives of the
|
||
branches with a True value to create the required statically
|
||
evaluable expression.
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): Use the location of the
|
||
expression, not the location of the aspect, for all generated
|
||
code, so that in particular the call to raise_assert_failure
|
||
gets the sloc of the associated condition.
|
||
* exp_ch6.adb
|
||
(Expand_Subprogram_Contract.Build_Postconditions_Procedure):
|
||
Set an explicit End_Label on the handled sequence of statements
|
||
for the _Postconditions procedure so that the implicit return
|
||
statement does not erroneously get associated with code generated
|
||
for the last condition in postconditions.
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* ug_words: Fix name of VMS synonym for -gnatw.z (SIZE_ALIGNMENT,
|
||
not SIZE_ALIGN) and -gnatw.Z (NOSIZE_ALIGNMENT, not NOSIZE_ALIGN).
|
||
* vms_data.ads: Add missing spaces in VMS synonyms for -gnatw.z /
|
||
-gnatw.Z.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_prag.adb, sem_util.adb, sem_res.adb, sem_ch13.adb:
|
||
Minor code reorganization (use Is_Access_Type, not in Access_Kind).
|
||
* exp_ch3.adb: Minor code reorganization, use Is_Access_Type,
|
||
not in Access_Kind.
|
||
* par-ch4.adb (At_Start_Of_Attribute): New function
|
||
(P_Simple_Expression): Better msg for bad attribute prefix.
|
||
* scans.ads: Minor reformatting.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute, case 'Update): If choice is a
|
||
static constant, check that in belongs to the corresponding index
|
||
subtype, to produce the proer warning when expansion is disabled.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Warn on incompatible size/alignment.
|
||
* gnat_ugn.texi: Document -gnatw.z and -gnatw.Z.
|
||
* ug_words: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for -gnatw.z/-gnatw.Z
|
||
* usage.adb: Add lines for -gnatw.z/-gnatw.Z.
|
||
* vms_data.ads: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for
|
||
-gnatw.z/-gnatw.Z
|
||
* warnsw.adb: Set Warn_On_Size_Alignment appropriately.
|
||
* warnsw.ads (Warn_On_Size_Alignment): New flag Minor
|
||
reformatting.
|
||
|
||
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Declarations): Reinstate the check on
|
||
a hook object to ensure that the related transient declaration
|
||
is finalizable.
|
||
* exp_util.adb (Is_Aliased): Do not consider expresison with
|
||
actions as a special context.
|
||
(Requires_Cleanup_Actions): Reinstate the check on a hook object to
|
||
ensure that the related transient declaration is finalizable.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Allocation_Checks_Suppressed): New function.
|
||
* snames.ads-tmpl: Add Allocation_Check to list of check names.
|
||
* types.ads: Add Allocation_Check to list of check names.
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb (Enter_Name): replace bogus test for presence of
|
||
Corresponding_Remote_Type with correct test on Ekind.
|
||
* sem_res.adb (Valid_Conversion): ditto; also clarify validity
|
||
of calls to Corresponding_ Remote_Type (documentation fix).
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document illegal case of Unrestricted_Access.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix
|
||
where it applies.
|
||
(Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use.
|
||
* sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document binder switch -Ra.
|
||
* gnatbind.adb (List_Closure_Display): Implement -Ra switch
|
||
(List_Closure_All).
|
||
* opt.ads (List_Closure_All): New switch.
|
||
* switch-b.adb (Scan_Binder_Switches): Recognize -Ra to set
|
||
List_Closure_All.
|
||
|
||
2014-07-16 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor edits, to make case consistent in names
|
||
of types and fields.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document erroneous mixing of thin pointers and
|
||
unrestricted access
|
||
* gnat_ugn.texi: Add note on size of access types about thin
|
||
pointers and the use of attribute Unrestricted_Access.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbdlli.ads, a-cbdlli.adb, a-cbhama.ads, a-cbhama.adb,
|
||
* a-cbhase.ads, a-cbhase.adb, a-cborma.ads, a-cborma.adb,
|
||
* a-cborse.ads, a-cborse.adb, a-cobove.ads a-cobove.adb: Add Control
|
||
machinery to detect tampering on bounded vectors.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that leading/trailing asterisks are
|
||
now implied for the pattern match string for pragma Warnings
|
||
and Warning_As_Error.
|
||
* sem_prag.adb (Acquire_Warning_Match_String): New procedure.
|
||
(Analyze_Pragma, case Warning_As_Error): Call
|
||
Acquire_Warning_Match_String.
|
||
(Analyze_Pragma, case Warnings): Call Acquire_Warning_Match_String.
|
||
|
||
2014-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document need for project file
|
||
for --incremental switch for gnat2xml.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Fix example of non-packable components in packed
|
||
records section.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tpoben.adb, s-tasren.adb, s-interr.adb, s-interr-hwint.adb,
|
||
s-shasto.adb, s-interr-vms.adb, s-interr-sigaction.adb: Avoid use of
|
||
upper case in exception messages.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* snames.ads-tmpl, sem_attr.adb, exp_attr.adb: Same_Storage attribute
|
||
is renamed Has_Same_Storage.
|
||
* gnat_rm.texi: Document missing SPARK pragmas and attributes.
|
||
* sem_prag.adb: Minor comment fix (use LOCAL_NAME in syntax
|
||
descriptions).
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, sem_attr.adb, exp_ch4.adb, a-cohase.ads,
|
||
a-coinho-shared.adb, a-coinho-shared.ads: Minor reformatting.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add note that integrated
|
||
preprocessing cannot be applied to configuration pragma files.
|
||
|
||
2014-07-16 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute/cases Pred
|
||
and Succ): Always enable range check on fixed-point types if
|
||
not suppressed for the type.
|
||
|
||
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (State_Has_Enabled_Property):
|
||
Account for an external property denoted by an others choice.
|
||
|
||
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.ads, exp_ch4.adb (Find_Hook_Context): Relocated to Exp_Util.
|
||
* 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_ch9.adb Remove with and use clause for Exp_Ch4.
|
||
* exp_util.adb (Find_Hook_Context): Relocated from Exp_Ch4.
|
||
(Is_Aliased): A renaming of a transient controlled object is
|
||
not considered aliasing when it occurs within an 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.
|
||
* exp_util.ads (Find_Hook_Context): Relocated from Exp_Ch4.
|
||
|
||
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Insert_After_SPARK_Mode): Moved to
|
||
the outer level of routine Analyze_Aspect_Specifications. Ensure
|
||
that the corresponding pragmas of aspects Initial_Condition and
|
||
Initializes are inserted after pragma SPARK_Mode.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): Handle
|
||
properly a choice list with more than one choice, where each
|
||
is an aggregate denoting a sequence of array indices for a
|
||
multidimentional array. For SPARK use.
|
||
|
||
2014-07-16 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-coinho-shared.adb (Adjust): Create
|
||
copy of internal shared object and element when source container
|
||
is locked.
|
||
(Copy): Likewise.
|
||
(Query_Element): Likewise.
|
||
(Update_Element): Likewise.
|
||
(Constant_Reference): Likewise. Raise Constraint_Error on attempt
|
||
to get reference for empty holder.
|
||
(Reference): Likewise.
|
||
|
||
2014-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Find_Hook_Context): New subprogram, extracted
|
||
from Process_Transient_Oject.
|
||
* exp_ch4.ads: Ditto.
|
||
* exp_ch9.adb (Build_Class_Wide_Master): Insert the _master
|
||
declaration as an action on the topmost enclosing expression,
|
||
not on a possibly conditional subexpreession.
|
||
|
||
2014-07-16 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads:
|
||
Fix parameter mode of Update_Element.
|
||
|
||
2014-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor
|
||
reformatting.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cohase.ads: Type Iterator must be controlled, so that the
|
||
tampering bit is properly set through an iteration.
|
||
* a-cohase.adb: Add Finalize operation for type Iterator.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for
|
||
tampering checks.
|
||
|
||
2014-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coinho-shared.adb: Fix spurious accessibility check.
|
||
|
||
2014-06-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* gcc-interface/utils.c (process_attributes): Use set_decl_tls_model.
|
||
|
||
2014-06-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR ada/61505
|
||
* gnat_rm.texi: Fix errors with makeinfo 5.1.
|
||
|
||
2014-06-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
PR ada/61505
|
||
* gnat_rm.texi: Attempt to fix error with makeinfo 5.1.
|
||
|
||
2014-06-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_attr.adb: Fix typo in comment.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Force float overflow
|
||
checking in GNATprove_Mode.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coinho-shared.adb, a-coinho-shared.ads: Update shared version.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor
|
||
reformatting.
|
||
|
||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Add local
|
||
variable Missing_Parentheses. Emit an error when a state
|
||
declaration with options appears without parentheses. Add a
|
||
guard to prevent a bogus error when a state declaration may be
|
||
interpreted as an option if a previous declaration with options
|
||
was not parenthesized.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Validate_Alignment_Check_Warnings: New procedure
|
||
(Apply_Address_Clause_Check): Make Aligment_Warnings table entry.
|
||
* checks.ads (Alignment_Warnings_Record): New type.
|
||
(Alignment_Warnings): New table
|
||
(Validate_Alignment_Check_Warnings): New procedure.
|
||
* errout.adb (Delete_Warning_And_Continuations): New procedure
|
||
(Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle
|
||
Warnings_Treated_As_Errors (Finalize): Minor reformatting
|
||
* errout.ads (Warning_Msg): New variable
|
||
(Delete_Warning_And_Continuations): New procedure
|
||
* erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count.
|
||
* gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coinho.adb, a-coinho.ads: Add Reference machinery.
|
||
|
||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* errout.adb (SPARK_Msg_N): New routine.
|
||
(SPARK_Msg_NE): New routine.
|
||
* errout.ads Add a section on SPARK-related error routines.
|
||
(SPARK_Msg_N): New routine.
|
||
(SPARK_Msg_NE): New routine.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that
|
||
pragma Abstract_State is always inserted after SPARK_Mode.
|
||
(Insert_After_SPARK_Mode): New routine.
|
||
* sem_prag.adb (Analyze_Abstract_State,
|
||
Analyze_Constituent, Analyze_External_Property,
|
||
Analyze_External_Property_In_Decl_Part, Analyze_Global_Item,
|
||
Analyze_Global_List, Analyze_Initialization_Item,
|
||
Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item,
|
||
Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of,
|
||
Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part,
|
||
Analyze_Refined_Global_In_Decl_Part,
|
||
Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause,
|
||
Check_Aspect_Specification_Order, Check_Constituent_Usage,
|
||
Check_Declaration_Order, Check_Dependency_Clause,
|
||
Check_Duplicate_Mode, Check_Duplicate_Option,
|
||
Check_Duplicate_Property, Check_External_Properties,
|
||
Check_External_Property, Check_Function_Return,
|
||
Check_Matching_Constituent, Check_Matching_State,
|
||
Check_Mode_Restriction_In_Enclosing_Context,
|
||
Check_Mode_Restriction_In_Function, Check_Refined_Global_Item,
|
||
Check_State_And_Constituent_Use, Create_Or_Modify_Clause,
|
||
Has_Extra_Parentheses, Inconsistent_Mode_Error,
|
||
Match_Error, Propagate_Part_Of, Report_Extra_Clauses,
|
||
Report_Extra_Constituents_In_List, Report_Extra_Inputs,
|
||
Report_Unrefined_States, Report_Unused_Constituents,
|
||
Report_Unused_States, Role_Error, Usage_Error):
|
||
Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls
|
||
to report semantic errors only when SPARK_Mode is on.
|
||
(Analyze_Depends_In_Decl_Part): Do not check the syntax of
|
||
pragma Depends explicitly, this is now done by the analysis.
|
||
(Analyze_Global_In_Decl_List): Do not check the syntax of
|
||
pragma Global explicitly, this is now done by the analysis.
|
||
(Analyze_Initializes_In_Decl_Part): Do not check the syntax of
|
||
pragma Initializes explicitly, this is now done by the analysis.
|
||
(Analyze_Part_Of): Do not check the syntax of the encapsulating
|
||
state, this is now done by the analysis.
|
||
(Analyze_Pragma): Do
|
||
not check the syntax of a state declaration, this is now done
|
||
by the analysis.
|
||
(Analyze_Refined_Depends_In_Decl_Part): Do not
|
||
check the syntax of pragma Refined_Depends explicitly, this is now
|
||
done by the analysis.
|
||
(Analyze_Refined_Global_In_Decl_Part): Do
|
||
not check the syntax of pragma Refined_Global explicitly, this is
|
||
now done by the analysis.
|
||
(Analyze_Refined_State_In_Decl_Part):
|
||
Do not check the syntax of pragma Refined_State explicitly, this
|
||
is now done by the analysis.
|
||
(Check_Dependence_List_Syntax): Removed.
|
||
(Check_Global_List_Syntax): Removed.
|
||
(Check_Initialization_List_Syntax): Removed.
|
||
(Check_Item_Syntax): Removed.
|
||
(Check_Missing_Part_Of): Do not consider items from an instance.
|
||
(Check_Refinement_List_Syntax): Removed.
|
||
(Check_State_Declaration_Syntax): Removed.
|
||
(Collect_Global_List): Do not raise Program_Error when the input is
|
||
malformed.
|
||
(Process_Global_List): Do not raise Program_Error when the input
|
||
is malformed.
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Find_Type_Name): Diagnose a private type completion
|
||
that is an interface definition with an interface list.
|
||
(Process_Full_View): Move error message on missmatched interfaces
|
||
between views to the declaration of full view, for clarity.
|
||
* sem_ch9.adb (Check_Interfaces): Move error message to full view,
|
||
for clarity.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change
|
||
reason to Overflow.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* makeutl.adb: Minor reformatting.
|
||
|
||
2014-06-13 Gail Schenker <schenker@adacore.com>
|
||
|
||
* debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and
|
||
associated flag (d.z), no longer needed.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For Import and
|
||
Export aspects, do not check whether a corresponding Convention
|
||
aspect has been specified. Convention is optional in Ada2012,
|
||
and defaults to Convention_Ada.
|
||
|
||
2014-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Address_Clause_Check): Only issue the new
|
||
warning if the propagation warning is issued.
|
||
|
||
2014-06-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
|
||
Handle float range check case (Expand_N_Attribute_Reference,
|
||
case Succ): Handle float range check case.
|
||
* sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
|
||
range check case.
|
||
|
||
2014-06-13 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.ads (Compute_Builder_Switches): Change name of
|
||
parameter Root_Environment to Env.
|
||
* prj-conf.adb (Check_Switches): Call Locate_Runtime with the
|
||
Env parameter of procedure Get_Or_Create_Configuration_File.
|
||
(Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
|
||
of new parameter Env.
|
||
* prj-conf.ads (Locate_Runtime): New parameter Env of type
|
||
Prj.Tree.Environment.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor
|
||
reformatting.
|
||
* sem_attr.adb: Minor code reformatting and simplification.
|
||
* checks.adb: Fix minor typo.
|
||
|
||
2014-06-13 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Get_Argument): fix expansion
|
||
of command line arguments (e.g. "*.adb") when using a custom
|
||
parser. The parser was not passed to the recursive call, and
|
||
thus we were trying to do the expansion on the default command
|
||
line parser.
|
||
|
||
2014-06-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor reformatting.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Old):
|
||
To determine whether the attribute should be expanded, examine
|
||
whether the enclosing postcondition pragma is to be checked,
|
||
rather than using the internal flag Assertions_Enabled.
|
||
|
||
2014-06-13 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor fixes.
|
||
* gnat_ugn.texi: Added a missing "@itemize".
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Remove -gnatd.1 flag documentation.
|
||
* layout.adb (Layout_Type): Remove special handling of size
|
||
for anonymous access type.
|
||
* sem_ch3.adb (Replace_Type): Remove special handling of size
|
||
for anonymous access type.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document debug flag -gnatd.1.
|
||
* layout.adb (Layout_Type): Size change for anonymous access
|
||
types under -gnatd.1.
|
||
* sem_ch3.adb (Replace_Type): Size change for anonymous access
|
||
types under -gnatd.1.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb (Layout_Type): Anonymous access types designating
|
||
unconstrained arrays are always thin pointers.
|
||
* sem_ch3.adb (Replace_Type): Anonymous access types designating
|
||
unconstrained arrays are always thin pointers.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call
|
||
to resolve the prefix of an attribute that is an entity name
|
||
and may be a parameterless call. Minor code reorganization.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
|
||
Removed.
|
||
* opt.ads (Compiler_Unit): New flag.
|
||
* par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
|
||
for null statement sequence (not allowed in compiler unit).
|
||
* par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
|
||
parsing.
|
||
* restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
|
||
calling sequence.
|
||
* sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
|
||
Check_Compiler_Unit.
|
||
* sem_ch6.adb (Analyze_Extended_Return_Statement): Call
|
||
Check_Compiler_Unit (this construct is not allowed in compiler
|
||
units).
|
||
* sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
|
||
Set Opt.Compiler_Unit.
|
||
|
||
2014-06-13 Geert Bosch <bosch@adacore.com>
|
||
|
||
* gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
|
||
s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
|
||
s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.
|
||
|
||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Remove the check concerning volatile
|
||
types in SPARK as it is poorly placed and poorly formulated. The
|
||
check was flagging ALL volatile entities as illegal in SPARK.
|
||
* sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile
|
||
types as illegal in SPARK.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_cat.adb: Minor reformatting.
|
||
|
||
2014-06-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo.
|
||
|
||
2014-06-13 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi: Add detail on SPARK_05 restriction.
|
||
|
||
2014-06-13 Bob Duff <duff@adacore.com>
|
||
|
||
* s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links):
|
||
Add assertions requiring the secondary stack to be initialized.
|
||
* s-solita.ads (Init_Tasking_Soft_Links): Comment.
|
||
* s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the
|
||
secondary stack is initialized before calling Init_Tasking_Soft_Links,
|
||
by adding pragmas Elaborate_Body.
|
||
|
||
2014-06-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary
|
||
kludge disabling new legality check.
|
||
|
||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Remove checks related to SPARK
|
||
volatile types.
|
||
(Freeze_Type): Volatile types are now illegal in SPARK.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspect Thread_Local_Storage.
|
||
* gnat_rm.texi: Document aspect Thread_Local_Storage.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_cat.adb (Validate_Static_Object_Name): A constant whose
|
||
value is a temporary that renames an aggregate is legal in a
|
||
preelaborated unit. Illegalities, if any will be detected in
|
||
the aggregate components.
|
||
|
||
2014-06-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting an comment expansion.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to
|
||
Tbuild.
|
||
* tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from
|
||
Back_End.
|
||
* gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild
|
||
* sem_warn.adb: Minor reformatting.
|
||
|
||
2014-06-13 Doug Rupp <rupp@adacore.com>
|
||
|
||
* adaint.c (__gnat_open_new_temp) [VMS]: Open binary
|
||
files with rfm=udf.
|
||
|
||
2014-06-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Unset_References): Take
|
||
case of Refined_Post into account in Within_Postcondition check.
|
||
|
||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Volatile types are not allowed in
|
||
SPARK.
|
||
|
||
2014-06-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import,
|
||
Aspect_Export): Consider that variables may be set outside the program.
|
||
|
||
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.adb (Make_Id): New function.
|
||
(Make_SC): New function.
|
||
(Set_RND): New procedure.
|
||
* back_end.ads (Make_Id): New function.
|
||
(Make_SC): New function.
|
||
(Set_RND): New procedure.
|
||
* einfo.ads: Minor comment updates.
|
||
* frontend.adb: Move Atree.Initialize call to Gnat1drv.
|
||
* gnat1drv.adb (Gnat1drv): New calling sequence for
|
||
Get_Target_Parameters.
|
||
(Gnat1drv): Move Atree.Initialize here from Frontend.
|
||
* targparm.adb (Get_Target_Parameters): New calling
|
||
sequence (Get_Target_Parameters): Handle pragma Restriction
|
||
(No_Dependence,..)
|
||
* targparm.ads (Get_Target_Parameters): New calling sequence.
|
||
|
||
2014-06-13 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Import_Or_Interface): Exit the homonym
|
||
loop if the pragma does not come from source, so that an implicit
|
||
pragma Import only applies to the first declaration, avoiding
|
||
possible conflicts with earlier explicit and implicit declarations
|
||
due to multiple Provide_Shift_Operators pragmas.
|
||
(Set_Imported): Remove previous fix that bypassed pragma duplication
|
||
error.
|
||
* gnat_rm.texi: Change 'equivalent' to 'similar' in description
|
||
of Provide_Shift_Operators.
|
||
|
||
2014-06-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Pass
|
||
string pointer directly to set_decl_section_name.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Clause_Syntax): Add new
|
||
local variable Outputs. Account for the case where multiple
|
||
output items appear as an aggregate.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
|
||
with ?j? not ??.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
|
||
new variable First_Node. Update the position after all insertions have
|
||
taken place to First_Node.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Remove debug flag -gnatd.1, no longer needed.
|
||
* layout.adb (Layout_Type): Remove test of -gnatd.1.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Clause_Syntax): Add new
|
||
local variable Outputs. Account for the case where multiple
|
||
output items appear as an aggregate.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
|
||
with ?j? not ??.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
|
||
new variable First_Node. Update the position after all insertions have
|
||
taken place to First_Node.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Remove debug flag -gnatd.1, no longer needed.
|
||
* layout.adb (Layout_Type): Remove test of -gnatd.1.
|
||
|
||
2014-06-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.ads: Minor reformatting.
|
||
* checks.adb (Determine_Range): Do not attempt to determine
|
||
the range of a deferred constant whose full view has not been
|
||
seen yet.
|
||
* sem_res.adb (Resolve): Remove undesirable guard against
|
||
resolving expressions from expression functions.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous
|
||
access types.
|
||
* layout.adb (Layout_Type): Make anonymous access types for
|
||
subprogram formal types and return types always thin. For now
|
||
only enabled if -gnatd.1 set.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
|
||
rule for stream attributes of interface types (RM 13.13.2 (38/3)):
|
||
subprogram must be a null procedure.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_Item): Allow formal
|
||
parameters to appear as input_items in an initialization_list
|
||
of pragma Initializes. Encapsulation now applies to states and
|
||
variables only (as it should). Add RM references to key errors.
|
||
* sem_prag.adb (Set_Imported): Suppress errors
|
||
about preceding Imports when the pragma does not come from source,
|
||
which can happen through use of pragma Provide_Shift_Operators.
|
||
|
||
2014-06-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
* einfo.ads (Full_View): Minor comment update.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb (Is_Independent): New flag.
|
||
* einfo.ads (Is_Independent): New flag.
|
||
(Has_Independent_Components): Clean up and fix comments.
|
||
* sem_prag.adb (Fix_Error): Deal with changing argument
|
||
[of] to entity [for].
|
||
(Analyze_Pragma, case Independent): Set Is_Independent flag
|
||
(Analyze_Pragma, case Independent_Components): Set Is_Independent flag
|
||
in all components of specified record.
|
||
|
||
2014-06-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Formal_Decimal_Fixed_Point_Type):
|
||
Set proper Etype on bounds of dummy type created for analysis
|
||
of the generic.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Minor comment fix (add missing section of dot
|
||
numeric flags).
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, switch-c.adb, sem_prag.adb, a-tgdico.ads, par-prag.adb,
|
||
opt.ads, a-finali.ads, snames.ads-tmpl: Remove all traces of
|
||
pragma/aspects Pure_05 Pure_12 Preelaborate_05.
|
||
* errout.adb (Output_Messages): Avoid duplicate output for
|
||
library level instance.
|
||
* sem_elab.adb (Is_Call_Of_Generic_Formal): Moved to outer level
|
||
(Check_Elab_Call): Add call to Is_Call_Of_Generic_Formal
|
||
* exp_ch4.adb (Expand_N_Op_Expon): New interface for Exp_Modular.
|
||
* s-expmod.ads, s-expmod.adb (Exp_Modular): Change interface to
|
||
accomodate largest modulus value.
|
||
* gnat_ugn.texi: Minor updates.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Package_Body): Do not attempt to
|
||
load body of generic package or its parent, if body is optional
|
||
and the unit does not require a body.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document System.Unsigned_Types.
|
||
* impunit.adb: System.Unsigned_Types (s-unstyp.ads) is user accessible.
|
||
* s-unstyp.ads: Update comments (this is now user available unit).
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, sem_res.adb: Minor reformatting.
|
||
|
||
2014-06-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-astaco.ads, a-tags.ads, s-excdeb.ads, a-tgdico.ads, a-stmaco.ads,
|
||
a-except-2005.ads, s-except.ads, a-taside.ads, a-dynpri.ads,
|
||
a-chahan.ads, a-sytaco.ads, s-stalib.ads, a-strmap.ads: Change pragmas
|
||
Preelaborate_05 to just Preelaborate in runtime units, and similarly
|
||
change Pure_05 to just Pure.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not attempt
|
||
analysis if error has been posted on subprogram body.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
|
||
rule given in RM 13.1 (8/1) for operational attributes to stream
|
||
attributes: the attribute must apply to a first subtype. Fixes
|
||
missing errors in ACATS test bdd2004.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Record_Init_Proc): Don't build for variant
|
||
record type if restriction No_Implicit_Conditionals is active.
|
||
(Expand_N_Object_Declaration): Don't allow default initialization
|
||
for variant record type if restriction No_Implicit_Condition is active.
|
||
(Build_Variant_Record_Equality): Don't build for variant
|
||
record type if restriction No_Implicit_Conditionals is active.
|
||
* exp_ch4.adb (Expand_N_Op_Eq): Error if variant records with
|
||
No_Implicit_Conditionals.
|
||
* sem_aux.ads, sem_aux.adb (Has_Variant_Part): New function.
|
||
|
||
2014-06-11 Ramon Fernandez <fernandez@adacore.com>
|
||
|
||
* i-cstrin.ads: Update comments.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Selected_Component): Handle properly a
|
||
selected component whose prefix is overloaded, when none of the
|
||
interpretations matches the expected type.
|
||
|
||
2014-06-11 Bob Duff <duff@adacore.com>
|
||
|
||
* make.adb (Wait_For_Available_Slot): Give a more
|
||
informative error message; if the ALI file is not found, print
|
||
the full path of what it's looking for.
|
||
|
||
2014-06-11 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par>
|
||
option to specify the result file encoding.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads, sem_ch12.adb: Minor reformatting.
|
||
* debug.adb, erroutc.adb: Remove -gnatd.q debug switch.
|
||
* lib-xref.adb: Minor reformatting.
|
||
* restrict.adb: Minor code reorganization (put routines in
|
||
alpha order).
|
||
|
||
2014-06-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.ads: Minor typo in comment
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: New attribute Uninitialized_Variable, for
|
||
formal private types and private type extensions, to indicate
|
||
variable in a generic unit whose uninitialized use suggest that
|
||
actual type should be fully initialized.
|
||
Needs_Initialized_Actual: removed, functionaity replaced by
|
||
the above.
|
||
* lib-xref.adb (Generate_Reference): Generate a reference for
|
||
variables of a formal type when the unit is not the main unit,
|
||
to enable appropriate warnings in an instance.
|
||
* sem_ch12.adb (Check_Ininialized_Type): Improve warning on use
|
||
of variable in a generic unit that suggests that actual type
|
||
should be full initialized.
|
||
* sem_warn.adb; (May_Need_Initialized_Actual): Make into procedure
|
||
and do not emot warning, which now only appears in an instance.
|
||
|
||
2014-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix minor typo.
|
||
|
||
2014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb Add with and use clause for Sem_Ch10.
|
||
(Analyze_Declarations): Code reformatting. Analyze the contract
|
||
of a subprogram body stub at the end of the declarative region.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Spec_Id is
|
||
now a variable. Do not process the body if its contract is not
|
||
available. Account for subprogram body stubs when extracting
|
||
the corresponding spec.
|
||
* sem_ch6.ads (Analyze_Subprogram_Contract): Update the comment
|
||
on usage.
|
||
* sem_ch10.ads, sem_ch10.adb (Analyze_Subprogram_Body_Stub_Contract):
|
||
New routine.
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part):
|
||
Account for subprogram body stubs when extracting the
|
||
corresponding spec.
|
||
(Analyze_Global_In_Decl_List):
|
||
Account for subprogram body stubs when extracting the
|
||
corresponding spec.
|
||
(Analyze_Refined_Depends_In_Decl_Part):
|
||
Use Find_Related_Subprogram_Or_Body to retrieve the declaration
|
||
of the related body. Spec_Is now a variable. Account for
|
||
subprogram body stubs when extracting the corresponding spec.
|
||
(Analyze_Refined_Global_In_Decl_Part): Use
|
||
Find_Related_Subprogram_Or_Body to retrieve the declaration
|
||
of the related body. Spec_Is now a variable. Account for
|
||
subprogram body stubs when extracting the corresponding spec.
|
||
(Collect_Subprogram_Inputs_Output): Account for subprogram body
|
||
stubs when extracting the corresponding spec.
|
||
|
||
2014-06-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (Process_Link): Do not invoke gnatlink with
|
||
-lgnarl or -lgnat.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Add debug flag -gnatd.q.
|
||
* erroutc.adb (Prescan_Message): Bomb if untagged warning with
|
||
-gnatd.q set.
|
||
* styleg.adb (Check_Xtra_Parens): Message should be a style
|
||
message.
|
||
* sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
|
||
par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
|
||
sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
|
||
sem_ch13.adb, lib-xref.adb: Add remaining warning tags.
|
||
|
||
2014-06-11 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Revised chapter on Implementation Defined
|
||
Characteristics.
|
||
|
||
2014-06-11 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-exctab.adb: avoid race conditions in exception registration.
|
||
|
||
2014-06-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Warn_Insertion): New function.
|
||
(Error_Msg): Use Warn_Insertion and Prescan_Message.
|
||
(Error_Msg_Internal): Set Info field of error object.
|
||
(Error_Msg_NEL): Use Prescan_Message.
|
||
(Set_Msg_Text): Don't store info: at start of message.
|
||
(Skip_Msg_Insertion_Warning): New name for Set_Msg_Insertion_Warning.
|
||
(Skip_Msg_Insertion_Warning): Now just skips warning insertion.
|
||
* errout.ads: Document new ?$? and >$> insertion sequences
|
||
Document use of "(style)" and "info: "
|
||
* erroutc.adb (dmsg): Print several missing fields
|
||
(Get_Warning_Tag): Handle -gnatel case (?$?) (Output_Msg_Text):
|
||
Deal with new tagging of info messages
|
||
* erroutc.ads: Is_Info_Msg: New global (Error_Msg_Object):
|
||
Add field Info (Prescan_Message): New procedure, this procedure
|
||
replaces the old Test_Style_Warning_Serious_Unconditional_Msg
|
||
* errutil.adb, exp_util.adb, par-ch7.adb, sem_ch13.adb, sem_ch7.adb,
|
||
sem_elab.adb: Follow new rules for info message (info belongs
|
||
only at the start of a message, and only in the first message,
|
||
not in any of the continuations).
|
||
* gnat_ugn.texi: Document full set of warning tags.
|
||
|
||
2014-06-11 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_util.adb: Minor typo fix.
|
||
|
||
2014-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Check_References): Do not emit spurious warnings
|
||
on uninitialzed variable of a formal private type if variable
|
||
is not read.
|
||
|
||
2014-06-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Use
|
||
set_decl_section_name accessor.
|
||
|
||
2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
|
||
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
|
||
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb: Minor reformatting.
|
||
* sem_prag.adb (Analyze_Pragma, case Inspection_Point): Call
|
||
dummy procedure ip.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.ads (Implementation_Restriction): Add entry for
|
||
No_Fixed_IO.
|
||
* rtsfind.ads: Add entries for Fixed_IO and Decimal_IO in
|
||
Ada.[Wide_[Wide_]Text_IO.
|
||
* s-rident.ads (Restriction_Id): Add entry for No_Fixed_IO.
|
||
* sem_attr.adb (Analyze_Attribute): Disallow fixed point types
|
||
for Img, Image, Value, Wide_Image, Wide_Value, Wide_Wide_Image,
|
||
Wide_Wide_Value if restriction No_Fixed_IO is set.
|
||
* sem_util.adb (Set_Entity_Checks): Check restriction No_Fixed_IO.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb: Minor error msg changes (no upper case letter
|
||
at start).
|
||
* sem_ch12.adb, sem_ch5.adb, sem_res.adb, sem_util.adb: Minor
|
||
reformatting.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Debug flag -gnatd.G inhibits static elab tracing
|
||
via generic formals.
|
||
* sem_elab.adb (Is_Call_Of_Generic_Formal): Return False if
|
||
-gnatd.G is set.
|
||
|
||
2014-05-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Revert_Storage_Order): Renamed from Byte_Swap to
|
||
more accurately describe that this subprogram needs to come into
|
||
play also in cases where no byte swapping is involved, because
|
||
it also takes care of some required shifts (left-justification
|
||
of values).
|
||
|
||
2014-05-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Indicate whether
|
||
a Scalar_Storage_Order attribute definition is present for the
|
||
component's type.
|
||
(Freeze_Record_Type): Suppress junk warnings
|
||
about purportedly junk Bit_Order / Scalar_Storage_Order attribute
|
||
definitions.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Put back call
|
||
to Kill_Elaboration_Checks.
|
||
|
||
2014-05-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* layout.adb (Assoc_Add): Suppress the optimization of the (E
|
||
- C1) + C2 case, when the expression type is unsigned and C1 <
|
||
C2, to avoid creating a negative literal when folding.
|
||
|
||
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Update the use of
|
||
Is_SPARK_Volatile.
|
||
* sem_ch3.adb (Analyze_Object_Contract): Update the use of
|
||
Is_SPARK_Volatile.
|
||
(Process_Discriminants): Update the use of Is_SPARK_Volatile.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Update the use
|
||
of Is_SPARK_Volatile.
|
||
(Analyze_Loop_Parameter_Specification):
|
||
Update the use of Is_SPARK_Volatile.
|
||
* sem_ch6.adb (Process_Formals): Catch an illegal use of an IN
|
||
formal parameter when its type is volatile.
|
||
* sem_prag.adb (Analyze_Global_Item): Update the use of
|
||
Is_SPARK_Volatile.
|
||
* sem_res.adb (Resolve_Entity_Name): Correct the guard which
|
||
determines whether an entity is a volatile source SPARK object.
|
||
* sem_util.adb (Has_Enabled_Property): Accout for external
|
||
properties being set on objects other than abstract states
|
||
and variables. An example would be a formal parameter.
|
||
(Is_SPARK_Volatile): New routine.
|
||
(Is_SPARK_Volatile_Object):
|
||
Remove the entity-specific tests. Call routine Is_SPARK_Volatile
|
||
when checking entities and/or types.
|
||
* sem_util.ads (Is_SPARK_Volatile): New routine.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb: Minor fix to warning messages (use ?? instead
|
||
of ?).
|
||
|
||
2014-05-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (GNATCmd): For platforms other than VMS, recognize
|
||
switch --version and --help.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Is_Call_Of_Generic_Formal): New function.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Set type of
|
||
iterator variable when the domain of iteration is a formal
|
||
container and this is an element iterator.
|
||
|
||
2014-05-21 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb: Minor reformatting.
|
||
* s-taprop.ads: Minor comment fix.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to
|
||
Kill_Elaboration_Checks.
|
||
* errout.adb, erroutc.adb: Minor reformatting.
|
||
|
||
2014-05-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte
|
||
component. No byte swapping occurs, but this procedure also takes
|
||
care of appropriately justifying the argument.
|
||
|
||
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub):
|
||
New routine.
|
||
(Analyze_Subprogram_Body_Helper): Move the
|
||
analysis of aspect specifications and the processing of the
|
||
subprogram body contract after inlining has taken place.
|
||
(Diagnose_Misplaced_Aspect_Specifications): Removed.
|
||
|
||
2014-05-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Revert previous change.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not
|
||
continuations any more.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual,
|
||
present in formal_Private_Definitions and on private extension
|
||
declarations of a formal derived type. Set when the use of the
|
||
formal type in a generic suggests that the actual should be a
|
||
fully initialized type.
|
||
* sem_warn.adb (May_Need_Initialized_Actual): new subprogram
|
||
to indicate that an entity of a generic type has default
|
||
initialization, and that the corresponing actual type in any
|
||
subsequent instantiation should be fully initialized.
|
||
* sem_ch12.adb (Check_Initialized_Type): new subprogram,
|
||
to emit a warning if the actual for a generic type on which
|
||
Needs_Initialized_Actual is set is not a fully initialized type.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb, prj-dect.adb: Minor reformatting.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.ads: Minor comment addition.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Add documentation for use of >*> tag.
|
||
* restrict.adb: Make sure we use >*> tag for restriction warnings.
|
||
|
||
2014-05-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* debug.adb: Add case of illegal overriding_indicator for a
|
||
protected subprogram body to description of -gnatd.E switch.
|
||
* sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
|
||
for cases of giving overriding_indicators on protected subprogram
|
||
bodies, but change this to a warning if -gnatd.E is enabled. No
|
||
longer give a style warning about missing indicators on protected
|
||
subprogram bodies.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb,
|
||
sem_elab.ads: Minor reformatting.
|
||
* erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag
|
||
parameter optional.
|
||
|
||
2014-05-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-dect.adb: Allow package Install in aggregate project.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Insert_Delayed_Pragma is now used for the case of Attach_Handler.
|
||
* sem_prag.adb: Minor comment improvements.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Install_Body): When checking whether freezing of
|
||
instantiation must be delayed, verify that the common enclosing
|
||
subprogram to generic and instance is in fact an overloadable
|
||
entity.
|
||
|
||
2014-05-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all
|
||
mains with the same name and fail if there is more than one.
|
||
* prj.ads, prj.adb (Find_All_Sources): New function
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
* lib-xref-spark_specific.adb, sem_util.adb: Minor reformatting.
|
||
* sem_prag.adb: Minor error message improvement.
|
||
|
||
2014-05-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb, lib-xref.ads, lib-xref.adb
|
||
(Enclosing_Subprogram_Or_Package): Only return a library-level
|
||
package.
|
||
|
||
2014-05-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base
|
||
to the full view of the parent type when processing a derived type
|
||
which is the full view of a private type not defined in a generic
|
||
unit which is derived from a private type with discriminants
|
||
whose full view is a non-tagged record type.
|
||
|
||
2014-05-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression.Apply_Accessibility_Check):
|
||
Complete previous patch.
|
||
|
||
2014-05-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
PR ada/9535
|
||
* g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
|
||
Provide a behaviour more consistent with underlying datagram
|
||
socket: do not attempt to loop over Send_Socket/Receive_Socket
|
||
iterating along the buffer.
|
||
|
||
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Ensure that a discriminated
|
||
or a tagged type is not labelled as volatile. Ensure that a
|
||
non-volatile type has no volatile components.
|
||
* sem_ch3.adb (Analyze_Object_Contract): Add local constant
|
||
Obj_Typ. Code reformatting. Ensure that a discriminated or
|
||
tagged object is not labelled as volatile.
|
||
* sem_prag.adb (Process_Atomic_Shared_Volatile): Ensure that
|
||
pragma Volatile applies to a full type declaration or an object
|
||
declaration when SPARK mode is on.
|
||
|
||
2014-05-21 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: For ASIS tools, reword the paragraph about
|
||
providing options needed for compiling the argument source for
|
||
the situation when a project file can be used as a tool parameter.
|
||
|
||
2014-05-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor typo fix.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stand.adb (Tree_Read): Read missing entities.
|
||
(Tree_Write): Write missing entities.
|
||
|
||
2014-05-21 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Wordsmithing edits to Coupling Metrics Control
|
||
section in gnatmetric chapter.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Spec moved here, since not used
|
||
outside Exp_Ch6 (Expand_Actuals): Deal with proper insertion of
|
||
post-call copy write back (see detailed comment in code).
|
||
* exp_ch6.ads (Expand_Actuals): Moved to body, not used outside
|
||
Exp_Ch6.
|
||
* tbuild.ads: Minor reformatting.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stand.ads: Add warning about adding new entities and
|
||
Tree_Read/Tree_Write.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb (Set_Entity_With_Checks): Don't complain about
|
||
references to restricted entities within the units in which they
|
||
are declared.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Check_Bad_Body): Use Source_File_Is_Body to
|
||
simplify the needed test, and also deal with failure to catch
|
||
situations with non-standard names.
|
||
* sinput-l.ads, sinput-l.adb (Source_File_Is_No_Body): New function
|
||
(Source_File_Is_Subunit): Removed, no longer used.
|
||
|
||
2014-05-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb
|
||
(Expand_Allocator_Expression.Apply_Accessibility_Check): for a
|
||
renaming of an access to interface object there is no need to
|
||
generate extra code to reference the tag.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb, erroutc.adb, erroutc.ads: Allow warning tag in pragma
|
||
Warnings (Off, string).
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* osint.adb: Fix three error messages to say invalid instead
|
||
of erroneous.
|
||
* par-ch4.adb, exp_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
|
||
sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_dim.adb, sem_res.adb,
|
||
sem_util.adb, sem_util.ads: Fix incorrect use of erroneous in comments.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb, sem_ch13.adb, sem_ch13.ads, sem_ch9.adb,
|
||
sem_ch9.ads: Move discriminant manipulation routines for analysis of
|
||
aspect specifications from sem_ch9 to sem_ch13, where they belong.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings).
|
||
Clearly document -gnatyg (GNAT style switches).
|
||
* usage.adb: Add line line for -gnatw.g (GNAT warnings) More
|
||
detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is
|
||
available for VMS after all.
|
||
* warnsw.adb: Reorganize to eliminate duplicated code
|
||
(Restore_Warnings): Add a couple of missing entries
|
||
(Save_Warnings): Add a couple of missing entries.
|
||
* warnsw.ads: Add missing entries to Warning_Record (not clear
|
||
what the impact is).
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction
|
||
warning) case.
|
||
* errout.ads: Document ?*? (restriction warning) insertion.
|
||
* erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction
|
||
warning) case.
|
||
* erroutc.ads: Document use of * for restriction warning tag.
|
||
* restrict.adb (Restriction_Msg): Tag with ?*? instead of ??.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not
|
||
make discriminants immediately visible when analyzing an aspect
|
||
of a subtype declaration.
|
||
(Uninstall_Discriminants): Do not apply to the entity in a
|
||
subtype declaration.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb: Code clean up.
|
||
|
||
2014-05-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -Werror.
|
||
|
||
2014-05-21 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object):
|
||
This was returning False if the Object is a constant view. Fix
|
||
it to return True in that case, because it might be a view of
|
||
a variable.
|
||
(Has_Discriminant_Dependent_Constraint): Fix latent
|
||
bug; this function was crashing when passed a discriminant.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove misplaced section that is now obsolete.
|
||
* s-arit64.adb: Minor code reorganization.
|
||
* sem_prag.adb: Minor comment fix (remove erroneous use of the
|
||
term erroneous).
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-table.adb, g-dyntab.adb (Reallocate): Fix possible overflow in
|
||
computing new table size.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
* ceinfo.adb: Deal with slight format change of einfo.ads.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Part_Of): Further work on the proper
|
||
implementation of the SPARK 2014 rule concerning private child
|
||
units (LRM 7.2.6).
|
||
|
||
2014-05-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeusg.adb: Add switch -d to usage.
|
||
|
||
2014-05-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Find_Actual): If an actual that is the prefix
|
||
of an enclosing prefixed call has been rewritten, use Nkind
|
||
and Sloc to identify the corresponding formal, when handling
|
||
deferred references.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document -gnatd.z switch.
|
||
* sem_eval.adb (Why_Non_Static): Test -gnatd.z switch.
|
||
|
||
2014-05-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads (Can_Never_Be_Null): Minor comment update.
|
||
* sem_prag.adb (Check_Arg_Is_Task_Dispatching_Policy): Minor
|
||
error message change.
|
||
* s-arit64.adb ("abs"): New function. Use expression functions
|
||
for the simple conversions and arithmetic.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
|
||
set function_start_locus.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* utils.c (gnat_write_global_declarations): Adjust the flags put on
|
||
dummy_global.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (change_qualified_type): New static function.
|
||
(gnat_to_gnu_entity): Use it throughout to add qualifiers on types.
|
||
<E_Array_Type>: Set TYPE_VOLATILE on the array type directly.
|
||
<E_Array_Subtype>: Likewise.
|
||
Do not set flags on an UNCONSTRAINED_ARRAY_TYPE directly.
|
||
(gnat_to_gnu_component_type): Likewise.
|
||
(gnat_to_gnu_param): Likewise.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Set_Present_Expr): Move around.
|
||
(End_Location): New macro.
|
||
* gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in
|
||
lieu of more verbose construct.
|
||
* gcc-interface/trans.c (Call_to_gnu): Likewise.
|
||
(gnat_to_gnu): Likewise. Remove obsolete code.
|
||
|
||
2014-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Do not
|
||
consider that regular packed arrays can never be superflat.
|
||
|
||
2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/ada-tree.h: Remove usage of variable_size gty
|
||
annotation.
|
||
* gcc-interface/decl.c (annotate_value): Adjust.
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
|
||
(push_range_check_info): Likewise.
|
||
(Loop_Statement_to_gnu): Likewise.
|
||
(Subprogram_Body_to_gnu): Likewise.
|
||
(Compilation_Unit_to_gnu): Likewise.
|
||
(start_stmt_group): Likewise.
|
||
* gcc-interface/utils.c (init_gnat_utils): Likewise.
|
||
(gnat_pushlevel): Likewise.
|
||
(maybe_pad_type): Likewise.
|
||
|
||
2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* seh_init.c: Fix copyright year.
|
||
|
||
2014-05-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__
|
||
are defined. Move include windows.h before system.h.
|
||
* s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile
|
||
also when __CYGWIN__ is defined. Include windef.h before winbase.h.
|
||
|
||
2014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Convert integer_one_node
|
||
to the appropriate type.
|
||
* gcc-interface/trans.c (gnat_to_gnu): Likewise.
|
||
(pos_to_constructor): Likewise.
|
||
|
||
2014-05-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (annotate_value): Fix thinko in latest change.
|
||
|
||
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
|
||
Mike Stump <mikestump@comcast.net>
|
||
Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/cuintp.c (UI_From_gnu): Use wide-int interfaces.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_SIGN.
|
||
(annotate_value): Use wide-int interfaces.
|
||
* gcc-interface/utils.c (get_nonnull_operand): Use tree_fits_uhwi_p.
|
||
|
||
2014-04-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in: Support aarch64-linux.
|
||
|
||
2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
|
||
add 'Suffix' parameter and adjust comment.
|
||
(Get_External_Name_With_Suffix): Delete.
|
||
* exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
|
||
(Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
|
||
'Suffix' parameter.
|
||
(Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
|
||
Call Get_External_Name instead of Get_External_Name_With_Suffix.
|
||
(Get_Secondary_DT_External_Name): Likewise.
|
||
* exp_cg.adb (Write_Call_Info): Likewise.
|
||
* exp_disp.adb (Export_DT): Likewise.
|
||
(Import_DT): Likewise.
|
||
* comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
|
||
parameter with False default.
|
||
* comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
|
||
* types.h (Fat_Pointer): Rename into...
|
||
(String_Pointer): ...this. Add comment on interfacing rules.
|
||
* fe.h (Compiler_Abort): Adjust for above renaming.
|
||
(Error_Msg_N): Likewise.
|
||
(Error_Msg_NE): Likewise.
|
||
(Get_External_Name): Likewise. Add third parameter.
|
||
(Get_External_Name_With_Suffix): Delete.
|
||
* gcc-interface/decl.c (STDCALL_PREFIX): Define.
|
||
(create_concat_name): Adjust call to Get_External_Name, remove call to
|
||
Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
|
||
* gcc-interface/trans.c (post_error): Likewise.
|
||
(post_error_ne): Likewise.
|
||
* gcc-interface/misc.c (internal_error_function): Likewise.
|
||
|
||
2014-04-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/60092
|
||
* gcc-interface/utils.c: Define flag_isoc11.
|
||
|
||
2014-04-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 4.10.
|
||
|
||
2014-04-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
Revert
|
||
2014-04-22 Richard Henderson <rth@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in: Support aarch64-linux.
|
||
|
||
2014-04-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
|
||
(Error_Msg_N): Likewise.
|
||
(Error_Msg_NE): Likewise.
|
||
(Get_External_Name_With_Suffix): Likewise.
|
||
* types.h (Fat_Pointer): Delete.
|
||
(String_Pointer): New type.
|
||
(DECLARE_STRING_POINTER): New macro.
|
||
* gcc-interface/decl.c (create_concat_name): Adjust.
|
||
* gcc-interface/trans.c (post_error): Likewise.
|
||
(post_error_ne): Likewise.
|
||
* gcc-interface/misc.c (internal_error_function): Likewise.
|
||
|
||
2014-04-22 Richard Henderson <rth@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in: Support aarch64-linux.
|
||
|
||
* init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
|
||
(__gnat_alternate_stack): Enable for all linux except ia64.
|
||
|
||
2014-04-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
|
||
(Error_Msg_N): Likewise.
|
||
(Error_Msg_NE): Likewise.
|
||
(Get_External_Name_With_Suffix): Likewise.
|
||
* types.h (Fat_Pointer): Delete.
|
||
(String_Pointer): New type.
|
||
(DECLARE_STRING_POINTER): New macro.
|
||
* gcc-interface/decl.c (create_concat_name): Adjust.
|
||
* gcc-interface/trans.c (post_error): Likewise.
|
||
(post_error_ne): Likewise.
|
||
* gcc-interface/misc.c (internal_error_function): Likewise.
|
||
|
||
2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
|
||
scalar constant instead of a reference for renaming of scalar literal.
|
||
Do not create a new object for constant renaming except for a function
|
||
call. Make sure a VAR_DECL is created for the renaming pointer.
|
||
* gcc-interface/trans.c (constant_decl_with_initializer_p): New.
|
||
(fold_constant_decl_in_expr): New function.
|
||
(Identifier_to_gnu): Use constant_decl_with_initializer_p.
|
||
For a constant renaming, try to fold a constant DECL in the result.
|
||
(lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
|
||
(Identifier_to_gnu): Reference the renamed object of constant renaming
|
||
pointers directly.
|
||
* gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
|
||
invalidate constant renaming pointers.
|
||
|
||
2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (type_for_vector_element_p): New predicate.
|
||
(build_vector_type_for_size): New function.
|
||
(build_vector_type_for_array): Likewise.
|
||
(unchecked_convert): Build an intermediate vector type to convert
|
||
from a generic array type to a vector type.
|
||
(handle_vector_size_attribute): Reimplement.
|
||
(handle_vector_type_attribute): Likewise.
|
||
|
||
2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (prepend_one_attribute_pragma): Call
|
||
Is_OK_Static_Expression in lieu of Is_Static_Expression to
|
||
detect valid arguments.
|
||
|
||
2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.
|
||
|
||
2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_IDENTIFIER.
|
||
(components_to_record): Likewise.
|
||
* gcc-interface/utils.c (make_aligning_type): Likewise.
|
||
(maybe_pad_type): Likewise.
|
||
(finish_record_type): Likewise.
|
||
(rest_of_record_type_compilation): Likewise.
|
||
|
||
2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Ivdep): New pragma-related name.
|
||
* sem_prag.adb (Analyze_Pragma) <Pragma_Loop_Optimize>: Add support
|
||
for Ivdep hint.
|
||
* gnat_rm.texi (Implementation Defined Pragmas): Document new Ivdep
|
||
hint for Loop_Optimize.
|
||
* gnat_ugn.texi (Vectorization of loops): Mention new Ivdep hint.
|
||
* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
|
||
with new Ivdep hint.
|
||
* gcc-interface/ada-tree.h (LOOP_STMT_IVDEP): New macro.
|
||
* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
|
||
with new Ivdep hint.
|
||
(gnat_gimplify_stmt) <LOOP_STMT>: Propagate loop hints.
|
||
|
||
2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads (Suppress_Back_Annotation): Remove as unused.
|
||
* fe.h (Back_Annotate_Rep_Info): Likewise.
|
||
(Global_Discard_Names): Likewise.
|
||
(List_Representation_Info): Declare.
|
||
* types.h (Uint_Minus_1): Likewise.
|
||
* repinfo.ads: Document back-annotation change.
|
||
* gcc-interface/gigi.h (init_gnat_decl): Declare.
|
||
(destroy_gnat_decl): Likewise.
|
||
* gcc-interface/decl.c (annotate_value): Do not create the cache of
|
||
annotated values here but...
|
||
<CALL_EXPR>: Only inline the call if -gnatR3 is specified or we are
|
||
in ASIS mode.
|
||
(init_gnat_decl): ...here instead. New function.
|
||
(destroy_gnat_decl): Likewise.
|
||
* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_decl.
|
||
* gcc-interface/utils.c (init_gnat_utils): Minor reformatting.
|
||
|
||
2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (create_field_decl_from): Finalize non-constant
|
||
offset for the field, if any.
|
||
|
||
2014-04-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
Svante Signell <svante.signell@gmail.com>
|
||
|
||
PR ada/54040
|
||
PR ada/59346
|
||
* s-osinte-x32.adb: New file.
|
||
* s-linux.ads (Time): New section.
|
||
* s-linux-alpha.ads (Time): Likewise.
|
||
* s-linux-android.ads (Time: Likewise.
|
||
* s-linux-hppa.ads (Time): Likewise.
|
||
* s-linux-mipsel.ads (Time): Likewise.
|
||
* s-linux-sparc.ads (Time): Likewise.
|
||
* s-linux-x32.ads (Time): Likewise.
|
||
* s-osprim-x32.ads (timespec): Adjust.
|
||
(Clock): Likewise.
|
||
(To_Timespec): Likewise.
|
||
* s-osinte-linux.ads (Time): Define local subtypes for those defined
|
||
in System.Linux.
|
||
* s-taprop-linux.adb (Monotonic_Clock): Do not define timeval.
|
||
* s-osinte-hpux.ads (timespec): Revert POSIX breakage.
|
||
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
|
||
* s-osinte-solaris-posix.ads (timespec): Likewise.
|
||
* s-osinte-posix.adb (To_Timespec): Likewise.
|
||
* gcc-interface/Makefile.in (x32/Linux): Use s-osinte-x32.adb.
|
||
|
||
2014-04-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/60411
|
||
* gcc-interface/Makefile.in (arm% linux-android): Switch to EHABI.
|
||
* s-linux-android.ads: New file.
|
||
* s-intman-android.adb: Likewise.
|
||
* s-osinte-android.ads: Adjust.
|
||
* sigtramp-armdroid.c: Likewise.
|
||
* sigtramp.h: Add Android support.
|
||
|
||
2014-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (alpha-vms): Add missing line.
|
||
|
||
2014-03-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/60703
|
||
* system-linux-alpha.ads: Adjust for Ada 2005.
|
||
* system-linux-mips.ads: Likewise.
|
||
* system-linux-mips64el.ads: Likewise.
|
||
* system-linux-mipsel.ads: Likewise.
|
||
* system-linux-s390.ads: Likewise.
|
||
* system-linux-s390x.ads: Likewise.
|
||
* system-linux-sparc.ads: Likewise.
|
||
* system-linux-sparcv9.ads: Likewise.
|
||
* system-rtems.ads: Likewise.
|
||
* system-vxworks-arm.ads: Likewise.
|
||
|
||
2014-03-16 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
PR ada/39172
|
||
* gcc-interface/Makefile.in (target_cpu_default): Revert
|
||
2013-10-11 change.
|
||
|
||
2014-03-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/51483
|
||
* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
|
||
it to set the RM size. Use directly 'size' for the Esize.
|
||
(Create_Back_End_Float_Types): Adjust call to above.
|
||
* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
|
||
* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
|
||
(Write_Target_Dependent_Values): Adjust comment.
|
||
* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
|
||
deal with it.
|
||
(Write_Target_Dependent_Values): Write the precision in lieu of size.
|
||
(Initialization): Read the precision in lieu of size and compute the
|
||
size from the precision and the alignment.
|
||
* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
|
||
* gcc-interface/misc.c (enumerate_modes): Likewise. Do not register
|
||
types for vector modes, pass the size in addition to the precision.
|
||
|
||
2014-03-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo.
|
||
|
||
2014-03-07 Doug Rupp <rupp@adacore.com>
|
||
|
||
PR ada/60411
|
||
* system-linux-armel.ads (Backend_Overflow_Checks): Set to True.
|
||
(Support_64_Bit_Divides): Removed, no longer used.
|
||
(ZCX_By_Default): Enabled.
|
||
|
||
2014-02-25 Doug Rupp <rupp@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (arm-linux):
|
||
(EH_MECHANISM): Use ARM unwinder (-arm)
|
||
(LIBGNAT_TARGET_PAIRS: Override defaults with a-exexpr-gcc.adb and
|
||
s-excmac-arm.ads.
|
||
(EXTRA_LIBGNAT_OBJS): Add raise-gcc.o
|
||
(EXTRA_GNATRTL_NONTASKING_OBJS): Add g-cppexc.o s-excmac.o.
|
||
(arm-wrs-vxworks): Add EH_MECHANISM=-gcc for kernel mode.
|
||
(EXTRA_LIBGNAT_OBJS): Add sigtramp-armvxw.o
|
||
Add dependencies for sigtramp-armvxw.o.
|
||
|
||
2014-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Pragma_to_gnu): Deal with Warning_As_Error.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* rtsfind.adb (Is_RTE): Protect against entity with no scope
|
||
field (previously this call blew up on the Standard entity).
|
||
* sem_attr.adb (Analyze_Attribute, case Access): Remove
|
||
test for No_Abort_Statements, this is now handled in
|
||
Set_Entity_With_Checks.
|
||
* exp_ch6.adb, sem_ch10.adb, sem_ch4.adb, sem_ch8.adb, sem_res.adb:
|
||
Change name Set_Entity_With_Style_Check => Set_Entity_With_Checks.
|
||
* sem_util.ads, sem_util.adb: Change name Set_Entity_With_Style_Check =>
|
||
Set_Entity_With_Checks.
|
||
(Set_Entity_With_Checks): Add checks for No_Dynamic_Attachment,
|
||
Add checks for No_Abort_Statements.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_Entry_Barrier): Add comment that call to
|
||
Check_Restriction is OK.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Full_View): Better error message when
|
||
the full view of a private type without discriminants is an
|
||
unconstrained type.
|
||
* sem_ch7.adb (Uninstall_Declarations): Ditto.
|
||
|
||
2014-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sigtramp-armvxw.c: Also restore r0.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Error_Msg_Internal): Warning_Msg_Char set
|
||
unconditionally (Set_Msg_Insertion_Warning): Warning_Msg_Char
|
||
set unconditionally.
|
||
* erroutc.adb (Get_Warning_Tag): Does not give a leading space
|
||
any more (Output_Msg_Text): Rewritten with new convention on
|
||
output of warnings that are treated as errors.
|
||
* erroutc.ads (Error_Msg_Object): Warn_Chr is always set even
|
||
if Warn is False.
|
||
* gnat_rm.texi: Updates to documentation on pragma
|
||
Warning_As_Error.
|
||
* warnsw.adb (Set_Dot_Warning_Switch): -gnatw.e should not
|
||
set Warning_Doc_Switch.
|
||
* lib-writ.ads: Add documentation note on ALI file generation
|
||
for C.
|
||
* exp_ch6.adb (Expand_Call): Remove check for No_Abort_Statements
|
||
(belongs in Sem).
|
||
* sem_attr.adb (Resolve_Attribute, case Access):
|
||
Abort_Task'Access violates the No_Abort_Statements restriction.
|
||
* sem_res.adb (Resolve_Call): Check restriction
|
||
No_Abort_Statements for call to Abort_Task or a renaming of it.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Check for case of using
|
||
type name as index.
|
||
* lib.ads: Minor reformatting.
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-02-25 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sem_mech.adb (Set_Mechanisms): For convention Fortran on VMS
|
||
use Short_Descriptor(S) as the argument passing mechanism.
|
||
|
||
2014-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Also include r0.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads (Warnings_Treated_As_Errors): New variable.
|
||
* errout.adb (Error_Msg_Internal): Set Warn_Err flag in
|
||
error object (Initialize): Initialize Warnings_As_Errors_Count
|
||
(Write_Error_Summary): Include count of warnings treated as errors.
|
||
* erroutc.adb (Warning_Treated_As_Error): New function.
|
||
(Matches): Function moved to outer level of package.
|
||
* erroutc.ads (Error_Msg_Object): Add Warn_Err flag.
|
||
(Warning_Treated_As_Error): New function.
|
||
* gnat_rm.texi: Document pragma Treat_Warning_As_Error.
|
||
* opt.adb: Add handling of Warnings_As_Errors_Count[_Config].
|
||
* opt.ads (Config_Switches_Type): Add entry for
|
||
Warnings_As_Errors_Count.
|
||
(Warnings_As_Errors_Count): New variable.
|
||
(Warnings_As_Errors): New array.
|
||
* par-prag.adb: Add dummy entry for Warning_As_Error.
|
||
* sem_prag.adb (Analyze_Pragma): Implement new pragma
|
||
Warning_As_Error.
|
||
* snames.ads-tmpl: Add entries for Warning_As_Error pragma.
|
||
|
||
2014-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sigtramp.h: Fix minor inaccuracy.
|
||
|
||
2014-02-25 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Added description of kill command.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi (Address_Clauses): Add a section discussing the
|
||
problem of address clauses causing unexpected initialization,
|
||
including the effect of Initialize_Scalars.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb: Various changes for better msgs for anonmous access
|
||
subprogram types.
|
||
* erroutc.ads, erroutc.adb (Buffer_Ends_With): Version with character
|
||
argument.
|
||
(Buffer_Remove): Version with character argument.
|
||
* sem_attr.adb (Resolve_Attribute, case Access): Better handling
|
||
of mismatching conventions for access-to-subprogram case.
|
||
* sem_prag.adb (Set_Convention_From_Pragma): Deal with anonymous
|
||
access types in record.
|
||
* sem_util.ads, sem_util.adb (Set_Convention): Handle anonymous access
|
||
types, including in records.
|
||
|
||
2014-02-25 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sigtramp-ppcvxw.c, sigtramp.h, sigtramp-armvxw.c: Comment
|
||
enhancements and corrections.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: New section "Conventions and Anonymous Access Types"
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: First set of documentation additions for
|
||
predefined RM units.
|
||
* checks.adb: Minor reformatting.
|
||
* sem_elab.adb (Check_Task_Activation): Minor fix to error
|
||
message.
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2014-02-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* usage.adb (Usage): Add help on -gnateC.
|
||
* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC.
|
||
* opt.ads (Generate_CodePeer_Messages): New flag.
|
||
* gnat_ugn.texi: Document new switch -gnateC.
|
||
|
||
2014-02-25 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Corrected minor typos in Implementation Defined
|
||
Aspects.
|
||
* opt.ads: Minor reformatting.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* binde.adb: Change messages to mention -gnatel instead of -gnatwl.
|
||
* gnat_ugn.texi: Update documentation of -gnatwl Add documentation
|
||
of -gnatel/-gnateL.
|
||
* opt.ads (Warn_Info_Messages): New flag.
|
||
* sem_elab.adb: Use Elab_Warnings, Elab_Info_Messages to control
|
||
messages.
|
||
* sem_prag.adb: Use Elab_Warnings, Elab_Info_Messages to control
|
||
messages.
|
||
* switch-m.ad, switch-c.adb: Recognize new -gnatel/EL switches.
|
||
* usage.adb: Add documentation of -gnatel/-gnateL Update
|
||
documentation of -gnatwl/-gnatwL.
|
||
* warnsw.adb: New handling of Elab_Warnings, Elab_Info_Messages
|
||
* warnsw.ads (Elab_Info_Messages): New field in Warning_Record
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Shift_Operator): New flag.
|
||
* gnat_rm.texi: Document pragma Provide_Shift_Operators.
|
||
* interfac.ads: Minor code reorganization (add pragma
|
||
Compiler_Unit_Warning).
|
||
* par-prag.adb: Add dummy entry for Provide_Shift_Operators.
|
||
* sem_ch3.adb (Build_Derived_Numeric_Type): Copy
|
||
Has_Shift_Operator flag.
|
||
* sem_intr.adb (Check_Intrinsic_Subprogram): Make sure
|
||
Check_Shift is always called (Check_Shift): Set Has_Shift_Operator.
|
||
* sem_prag.adb: Implement pragma Provide_Shift_Operators.
|
||
* snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators
|
||
Add entry for Name_Amount.
|
||
* checks.adb (Selected_Range_Checks): When checking for a null
|
||
range, make sure we use the base type, and not the subtype for
|
||
deciding a range is null.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
|
||
for suspicious loop bound which is outside the range of the
|
||
loop subtype.
|
||
* gnat_ugn.texi: Add documentation section "Determining the
|
||
Chosen Elaboration Order"
|
||
* sem_ch13.adb (UC_Entry): Add field Act_Unit
|
||
(Validate_Unchecked_Conversion): Store Act_Unit
|
||
(Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit
|
||
* treepr.adb: Minor reformatting.
|
||
|
||
2014-02-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* usage.adb: Minor: fix typo.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi,
|
||
s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads,
|
||
s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads,
|
||
s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads,
|
||
g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb,
|
||
s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads,
|
||
a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb,
|
||
s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads,
|
||
a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb,
|
||
s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads,
|
||
a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb,
|
||
s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads,
|
||
s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma
|
||
Compiler_Unit_Warning, change Compiler_Unit everywhere to
|
||
Compiler_Unit_Warning.
|
||
|
||
2014-02-25 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize
|
||
in ASIS mode aggregates that are used as aspect definitions.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor
|
||
reformatting.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): If the return type of a function
|
||
is a limited view, and the non-limited view has not been seen yet,
|
||
defer freezing to some later point.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads,
|
||
s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb,
|
||
s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb,
|
||
s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb,
|
||
s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb,
|
||
s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb,
|
||
s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
|
||
s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads,
|
||
s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb,
|
||
s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb,
|
||
s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads,
|
||
s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads,
|
||
s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb,
|
||
s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb,
|
||
snames.ads-tmpl: Change Compiler_Unit everywhere to
|
||
Compiler_Unit_Warning.
|
||
|
||
2014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Or_Save_Precondition): New routine.
|
||
(Collect_Body_Postconditions_In_Decls): New routine.
|
||
(Collect_Body_Postconditions_Of_Kind): Factor out code. Handle
|
||
postcondition aspects or pragmas that appear on a subprogram
|
||
body stub.
|
||
(Collect_Spec_Preconditions): Factor out code. Handle
|
||
precondition aspects or pragmas that appear on a subprogram
|
||
body stub.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The analysis of
|
||
aspects that apply to a subprogram body stub is no longer delayed,
|
||
the aspects are analyzed on the spot.
|
||
(SPARK_Aspect_Error):
|
||
Aspects that apply to a subprogram declaration cannot appear in
|
||
a subunit.
|
||
* sem_ch10.adb Remove with and use clause for Sem_Ch13.
|
||
(Analyze_Proper_Body): Add local variable Comp_Unit. Unum
|
||
is now a local variable. Code cleanup. Analysis related to
|
||
the aspects of a subprogram body stub is now carried out by
|
||
Analyze_Subprogram_Body_Helper. Do not propagate the aspects
|
||
and/or pragmas of a subprogram body stub to the proper body
|
||
as this is no longer needed. Do not analyze the aspects of a
|
||
subprogram stub when the corresponding source unit is missing.
|
||
(Analyze_Protected_Body_Stub): Flag the illegal use of aspects
|
||
on a stub.
|
||
(Analyze_Task_Body_Stub): Flag the illegal use of
|
||
aspects on a stub.
|
||
(Optional_Subunit): Add local variable Unum.
|
||
* sem_ch13.adb (Insert_Delayed_Pragma): Do not analyze a generated
|
||
pragma when it applies to a subprogram body stub.
|
||
* sem_prag.adb (Analyze_Pragma): Pragmas Contract_Cases,
|
||
Depends and Global can now apply to a subprogram body stub as
|
||
long as it acts as its own spec.
|
||
(Analyze_Refined_Pragma):
|
||
Code reformatting. Refinement pragmas cannot apply to a subunit.
|
||
|
||
2014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.ads Update the usage of flag
|
||
Uses_Sec_Stack. Uses_Sec_Stack now applies to E_Loop entities.
|
||
* exp_ch5.adb (Expand_Iterator_Loop): The temporary for a cursor
|
||
now starts with the letter 'C'. This makes reading expanded
|
||
code easier.
|
||
* exp_ch7.adb (Establish_Transient_Scope): Add local variable
|
||
Iter_Loop. Signal that an Ada 2012 iterator loop requires
|
||
secondary stack management when creating a transient scope for
|
||
an element reference.
|
||
* exp_util.adb (Process_Statements_For_Controlled_Objects):
|
||
When wrapping the statements of a loop, pass the E_Loop entity
|
||
to the wrapping machinery.
|
||
(Wrap_Statements_In_Block): Add
|
||
formal parameter Scop along with comment on usage. Add local
|
||
variables Block_Id, Block_Nod and Iter_Loop. Mark the generated
|
||
block as requiring secondary stack management when the block is
|
||
created inside an Ada 2012 iterator loop. This ensures that any
|
||
reference objects are reclaimed on each iteration of the loop.
|
||
* sem_ch5.adb (Analyze_Loop_Statement): Mark the generated block
|
||
tasked with the handling of container iterators as requiring
|
||
secondary stack management. This ensures that iterators are
|
||
reclaimed when the loop terminates or is exited in any fashion.
|
||
* sem_util.adb (Add_Block_Identifier): New routine.
|
||
(Find_Enclosing_Iterator_Loop): New routine.
|
||
* sem_util.ads (Add_Block_Identifier): New routine.
|
||
(Find_Enclosing_Iterator_Loop): New routine.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Minor reformatting.
|
||
|
||
2014-02-25 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-expllu.ads, s-expuns.ads, s-expmod.ads: Minor comment fix.
|
||
|
||
2014-02-25 Pascal Obry <obry@adacore.com>
|
||
|
||
* sinput-l.adb, osint.adb, osint.ads: Add Prep_Suffix to factorize code.
|
||
|
||
2014-02-25 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_ch10.adb: Minor comment fix.
|
||
|
||
2014-02-25 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tasdeb.adb: Misc cleanup of this package,
|
||
including printing addresses in hexadecimal.
|
||
(Write): Fix minor bug when taking 'Address of an empty string.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Part_Of): Reject state refinement in a
|
||
public child unit when it does not refer to the abstract state
|
||
of a public ancestor.
|
||
|
||
2014-02-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma/Pragma_Validity_Checks): Ignore pragma
|
||
Validity_Checks in GNATprove and CodePeer modes.
|
||
|
||
2014-02-25 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add package Install's
|
||
Artifacts attribute.
|
||
|
||
2014-02-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting to get consistent messages.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Minor reformatting.
|
||
* sinfo.ads (Do_Range_Check): Document that this flag is never
|
||
passed to the back end.
|
||
|
||
2014-02-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem_attr.adb,
|
||
sem_ch6.adb: Remove useless references to SPARK RM in error messages.
|
||
|
||
2014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Appears_In_Check): New routine.
|
||
(Resolve_Entity_Name): Remove local variables Prev and
|
||
Usage_OK. Par is now a constant. Remove the parent chain traversal
|
||
as the placement of a volatile object with enabled property
|
||
Async_Writers and/or Effective_Reads must appear immediately
|
||
within a legal construct.
|
||
|
||
2014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Selected_Range_Checks):
|
||
Alphabetize local constants and variables. Add comments.
|
||
Always insert a range check that requires runtime evaluation into
|
||
the tree.
|
||
|
||
2014-02-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting.
|
||
|
||
2014-02-25 Bob Duff <duff@adacore.com>
|
||
|
||
* s-tassta.adb (Finalize_Global_Tasks): Limit the number of loop
|
||
iterations while waiting for independent tasks to terminate;
|
||
if an independent task does not terminate, we do not want to
|
||
hang here. In that case, the thread will be terminated when the
|
||
process exits.
|
||
* s-taprop-linux.adb (Abort_Task): Fix Assert to allow for ESRCH.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Check_SPARK_Aspect_For_ASIS): New subprogram,
|
||
used to perform pre-analysis of the expression for SPARK
|
||
aspects that have a non-standard syntax, such as GLobal and
|
||
Initializes. The procedure applies to the original expression
|
||
in an aspect specification, prior to the analysis of the
|
||
corresponding pragma, in order to provide semantic information
|
||
for ASIS navigation purposes.
|
||
(Analyze_Global_In_Decl_List, Analyze_Initializes_In_Decl_Part):
|
||
Call new subprogram.
|
||
|
||
2014-02-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb: Remove obsolete reference to SPARK RM in error message.
|
||
|
||
2014-02-25 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM.
|
||
(__gnat_adjust_context_for_raise): Bump the PC by 2.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch3.adb (P_Basic_Declarative_Items): In the case of a
|
||
misplaced IS, add a statement sequence to improper body only if
|
||
one has not been parsed already.
|
||
|
||
2014-02-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): Check for
|
||
mismatch when multidimensional array is updated with a single
|
||
index.
|
||
|
||
2014-02-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads,
|
||
sem_ch6.adb: Mark most references to SPARK RM in error messages
|
||
for removal.
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch3.adb (P_Basic_Declarative_Items): If an improper body
|
||
appears in a list of basic declarations, complete the tree with
|
||
an empty statement list, to prevent cascaded errors and crashes
|
||
if semantic analysis is attempted.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sercom-mingw.adb (Open): Fix incorrect test for error return
|
||
value.
|
||
* erroutc.adb: Minor reformatting.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Clause_Syntax): Account
|
||
for a solitary input item in a dependency list.
|
||
|
||
2014-02-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Do not
|
||
use validity checks at all in GNATprove_Mode.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-sercom-mingw.adb, g-sercom-linux.adb, sem_prag.adb, freeze.adb,
|
||
atree.adb, atree.ads: Minor reformatting.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce
|
||
global and dependence refinement when SPARK_Mode is off.
|
||
* sem_ch7.adb (Analyze_Package_Body_Contract): Do not enforce
|
||
state refinement when SPARK_Mode is off.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add local
|
||
variable Decl. Insert the generated pragma for Refined_State
|
||
after a potential pragma SPARK_Mode.
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add local
|
||
constant Deps. Remove local variable Expr. Check the syntax
|
||
of pragma Depends when SPARK_Mode is off. Factor out the
|
||
processing for extra parenthesis around individual clauses.
|
||
(Analyze_Global_In_Decl_List): Items is now a constant. Check
|
||
the syntax of pragma Global when SPARK_Mode is off.
|
||
(Analyze_Initializes_In_Decl_Part): Check the syntax of pragma
|
||
Initializes when SPARK_Mode is off.
|
||
(Analyze_Part_Of): Check
|
||
the syntax of the encapsulating state when SPARK_Mode is off.
|
||
(Analyze_Pragma): Check the syntax of pragma Abstract_State when
|
||
SPARK_Mode is off. Move the declaration order check with respect
|
||
to pragma Initializes to the end of the processing. Do not verify
|
||
the declaration order for pragma Initial_Condition when SPARK_Mode
|
||
is off. Do not complain about a useless package refinement when
|
||
SPARK_Mode is off.
|
||
(Analyze_Refined_Depends_In_Decl_Part): Refs
|
||
is now a constant. Check the syntax of pragma Refined_Depends
|
||
when SPARK_Mode is off.
|
||
(Analyze_Refined_Global_In_Decl_Part):
|
||
Check the syntax of pragma Refined_Global when SPARK_Mode is off.
|
||
(Analyze_Refined_State_In_Decl_Part): Check the syntax of pragma
|
||
Refined_State when SPARK_Mode is off.
|
||
(Check_Dependence_List_Syntax): New routine.
|
||
(Check_Global_List_Syntax): New routine.
|
||
(Check_Initialization_List_Syntax): New routine.
|
||
(Check_Item_Syntax): New routine.
|
||
(Check_State_Declaration_Syntax): New routine.
|
||
(Check_Refinement_List_Syntax): New routine.
|
||
(Has_Extra_Parentheses): Moved to the top level of Sem_Prag.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-tags.adb, s-os_lib.adb: Minor reformatting.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sercom-mingw.adb, g-sercom-linux.adb (Raise_Error): Include
|
||
strerror message, not just numeric errno value.
|
||
|
||
2014-02-24 Doug Rupp <rupp@adacore.com>
|
||
|
||
* raise-gcc.c (exception_class_eq): Make endian neutral.
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* atree.ads, atree,adb (Copy_Separate_Tree): Remove Syntax_Only
|
||
flag, and reset Etype and Analyzed attributes unconditionally
|
||
when copying a tree that may be partly analyzed.
|
||
* freeze.adb: Change calls to Copy_Separate_Tree accordingly.
|
||
* sem_ch6.adb (Check_Inline_Pragma): If the Inline pragma appears
|
||
within a subprogram body and applies to it, remove it from the
|
||
body before making a copy of it, to prevent spurious errors when
|
||
analyzing the copied body.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-os_lib.adb (Errno_Message): Do not depend on Integer'Image.
|
||
* s-oscons-tmplt.c: On VxWorks, include adaint.h only after
|
||
vxWorks.h has been included. Also ensure that file attributes
|
||
related definitions are output even in cases where socket support
|
||
is not enabled.
|
||
* a-tags.adb: Code clean up.
|
||
* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote
|
||
instead of -I to add the main ada source directory to the header
|
||
search path, in order to avoid conflict between our own "types.h"
|
||
and VxWork's <types.h>.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter.
|
||
* debug.adb: Remove documentation of -gnatd.X, no longer used.
|
||
* freeze.adb (Wrap_Imported_Subprogram): Fixed and activated.
|
||
|
||
2014-02-24 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Improve documentation of gnatpp.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads,
|
||
g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb,
|
||
g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
|
||
g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not
|
||
a chars_ptr, because on Windows this is a renaming of
|
||
Socket_Error_Message.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb,
|
||
s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb,
|
||
a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code
|
||
reorganization.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure
|
||
that the source directory containing s-oscons-tmplt.c is on the
|
||
include path, so that all internal header files are available.
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the
|
||
domain of iteration is an attribute reference 'Old, this is an
|
||
Ada 2012 iterator and the loop must be rewritten as such.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-fileio.adb (Errno_Message): Remove, use shared version from
|
||
s-os_lib instead.
|
||
* s-crtrun.ads, Makefile.rtl: Remove now unused unit.
|
||
* g-stseme (Socket_Error_Message): Reimplement in terms of new
|
||
s-os_lib function.
|
||
* g-socthi.ads, g-socthi.adb: Change profile of
|
||
Socket_Error_Message to return String to allow the above.
|
||
* g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads,
|
||
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
|
||
* g-socthi-vxworks.ads: Update to account for the above profile
|
||
change.
|
||
* a-tags.adb: Use strlen builtin binding provided by s-crtl.
|
||
* s-crtl.ads (strncpy): New procedure.
|
||
* s-os_lib.adb (Copy_Attributes): Import just once (strncpy):
|
||
Use import from s-crtl.
|
||
* a-envvar.adb, osint.adb: Use imports of C runtime functions
|
||
from s-crtl instead of re-importing locally.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Emit the
|
||
variable related checks concerning volatile objects only when
|
||
SPARK_Mode is on.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): use
|
||
Error_Msg_Ada_2012_Feature.
|
||
|
||
2014-02-24 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-rident.ads (Profile_Info): For Ravenscar, the restrictions
|
||
No_Local_Timing_Events and No_Specific_Termination_Handlers
|
||
must be set, according to the Ravenscar profile definition
|
||
in D.13(6/3).
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): If this is a
|
||
completion, freeze return type and its designated type if needed.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
'Address): When moving initialization statements to a freeze
|
||
entity, keep them under a single node (i.e. do not unwrap
|
||
expressions with actions), and set the Initialization_Statements
|
||
attribute again so that processing of a later pragma Import can
|
||
still remove them.
|
||
|
||
2014-02-24 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads,
|
||
a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads,
|
||
a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename
|
||
Left/Right to First_To_Previous/Current_To_Last.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* adaint.h (struct file_attributes): New component "error"
|
||
(__gnat_error_attributes): Accessor for the above.
|
||
* adaint.c (__gnat_error_attributes): New subprogram
|
||
(__gnat_stat): Fix returned value (expect errno value)
|
||
(__gnat_stat_to_attr): Add management of error component (set to
|
||
stat errno value, except for missing files where it is set to 0,
|
||
and exists is set to 0).
|
||
* osint.ads (File_Attributes_Size): Update per change above,
|
||
also clarify documentation.
|
||
* s-filatt.ads: New file, binding to file attributes related
|
||
functions.
|
||
* Makefile.rtl (s-filatt): New runtime unit.
|
||
* s-crtl.ads (strlen): Expose binding to GCC builtin (falls back
|
||
to library function if not available on target).
|
||
* s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram.
|
||
* s-oscons-tmplt.c (SIZEOF_struct_file_attributes,
|
||
SIZEOF_struct_dirent_alloc): New constants.
|
||
* Make-generated.in (s-oscons.ads): Now requires adaint.h.
|
||
* a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes.
|
||
Perform appropriate error checking if stat fails (do not just
|
||
ignore existing files if stat fails)
|
||
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
|
||
dependencies.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Move the check concerning
|
||
the use of volatile objects as global items in a function to
|
||
the variable related checks section.
|
||
* sem_util.adb (Async_Readers_Enabled): Directly call
|
||
Has_Enabled_Property.
|
||
(Async_Writers_Enabled): Directly call Has_Enabled_Property.
|
||
(Effective_Reads_Enabled): Directly call Has_Enabled_Property.
|
||
(Effective_Writes_Enabled): Directly call Has_Enabled_Property.
|
||
(Has_Enabled_Property): Rename formal parameter State_Id to Item_Id.
|
||
Update the comment on usage. State_Has_Enabled_Property how handles
|
||
the original logic of the routine. Add processing for variables.
|
||
(State_Has_Enabled_Property): New routine.
|
||
(Variable_Has_Enabled_Property): New routine.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb:
|
||
Minor reformatting.
|
||
* atree.ads, atree.adb (Node35): New function.
|
||
(Set_Node35): New procedure.
|
||
* debug.adb: Define new debug flag -gnatd.X.
|
||
* einfo.ads, einfo.adb (Import_Pragma): New field.
|
||
* freeze.adb (Wrap_Imported_Procedure): New procedure (not
|
||
really active yet, has to be activated with -gnatd.X.
|
||
* sem_prag.adb (Set_Imported): Set new Import_Pragma
|
||
field (Set_Imported): Don't set Is_Public (see
|
||
Freeze.Wrap_Imported_Subprogram)
|
||
* par-ch3.adb (P_Component_List): Handle unexpected null component.
|
||
|
||
2014-02-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb: Correct reference to SPARK RM in error messages.
|
||
* gnat_rm.texi: Correct documentation of attribute Update.
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Reject container
|
||
iterator in older versions of Ada.
|
||
|
||
2014-02-24 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb,
|
||
par-ch12.adb: Change spelling 'parametrization' to 'parameterization'.
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
|
||
indexed_components that are instances of Ada 2012 container
|
||
indexing operations. Analysis and resolution of such nodes
|
||
is performed on the attribute, and the original source is
|
||
preserved for ASIS operations. If expansion is enabled, the
|
||
indexed component is replaced by the value of this attribute,
|
||
which is in a call to an Indexing aspect, in most case wrapped
|
||
in a dereference operation.
|
||
* sem_ch4.adb (Analyze_Indexed_Component): Create
|
||
Generalized_Indexing attribute when appropriate.
|
||
(Analyze_Call): If prefix is not overloadable and has an indexing
|
||
aspect, transform into an indexed component so it can be analyzed
|
||
as a potential container indexing.
|
||
(Analyze_Expression): If node is an indexed component with a
|
||
Generalized_ Indexing, do not re-analyze.
|
||
* sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
|
||
of an indexed_component that has been transformed into a container
|
||
indexing operation.
|
||
(Resolve_Indexed_Component): Call the above when required.
|
||
(Resolve): Do not insert an explicit dereference operation on
|
||
an indexed_component whose type has an implicit dereference:
|
||
the operation is inserted when resolving the related
|
||
Generalized_Indexing.
|
||
|
||
2014-02-24 Olivier Ramonat <ramonat@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development
|
||
Environment.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in
|
||
error messages.
|
||
(Inconsistent_Mode_Error): Remove leading spaces in error messages.
|
||
Merge the expected and available mode errors.
|
||
(Report_Unused_Constituents): Remove leading spaces in error messages.
|
||
(Report_Unused_States): Remove leading spaces in error messages.
|
||
|
||
2014-02-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_One): Refine categorization of statement
|
||
SCOs.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012,
|
||
Pure_05, Pure_12 and Preelaborate_05.
|
||
* gnat_rm.texi: Update accordingly.
|
||
* sem_prag.adb: Document one argument form of Ada_05/Ada_2005
|
||
pragmas Document one argument form of Ada_12/Ada_2012 pragmas
|
||
Recognize one argument form of these pragmas only in GNAT mode
|
||
(-gnatg).
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* s-dimmks.ads: Replace symbol for temperature, previously the
|
||
Greek letter Theta, by the ASCII @ sign.
|
||
* s-diflio.ads: ditto.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code reorganization (use OR for boolean
|
||
variables).
|
||
* sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting.
|
||
|
||
2014-02-24 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi, projects.texi: Added the necessary conditionalization
|
||
so that references to gnatmem and ASIS tools do not appear in the FSF
|
||
edition of the GNAT User's Guide.
|
||
|
||
2014-02-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Do not issue warning
|
||
for pre/post being ignored on imported subprogram in GNATprove
|
||
mode.
|
||
|
||
2014-02-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
|
||
stand.ads, sem_eval.adb: Minor reformatting.
|
||
|
||
2014-02-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb: Minor rewording in error message.
|
||
|
||
2014-02-24 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
|
||
GNATprove_mode, gnat2why doesn't need nor use these types.
|
||
|
||
2014-02-24 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
|
||
target, in the case of signed integer exponentiation that uses a
|
||
run-time routine, always select the Exp_* versions, since overflow
|
||
checking is automatically done by AAMP arithmetic instructions.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
When the related context is a package instace, insert pragma
|
||
Abstract_State after all internally-generated renamings related
|
||
to the instance "header".
|
||
|
||
2014-02-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
|
||
subprograms.
|
||
* sem_disp.adb (Check_Dispatching_Context): A non-dispatching
|
||
call to an abstract subprogram is legal if it appears in a
|
||
pre/postcondition of another abstract operation.
|
||
|
||
2014-02-24 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: Misc updates.
|
||
|
||
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Old): Set the type of the generated temporary.
|
||
|
||
2014-02-24 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* layout.adb (Layout_Variant_Record): Instantiate
|
||
Generic_Check_Choices and call Check_Choices before calling
|
||
Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
|
||
set to prevent generating incorrect discriminant-checking
|
||
functions for 'others' variants (functions that unconditionally
|
||
return True rather than accounting for the values covered by the
|
||
'others' choice).
|
||
* sem_eval.ads (Subtypes_Statically_Compatible): Add formal
|
||
Formal_Derived_Matching.
|
||
(Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
|
||
* sem_eval.adb (Subtypes_Statically_Compatible): Pass new
|
||
Formal_Derived_Matching formal to Subtypes_Statically_Match.
|
||
(Subtypes_Statically_Match): Suppress the Object_Size matching
|
||
test in the case where Formal_Derived_Matching is True.
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Pass
|
||
True for Formal_Derived_Matching_Formal on the call to
|
||
Subtypes_Statically_Compatible.
|
||
|
||
2014-02-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Robustify.
|
||
|
||
2014-02-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting.
|
||
Look through a conversion between original and packable version to get
|
||
the base object.
|
||
(build_component_ref): Rework comment and fix formatting.
|
||
|
||
2014-02-20 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads (gnatelim): Add description of
|
||
project-specific options.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error,
|
||
not Constraint_Error.
|
||
* a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto.
|
||
* sem_ch5.adb: Code clean up.
|
||
|
||
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Usage_Error): Remove local
|
||
constant Typ. Remove the specialized diagnostics for unconstrained
|
||
or tagged items as those are not part of the explicit input set
|
||
of the related subprogram and should not be flagged.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: Add guard to preserve all errors.
|
||
|
||
2014-02-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Take into account
|
||
switches that are recorded in ALI files: -gnateA, -gnateE,
|
||
-gnateF, -gnateinn, -gnateu, -gnateV and -gnateY.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Check legality
|
||
of an element iterator form over a formal container with an
|
||
Iterable aspect.
|
||
* exp_ch5.adb (Build_Formal_Container_Iteration): Utility
|
||
to create declaration and loop statements for both forms of
|
||
container iterators.
|
||
(Expand_Formal_Container_Element_Iterator): New procedure
|
||
to handle loops of the form "for E of C" when C is a formal
|
||
container.
|
||
(Expand_Formal_Container_Iterator): Code cleanup.
|
||
|
||
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Add_Item_To_Name_Buffer): New routine.
|
||
(Analyze_Contract_Case): Remove the use of
|
||
"may". Replace "aspect Contract_Cases" to avoid categorization
|
||
of aspect vs pragma.
|
||
(Analyze_External_Property_In_Decl_Part): Remove the use of "formal".
|
||
(Analyze_Global_Item): Remove
|
||
the use of "formal", specify the subprogram. Split the
|
||
error message about a state with visible refinement into
|
||
two. Remove the use of "global" from "volatile global item".
|
||
(Analyze_Initialization_Item): Ensure that the SPARK RM reference
|
||
is on one line.
|
||
(Analyze_Input_Output): Update the call to
|
||
Check_Mode. Specify the duplicated item. Reword the error
|
||
message concerning an input of a null output list. Use "\"
|
||
for error message continuation.
|
||
(Analyze_Part_Of): Remove
|
||
the use of "may". Use "\" for error message continuation.
|
||
(Analyze_Refined_Depends_In_Decl_Part): Update the error
|
||
message concerning a useless refinement to match the format
|
||
of Refined_Global.
|
||
(Analyze_Refined_Global_In_Decl_Part): Reword the error message
|
||
concerning a useless refinement.
|
||
(Analyze_Refinement_Clause): Use "\" for error message continuation.
|
||
(Check_Constituent_Usage): Use "\" for error message continuation.
|
||
(Check_Dependency_Clause): Use "\" for error message continuation.
|
||
(Check_Matching_Constituent): Use "\" for error message continuation.
|
||
(Check_Missing_Part_Of): Use "\" for error message continuation.
|
||
(Check_Mode): Renamed to
|
||
Check_Role. Update the comment on usage. Redo the error reporting
|
||
to use Role_Error.
|
||
(Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error
|
||
message continuation.
|
||
(Find_Mode): Renamed to Find_Role. Update the parameter profile along
|
||
with comment on usage. Update all occurrences of Is_Input and Is_Output.
|
||
(Inconsistent_Mode_Error): Use "\" for error message continuation.
|
||
(Input_Match): Use "\" for error message continuation.
|
||
(Role_Error): New routine.
|
||
(Set_Convention_From_Pragma): Use "\" for error message continuation.
|
||
(Usage_Error): Add local variable Error_Msg. Build specialized error
|
||
message showcasing the offending item kind. Redo the diagnostics for
|
||
unconstrained types.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Is_Iterated_Container): Use high-level primitives
|
||
to determine whether a type is a container type, rather than
|
||
examining only its type declaration, so that subtypes and derived
|
||
types are handled properly.
|
||
|
||
2014-02-20 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatmetric: add description of project-specific
|
||
options.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): Verify that
|
||
all choices in an association for a record type have the same
|
||
type, as is done for record aggregates.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma
|
||
Unmodified rather than Warnings (Off). Make comments
|
||
uniform in the four affected units.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
Object_Size): For non-scalar types allow any value that is a
|
||
multiple of 8.
|
||
* gnat_rm.texi: Document Object_Size for composites more clearly.
|
||
|
||
2014-02-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Default_Initialization): Remove function.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* stand.ads: Raise_Type: new predefined entity, used as the type
|
||
of a Raise_Expression prior to resolution.
|
||
* cstand.adb: Build entity for Raise_Type.
|
||
* sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the
|
||
initial type of the node.
|
||
* sem_type.adb (Covers): Raise_Type is compatible with all
|
||
other types.
|
||
* sem_res.adb (Resolve): Remove special handling of Any_Type on
|
||
Raise_Expression nodes.
|
||
(Resolve_Raise_Expression): Signal ambiguity if the type of the
|
||
context is still Raise_Type.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Access_Type_Instance): Add message if
|
||
mismatching predicates.
|
||
* sem_ch6.adb (Check_Conformance): Give better messages on
|
||
predicate mismatch.
|
||
* sem_eval.adb (Predicates_Match): Move to spec.
|
||
* sem_eval.ads (Predicates_Match): Moved here from body.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cbmutr.adb: Use default value in Insert_Child.
|
||
|
||
2014-02-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call
|
||
Stringt.Initialize in all project aware tools.
|
||
|
||
2014-02-20 Doug Rupp <rupp@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document gnatbind -X option.
|
||
* vms_data.ads: Minor warnings documentation reformatting.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant
|
||
procedure for a base type.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Case_Expression): Get type from first
|
||
expression with type info.
|
||
* sem_ch13.adb: Minor reformatting.
|
||
* sem_eval.adb (Subtypes_Statically_Match): Make sure we return
|
||
False if predicates do not match on the two types.
|
||
|
||
2014-02-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]):
|
||
In Relaxed_RM_Semantics mode, allow any static integer value,
|
||
for compatibility with other compilers.
|
||
|
||
2014-02-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* errutil.adb (Initialize): Properly initialize entry in table
|
||
Warnings when warnings are suppressed.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-os_lib.ads: Add warning about non-portability of Rename_File.
|
||
* sem_util.ads, sem_util.adb (Is_Junk_Name): New function.
|
||
* sem_warn.adb: Use Is_Junk_Name to suppress some warnings.
|
||
* gnat_ugn.texi: Document no warnings on junk variable names.
|
||
* layout.adb: Minor code reorganization (use Ekind_In).
|
||
* stringt.adb: Move initialization of Null_String_Id to Initialize
|
||
routine.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Initialize optional Element_Id.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-os_lib.ads (Rename_File): Minor commment addition.
|
||
|
||
2014-02-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb (Exchange_Aspects): New routine.
|
||
* aspects.ads (Exchange_Aspects): New routine.
|
||
* atree.adb (Rewrite): Do not check whether the save node has
|
||
aspects as it never will, instead check the node about to be clobbered.
|
||
* einfo.adb (Write_Field25_Name): Abstract_States can appear in
|
||
entities of generic packages.
|
||
* sem_ch6.adb (Analyze_Expression_Function): Fix the parent
|
||
pointer of an aspect specification list after rewriting takes place.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect
|
||
specifications of the generic template and the copy used for analysis.
|
||
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap
|
||
the aspect specifications of the generic template and the
|
||
copy used for analysis.
|
||
(Analyze_Package_Instantiation): Propagate the aspect specifications
|
||
from the generic template to the instantiation.
|
||
(Build_Instance_Compilation_Unit_Nodes): Propagate the aspect
|
||
specifications from the generic template to the instantiation.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects
|
||
Abstract_State, Initializes and Initial_Condition when they
|
||
apply to a package instantiation.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stringt.adb: Add call to Initialize in package initialization.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb,
|
||
a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb,
|
||
a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
|
||
a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor
|
||
reformatting.
|
||
|
||
2014-02-20 Bob Duff <duff@adacore.com>
|
||
|
||
* s-os_lib.ads: Minor: Remove incorrect comment.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Elab_Assign): Clearer warning message.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cborma.adb (Assign): When creating a node without a specified
|
||
element, insert an uninitialized element in the map, because
|
||
the instance may provide an element type with a default
|
||
initialization, e.g a scalar with a Default_Value aspect.
|
||
* a-cbhama.adb (Assign_Key): Remove useless Allocate procedure.
|
||
(Insert): In the version without explicit element, provide an
|
||
uninitialized element, as above.
|
||
* a-cbdlli.adb (Append): In the version without explicit element,
|
||
provide an uninitalized element, as above.
|
||
(Allocate): Remove unused version.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb: Minor code reorganization (use Nkind_In).
|
||
* stringt.adb: Remove temporary pragma Warnings (Off).
|
||
* stringt.ads: Add pragma Elaborate_Body to ensure initialization
|
||
of Null_String_Id.
|
||
|
||
2014-02-20 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-chtgbk.adb (Replace): Use correct offset when calculating bucket
|
||
index.
|
||
|
||
2014-02-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Initialize
|
||
properly the cursor type for subsequent volatile testing in SPARK
|
||
mode, when domain is a formal container with an Iterabe aspect.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Set_Warnings_Mode_Off): Add Reason argument.
|
||
(Set_Specific_Warning_Off): Add Reason argument.
|
||
* errout.ads (Set_Warnings_Mode_Off): Add Reason argument.
|
||
(Set_Specific_Warning_Off): Add Reason argument.
|
||
* erroutc.adb (Warnings_Entry): Add Reason field
|
||
(Specific_Warning_Entry): Add Reason field.
|
||
(Warnings_Suppressed): return String_Id for Reason.
|
||
(Warning_Specifically_Suppressed): return String_Id for Reason.
|
||
* erroutc.ads (Warnings_Entry): Add Reason field.
|
||
(Specific_Warning_Entry): Add Reason field.
|
||
(Set_Specific_Warning_Off): Add Reason argument.
|
||
(Set_Warnings_Mode_Off): Add Reason argument.
|
||
(Warnings_Suppressed): return String_Id for Reason.
|
||
(Warning_Specifically_Suppressed): return String_Id for Reason.
|
||
* errutil.adb (Warnings_Suppressed): returns String_Id for Reason
|
||
(Warning_Specifically_Suppressed): returns String_Id for Reason
|
||
* gnat_rm.texi: Document that Warning parameter is string literal
|
||
or a concatenation of string literals.
|
||
* par-prag.adb: New handling for Reason argument.
|
||
* sem_prag.adb (Analyze_Pragma, case Warning): New handling
|
||
for Reason argument.
|
||
* sem_util.ads, sem_util.adb (Get_Reason_String): New procedure.
|
||
* sem_warn.ads (Warnings_Off_Entry): Add reason field.
|
||
* stringt.adb: Set Null_String_Id.
|
||
* stringt.ads (Null_String_Id): New constant.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads: Minor comment addition: Etype of package is
|
||
Standard_Void_Type.
|
||
* checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb,
|
||
exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb,
|
||
exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb,
|
||
exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb,
|
||
freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb,
|
||
sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
|
||
sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb,
|
||
sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To.
|
||
Replace all calls with calls to New_Occurrence_Of.
|
||
|
||
2014-02-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-util.adb (Ignore, case of right paren): Make this a
|
||
serious error.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting.
|
||
* debug.adb: Remove -gnatd.X switch, no longer used.
|
||
* styleg.adb (Check_Then): Remove check of -gnatd.X, check is
|
||
now always made.
|
||
|
||
2014-02-19 Bob Duff <duff@adacore.com>
|
||
|
||
* g-socket.ads: Minor: Correct some comments.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Inhibit iterator rewriting in ASIS mode.
|
||
|
||
2014-02-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate
|
||
an error on out of range priorities if Relaxed_RM_Semantics.
|
||
* sem_prag.adb (Analyze_Pragma): Ditto.
|
||
|
||
2014-02-19 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Detect the case of F'Access
|
||
where F denotes the renaming of an enumeration literal, and
|
||
issue a specialized error message.
|
||
|
||
2014-02-19 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-chtgop.ads (Checked_Index): New operation.
|
||
(Next): Changed mode of hash table.
|
||
* a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering
|
||
(Generic_Read, Reserve_Capacity): Ditto.
|
||
(Generic_Equal): Detect tampering.
|
||
(Next): Changed mode of hash table, detect tampering.
|
||
* a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New
|
||
operation.
|
||
(Find): Changed mode of hash table.
|
||
* a-chtgke.adb (Checked_Equivalent_Keys): New operation
|
||
(Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect
|
||
tampering.
|
||
(Find): Changed mode of hash table, check for tampering.
|
||
(Generic_Replace_Element): Check for tampering.
|
||
* a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation.
|
||
* a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New
|
||
operation (Delete_Key_Sans_Free, Generic_Conditional_Insert):
|
||
Detect tampering.
|
||
(Find, Generic_Replace_Element): Check for tampering.
|
||
* a-chtgbo.ads (Checked_Index): New operation.
|
||
* a-chtgbo.adb (Checked_Index): New operation
|
||
(Delete_Node_Sans_Free, Generic_Equal): Detect tampering.
|
||
(Generic_Read, Next): Ditto.
|
||
* a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash
|
||
table (Difference, Intersection): Use variable view of
|
||
source, detect tampering (Find, Is_Subset, Overlap): Use
|
||
variable view of container (Symmetric_Difference, Union):
|
||
Detect tampering (Vet): Use Checked_Index to detect tampering
|
||
(Constant_Reference, Element, Find): Use variable view of
|
||
container.
|
||
(Update_Element_Preserving_Key): Detect tampering.
|
||
* a-cbhase.adb (Difference, Find, Is_In): Use variable view
|
||
of container.
|
||
(Is_Subset): Ditto.
|
||
(Equivalent_Sets, Overlap): Use Node's Next component.
|
||
(Vet): Use Checked_Index to detect tampering.
|
||
(Constant_Reference, Element, Find): Use variable view of container.
|
||
(Update_Element_Preserving_Key): Detect tampering.
|
||
* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference,
|
||
Element, Find): Use variable view of container.
|
||
(Reference): Rename hash table component.
|
||
(Vet): Use Checked_Index to detect tampering.
|
||
|
||
2014-02-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* adabkend.adb (Scan_Compiler_Arguments): Add missing handling
|
||
of -nostdinc.
|
||
|
||
2014-02-19 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard
|
||
against calls without Def_Id.
|
||
|
||
2014-02-19 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
|
||
a-cofove.ads: Add global annotations to subprograms.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove
|
||
constants Errors, Pack_Id and Pack_Init. Remove variable Vars.
|
||
Initial_Condition no longer requires the presence of pragma
|
||
Initialized. Do not try to diagnose whether all variables mentioned in
|
||
pragma Initializes also appear in Initial_Condition.
|
||
(Collect_Variables): Removed.
|
||
(Match_Variable): Removed.
|
||
(Match_Variables): Removed.
|
||
(Report_Unused_Variables): Removed.
|
||
|
||
2014-02-19 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi (pragma Stream_Convert): Minor rewording.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor
|
||
reformatting.
|
||
|
||
2014-02-19 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Parse_Single_Project): Use the fully resolved
|
||
project path, with all symbolic links resolved, to check if the
|
||
same project is imported with a different unresolved path.
|
||
* prj-tree.ads (Project_Name_And_Node): Component Canonical_Path
|
||
changed to Resolved_Path to reflect that all symbolic links
|
||
are resolved.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util
|
||
from sem_ch13, for use elsewhere.
|
||
* sem_ch13.adb (Get_Cursor_Type): Moved to sem_util.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Set properly the
|
||
cursor type on the loop variable when the iteration is over o
|
||
formal container.
|
||
|
||
2014-02-19 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration
|
||
for an empty Target (Check_Target): Never fail when an empty
|
||
target is declared in the configuration project.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if
|
||
the pragma comes fron a predicate aspect and the context is a
|
||
record declaration within the scope that declares the type.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor clarifications.
|
||
* expander.adb, sem_aggr.adb: Add comments.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that
|
||
applies to a subprogram body, the name is the current scope,
|
||
rather than being declared in the current scope.
|
||
(Analyze_Pragma, case No_Return): Handle properly a No_Return
|
||
aspect applied to a subprogram body.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution
|
||
of overloaded subprograms, and fix bug in handling of primitive
|
||
operation Element.
|
||
|
||
2014-02-19 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.adb: Minor reformatting.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* expander.adb (Expand): Do nothing inside generics.
|
||
* sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside
|
||
generics.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch2.adb: Remove useless 'with' of unit Uintp.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting
|
||
* a-sequio.adb: Remove useless pragma Extensions_Allowed (no
|
||
longer needed).
|
||
|
||
2014-02-19 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
|
||
a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Analyze
|
||
a package contract at the end of the private declarations (if
|
||
applicable), otherwise analyze it and the end of the visible
|
||
declarations.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* style.adb (Missing_Overriding): If subprogram is an
|
||
instantiation, place warning on the instance node itself,
|
||
without mention of the original generic. Do not emit message
|
||
if explicit Ada version is older than the introduction of the
|
||
overriding indicator.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Doc clarifications.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Do not remove side-effects
|
||
inside a generic.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Get_Cursor_Type): Obtain cursor type from
|
||
specified First primitive, rather than by name.
|
||
(Validate_Iterable_Aspect, Resolve_Iterable_Operation): Use it,
|
||
and extend error checking for missing primitives and incorrect
|
||
signatures.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Pragma_Implemented): Detect additional
|
||
errors when a Synchronization aspect on an overriding protected
|
||
operation does not match the given aspect on the overridden
|
||
operation of an ancestor interface.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Loop_Pragma_Grouping): New routine.
|
||
(Check_Loop_Pragma_Placement): Update
|
||
comment on usage. Remove local variables Orig_Stmt and
|
||
Within_Same_Sequence. Check that the current Loop_Invariant or
|
||
Loop_Variant pragma is grouped together with other such pragmas.
|
||
(Is_Loop_Pragma): New routine.
|
||
(Prev_In_Loop): Removed.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch6.adb (P_Return): For extended return, end column lines
|
||
up with RETURN.
|
||
* par.adb: Minor documentation clarification.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Loop_Pragma_Placement): Add check
|
||
that Loop_Invariant and Loop_Variant appear consecutively.
|
||
* gnat_rm.texi Update documentation of Loop_Invariant and
|
||
Loop_Variant pragmas.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document -gnatd.X.
|
||
* par-ch5.adb (P_If_Statement): Always check THEN, even if not
|
||
first token
|
||
(Check_Then_Column): Ditto.
|
||
* styleg.adb (Check_Then): Allow THEN on line after IF.
|
||
(Check_Then): Check THEN placement under control of -gnatd.X
|
||
* styleg.ads (Check_Then): Now called even if THEN is not first
|
||
token on line.
|
||
* stylesw.ads (Style_Check_If_Then_Layout): Document new
|
||
relaxed rules.
|
||
* gnat_ugn.texi: For -gnatyi, THEN can now be on line after IF.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfhama.adb, a-cfhase.adb, a-cforse.adb, a-cofove.adb, a-ngcefu.adb,
|
||
a-teioed.adb, a-wtedit.adb, a-ztedit.adb, exp_ch5.adb, inline.adb,
|
||
prj-pp.adb, prj-tree.adb, sem_ch12.adb, sem_ch8.adb,
|
||
vms_conv.adb: Fix bad layout of IF statements
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb: Update comments.
|
||
|
||
2014-02-19 Doug Rupp <rupp@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adainit) [VMS] New global Float_Format.
|
||
* init.c (__gl_float_format): [VMS] New global.
|
||
(__gnat_set_features): Call FP_CONTROL to set FPSR for the float
|
||
representation in effect.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb Add with and use clause for Exp_Prag.
|
||
(Expand_Contract_Cases): Relocated to Exp_Prag.
|
||
* exp_ch6.ads (Expand_Contract_Cases): Relocated to Exp_Prag.
|
||
* exp_prag.adb Add with and use clauses for Checks and Validsw.
|
||
(Expand_Contract_Cases): Relocated from Exp_Ch6. Update the
|
||
structure of the expanded code to showcase the evaluation of
|
||
attribute 'Old prefixes. Add local variable Old_Evals. Expand
|
||
any attribute 'Old references found within a consequence. Add
|
||
circuitry to evaluate the prefixes of attribute 'Old that
|
||
belong to a selected consequence.
|
||
(Expand_Old_In_Consequence): New routine.
|
||
* exp_prag.ads (Expand_Contract_Cases): Relocated from Exp_Ch6.
|
||
* sem_attr.adb (Check_Use_In_Contract_Cases): Warn that a
|
||
potentially unevaluated prefix is always evaluated.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration
|
||
(Expand_Min_Max_Attribute): Use Matching_Standard_Type.
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special
|
||
handling for the case of Modify_Tree_For_C, this approach did
|
||
not work.
|
||
* exp_util.adb (Matching_Standard_Type): New function
|
||
(Side_Effect_Free): New top level functions (from
|
||
Remove_Side_Effects).
|
||
* exp_util.ads (Side_Effect_Free): New top level functions
|
||
(moved from body).
|
||
* sinfo.ads: Minor comment updates.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): If return
|
||
type is unconstrained and uses the secondary stack, mark the
|
||
enclosing function accordingly, to ensure that the value is not
|
||
prematurely removed.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par.adb Alphabetize the routines in Par.Sync.
|
||
(Resync_Past_Malformed_Aspect): New routine.
|
||
* par-ch13.adb (Get_Aspect_Specifications): Alphabetize local
|
||
variables. Code and comment reformatting. Detect missing
|
||
parentheses on aspects [Refined_]Global and [Refined_]Depends
|
||
with a non-null definition.
|
||
* par-sync.adb: Alphabetize all routines in this separate unit.
|
||
(Resync_Past_Malformed_Aspect): New routine.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.ads, sem_eval.adb (Subtypes_Statically_Match): Return False
|
||
if Esize values do not match.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Minor comment update.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting (change Entity_Info to Einfo).
|
||
|
||
2014-02-19 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb (Find_Node_To_Be_Wrapped): An assignment statement
|
||
that has the No_Ctrl_Actions flag is a suitable node to be
|
||
wrapped if the assigned expression has no finalization actions.
|
||
* sem_eval.adb (Eval_Entity_Name): For a compile time known
|
||
boolean value, mark the corresponding condition SCO as constant.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb: Minor reformatting.
|
||
* exp_util.ads (Matching_Standard_Type): New function.
|
||
* exp_ch7.adb: Minor reformatting.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Get_Cursor_Type): Use scope of iterable type
|
||
to find declaration for Cursor, to handle properly the case of
|
||
a discriminated iterable type.
|
||
|
||
2014-02-19 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (GNATCmd): Always replace the object dirs of
|
||
imported library projects with the library ALI dirs, when setting
|
||
the object paths.
|
||
* prj-env.ads (Ada_Objects_Path): Correct comments about
|
||
argument Including_Libraries.
|
||
|
||
2014-02-19 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor spelling fixes.
|
||
|
||
2014-02-19 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c: Remove unneeded code.
|
||
* fe.h (Float_Format): New macro
|
||
* gcc-interface/trans.c (gigi): On VMS, set vms_float_format.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Refined_Global_Item):
|
||
A state or variable acts as a constituent only it is part of an
|
||
encapsulating state and the state has visible refinement.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Contract): Do not warn on a
|
||
postcondition for a function when the expression does not mention
|
||
'Result but the function has in-out parameters.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add documentation on Value_Size forcing biased
|
||
representation.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* lib-xref.ads Remove the small table of letter and symbol usage as we
|
||
already have one.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Emit specific error
|
||
messages depending on the offending misplaced aspect specifications.
|
||
(Diagnose_Misplaced_Aspect_Specifications): New routine.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Get_Cursor): Utility to retrieve cursor type
|
||
for iterable aspect primitives.
|
||
(Resolve_Iterable_Operation): Use expected signature of iterable
|
||
aspect to resolve primitive when overloading is present.
|
||
(Validate_Iterable_Aspect, Analyze_Aspects_At_Freeze_Point): use it.
|
||
(Check_Signature): Removed.
|
||
|
||
2014-02-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Proper_Body): Issue error on missing
|
||
subunit in GNATprove_Mode.
|
||
* sinfo.ads (GNATprove_Mode): Document error issued in GNATprove_Mode.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* lib-xref.ads Alphabetize the contents of table
|
||
Xref_Entity_Letters. Add an entry in table Xref_Entity_Letters
|
||
for E_Abstract_State. List all letters and symbols in use.
|
||
* sem_prag.adb (Analyze_Abstract_State): Update all calls
|
||
to Create_Abstract_State to reflect the new signature.
|
||
(Create_Abstract_State): Change subprogram profile and update
|
||
the comment on usage. Use the proper location of the state
|
||
declaration when creating a new abstract state entity. Do not
|
||
generate an external name, but simply reuse the name coming from
|
||
the state declaration.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure
|
||
declarations get properly inserted in Modify_Tree_For_C mode.
|
||
* sinfo.ads: Minor comment addition.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch9.adb, exp_ch5.adb, sem_ch5.adb, exp_attr.adb, sem_util.adb,
|
||
sem_util.ads, sem_ch13.adb, sem_ch13.ads: Minor reformatting.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* style.adb (Missing_Overriding): Warning does not apply in
|
||
language versions prior to Ada 2005.
|
||
* snames.ads-tmpl: Add Name_Iterable and Attribute_Iterable.
|
||
* sem_attr.adb: Add Attribute_Iterable where needed.
|
||
* exp_attr.adb: ditto.
|
||
* exp_ch5.adb (Expand_Formal_Container_Loop): New procedure to
|
||
handle loops and quantified expressions over types that have an
|
||
iterable aspect. Called from Expand_Iterator_Loop.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Recognize types
|
||
with Iterable aspect.
|
||
* sem_ch13.adb (Validate_Iterable_Aspect): Verify that the
|
||
subprograms specified in the Iterable aspect have the proper
|
||
signature involving container and cursor.
|
||
(Check_Aspect_At_Freeze_Point): Analyze value of iterable aspect.
|
||
* sem_ch13.ads (Validate_Iterable_Aspect): New subprogram.
|
||
* sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive):
|
||
New procedure to retrieve one of the primitives First, Last,
|
||
or Has_Element, from the value of the iterable aspect of a
|
||
formal container.
|
||
(Is_Container_Element): Predicate to recognize expressions
|
||
that denote an element of one of the predefined containers,
|
||
for possible optimization. This subprogram is not currently
|
||
used, pending ARG discussions on the legality of the proposed
|
||
optimization. Worth preserving for eventual use.
|
||
(Is_Iterator): Recognize formal container types.
|
||
* aspects.ads, aspects.adb: Add Aspect_Iterable where needed.
|
||
|
||
2014-02-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Min_Max_Attribute): New procedure
|
||
(Expand_N_Attribute_Reference): Use this procedure for Min and Max.
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object
|
||
declarations from list of actions.
|
||
* output.ads, output.adb (Delete_Last_Char): New procedure.
|
||
* sinfo.ads: Document handling of Mod and expression with actions
|
||
in Modify_Tree_For_C mode.
|
||
|
||
2014-02-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch9.adb (P_Task): Add a null statement to produce a
|
||
well-formed task body when due to a previous syntax error the
|
||
statement list is empty.
|
||
|
||
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Dependency_Clause): Account
|
||
for the case where a state with a non-null refinement matches a
|
||
null output list. Comment reformatting.
|
||
(Inputs_Match): Copy a solitary input to avoid an assertion failure
|
||
when trying to match the same input in multiple clauses.
|
||
|
||
2014-02-19 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_attr.adb: Minor typo fix.
|
||
|
||
2014-02-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb (Build_Signed_Integer_Type): Minor change of formal
|
||
from Int to Nat (Build_Unsigned_Integer_Type): New procedure
|
||
(Create_Standard): Create new unsigned types.
|
||
* exp_ch4.adb (Expand_N_Op_Mod): Expand mod in Modify_Tree_For_C
|
||
mode (Expand_N_Reference): Removed, problematic and not needed
|
||
for now.
|
||
* exp_ch4.ads (Expand_N_Reference): Removed, problematic and
|
||
not needed for now.
|
||
* exp_util.ads, exp_util.adb (Power_Of_Two): New function.
|
||
* expander.adb: Remove call to Expand_N_Reference (problematic,
|
||
and not needed now).
|
||
* sem_aux.ads, sem_aux.adb (Corresponding_Unsigned_Type): New function.
|
||
* stand.adb: Read and write unsigned type entities.
|
||
* stand.ads: Add new unsigned types.
|
||
|
||
2014-02-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Call): Do not mark a function call
|
||
as being inside an assertion expression as the flag is now removed.
|
||
(Check_Ghost_Subprogram_Call): Do not query the
|
||
In_Assertion_Expression flag as it is now removed, instead use
|
||
a predicate function.
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Do not query the
|
||
In_Assertion_Expression flag as it is now removed, instead use
|
||
a predicate function.
|
||
* sem_prag.ads: Add new table Assertion_Expression_Pragma.
|
||
* sem_util.adb Add with and use clause for Sem_Prag.
|
||
(In_Assertion_Expression_Pragma): New routine.
|
||
* sem_util.ads (In_Assertion_Expression_Pragma): New routine.
|
||
* sinfo.adb (In_Assertion_Expression): Removed.
|
||
(Set_In_Assertion_Expression): Removed.
|
||
* sinfo.ads Remove flag In_Assertion_Expression along with its
|
||
use in nodes.
|
||
(In_Assertion_Expression): Removed along with
|
||
pragma Inline. (Set_In_Assertion_Expression): Removed along
|
||
with pragma Inline.
|
||
|
||
2014-02-18 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatpp section: add note that '-j' cannot be
|
||
used together with '-r', '-rf' or '-rnb' options.
|
||
|
||
2014-02-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Comment
|
||
and code reformatting. Use separate routines to check the
|
||
legality of attribute 'Old in certain pragmas. Verify
|
||
the use of 'Old, 'Result and locally declared entities
|
||
within the prefix of 'Old.
|
||
(Check_References_In_Prefix): New routine.
|
||
(Check_Use_In_Contract_Cases): New routine.
|
||
(Check_Use_In_Test_Case): New routine.
|
||
|
||
2014-02-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* sem_aux.adb (Is_By_Reference_Type): For each components of
|
||
a record type, check also if the component is volatile as it
|
||
may have an aspect that makes it volatile. If it is, then the
|
||
record type is a by reference type.
|
||
|
||
2014-02-18 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Minor reformatting.
|
||
* exp_ch4.ads, exp_ch4.adb (Expand_N_Reference): New procedure.
|
||
* exp_util.adb (Remove_Side_Effects): Add conditional expressions
|
||
as another case where we don't generate N_Reference nodes for
|
||
primitive types.
|
||
* expander.adb (Expand): Add call to Expand_N_Reference.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refined_Pragma): Remove
|
||
local variable Pack_Spec. Refinement pragmas may now apply to
|
||
bodies of both visible and private subprograms.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute):
|
||
Minor change (Attr => N) (Expand_Pred_Succ): New name
|
||
Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case
|
||
Max): Expand into if expression if Modify_Tree_For_C mode.
|
||
(Expand_N_Attribute_Reference, case Min): ditto
|
||
* sinfo.ads: Modify_Tree_For_C takes care of expanding Min and
|
||
Max attributes.
|
||
|
||
2014-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Do not generate
|
||
predicate check if this is an internal declaration with
|
||
No_Initialization set, as for an expanded aggregate component.
|
||
|
||
2014-02-06 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal
|
||
conditions with severity of "SUCCESS" or "INFORMATIONAL".
|
||
|
||
2014-02-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Analyze pragma
|
||
Debug rewritten node before rewriting it as a null statement in
|
||
GNATprove mode.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Min_Max): New procedure.
|
||
(Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New
|
||
procedure.
|
||
|
||
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for
|
||
gnatmetric/gnatpp.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Abstract_State): Update
|
||
all calls to Create_Abstract_State to pass the proper state
|
||
"declaration".
|
||
(Create_Abstract_State): Add new formal parameter
|
||
State_Decl along with comment on usage. Establish a link between
|
||
the abstract state entity and the state declaration.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case Max): Check for improper
|
||
comparison of unordered enumeration type.
|
||
(Analyze_Attribute, case Max): Check for improper comparison of
|
||
unordered enumeration type.
|
||
* sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to
|
||
sem_util.adb.
|
||
* sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference):
|
||
Moved here from Sem_Res.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor
|
||
reformatting.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): Error message reformatting.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
|
||
variable Spec. Do not inherit the null indicator from the
|
||
subprogram body when generating the spec.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* casing.adb (Determine_Casing): Consider SPARK_Mode to be
|
||
mixed case.
|
||
|
||
2014-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false
|
||
when the function has a foreign convention, but not if only the
|
||
limited return type has such a convention.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local
|
||
variable Spec. Comment reformatting. Use Copy_Separate_Tree
|
||
rather than New_Copy_Tree when building the corresponding
|
||
subprogram declaration.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Remove
|
||
the mode-related checks on abstract states with enabled external
|
||
properties.
|
||
(Property_Error): Removed.
|
||
|
||
2014-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): When
|
||
generating the reference to the first private entity take care
|
||
of handling swapped entities.
|
||
|
||
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
|
||
gnatmetric.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater
|
||
than the word size when operating in Modify_Tree_For_C mode.
|
||
* sinfo.ads: Add documentation section on Modify_Tree_For_C mode.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb (Warning_Specifically_Suppressed.Matches):
|
||
compare is case insensitive.
|
||
* gnat_rm.texi: Document that string compare for Warnings Off
|
||
is now case insensitive.
|
||
|
||
2014-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_rm.texi: Small wording tweak.
|
||
|
||
2014-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns
|
||
and Included_Artifact_Patterns attribute definitions.
|
||
|
||
2014-02-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
|
||
SPARK_Mode pragma component for all subprograms, including stubs.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Package_Body_Stub): Maintain
|
||
the configuration options of the enclosing context in a
|
||
stack-like fasion.
|
||
(Analyze_Subprogram_Body_Stub): Maintain the
|
||
configuration options of the enclosing context in a stack-like
|
||
fashion.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: -gnatd.u sets Modify_Tree_For C
|
||
* exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out
|
||
if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto.
|
||
(Expand_N_Op_Arithmetic_Right_Shift): ditto.
|
||
* exp_intr.adb (Expand_Shift): Call expander so we do
|
||
Modify_Tree_For_C expansions.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
|
||
if -gnatd.u set.
|
||
|
||
2014-02-06 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* prj-proc.ads (Tree_Loaded_Callback): new type Callback used
|
||
after the phase 1 of the processing of each aggregated project
|
||
to get access to project trees of aggregated projects.
|
||
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded
|
||
If specified, On_New_Tree_Loaded is called after each aggregated
|
||
project has been processed succesfully.
|
||
(Process): new parameter On_New_Tree_Loaded.
|
||
* prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded
|
||
callback added after processing of each aggregated project.
|
||
(Recursive_Process): new parameter On_New_Tree_Loaded.
|
||
(Process): new parameter On_New_Tree_Loaded.
|
||
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded.
|
||
* prj-conf.ads (Parse_Project_And_Apply_Config): new parameter
|
||
On_New_Tree_Loaded.
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): new parameter
|
||
On_New_Tree_Loaded.
|
||
|
||
2014-02-06 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Implement --insert-blank-lines and
|
||
--preserve-blank-lines switches.
|
||
|
||
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
|
||
gnatelim.
|
||
|
||
2014-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_rm.texi (Pragma Optimize_Alignment): Document the effect
|
||
of the pragma on individual objects.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb Node29 is now used as BIP_Initialization_Call.
|
||
(BIP_Initialization_Call): New routine.
|
||
(Set_BIP_Initialization_Call): New routine.
|
||
(Write_Field29_Name): Add an entry for constants and variables.
|
||
* einfo.ads Add new attribute BIP_Initialization_Call and update
|
||
its usage in nodes.
|
||
(BIP_Initialization_Call): New routine along with pragma Inline.
|
||
(Set_BIP_Initialization_Call): New routine along with pragma Inline.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
Add local declaration Res_Decl. Capture the build-in-place
|
||
initialization call when the related object declaration has
|
||
created a transient block.
|
||
* exp_ch7.adb (Process_Transient_Objects): Add local variable
|
||
Fin_Insrt. Recognize a scenario where an object declaration acts
|
||
as a transient context and is initialized by a build-in-place
|
||
function call.
|
||
|
||
2014-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.adb (For_Interface_Sources): Fix handling of required
|
||
bodies for aggregate libs.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* nlists.ads: Minor comment clarifications.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
|
||
if gnatd.V set.
|
||
* opt.ads (Modify_Tree_For_C): New flag.
|
||
* output.ads, output.adb (Last_Char): New function.
|
||
|
||
2014-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add
|
||
share/gpr for cross-builds.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb:
|
||
Minor reformatting and code clean ups.
|
||
|
||
2014-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.adb (For_Interface_Sources): Skip non compilable languages.
|
||
* prj.ads: Minor typo fix in comment.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add
|
||
local variable Expr. Flag clauses with extra parenthesis as this
|
||
is not allowed by the syntax of the pragma. Code reformatting.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize
|
||
variables. Rename variabme Tnn to Temp. Do not create a temporary
|
||
if assertions are disabled. Find enclosing routine _Postconditions
|
||
and insert the temporary that captures the value of the prefix
|
||
before the routine.
|
||
* exp_ch6.adb (Build_Postconditions_Procedure):
|
||
Insert the generated _Postconditions routine
|
||
before the first source declaration of the related
|
||
subprogram.
|
||
(Insert_After_Last_Declaration): Removed.
|
||
(Insert_Before_First_Source_Declaration): New routine.
|
||
|
||
2014-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb, exp_util.ads (Within_Internal_Subprogram):
|
||
Utility to determine whether current expansion is for the body
|
||
of a predefined primitive operation.
|
||
(Make_Predicate_Check): Use Within_Internal_Subpgram
|
||
* checks.adb (Apply_Predicate_Check): Use
|
||
Within_Internal_Subprogram
|
||
* sem_ch13.adb (Freeze_Entity_Checks): Ditto.
|
||
|
||
2014-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads, prj-util.adb: Minor reformatting.
|
||
|
||
2014-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item):
|
||
Take into account the Split_PPC flag to ensure that conjuncts
|
||
in a composite postcondition aspect are tested in source order.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal
|
||
use of SPARK_Mode.
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag
|
||
illegal use of SPARK_Mode.
|
||
(Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode.
|
||
* sem_prag.adb (Analyze_Pragma): Code reformatting.
|
||
* sem_util.adb Add with and use clause for Aspects.
|
||
(Check_SPARK_Mode_In_Generic): New routine.
|
||
* sem_util.ads (Check_SPARK_Mode_In_Generic): New routine.
|
||
|
||
2014-02-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-calend.adb (Formatting_Operations.Split): Ensure that
|
||
Time_Error is raised for invalid time values.
|
||
|
||
2014-02-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Rewrite as a null statement
|
||
in GNATprove_Mode.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag.
|
||
* exp_ch3.adb (Build_Dcheck_Function): Set
|
||
Is_Discriminant_Check_Function.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Is_Subprogram_Call): Inspect
|
||
the original tree in certain cases where a construct has been
|
||
factored out and replaced by a reference to a temporary.
|
||
|
||
2014-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Full_View): Fix typo in the order of
|
||
parameters when propagating predicate function to full view.
|
||
(Find_Type_Of_Object): Freeze base type of object type to catch
|
||
premature use of discriminated private type without a full view.
|
||
|
||
2014-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb: Minor reformatting.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object): Add local variable
|
||
Temp_Ins. When the transient object is initialized by an
|
||
aggregate, the hook must capture the object after the last
|
||
component assignment takes place.
|
||
* exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to
|
||
routine Is_Subprogram_Call.
|
||
(Is_Subprogram_Call): Inspect an
|
||
aggregate that has been heavily expanded for subprogram calls.
|
||
(Process_Transient_Objects): Add local variables Expr, Ptr_Id
|
||
and Temp_Ins. Remove the nested declare block and adjust the
|
||
indentation. When the transient object is initialized by an
|
||
aggregate, the hook must capture the object after the last
|
||
component assignment takes place.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Detect illegal uses of
|
||
external states with enabled properties that do not match the
|
||
global mode.
|
||
(Property_Error): New routine.
|
||
* sem_res.adb (Property_Error): New routine.
|
||
(Resolve_Actuals): Detect illegal uses of external variables with
|
||
enabled properties in procedure calls that do not match the mode of
|
||
the corresponding formal parameter.
|
||
|
||
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Has_Enabled_Property): Rename
|
||
formal parameter Prop_Nam to Property. Update the comment on usage
|
||
and all occurrences in the body. Add local variable Prop_Nam. When
|
||
inspecting a property with an expression, the property name
|
||
appears as the first choice of the component association.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2014-02-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_aggr.adb: Change "runtime" to "run time" in warning message,
|
||
for consistency with other messages.
|
||
|
||
2014-02-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): For a container element
|
||
iterator, indicate that the element is a constant if the container
|
||
type does not have a variable indexing aspect.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): If the entity is already
|
||
marked as constant, do not reset its Ekind, to ensure that
|
||
container elements in an element loop are not modified if the
|
||
container (e.g. a hashed set) only has a constant indexing aspect.
|
||
|
||
2014-02-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* g-souinf.ads: Subprograms in this unit are actually not pure.
|
||
* freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics.
|
||
* einfo.ads (Is_Pure): Update doc to match implementation.
|
||
|
||
2014-02-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch13.adb: Minor spelling fix.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads: Minor comment update.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite
|
||
instead of Replace.
|
||
|
||
2014-02-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings
|
||
on null expressions if component type is non-null, when the
|
||
corresponding association covers an empty range of index values.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Further comments on N_Expression_With_Actions node.
|
||
|
||
2014-02-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
|
||
variables Out_Items and Ref_Global. Remove local constant
|
||
Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7
|
||
and D8. Remove the useless collection of global items as this
|
||
was a leftover from an earlier version of the routine. Move
|
||
several routines out to avoid deep nesting and indentation.
|
||
(Inputs_Match): Add formal parameter Dep_Clause. Rename formal
|
||
parameter Do_Checks to Post_Errors. Update the comment on usage.
|
||
(Is_Matching_Input): Renamed to Input_Match. Add formal parameters
|
||
Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks
|
||
to Post_Errors. Update the comment on usage. Account for the
|
||
case where a self referential state may have a null input_list.
|
||
(Is_Self_Referential): New routine.
|
||
|
||
2014-02-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the
|
||
entity renames an expression, as in the case of an object of
|
||
an unconstrained type initialized by a function call, defer the
|
||
rewriting of the expression to the expander.
|
||
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
|
||
'Alignment): If the entity renames an expression, introduce
|
||
temporary to capture value, and rewrite original declaration to
|
||
use temporary.
|
||
|
||
2014-02-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* g-comlin.adb: Minor typo fix.
|
||
|
||
2014-02-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_All): Types derived from a formal
|
||
access_to_classwide type do not have a finalization master.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.adb: Minor reformatting.
|
||
|
||
2014-02-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
|
||
cases where Actions is a null list.
|
||
* sinfo.ads (N_Expression_With_Actions): Actions can be
|
||
temporarily empty during semantic analysis, but must be non-empty
|
||
in the final expanded tree.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor reformatting.
|
||
|
||
2014-01-31 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Set_Command_Line): Take the switches
|
||
configuration from the Command_Line_Config.
|
||
|
||
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed
|
||
refinement clause.
|
||
|
||
2014-01-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add more documentation about others used as an
|
||
index in indexed attributes.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor update.
|
||
* gnat_rm.texi: Add example to Restriction_Warnings documentation.
|
||
* exp_util.adb: Minor reformatting.
|
||
|
||
2014-01-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier
|
||
depends on data that is not private to the protected object,
|
||
and potentially modifiable in unsynchronized fashion.
|
||
|
||
2014-01-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* erroutc.adb (Validate_Specific_Warnings): Remove special case for
|
||
GNATprove_Mode.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute
|
||
for Unknown_Package.
|
||
* sem_ch6.adb, sem_attr.adb: Minor comment addition.
|
||
|
||
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite
|
||
the logic that generates a runtime check to determine the
|
||
controlled status of the object about to be allocated or
|
||
deallocated. Class-wide types now always use a runtime check
|
||
even if they appear as generic actuals.
|
||
(Find_Object): Detect
|
||
a special case that involves interface class-wide types because
|
||
the object appears as a complex expression.
|
||
|
||
2014-01-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): In Ada2012 mode, place
|
||
subprogram with an incomplete untagged formals on the list of
|
||
private dependents, to verify that the type is properly completed
|
||
in the private part.
|
||
* sem_attr.adb: Code clean up.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb: Minor reformatting.
|
||
|
||
2014-01-31 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute
|
||
when Pkg is unknown.
|
||
|
||
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entity_Name): Comment
|
||
reformatting. Allow volatile objects in various generated checks.
|
||
|
||
2014-01-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): For a record
|
||
component association, set the etype of the identifier, for
|
||
SPARK use.
|
||
|
||
2014-01-31 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not
|
||
declared in a package, not checks can apply to the subprogram.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb (Validate_Specific_Warnings): Warnings are
|
||
controlled -gnatw.W.
|
||
* gnat_ugn.texi: Document new warnings controlled by -gnatw.w.
|
||
* opt.ads (Warn_On_Warnings_Off): Now controls more cases.
|
||
|
||
2014-01-31 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_disp.adb: Update comments.
|
||
|
||
2014-01-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
|
||
Save_Global_References): Guard access to expression in aspect.
|
||
|
||
2014-01-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode):
|
||
Issue an error when the pragma is applied to a generic unit,
|
||
a generic declaration, or inside a generic.
|
||
|
||
2014-01-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming
|
||
entity.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor
|
||
reformatting.
|
||
|
||
2014-01-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_disp.adb: Add a historic note.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Useless_Assignments): Add call to
|
||
Process_Deferred_References.
|
||
|
||
2014-01-31 Yannick Moy <moy@adacore.com>
|
||
|
||
* erroutc.adb (Validate_Specific_Warnings): Do not issue a message for
|
||
ineffective pragma Warnings(Off) in GNATprove_Mode.
|
||
|
||
2014-01-31 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.ads: Minor comment fix.
|
||
* s-tassta.adb (Abort_Dependents): Don't abort all dependents;
|
||
just direct dependents. If this is actually an abort, each task
|
||
will take care of aborting its dependents, so all dependents will
|
||
get aborted, as before. However, when this is called the second
|
||
time from Vulnerable_Complete_Master "for convenience" (i.e. to
|
||
kill off tasks waiting at terminate alternatives), aborting
|
||
indirect dependents is wrong, because it causes some unrelated
|
||
tasks to get aborted.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-31 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch2.adb: New calling sequence for Is_LHS.
|
||
* frontend.adb: Add call to Process_Deferred_References.
|
||
* lib-xref.ads, lib-xref.adb (Process_Deferred_References): New.
|
||
(Deferred_References): New table.
|
||
* sem_ch8.adb (Find_Direct_Name): Make deferred reference table
|
||
entries.
|
||
(Find_Expanded_Name): Ditto.
|
||
* sem_res.adb: New calling sequence for Is_LHS.
|
||
* sem_util.ads, sem_util.adb (Is_LHS): New calling sequence.
|
||
* sem_warn.adb: Call Process_Deferred_References before issuing
|
||
warnings.
|
||
|
||
2014-01-31 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_util.adb (Corresponding_Runtime_Package): Restrict the
|
||
use of System_Tasking_Protected_Objects_Single_Entry.
|
||
* exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter
|
||
of Protected_Single_Entry_Call.
|
||
(Expand_N_Timed_Entry_Call): Remove single_entry case.
|
||
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove
|
||
single_entry case.
|
||
(Make_Disp_Timed_Select_Body): Likewise.
|
||
* rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove.
|
||
* s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove
|
||
Self_Id parameter.
|
||
(Wakeup_Entry_Caller): Remove Self_ID and New_State parameters.
|
||
(Wait_For_Completion_With_Timeout): Remove.
|
||
(Protected_Single_Entry_Call): Remove Mode parameter
|
||
(always Simple_Call).
|
||
(Service_Entry): Remove Self_Id constant (not used anymore).
|
||
(Timed_Protected_Single_Entry_Call): Remove.
|
||
* s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove.
|
||
(Protected_Single_Entry_Call): Remove Mode parameter.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post.
|
||
* einfo.ads (Get_Pragma): Update the comment on special pragmas
|
||
handled by this routine.
|
||
* sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post
|
||
to the contract of the related subprogram body.
|
||
* sem_util.adb (Add_Contract_Item): Handle the insertion of
|
||
pragma Refined_Post into the contract of a subprogram body.
|
||
* sinfo.ads Update the documentation of node N_Contract.
|
||
* sem_res.adb (Resolve_Entity_Name): Add a guard
|
||
to detect abstract states and variables only when checking the
|
||
SPARK 2014 rules concerning volatile object placement.
|
||
|
||
2014-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance,
|
||
null is compatible with any access type.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Find_Placement_In_State_Space): Assume that the default
|
||
placement is not in a package.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Has_Enabled_Property): Compare the character field of
|
||
the sole property.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb,
|
||
vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb,
|
||
sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (In_Pragma_Expression): New function.
|
||
* sem_warn.adb (Check_References): Suppress warnings if inside
|
||
Initial_Condition pragma.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Missing_Part_Of): List all values of
|
||
State_Space_Kind for readability reasons. Do not emit an error on
|
||
a private item when the enclosing package lacks aspect/pragma
|
||
Abstract_State. Do not emit an error on a private package
|
||
instantiation when the corresponding generic template lacks
|
||
visible state.
|
||
(Has_Visible_State): New routine.
|
||
* sem_util.adb (Find_Placement_In_State_Space): The visible
|
||
declarations of any kind of child units in general act as proper
|
||
placement location.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
|
||
ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
|
||
a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
|
||
a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
|
||
atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
|
||
a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
|
||
cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
|
||
eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
|
||
exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
|
||
exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
|
||
freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
|
||
gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
|
||
krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
|
||
live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
|
||
par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
|
||
par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
|
||
par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
|
||
rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
|
||
s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
|
||
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
|
||
sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
|
||
sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
|
||
sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
|
||
sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
|
||
s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
|
||
sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
|
||
s-regpat.adb, s-secsta.adb, s-stalib.ads,
|
||
s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
|
||
s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
|
||
s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
|
||
system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
|
||
urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* expander.adb: Minor reformatting.
|
||
|
||
2014-01-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to
|
||
previous patch.
|
||
|
||
2014-01-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code
|
||
that checks if an interface types defines the predefined "="
|
||
function because the compiler was erroneously not generating the
|
||
predefined "=" primitive as soon as the name of some interface
|
||
primitive is "=" (formals were not checked).
|
||
|
||
2014-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* expander.adb (Expander): In GNATprove mode, do not process
|
||
transient scopes: they are in general not created in this mode,
|
||
and an attempt to examine them will lead to constraint errors when
|
||
processing configuration pragmas that have analyzable expressions.
|
||
|
||
2014-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Gnatclean): Fail if main project is an aggregate
|
||
project or if there is an aggregate library project in the
|
||
project tree.
|
||
* gnatcmd.adb: Fail if the main project is an aggregate project
|
||
or if there is an aggegate library project in the project tree.
|
||
* make.adb (Initialize): : Fail if main project is an aggregate
|
||
project or if there is an aggregate library project in the
|
||
project tree.
|
||
* makeutl.ads (Aggregate_Libraries_In): New Boolean function.
|
||
* prj-makr.adb (Initialize): Fail if the main project is an
|
||
aggregate project or an aggregate library project.
|
||
|
||
2014-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Check_Import_Aggregate): New procedure
|
||
to check if an imported project is an aggregate project.
|
||
(Parse_Single_Project): Call Check_Import_Aggregate
|
||
* projects.texi: Document that aggregate projects cannot be
|
||
extended or imported.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor
|
||
reformatting and code clean up.
|
||
* gnat_ugn.texi: Add documentation section on Atomic Variables
|
||
and Optimization.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb Flag264 is now unused.
|
||
(Has_Body_References): Removed.
|
||
(Set_Has_Body_References): Removed.
|
||
(Write_Entity_Flags): Remove the output for flag Has_Body_References.
|
||
* einfo.ads Update the comment on usage of attribute
|
||
Body_References. Remove attribute Has_Body_References and its
|
||
usage in nodes.
|
||
(Has_Body_References): Removed along with pragma Inline.
|
||
(Set_Has_Body_References): Removed along with pragma Inline.
|
||
* sem_prag.adb (Analyze_Global_Item): Move the call to
|
||
Record_Possible_Body_Reference in the state related checks
|
||
section. Add a comment intended function.
|
||
(Analyze_Input_Output): Move the call to Record_Possible_Body_Reference
|
||
in the state related checks section. Add a comment intended function.
|
||
(Analyze_Refinement_Clause): Cleanup the illegal body reference
|
||
reporting. Add a comment on timing of error reporting.
|
||
(Record_Possible_Body_Reference): Reimplement the routine.
|
||
|
||
2014-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for
|
||
unit-based languages.
|
||
(Mains.Complete_Mains.Do_Complete): Use the source file project
|
||
tree when calling Find_File_Add_Extension. Use the correct
|
||
project name when reporting an error.
|
||
|
||
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb Add an entry for aspect Part_Of in table
|
||
Canonical_Aspect.
|
||
* aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id,
|
||
Aspect_Argument, Aspect_Names and Aspect_Delay.
|
||
* atree.h Define Elist9.
|
||
* atree.adb (Elist9): New routine.
|
||
(Set_Elist9): New routine.
|
||
* atree.ads (Elist9): New routine.
|
||
(Set_Elist9): New routine.
|
||
* einfo.adb Add Part_Of_Constituents and Encapsulating_State to
|
||
the list of node usage. Remove Refined_State from the list of
|
||
node usage.
|
||
(Encapsulating_State): New routine.
|
||
(Get_Pragma):
|
||
Handle pragma Part_Of; (Part_Of_Constituents): New routine.
|
||
(Refined_State): Removed.
|
||
(Set_Encapsulating_State): New routine.
|
||
(Set_Part_Of_Constituents): New routine.
|
||
(Set_Refined_State): Removed.
|
||
(Write_Field9_Name): Add an entry
|
||
for Part_Of_Constituents (Write_Field10_Name): Add an entry for
|
||
Encapsulating_State. Remove the entry for Refined_State.
|
||
* einfo.ads Add new attributes Encapsulating_State
|
||
and Part_Of_Constituents alond with their usage in
|
||
entities. Remove attribute Refined_State along with its
|
||
usage in entities.
|
||
(Encapsulating_State): New routine and
|
||
pragma Inline. (Get_Pragma): Update the comment on usage.
|
||
(Part_Of_Constituents): New routine and pragma Inline.
|
||
(Refined_State): Removed along with pragma Inline.
|
||
(Set_Encapsulating_State): New routine and pragma Inline.
|
||
(Set_Part_Of_Constituents): New routine and pragma Inline.
|
||
(Set_Refined_State): Removed along with pragma Inline.
|
||
* par-prag.adb Pragma Part_Of does not need any special processing
|
||
by the parser.
|
||
* sem_ch3.adb (Analyze_Declarations): Remove local variables
|
||
Body_Id and Prag. Call separate routines to analyze the
|
||
contract of a package [body].
|
||
(Analyze_Object_Contract):
|
||
Update the comment on usage. Remove local variables
|
||
Items and Nam. Use Get_Pragma rather than traversing the
|
||
classification list. Verify whether the lack of indicator
|
||
Part_Of agrees with the placement of the variable in state space.
|
||
(Analyze_Object_Declaration): Initialize the encapsulating state
|
||
of a variable. (Requires_State_Refinement): Moved to sem_util.
|
||
* sem_ch7.adb (Analyze_Package_Body_Contract): New routine.
|
||
(Analyze_Package_Contract): New routine.
|
||
* sem_ch7.ads (Analyze_Package_Body_Contract): New routine.
|
||
(Analyze_Package_Contract): New routine.
|
||
* sem_ch10.adb (Decorate_State): Initialize the encapsulating
|
||
state and Part_Of constituents.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Add processing for aspect Part_Of. Update all
|
||
calls to Decorate_Delayed_Aspect_And_Pragma.
|
||
(Check_Aspect_At_Freeze_Point): Aspect Part_Of does
|
||
not need any special processing at freeze time.
|
||
(Decorate_Delayed_Aspect_And_Pragma): Renamed to
|
||
Decorate_Aspect_And_Pragma. Add formal parameter Delayed and
|
||
update the associated comment.
|
||
* sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags.
|
||
(Analyze_Abstract_State): Add new global variable State_Id. Remove
|
||
local constants Errors and Loc. Remove local variables Is_Null
|
||
and State_Nam. Create the entity of the abstract state on the
|
||
spot, before all remaining checks are performed. Verify that a
|
||
missing Part_Of option agrees with the placement of the abstract
|
||
state within the state space.
|
||
(Analyze_Depends_In_Decl_Part):
|
||
Add new global variables Constits_Seen and States_Seen. Check
|
||
that a state and a corresponding constituent do not appear
|
||
in pragma [Refined_]Depends.
|
||
(Analyze_Global_In_Decl_Part):
|
||
Add new global variables Constits_Seen and States_Seen. Check
|
||
that a state and a corresponding constituent do not appear
|
||
in pragma [Refined_]Global.
|
||
(Analyze_Global_Item):
|
||
Remove the now obsolete code that deals with Part_Of.
|
||
Add the entity of the global item to the list of processed
|
||
items. (Analyze_Initializes_In_Decl_Part): Add new global
|
||
variables Constits_Seen and States_Seen. Check that a state
|
||
and a corresponding constituent do not appear in pragma
|
||
Initializes.
|
||
(Analyze_Initialization_Item): Add the entity
|
||
of the initialization item to the list of processed items.
|
||
(Analyze_Input_Item): Add the entity of the initialization
|
||
item to the list of processed items.
|
||
(Analyze_Input_Output):
|
||
Remove the now obsolete code that deals with Part_Of. Add the
|
||
entity of the input/output to the list of processed items.
|
||
(Analyze_Part_Of): New routine.
|
||
(Analyze_Part_Of_Option): Remove
|
||
local constant Par_State. Add local constant Encaps and local
|
||
variables Encaps_Id and Legal. Use Analyze_Part of to analyze
|
||
the option. Turn the related state into a Part_Of constituent
|
||
if the option is legal.
|
||
(Analyze_Pragma): Add processing
|
||
for pragma Part_Of.
|
||
(Analyze_Refined_State_In_Decl_Part):
|
||
Remove global constants Pack_Body and Spec_Id. Remove
|
||
global variables Abstr_States and Hidden_States. Add new
|
||
global variables Available_States, Body_Id, Body_States and
|
||
Spec_Id. Add new local constant Body_Decl. Reimplement the
|
||
logic that extracts the states available for refinement from
|
||
the related package and the body hidden states of the said
|
||
package.
|
||
(Analyze_Refinement_Clause): Add local variable Part_Of_Constits.
|
||
(Check_Applicable_Policy): Alphabetize body.
|
||
(Check_Dependency_Clause): Replace Refined_State
|
||
with Encapsulating_State.
|
||
(Check_Matching_Constituent):
|
||
Reimplement the logic that determines whether an item is a valid
|
||
/ invalid constituent of the current refined state. Return when
|
||
a construct does not denote a valid abstract state. Extract the
|
||
list of Part_Of constituents for further analysis. Check that all
|
||
Part_Of constituents of a state have been used in its refinement.
|
||
(Check_Matching_State): Update the comment on usage. Operate
|
||
on the list of available states.
|
||
(Check_Missing_Part_Of): New routine.
|
||
(Check_Refined_Global_Item): Replace Refined_State
|
||
with Encapsulating_State.
|
||
(Check_State_And_Constituent_Use): New routine.
|
||
(Create_Abstract_State): New routine.
|
||
(Is_Matching_Input): Replace Refined_State with Encapsulating_State.
|
||
(Is_Part_Of): Removed.
|
||
(Collect_Body_States): New routine.
|
||
(Collect_Constituent): Replace Refined_State with Encapsulating_State.
|
||
(Collect_Hidden_States): Removed.
|
||
(Report_Unrefined_States): Change the profile of the procedure along
|
||
with the comment on usage.
|
||
(Report_Unused_Constituents): New routine.
|
||
(Report_Unused_Hidden_States): Removed.
|
||
(Report_Unused_States): New routine.
|
||
* sem_prag.ads (Check_Missing_Part_Of): New routine.
|
||
* sem_util.adb (Add_Contract_Item): Pragma Part_Of can now
|
||
appear in the classification pragmas of a package instantiation
|
||
or a variable.
|
||
(Find_Placement_In_State_Space): New routine.
|
||
(Is_Child): Removed.
|
||
(Is_Child_Or_Sibling): Remove formal
|
||
parameter Private_Child. Remove the private child checks.
|
||
(Requires_State_Refinement): Moved from sem_ch3.
|
||
* sem_util.ads Add new type State_Space_Kind along with
|
||
comment on its usage and values.
|
||
(Add_Contract_Item): Update the comment on usage.
|
||
(Find_Body_Discriminal): Alphabetize spec.
|
||
(Find_Placement_In_State_Space): New routine.
|
||
(Is_Child_Or_Sibling): Remove formal parameter Private_Child
|
||
and update the comment on usage.
|
||
(Requires_State_Refinement): Moved from sem_ch3.
|
||
* sinfo.ads: Update the documentation of N_Contract.
|
||
* snames.ads-tmpl The predefined name for Part_Of is now used
|
||
to denote a pragma. Add Pragma_Id for Part_Of.
|
||
|
||
2014-01-29 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* s-regexp.adb (Create_Secondary_Table): Automatically grow the state
|
||
machine as needed.
|
||
(Dump): New subprogram.
|
||
|
||
2014-01-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add
|
||
Expand_Entry_Declaration to factorize code.
|
||
|
||
2014-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb: minor clarification.
|
||
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit
|
||
search for primitive operations to the entities that immediately
|
||
follow the type declaration.
|
||
|
||
2014-01-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Protected_Entry): Do not call
|
||
Complete_Entry_Body anymore.
|
||
* rtsfind.ads (RE_Complete_Single_Entry_Body): Remove.
|
||
* s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove.
|
||
|
||
2014-01-29 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty
|
||
string when the Name input bigger than allowed. Adapt the function
|
||
specification.
|
||
|
||
2014-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Install_Null_Excluding_Check): Do not emit warning
|
||
if expression is within a case_expression of if_expression.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, inline.ads: Minor reformatting.
|
||
|
||
2014-01-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions.
|
||
|
||
2014-01-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.ads (Pending_Body_Info): Add SPARK_Mode and
|
||
SPARK_Mode_Pragma components to be able to analyze generic
|
||
instance.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation,
|
||
Inline_Instance_Body, Need_Subprogram_Instance_Body,
|
||
Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation
|
||
for future analysis of the instance.
|
||
(Instantiate_Package_Body,
|
||
Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode
|
||
from instantiation to analyze the instance.
|
||
|
||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code
|
||
reorganization.
|
||
|
||
2014-01-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Update description of SPARK_Mode pragma.
|
||
|
||
2014-01-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries.
|
||
|
||
2014-01-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Component_In_Instance): Update comment.
|
||
|
||
2014-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Build_Task_Image_Prefix): Indicate that the
|
||
resulting string is an internal entity. and thus requires no
|
||
initialization. This is relevant when Initialize_ Scalars is
|
||
enabled, because the resultant spurious initialization may lead to
|
||
secondary stack anomalies that produce a mangled name for a task.
|
||
|
||
2014-01-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode
|
||
not inherited from spec anymore. Check consistency
|
||
rules after processing of declarations.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited
|
||
from spec anymore. Check consistency rules after processing of
|
||
declarations.
|
||
(Analyze_Package_Declaration): Set SPARK_Mode only for non-generic
|
||
packages.
|
||
* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new
|
||
consistency rules.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Comparison_Op): Add type name/location
|
||
to unordered msg.
|
||
(Resolve_Range): Add type name/location to unordered msg.
|
||
|
||
2014-01-27 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
|
||
Capacity) is only called with Capacity >= Length (Source) and
|
||
Capacity in Capacity_Range.
|
||
* a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
|
||
a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
|
||
is only called with Capacity >= Source.Capacity. Raise Capacity_Error
|
||
in the code is this is not the case.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): Fix handling of
|
||
selected component in an instance where the component of the
|
||
actual is not visibile at instantiation.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
|
||
has a dynamic predicate, generate freeze node for Actual_Subtype
|
||
at once, because the declaration of the corresponding predicate
|
||
function will make reference to it.
|
||
|
||
2014-01-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch9.adb: Adjust comments.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
|
||
for 2**X optimization.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
|
||
explicitly whether value is in range of Character, because the
|
||
library is typically compiled with range checks disabled, and
|
||
we cannot rely on the implicit check on the argument of 'Val.
|
||
|
||
2014-01-27 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
|
||
not the Target to itself.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
|
||
changes to avoid incorrect use of unordered enum types.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* scn.adb (Check_End_Of_Line): Removed.
|
||
(Error_Long_Line): Removed.
|
||
(Determine_License): Use versions of above routines from Scanner.
|
||
* scng.adb (Check_End_Of_Line): Moved to spec.
|
||
(Error_Long_Line): Removed, no longer used.
|
||
* scng.ads (Check_End_Of_Line): Moved here from body.
|
||
|
||
2014-01-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Cleanup_Statements): Call
|
||
Build_Protected_Subprogram_Call_Cleanup to insert the cleanup
|
||
for protected body.
|
||
* exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise.
|
||
Remove Service_Name variable.
|
||
(Build_Protected_SUbprogam_Call_Cleanup): New procedure that
|
||
factorize code from the above subprograms.
|
||
* exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure.
|
||
|
||
2014-01-27 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Has_Option): Reimplemented.
|
||
* sem_prag.adb (Analyze_Refinement_Clause): Add global
|
||
variables AR_Constit, AW_Constit, ER_Constit, EW_Constit,
|
||
External_Constit_Seen and State. Add local variables Body_Ref,
|
||
Body_Ref_Elmt and Extra_State. Reimplement part of the logic to
|
||
avoid a cumbersome while pool. Verify the legality of an external
|
||
state and relevant properties.
|
||
(Check_External_Property): New routine.
|
||
(Check_Matching_State): Remove parameter profile
|
||
and update comment on usage.
|
||
(Collect_Constituent): Store the
|
||
relevant external property of a constituent.
|
||
* sem_util.adb (Async_Readers_Enabled): Update the call to
|
||
Has_Enabled_Property.
|
||
(Async_Writers_Enabled): Update the call to Has_Enabled_Property.
|
||
(Effective_Reads_Enabled): Update the call to Has_Enabled_Property.
|
||
(Effective_Writes_Enabled): Update the call to Has_Enabled_Property.
|
||
(Has_Enabled_Property): Rename formal parameter Extern to State_Id.
|
||
Update comment on usage. Reimplement the logic to recognize the various
|
||
formats of properties.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch5.adb: Minor reformatting.
|
||
|
||
2014-01-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tposen.ads: Harmonize style and comments.
|
||
|
||
2014-01-27 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Document that shared library projects, by
|
||
default, cannot import projects that are not shared library
|
||
projects.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Selected_Component): Use Replace instead
|
||
of Rewrite.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if
|
||
any other exception is raised.
|
||
(Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is
|
||
still necessary to perform a conversion in order to remove overlong
|
||
encodings.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_smem.adb: Minor reformatting.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-calfor.ads: Fix incorrect reference to operator "-" in comment.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate
|
||
nodes for operands to the original node for the call, to preserve
|
||
Original_Node pointers within the resolved operands, given that
|
||
they may have been rewritten as well. Previous approach copied
|
||
the operands into a new tree and lost those pointers.
|
||
|
||
2014-01-27 Claire Dross <dross@adacore.com>
|
||
|
||
|
||
* a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Check_Internal_Protected_Use): A call through
|
||
an anonymous access parameter of the current protected function
|
||
is not a potential modification of the current object.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cobove.adb (Reserve_Capacity): Procedure raises
|
||
Capacity_Error, not Constraint_Error, when request cannot be
|
||
satisfied.
|
||
|
||
2014-01-27 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target,
|
||
not the Target to itself.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): If the target of the
|
||
concatenation is a library-level entity, always use the off-line
|
||
version of concatenation, regardless of optimization level. This
|
||
is space-efficient, and prevents linking problems when some
|
||
units are compiled with different optimization levels.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: Code clean up.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch5.adb (P_Iterator_Specification): Improve error recovery
|
||
when an array or container iterator includes a subtype indication,
|
||
which is only legal in an element iterator.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor reformatting.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.adb (SPARK_Mode): Default for library units is None rather
|
||
than Off.
|
||
* opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is
|
||
no longer ordered.
|
||
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO
|
||
possibility.
|
||
* snames.ads-tmpl (Name_Auto): Removed, no longer used.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch5.adb (P_Sequence_Of_Statements): Make entry in
|
||
Suspicious_Labels table if we have identifier; followed by loop
|
||
or block.
|
||
* par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table.
|
||
* par.adb (Suspicious_Labels): New table.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb (Check_Bounds): Reason is range check, not
|
||
length check.
|
||
|
||
2014-01-27 Yannick Moy <moy@adacore.com>
|
||
|
||
* get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for
|
||
reference.
|
||
* lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless
|
||
function now.
|
||
(Add_SPARK_Xrefs): Include references to constants.
|
||
* spark_xrefs.ads Document new character 'c' for references to
|
||
constants.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_smem.adb (Add_Write_After): For a function call, insert write as
|
||
an after action in a transient scope.
|
||
|
||
2014-01-27 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_smem.adb (Expand_Shared_Passive_Variable): For a reference
|
||
to a shared variable as an OUT formal in a call to an init proc,
|
||
the 'Read call must be emitted after, not before, the call.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-wichha.adb (Character_Set_Version): Change to output proper
|
||
value.
|
||
|
||
2014-01-27 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Is_Input_Only_State): Removed.
|
||
(Is_Non_Volatile_State): Removed.
|
||
(Is_Output_State): Removed.
|
||
* einfo.ads (Is_Input_Only_State): Remove attribute and
|
||
subprogram. Update related entity.
|
||
(Is_Non_Volatile_State):
|
||
Remove attribute and subprogram. Update related entity.
|
||
(Is_Output_State): Removed attribute and subprogram. Update
|
||
related entity.
|
||
* exp_ch6.adb (Expand_Subprogram_Contract): Update comment on
|
||
generated code.
|
||
* sem_ch3.adb (Analyze_Declarations): Analyze the contract of
|
||
an object, not just variables.
|
||
(Analyze_Object_Contract): New routine.
|
||
(Analyze_Variable_Contract): Removed.
|
||
(Process_Discriminants): Detect an illegal use of volatile
|
||
discriminant in SPARK mode.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification):
|
||
Detect an illegal use of volatile loop variable.
|
||
(Analyze_Loop_Parameter_Specification): Detect an illegal use
|
||
of volatile loop variable.
|
||
* sem_ch6.adb (Process_Formals): Update the volatile object
|
||
detection. Detect an illegal formal of mode IN OUT or OUT in
|
||
SPARK mode. Enhance the error messages with references.
|
||
* sem_ch12.adb (Instantiate_Object): Update the volatile object
|
||
detection. Enhance the error messages with references.
|
||
* sem_prag.adb (Analyze_Abstract_State): Enhance the error
|
||
messages with references.
|
||
(Analyze_Contract_Case): Enhance the error messages with references.
|
||
(Analyze_External_Property): Call Check_Duplicate_Property to process
|
||
an external property.
|
||
(Analyze_External_Property_In_Decl_Part): New routine.
|
||
(Analyze_External_State_In_Decl_Part): Removed.
|
||
(Analyze_Global_Item): Detect an illegal
|
||
use of a volatile constant. Detect an illegal use
|
||
of a variable with enabled Effective_Reads. Enhance
|
||
the error messages with references. Remove obsolete
|
||
checks concerning Input_Only and Output_Only states.
|
||
(Analyze_Initialization_Item): Enhance the error messages
|
||
with references.
|
||
(Analyze_Initializes_In_Decl_Part): Do not
|
||
collect the states and variables when the initialization list
|
||
is null.
|
||
(Analyze_Input_Item): Enhance the error messages with references.
|
||
(Analyze_Input_Output): Enhance the error messages with references.
|
||
(Analyze_Pragma): Enhance the error messages with references.
|
||
(Analyze_Refinement_Clause): Code reformatting.
|
||
(Analyze_Refined_Depends_In_Decl_Part):
|
||
Rename global variable Global to Reg_Global and update all
|
||
occurrences. Add local variables D7 and D8. Update the error
|
||
messages with references. Update the call to Collect_Global_Items.
|
||
(Analyze_Refined_Global_In_Decl_Part): Add local variables
|
||
Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update
|
||
the call to Collect_Global_Items. Account for a Proof_In state
|
||
in null / useless refinement checks. Verify the coverage of
|
||
Proof_In states.
|
||
(Check_Dependency_Clause): Remove local variable
|
||
Out_Constits. Remove the retrieval and removal of constituents
|
||
for an Output_Only state. Remove the reporting of unused
|
||
Output_Only state constituents.
|
||
(Check_Duplicate_Mode): Enhance
|
||
the error message with a reference.
|
||
(Check_Duplicate_Property): New routine.
|
||
(Check_Duplicate_Option): Enhance the error message with a reference.
|
||
(Check_External_Properties): Enhance the error message with a reference.
|
||
(Check_Function_Return): Enhance the error message with a reference.
|
||
(Check_In_Out_States): Update
|
||
comment on usage. Add a specialized error message for Proof_In
|
||
constituents. Enhance the error message with a reference.
|
||
(Check_Input_States): Update comment on usage. Account for
|
||
possible Proof_In constituents. Enhance the error message
|
||
with a areference.
|
||
(Check_Matching_Constituent): Enhance the error message with a
|
||
reference.
|
||
(Check_Matching_State): Enchance the error message with a reference.
|
||
(Check_Mode): Add local variable From_Global. Update the call to
|
||
Find_Mode. Emit more precise error messages concerning extra items
|
||
(Check_Mode_Restriction_In_Enclosing_Context): Consider
|
||
pragma Refined_Global. Enhance the error message with a
|
||
reference.
|
||
(Check_Mode_Restriction_In_Function): Enhance the error message with
|
||
a reference.
|
||
(Check_Output_States): Update comment on usage. Add local variable
|
||
Posted. Account for possible Proof_In constituents. Produce a detailed
|
||
list of missing constituents.
|
||
(Check_Proof_In_States): New routine.
|
||
(Check_Refined_Global_Item): Handle Proof_In
|
||
constituents. Enchance the error message with a reference.
|
||
(Collect_Global_Items): Add formal parameters Proof_In_Items
|
||
and Has_Proof_In_State. Update the comment on usage. Account
|
||
for Proof_In items.
|
||
(Create_Or_Modify_Clause): Enchance
|
||
the error message with a reference.
|
||
(Find_Mode): Add
|
||
formal parameter From_Global. Update the comment on usage.
|
||
Detect when the mode is governed by pragma [Refined_]Global.
|
||
(Output_Constituents): Removed.
|
||
(Report_Extra_Constituents):
|
||
Report extra Proof_In constituents.
|
||
(Report_Unused_Constituents): Removed.
|
||
(Usage_Error): Code reformatting. Enhance the error
|
||
messages with reference.
|
||
* sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine.
|
||
(Analyze_External_State_In_Decl_Part): Removed.
|
||
* sem_res.adb (Resolve_Actuals): Update the volatile object
|
||
detection. Enhance the error message with a reference.
|
||
(Resolve_Entity_Name): Update the volatile object
|
||
detection. Enhance the error message with a reference.
|
||
* sem_util.adb (Is_Refined_State): Add a guard to avoid a crash.
|
||
(Is_SPARK_Volatile_Object): New routine.
|
||
(Has_Volatile_Component): New routine.
|
||
* sem_util.ads (Is_Delegate): Alphabetized.
|
||
(Is_SPARK_Volatile_Object): New routine.
|
||
(Has_Volatile_Component): New routine.
|
||
* snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only.
|
||
|
||
2014-01-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: Resolve fully prefix of 'Update.
|
||
|
||
2014-01-27 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor clarifications.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining
|
||
about call that is generated as part of an Initial_Condition
|
||
check.
|
||
* sem_prag.adb: Minor spelling correction.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Set_Convention_From_Pragma): Check that
|
||
convention Ghost can only apply to functions.
|
||
* einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add Short_Enums to documentation of
|
||
-gnatet/-gnateT.
|
||
|
||
2014-01-27 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_Item): Correct check for input
|
||
item in same package.
|
||
* sem_util.ads, sem_util.adb (Within_Scope): New function.
|
||
|
||
2014-01-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb,
|
||
s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
|
||
s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb,
|
||
system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer
|
||
maintained.
|
||
|
||
2014-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Fix oversight.
|
||
|
||
2014-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the
|
||
conversion from a thin pointer with a shifted value.
|
||
* gcc-interface/utils2.c (gnat_build_constructor): Propagate the
|
||
read-only flag from the values onto the result.
|
||
(gnat_invariant_expr): Accept read-only CONSTRUCTORs.
|
||
|
||
2014-01-25 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable
|
||
for E_Variable with a pragma Linker_Section.
|
||
|
||
2014-01-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter
|
||
with Default_Value aspect is passed in by copy.
|
||
|
||
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* set_targ.adb: Set Short_Enums.
|
||
* gcc-interface/lang.opt (fshort-enums): New option.
|
||
* gcc-interface/misc.c (gnat_handle_option): Handle it.
|
||
(gnat_post_options): Do not modify the global settings.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic
|
||
function.
|
||
(Random_Decimal_Fixed): New generic function.
|
||
* s-rannum.ads: Minor comment clarifications.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.adb: Remove Short_Enums handling (handled in
|
||
Ttypes/Get_Targ now) Minor added comments.
|
||
* freeze.adb: Change name Short_Enums_On_Target to
|
||
Target_Short_Enums.
|
||
* get_targ.ads, get_targ.adb (Get_Short_Enums): New function.
|
||
* opt.ads: Minor comment updates.
|
||
* sem_ch13.adb: Change name Short_Enums_On_Target to
|
||
Target_Short_Enums.
|
||
* set_targ.adb: Set Short_Enums from gcc back end.
|
||
* set_targ.ads (Short_Enums): New variable.
|
||
* targparm.ads, targparm.adb: Remove Short_Enums entries (handled in
|
||
Ttypes/Get_Targ now).
|
||
* ttypes.ads (Target_Short_Enums): New constant boolean switch
|
||
|
||
2014-01-24 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-sercom-mingw.adb: Fix serial port name for port number > 10.
|
||
|
||
2014-01-24 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
|
||
comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
|
||
stripped off.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, make.adb, prj-env.adb: Minor reformatting.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb (Add_Aggregated_Project): Do not add a project in
|
||
the list if it is already there.
|
||
|
||
2014-01-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package):
|
||
Correct the search for a subrogram declaration to which a pragma is
|
||
attached.
|
||
|
||
2014-01-24 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document --decimal-grouping and
|
||
--based-grouping switches in gnatpp.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads: Documentation update.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Constant_Redeclaration): New declaration is
|
||
illegal if previous one has an initial expression that is an
|
||
aggregate expanded into assignments.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small
|
||
code reorganization to remove spurious warning on a loop with
|
||
an array element iterator that has a null range.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Binding_Phase): When setting the Ada paths, use
|
||
the library ALI dir, not the object dir in libraries.
|
||
|
||
2014-01-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Add documentation of check flag fields.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): If an actual is a view
|
||
conversion of a discriminated object, and the formal type is
|
||
discriminated and constrained, apply a discriminant check to
|
||
the object itself.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): At the end of an
|
||
appropriate declarative part, call Freeze_All from the first
|
||
declaration in the scope, not from the first unfrozen one. This
|
||
is necessary to apply visibility checks to entities with delayed
|
||
aspects. Otherwise, in the presence of instantiations and cleanups
|
||
that they may generate, the delayed aspects may be analyzed too
|
||
late and produce spurious visibility errors.
|
||
* sem_attr.adb: Place etype on range.
|
||
* sem_ch6.adb: Documentation expression functions.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor change of Indices to Indexes (preferred
|
||
terminology in compiler).
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM
|
||
categories, now that Ada 95 supports raise expressions.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Enumeration_Type): Use new target parameter
|
||
Short_Enums_On_Target.
|
||
* sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target
|
||
into account.
|
||
* targparm.ads, targparm.adb: Add new target parameter Short_Enums.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If subtype
|
||
indication is given explicity, check that it matches the array
|
||
component type or the container element type of the domain
|
||
of iteration.
|
||
|
||
2014-01-24 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target.
|
||
* gcc-interface/misc.c (flag_short_enums): Declare.
|
||
(gnat_post_options): Set it.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs
|
||
to cache the result when Including_Libraries is False.
|
||
* prj-env.ads (Ada_Objects_Path): Update documentation
|
||
* prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs
|
||
(Get_Object_Directory): Return the Library_Ali_Dir only when
|
||
when Including_Libraries is True.
|
||
* prj.ads (Get_Object_Directory): Fix and complete documentation
|
||
(Project_Data): New component Ada_Objects_Path_No_Libs
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Expr_Known_Valid): Result of fpt operator never
|
||
considered valid.
|
||
|
||
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* back_end.adb: Minor fix in comment.
|
||
|
||
2014-01-24 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration
|
||
required to report the error in case of task types.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: Additional index checking.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Update): Analyze
|
||
expressions in each component association, and for records note
|
||
the entity in each association choice, for subsequent resolution.
|
||
(Resolve_Attribute, case 'Update): Complete resolution of
|
||
expressions in each component association.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.adb (Sem): Avoid premature reference to Current_Sem_Unit
|
||
(this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong,
|
||
leading to wrong handling of SPARK_Mode for library units).
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode
|
||
on generic instances (do not consider them to be internally
|
||
generated)
|
||
|
||
2014-01-24 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-osinte-android.ads (pthread_sigmask): Import sigprocmask
|
||
vice pthread_sigmask.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb (Debug_Output (Str, Str2)): Output if verbosity is
|
||
not default.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-ext.adb (Add): Do not output anything when Silent is True,
|
||
whatever the verbosity. When Source is From_External_Attribute,
|
||
set the corresponding environment variable if it is not already set.
|
||
* prj-ext.ads (Add): New Boolean parameter Silent, defaulted
|
||
to False
|
||
* prj-proc.adb (Process_Expression_For_Associative_Array):
|
||
For attribute External, call Prj.Ext.Add with Silent set to
|
||
True for the child environment, to avoid useless output in non
|
||
default verbosity.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Set_Slice_Subtype): Handle properly a discrete
|
||
range given by a subtype indication, and force evaluation of
|
||
the bounds, as for a simple range.
|
||
* exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation
|
||
of bounds of slice for various kinds of discrete ranges.
|
||
(Evaluate_Name, Evaluate_Subtype_From_Expr): use
|
||
Evaluate_Slice_Bounds.
|
||
|
||
2014-01-24 Bob Duff <duff@adacore.com>
|
||
|
||
* s-taskin.ads (Activator): Make this Atomic, because
|
||
Activation_Is_Complete reads it, and that can be called
|
||
from any task. Previously, this component was only
|
||
modified by the activator before activation, and by
|
||
Self after activation.
|
||
* a-taside.ads, a-taside.adb (Environment_Task,
|
||
Activation_Is_Complete): Implement these missing functions.
|
||
|
||
2014-01-24 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c: Add a handler section for Android.
|
||
|
||
2014-01-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): If one operand is a
|
||
Raise_Expression, set its type to that of the other operand.
|
||
* sem_res.adb (Resolve_Raise_Expression): new procedure.
|
||
(Resolve_Actuals): For an actual that is a Raise_Expression,
|
||
set the type to that of the formal.
|
||
* sem_type.adb (Find_Unique_Type): If one of the operands is a
|
||
Raise_Expression, return type of the other operand.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): If a scalar
|
||
component of the record has a type with a default aspect, and
|
||
the corresponding aggregate component is initiaized with a box,
|
||
use the default value in the rewritten aggregate.
|
||
|
||
2014-01-24 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb,
|
||
s-interr-sigaction.adb,
|
||
s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter.
|
||
* exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter
|
||
to the call to Install_Restricted_Handlers.
|
||
|
||
2014-01-24 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_File): Add protection when the source is
|
||
not fully initialized.
|
||
|
||
2014-01-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Post_State): In a postcondition, a selected
|
||
component that denotes an implicit dereference is a reference
|
||
to the post state of the subprogram.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF
|
||
for generated subprograms.
|
||
(Analyze_Subprogram_Specification): Ditto.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden
|
||
attributes in package Builder of aggregate and aggregate library
|
||
projects.
|
||
* prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate):
|
||
Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated):
|
||
Remove parameters. Change error message from "... externally
|
||
build library ..." to "... externally built project ...".
|
||
(Process_Naming_Scheme.Check): Do not do any check in aggregate
|
||
project, as attribute Library_Dir and Library_Name have already
|
||
been detected as forbidden.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Find_Project): If cached project path is not in
|
||
project directory, look in current directory first and use cached
|
||
project path only if project is not found in project directory.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, lib-xref.adb: Correct false positive warnings.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Document that aggregate projects are only
|
||
supported by gprbuild, but not by gnatmake. Document that the
|
||
only attribute Switches in package Binder of aggregate projects
|
||
will be ignored if its index is not others. Document that
|
||
attribute Global_Config_File is allowed in package Binder of
|
||
aggregate projects.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor code reorganization.
|
||
* sem_util.adb: Minor fix of potential latent bug in Is_LHS.
|
||
|
||
2014-01-24 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
|
||
attribute definition.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
|
||
in the Queue the same source (same path, same multi-source index)
|
||
from the same project file, to avoid compiling several times
|
||
the same source.
|
||
|
||
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (First_Rep_Item): Remove obsolete stuff.
|
||
(Has_Gigi_Rep_Item): Likewise.
|
||
* sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
|
||
Has_Gigi_Rep_Item for objects.
|
||
* gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
|
||
(prepend_one_attribute): ...this.
|
||
(prepend_one_attribute_pragma): New function extracted from...
|
||
(prepend_attributes): ...here. Swap the parameters for consistency.
|
||
(gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
|
||
prepend_attributes.
|
||
<object>: Deal with a pragma Linker_Section on a constant
|
||
or variable. <E_Function>: Deal with a pragma Linker_Section
|
||
on a subprogram.
|
||
(get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.
|
||
|
||
2014-01-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* opt.ads: Minor comment update.
|
||
|
||
2014-01-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_Output): Add missing error check
|
||
for junk operand.
|
||
* sem_util.adb (Is_Refined_State): Add defense against junk
|
||
tree from error.
|
||
|
||
2014-01-24 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Removes Build_Slaves attribute documentation.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.adb (Register_Opt_Config_Switches): Save SPARK_Mode_Pragma
|
||
setting.
|
||
|
||
2014-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Potentially_Unevaluated): Predicate only
|
||
applies to expressions that come from source.
|
||
* sem_attr.adb (Analyze_Attribute, case 'Old): Improve error
|
||
message.
|
||
(Analyze_Attribute, case 'Loop_Entry): Apply SPARK 2014 legality
|
||
rule regarding potentially unevaluated expressions, to prefix
|
||
of attribute.
|
||
|
||
2014-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Make_Invqriant_Call): If type of expression is
|
||
a private extension, get invariant from base type.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_attr.adb: Minor reformatting.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.adb (Save_Opt_Config_Switches): Save SPARK_Mode_Pragma
|
||
(Restore_Opt_Config_Switches): Restore SPARK_Mode_Pragma.
|
||
* sem.adb (Semantics): Remove save/restore of
|
||
SPARK_Mode[_Pragma]. Not needed since already done in
|
||
Save/Restore_Opt_Config_Switches.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, einfo.adb, einfo.ads, sem_prag.adb, gnat_ugn.texi,
|
||
freeze.adb, repinfo.adb, aspects.adb, aspects.ads, sem_ch13.adb:
|
||
Linker_Section enhancements.
|
||
|
||
2014-01-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.adb (Set_Opt_Config_Switches): Reset SPARK mode for
|
||
with'ed internal units.
|
||
* sem.adb (Semantics): Save and restore SPARK_Mode[_Pragma].
|
||
|
||
2014-01-23 Javier Miranda <miranda@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): As part of processing the
|
||
"end-of-spec" reference generate an extra reference to the first
|
||
private entity of the package.
|
||
* xr_tabls.adb (Add_Reference): No action needed for the extra
|
||
'E' reference associated; similar to the processing of the
|
||
'e' reference.
|
||
|
||
2014-01-23 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Change "--&pp off" to "--!pp off".
|
||
|
||
2014-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Potentially_Unevaluated): new
|
||
predicate to implement rule given in 6.1.1 (20/3).
|
||
* sem_attr.adb (Analyze_Attribute, case 'Old): Reject prefix of
|
||
'Old in a postcondition, if it is potentially unevaluated and
|
||
it is not an entity name.
|
||
|
||
2014-01-23 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document the new "--&pp off" feature of gnatpp.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatlink.adb (Gnatlink): Fix problem of generating bad name
|
||
msg on VMS.
|
||
|
||
2014-01-23 Bob Duff <duff@adacore.com>
|
||
|
||
* g-dynhta.ads: Minor comment fix.
|
||
|
||
2014-01-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Inherit SPARK_Mode
|
||
from spec on body only when not already inherited on spec. Set
|
||
SPARK_Mode from context on body without previous spec. *
|
||
* sem_prag.adb (Analyze_Pragma): Check placement of pragma on
|
||
library-level entities. Correct retrieval of entity from
|
||
declaration, for cases where the declaration is not a unit.
|
||
* sem_ch12.adb (Instantiate_Object): Avoid
|
||
calling Is_Volatile_Object on an empty node.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatlink.adb (Gnatlink): Check for suspicious executable file
|
||
names on windows.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ngelfu.ads: Remove bad uses of AND which should be AND THEN.
|
||
* sem_res.adb (Check_No_Direct_Boolean_Operators): Don't give
|
||
style errors in instances.
|
||
* g-dynhta.ads (Static_HTable): Comment updates.
|
||
|
||
2014-01-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Or_Create_Configuration_File): Do not attempt
|
||
to find a configuration project file when Config_File_Name is
|
||
No_Configuration_File.
|
||
* prj-conf.ads (No_Configuration_File): New constant String.
|
||
* prj-pars.adb (Parse): Call Get_Or_Create_Configuration_File
|
||
with Config_File_Name set to No_Configuration_File, so that
|
||
no existing configuration project file will be used, and the
|
||
configuration project will be only created in memory when
|
||
Add_Default_GNAT_Naming_Scheme is called.
|
||
* projects.texi: Minor reformatting.
|
||
|
||
2014-01-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Or_Create_Configuration_File): Never parse
|
||
a config project file if On_Load_Config is not null.
|
||
* prj-pars.adb: Minor comment changes.
|
||
|
||
2014-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Output_References): Output progenitors of
|
||
synchronized tagged types, for source navigation.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb,
|
||
expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads,
|
||
sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info.
|
||
|
||
2014-01-23 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-conf.adb (Get_Or_Create_Configuration_File): call
|
||
On_Load_Config later.
|
||
|
||
2014-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Do not
|
||
generate the spec of the late primitive in ASIS mode. Add two
|
||
comments to explain the special cases when the expansion is
|
||
not performed.
|
||
|
||
2014-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb (Note_Possible_Modification): Fix error of
|
||
misbehaving for implicit dereference cases in -gnatc mode.
|
||
|
||
2014-01-23 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* prj-pars.adb: Minor reformatting.
|
||
|
||
2014-01-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram
|
||
body generated for an expression function within a protected body
|
||
needs a set of renaming declarations if the expression function
|
||
comes from source.
|
||
|
||
2014-01-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Get_Type_Reference): In semantics-only mode,
|
||
list interface progenitor of a tagged concurrent type, for better
|
||
source navigation.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.adb (In_Extended_Main_Code_Unit): Return False for
|
||
Standard_Location.
|
||
(In_Extended_Main_Source_Unit): Return False for Standard_Location.
|
||
* lib.ads (In_Extended_Main_Code_Unit): Add documentation on
|
||
treatment of Slocs No_Location and Standard_Location.
|
||
* restrict.adb (Check_Restriction_No_Dependence): Explicitly
|
||
check for entity with Standard_Location Sloc, rather than relying
|
||
on Lib routines to do that.
|
||
* sem_res.adb (Resolve_Call): Implement SPARK_05 restriction
|
||
that a call cannot occur before a later occuring body within
|
||
the same unit.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* rtsfind.adb: Update comment.
|
||
|
||
2014-01-22 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb (Is_Body): New routine.
|
||
* sem_ch3.adb (Analyze_Declarations): Add local variable
|
||
Body_Seen. Generate the spec of a late controlled
|
||
primitive body that is about to freeze its related type.
|
||
(Handle_Late_Controlled_Primitive): New routine.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-stream.adb: Minor reformatting.
|
||
|
||
2014-01-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (From_Actual_Package): Introduce a recursive
|
||
sub-procedure Declared_In_Actual to handle properly the visibility
|
||
of actuals in actual packages, that are themselves actuals to a
|
||
actual package of the current instance. This mimics properly the
|
||
visibility of formals of formal packages declared with a box,
|
||
within the corresponding generic unit.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Do not assume that a volatile variable is valid.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-catiio.ads (Image, Value): Clarify that these functions
|
||
operate in the local time zone. Minor documentation update.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* csets.adb, csets.ads, opt.ads: Minor documentation fixes.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aux.adb, sem_aux.ads, sem_ch3.adb (Has_Unconstrained_Elements):
|
||
Moved to sem_aux.adb.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* vms_data.ads: Minor reformatting.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document messages affected by -gnatd.E including
|
||
the new ones that relate to late definition of equality.
|
||
* sem_ch6.adb (Check_Untagged_Equality): In Ada 2012 mode, if
|
||
debug flag -gnatd.E is set, then generate warnings rather than
|
||
errors.
|
||
(Check_Untagged_Equality): In earlier versions of Ada,
|
||
generate warnings if Warn_On_Ada_2012_Incompatibility flag is set.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Usage_Error): Output additional messages for
|
||
unconstrained OUT parameters lacking an input dependency.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.ads: Minor reformatting.
|
||
* sem_res.adb (Resolve_Call): Check for SPARK_05 restriction that
|
||
forbids a call from within a subprogram to the same subprogram.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-stream.ads (Read_SEA, Write_SEA): New subprograms, optimized
|
||
stream attributes for Stream_Element_Array.
|
||
* a-stream.adb (Read_SEA, Write_SEA): Bodies for the above.
|
||
* rtsfind.adb (Check_CRT): Do not reject a reference to an entity
|
||
defined in the current scope.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb, exp_ch4.adb, erroutc.adb: Minor reformatting.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): For a constant
|
||
declaration initialized with a function call, whose type
|
||
has variable size, need to remove side effects so that the
|
||
initialization expression becomes a dereference of a temporary
|
||
reference to the function result.
|
||
|
||
2014-01-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (Initialize): Remove trick to add dummy entry
|
||
in Warnings table.
|
||
* erroutc.adb (Set_Warnings_Mode_Off,
|
||
Set_Warnings_Mode_On): Do nothing if warnings are suppressed by
|
||
command line switch.
|
||
* opt.ads (Warning_Mode): Document behavior
|
||
wrt pragma Warnings, in normal mode and in GNATprove_Mode.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, errout.adb, erroutc.adb: Minor reformatting.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Pool_Size_Clash): New procedure
|
||
(Analyze_Attribute_Definition_Clause, case Storage_Pool): call
|
||
Check_Pool_Size_Clash (Analyze_Attribute_Definition_Clause,
|
||
case Storage_Size): call Check_Pool_Size_Clash.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, exp_util.adb, sem_dim.adb, sem_elab.adb, sem_ch8.adb,
|
||
sem_eval.ads: Minor reformatting.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_eval.adb (Compile_Time_Known_Bounds): Return False for
|
||
Any_Composite to prevent cascaded errors.
|
||
|
||
2014-01-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (Initialize): Do not insert special entry in Warnings
|
||
table in GNATprove_Mode.
|
||
* erroutc.adb (Set_Warnings_Mode_On): Add info in Warnings table in
|
||
GNATprove_Mode.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Do not suppress frontend
|
||
warnings anymore.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Initializes_In_Decl_Part): Handle null
|
||
initializes case.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* snames.ads-tmpl: Update header.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.adb (Insert_Actions): When inserting actions on a
|
||
short circuit operator that has already been analyzed, do not park
|
||
actions in node; instead introduce an N_Expression_With_Actions
|
||
and insert actions immediately.
|
||
Add guard for unexpected case of climbing up through statement
|
||
in Actions list of an N_Expression_With_Actions.
|
||
* sem_elab.adb (Insert_Elab_Check): Remove complex
|
||
specialized circuitry for the case where the context is already
|
||
analyzed, as it is not needed and introduces irregularities in
|
||
finalization. Instead rely on the above change to Insert_Actions
|
||
to ensure that late insertion on short circuit operators works
|
||
as expected.
|
||
|
||
2014-01-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): Improve error message when an
|
||
operand of concatenation is an access type.
|
||
|
||
2014-01-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_dim.adb (Analyze_Dimension_Identifier): Add guard against
|
||
cascaded error.
|
||
|
||
2014-01-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Selected_Component): Handle properly the case
|
||
of an expanded name in a proper body, whose prefix is a package
|
||
in the context of the proper body, when there is a homonym of
|
||
the package declared in the parent unit.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Use_Clause): Don't give no entities used
|
||
msg if errors found.
|
||
(Check_One_Unit): Same change.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ug_words: Add missing/wrong entries for VMS warning switches.
|
||
* sem_prag.adb (Check_Duplicate_Pragma): Avoid flagging parent type.
|
||
|
||
2014-01-22 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* mlib-tgt-specific-vxworks.adb (Get_Target_Suffix): Replace xscale by
|
||
arm.
|
||
|
||
2014-01-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Document passive task optimization
|
||
|
||
2014-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Minor fixes.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch4.adb (P_If_Expression): Rewritten to improve error recovery.
|
||
* par-ch5.adb (P_Condition): New version with expression prescanned.
|
||
* par.adb (P_Condition): New version with expression prescanned.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that Allow_Integer_Address is ignored
|
||
if Address is not a private type.
|
||
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
|
||
Ignore pragma if System.Address is not a private type.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* namet.ads (Name_Len): Initialize to 0 to avoid accessing an
|
||
uninitialized value.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi (Scalar_Storage_Order): Update documentation.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Set_Instance_Env): In Ada 2012 mode, preserve
|
||
the value of Assertions_Enabled flag when compiling an instance of
|
||
an internal unit. This facilitates the use of pre/postconditions
|
||
in generic internal units, such as the new elementary function
|
||
libraries.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
* sem_attr.adb: Minor reformatting.
|
||
* sem_res.adb: Minor comment addition.
|
||
* einfo.adb: Minor comment updates.
|
||
* freeze.adb: Minor reformatting and code reorganization.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (P_If_Expression): Handle more gracefully an
|
||
elsif clause that does not have an else part.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, sem_util.ads, sem_ch4.adb: Minor reformatting.
|
||
* gcc-interface/Makefile.in: clean up target pairs.
|
||
|
||
2014-01-21 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Minor typo fix.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): If a record type
|
||
has an explicit Scalar_Storage_Order attribute definition clause,
|
||
reject any component that itself is of a composite type and does
|
||
not have one.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Generate_Parent_Reference): Make public so it
|
||
can be used to generate proper cross-reference information for
|
||
the parent units of proper bodies.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Packed_Element_Set,
|
||
Expand_Packed_Element_Reference): No byte swapping required in
|
||
the front-end for the case of a reverse storage order array,
|
||
as this is now handled uniformly in the back-end. However we
|
||
still need to swap back an extracted element if it is itself a
|
||
nested composite with reverse storage order.
|
||
|
||
2014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_External_Property): Add processing for "others".
|
||
(Analyze_Pragma): Update the grammar of pragma Abstract_State to
|
||
include "others".
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor updates.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb: Update comment, minor reformatting.
|
||
|
||
2014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Variable_Contract): Trigger the volatile
|
||
object check when SPARK_Mode is on.
|
||
* sem_ch6.adb (Process_Formals): Trigger the volatile object
|
||
check when SPARK_Mode is on.
|
||
* sem_ch12.adb (Instantiate_Object): Trigger the volatile object
|
||
check when SPARK_Mode is on.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
|
||
corresponding pragma of aspect SPARK_Mode in the visible
|
||
declarations of a package declaration.
|
||
* sem_prag.adb (Analyze_Pragma): Trigger the volatile object
|
||
check when SPARK_Mode is on.
|
||
* sem_res.adb (Resolve_Actuals): Trigger the volatile object
|
||
check when SPARK_Mode is on.
|
||
(Resolve_Entity_Name): Trigger
|
||
the volatile object check when SPARK_Mode is on.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_res.adb,
|
||
sem_ch6.adb, a-except-2005.adb: Minor reformatting.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): When a class-wide
|
||
object is declared, it is rewritten as a renaming of an dynamic
|
||
expression that wraps the initial value. The renaming declaration
|
||
is first given an internal name, to prevent collisions with the
|
||
entity already declared, and then the name is modified to reflect
|
||
the original one. the modification of the name must preserve
|
||
the source location of the original, to prevent spurious errors
|
||
when compiling with style checks if the declaration involves
|
||
more than one entity.
|
||
|
||
2014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb Add entries for Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes in table Canonical_Aspect.
|
||
* aspects.ads Add entries for Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes in tables Aspect_Id,
|
||
Aspect_Names, Aspect_Delay and Implementation_Defined_Aspect.
|
||
* atree.adb (Ekind_In): New version with 8 parameters.
|
||
(Node34): New routine.
|
||
(Set_Node34): New routine.
|
||
* atree.ads (Ekind_In): New version with 8 parameters.
|
||
(Node34): New routine.
|
||
(Set_Node34): New routine.
|
||
* einfo.adb Contract is now Node34.
|
||
(Contract): Update the assertion and node usage.
|
||
(Get_Pragma): Include pragmas Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes.
|
||
(Set_Contract): Update the assertion and node usage.
|
||
(Write_Field24_Name): Remove the output for a contract.
|
||
(Write_Field34_Name): Add output for a contract.
|
||
* einfo.ads Contract is now Node34. Update the comment on
|
||
attribute usage and related node structures.
|
||
(Get_Pragma): Update the comment on usage.
|
||
* par-prag.adb (Prag): Pragmas Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes do not require special
|
||
processing by the parser.
|
||
* sem_ch3.adb (Analyze_Variable_Contract): New routine.
|
||
(Analyze_Declarations): Analyze the contract of a variable at
|
||
the end of the declarative region.
|
||
(Analyze_Object_Declaration): Create a contract for a variable.
|
||
* sem_ch6.adb (Analyze_Subprogram_Contract): Update the retrieval
|
||
of classification pragmas.
|
||
(Process_Formals): Detect an illegal
|
||
use of a volatile object as a formal in a function.
|
||
* sem_ch12.adb (Instantiate_Object): Detect an illegal use of
|
||
a volatile object as an actual in generic instantiation.
|
||
* sem_prag.adb Add entries for Async_Readers, Async_Writers,
|
||
Effective_Reads and Effective_Writes in table Sig_Flags.
|
||
(Analyze_External_State_In_Decl_Part): New routine.
|
||
(Analyze_Global_Item): Detect an illegal use of a volatile object
|
||
as a global item of a function.
|
||
(Analyze_Pragma): Reimplement
|
||
pragma Abstract_State. Add support for pragmas Async_Readers,
|
||
Async_Writers, Effective_Reads and Effective_Writes.
|
||
(Check_External_Properties): New routine.
|
||
* sem_prag.ads (Analyze_External_State_In_Decl_Part): New routine.
|
||
(Check_External_Properties): New routine.
|
||
* sem_res.adb (Resolve_Actuals): Detect an illegal use of a
|
||
volatile object as an actual in a call.
|
||
(Resolve_Entity_Name):
|
||
Add local variables Par, Prev and Usage_OK. Detect illegal
|
||
contexts of volatile objects.
|
||
* sem_util.adb (Add_Contract_Item): Add support for
|
||
pragmas associated with the contract of a variable.
|
||
(Async_Readers_Enabled): New routine.
|
||
(Async_Writers_Enabled): New routine.
|
||
(Effective_Reads_Enabled): New routine.
|
||
(Effective_Writes_Enabled): New routine.
|
||
(Has_Enabled_Property):
|
||
New routine.
|
||
(Is_Unchecked_Conversion_Instance): New routine.
|
||
(Is_Volatile_Object): Add support for entities that may denote
|
||
a volatile object.
|
||
* sem_util.ads (Add_Contract_Item): Update the
|
||
comment on usage.
|
||
(Async_Readers_Enabled): New routine.
|
||
(Async_Writers_Enabled): New routine.
|
||
(Effective_Reads_Enabled): New routine.
|
||
(Effective_Writes_Enabled): New routine.
|
||
(Is_Unchecked_Conversion_Instance): New routine.
|
||
* sinfo.ads Update the comment on the structure of N_Contract.
|
||
* snames.ads-tmpl Add predefined names for Async_Readers,
|
||
Async_Writers, Effective_Reads and Effective_Writes. Add
|
||
pragma ids for Async_Readers, Async_Writers, Effective_Reads
|
||
and Effective_Writes.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Eval_Op_Expon): Use CRT_Safe_Compile_Time_Known_Value
|
||
* sem_eval.adb (Compile_Time_Known_Value): Remove special
|
||
handling of CRT mode (CRT_Safe_Compile_Time_Known_Value): New
|
||
function (Eval_Op_Expon): Add CRT_Safe in call to Test_Foldable
|
||
(Test_Foldable): Add CRT_Safe parameter
|
||
* sem_eval.ads (Compile_Time_Known_Value): Remove special
|
||
handling of CRT mode.
|
||
(CRT_Safe_Compile_Time_Known_Value): New function.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Fix problem
|
||
with pragma or aspect that applies to package spec or subprogram
|
||
spec.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
|
||
2014-01-21 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv) remove obsolete reference to -gnatd.H.
|
||
|
||
2014-01-21 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document the "checks" attribute in gnat2xml.
|
||
|
||
2014-01-21 Steve Baird <baird@adacore.com>
|
||
|
||
* gnat_rm.texi: Improve description of SPARK_Mode pragma.
|
||
|
||
2014-01-21 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Parse_Single_Project): Accept to extend a project
|
||
if it has only be imported by an project being extended. When a
|
||
project that has only been imported by a project being extended
|
||
is imported by another project that is not being extended,
|
||
reset the previous indication, so that it will be an error if
|
||
this project is extended later.
|
||
* prj-tree.adb (Create_Project): Include component From_Extended
|
||
in table Projects_HT
|
||
* prj-tree.ads (Project_Name_And_Node): New Boolean component
|
||
From_Extended
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads, atree.adb: Add Node33 and Set_Node33.
|
||
* einfo.ads, einfo.adb (SPARK_Pragma): New field (SPARK_Aux_Pragma):
|
||
New field (SPARK_Pragma_Inherited): New flag
|
||
(SPARK_Aux_Pragma_Inherited): New flag (SPARK_Mode_Pragmas):
|
||
Removed.
|
||
* lib.ads, lib.adb: Remove SPARK_Mode_Pragma, no longer used.
|
||
* opt.ads (SPARK_Mode_Pragma): New global variable.
|
||
* sem.ads: Add Save_SPARK_Mode_Pragma field to Scope_Stack_Entry.
|
||
* sem_ch3.adb: Use new SPARK_Mode data structures.
|
||
* sem_ch6.adb: Set SPARK_Mode fields in subprogram specs and bodies.
|
||
* sem_ch7.adb: Set SPARK_Mode fields in package spec and body entities.
|
||
* sem_ch8.adb (Push_Scope): Save SPARK_Mode_Pragma.
|
||
(Pop_Scope): Restore SPARK_Mode_Pragma.
|
||
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Rewrite for
|
||
new data structures.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* back_end.adb: Undo previous change, not needed. Minor reformatting.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch5.adb: Fix comment.
|
||
* switch-c.adb: Minor comment update.
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* back_end.adb (Scan_Compiler_Arguments): Do not store object
|
||
filename in gnatprove mode.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads (No_Ctrl_Actions): Clarify documentation (flag also
|
||
suppresses usage of primitive _assign for tagged types).
|
||
* exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Set
|
||
No_Ctrl_Actions for a tagged type that does not require
|
||
finalization, as we want to disable usage of _assign (which
|
||
may cause undesirable discriminant checks on an uninitialized,
|
||
invalid target).
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb: Reject invariant'class on completion.
|
||
|
||
2014-01-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Init_Procedure): For
|
||
derivations of interfaces, do not move the the initialization
|
||
of the _parent field since such assignment is not generated.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity
|
||
with the operator it renames if we are within an expression of
|
||
a pre/postcondition, because the expression will be reanalyzed
|
||
at a later point, and the analysis of the renaming may affect
|
||
the visibility of the operator when in an instance.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1.
|
||
Add this flag to type conversion nodes and assignment nodes.
|
||
* treepr.adb: Deal properly with Flag 1,2,3.
|
||
* treeprs.adt: Minor comment update.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT
|
||
parameter.
|
||
* sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT
|
||
parameter, completely rewrite spec.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram
|
||
instance that is inlined, it may have been rewritten as a wrapper
|
||
package. In that case the unit that must be made visible is the
|
||
related instance of the package.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine
|
||
previous change in codepeer mode.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Always add
|
||
call to Abort_Undefer, as expected by the runtime.
|
||
* s-tasren.adb (Local_Complete_Rendezvous): Replace
|
||
Defer_Abort_Nestable by Defer_Abort, since we do not expect abort to be
|
||
deferred at this point. Update comments.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb, exp_ch5.adb, checks.adb: Minor reformatting.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* switch-c.adb, usage.adb, gnat_ugn.texi: Mark -gnates as internal,
|
||
remove from doc.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb, usage.adb, atree.adb, atree.ads: Minor reformatting.
|
||
|
||
2014-01-21 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* atree.adb, atree.ads (Num_Extension_Nodes): Switch to Node_Id, since
|
||
this is value is used in Node_Id arithmetic operations.
|
||
(Copy_Node, Exchange_Entities): Use loops indexed by Num_Extension_Nodes
|
||
instead of hard-coded unrolled code.
|
||
|
||
2014-01-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb: Minor code cleanup, removing useless code.
|
||
|
||
2014-01-21 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* opt.ads (SPARK_Switches_File_Name): New.
|
||
* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnates=xxx *
|
||
* usage.adb (Usage): Document -gnates, in gnatprove mode only.
|
||
* gnat_ugn.texi: Document -gnates.
|
||
|
||
2014-01-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (Special_Msg_Delete): Update comment. Remove
|
||
special case for GNATprove which should not ignore mismatch
|
||
in sizes for representation clauses.
|
||
* sem_prag.adb (Analyze_Pragma): Remove special case for GNATprove
|
||
which should not ignore pragma Pack.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb: Code clean up.
|
||
|
||
2014-01-21 Steve Baird <baird@adacore.com>
|
||
|
||
* gnat_rm.texi: Improve GNAT RM description of SPARK_Mode pragma.
|
||
|
||
2014-01-21 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gcc-interface/gigi.h: Get Flags array address.
|
||
* gcc-interface/trans.c: Acquire Flags array address.
|
||
* atree.adb: Add support for Flags array and Flag0,1,2,3.
|
||
* atree.ads: Add support for Flags array and Flag0,1,2,3.
|
||
* atree.h: Add support for Flags array and Flag0,1,2,3.
|
||
* back_end.adb: Pass Flags array address to gigi.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Attribute_Renaming): Transfer original attribute
|
||
reference to generated body so that legality checks on stream
|
||
attributes are properly applied. If type is tagged and already
|
||
frozen, insert generated body at the point of the renaming
|
||
declaration.
|
||
|
||
2014-01-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Code clean up.
|
||
* sem_ch8.adb: Minor reformatting
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* opt.adb (SPARK_Mode_Config): Handled like other config flags
|
||
* opt.ads (SPARK_Mode_Type): Moved here from types (renamed from
|
||
SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove
|
||
SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config):
|
||
New flag (Config_Switches_Type): Add SPARK_Mode field
|
||
* sem.adb: Minor code reorganization (remove unnecessary with)
|
||
* sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field
|
||
* sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode
|
||
from spec if needed
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode
|
||
from spec if needed
|
||
* sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope):
|
||
Restore SPARK_Mode
|
||
* sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function
|
||
(Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name
|
||
of Get_SPARK_Mode_Id
|
||
* sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function
|
||
* sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for
|
||
converting warnings on inevitable exceptions to errors.
|
||
* types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed
|
||
SPARK_Mode_Type
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Add semantic information to rewritten type
|
||
reference.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): If both sides
|
||
are of a type with unknown discriminants, convert both to the
|
||
underlying view of the type, so that the proper constraint check
|
||
can be applied to the right-hand side.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.adb (Copy_Node): Fix failure to copy last component
|
||
(Exchange_Entities): Fix failure to exchange last entity
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Code clean up.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): If after
|
||
pre-analysis the loop parameter specification has been
|
||
rewritten as a iterator specification, propagate the change to
|
||
the quantified expression, for ASIS navigtion needs.
|
||
|
||
2014-01-20 Vincent Celier <celier@adacore.com>
|
||
|
||
* par-ch10.adb: Minor error message change: escape [ and ].
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Make warnings on exceptions into errors in GNATprove mode.
|
||
* errout.adb: Implement [ and ] insertion characters.
|
||
* errout.ads: Document new [ and ] insertion characters.
|
||
* sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor
|
||
addition of ??? comment.
|
||
* lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting
|
||
* exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb,
|
||
sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb:
|
||
Make warnings on exceptions into errors in GNATprove mode.
|
||
* sem_dim.adb: Minor reformatting throughout Quote [ and ]
|
||
in error messages.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Code clean up.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads, errout.adb: Implement >? >x? >X? sequences in error
|
||
messages.
|
||
* sem_ch6.adb (Check_Statement_Sequence): Missing return is an
|
||
error in GNATprove mode.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute
|
||
reference 'Old takes no parameters, and thus can appear as a
|
||
prefix of a slice.
|
||
|
||
2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb: Fix minor typos.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Constrained): In an
|
||
instance the attribute is legal, and its value is determined
|
||
statically if the type has no discriminants. This choice is
|
||
more useful than rechecking the legality rule in the instance,
|
||
is consistent with older usage, and is also consistent with all
|
||
existing tests.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_cat.adb (Validate_Static_Object_Name): Change error into
|
||
warning in Relaxed_Semantic_Mode.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb: Code and comments cleanup.
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V *
|
||
* errout.adb (Compilation_Errors): Remove special handling in
|
||
GNATprove mode.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Remove handling of the
|
||
removed debug flags.
|
||
* gnat_rm.texi: Initial documentation for Abstract_State, Depends,
|
||
Global, Initial_Condition, Initializes and Refined_State pragmas and
|
||
aspects.
|
||
* opt.ads (Frame_Condition_Mode, Formal_Extensions,
|
||
SPARK_Strict_Mode): Remove global flags.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state
|
||
always performed now, on packages declaring a null state.
|
||
(Signed_Integer_Type_Declaration): Remove ill-designed attempt
|
||
at providing pedantic mode for bounds of integer types.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious
|
||
"some" quantified expression now issued under control of -gnatw.t,
|
||
like the other warning on unused bound variable.
|
||
* sem_prag.adb (Check_Precondition_Postcondition): Remove useless test
|
||
on removed flag.
|
||
(Analyze_Pragma): Remove tests for SPARK 2014
|
||
pragmas, not officially allowed by GNAT.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Ensure that
|
||
the sole argument of pragmas Abstract_State, Contract_Cases,
|
||
Depends, Global and Initializes in in aggregate form.
|
||
(Analyze_Refined_Pragma): Ensure that the sole argument of
|
||
pragmas Refined_Depends, Refined_Global and Refined_State is in
|
||
aggregate form.
|
||
(Ensure_Aggregate_Form): New routine.
|
||
|
||
2014-01-20 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): case
|
||
Attribute_Constrained => treat all prefixes as legal for Declib
|
||
compatibility.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode): Reimplement the routine.
|
||
(Find_Mode): New routine.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb (Operator_Check): Handle additional
|
||
Allow_Integer_Address cases.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi (Allow_Integer_Address): Remove note about not
|
||
allowed if address is non-private, no longer true.
|
||
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
|
||
Remove check for address being private, causes difficulty when
|
||
pragma used in gnat.adc file and is not needed, since we guard
|
||
this in Address_Integer_Convert_OK.
|
||
* exp_ch7.adb: Minor reformatting.
|
||
* sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Range_Check): Remove gnatprove special
|
||
casing of exponentiation.
|
||
* sem_res.adb (Resolve_Op_Expon): Apply range check to right
|
||
operand for integer case to check range against Natural.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tataat.adb: Minor reformatting.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb (Is_Descendent_Of_Address): Now applies to all
|
||
entities, and also fix documentation to remove mention of visible
|
||
integer type, since this is not what the implementation does.
|
||
* einfo.ads (Is_Descendent_Of_Address): Now applies to all
|
||
entities, and also fix documentation to remove mention of visible
|
||
integer type, since this is not what the implementation does.
|
||
* gnat_rm.texi: Minor clarification of Allow_Integer_Address
|
||
function.
|
||
* sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
|
||
case for parameter type check.
|
||
* sem_res.adb (Resolve): Use new function
|
||
Address_Integer_Convert_OK.
|
||
* sem_type.adb: Minor code reorganization (use Ekind_In) Minor
|
||
reformatting throughout.
|
||
* sem_util.adb (Address_Integer_Convert_OK): New function.
|
||
* sem_util.ads: Minor reformatting (put specs in alpha order)
|
||
(Address_Integer_Convert_OK): New function.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb (Wrap_Transient_Expression):
|
||
Insertion extra conditional expression only if
|
||
Opt.Suppress_Control_Flow_Optimizations is set.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tataat.adb (Initialize_Attributes): Abort might already be
|
||
deferred in Create_Task.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Flag
|
||
the exponent as requiring a range check when the expression is
|
||
an exponentiation.
|
||
|
||
2014-01-20 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Documenting --passed-tests option for gnattest.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Default_Initialization): New routine.
|
||
* sem_util.ads: Add new type Default_Initialization_Kind.
|
||
(Default_Initialization): New routine.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode): Correct all error
|
||
message logic dealing with in/in out parameters that may appear
|
||
as inputs or have a self reference.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting.
|
||
* sem_res.adb (Resolve): Fix error causing infinite loop for
|
||
integer used as address. Allow addresses as integers.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-osinte-linux.ads (struct_sigaction): Fix rep clause.
|
||
|
||
2014-01-20 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch8.adb (P_Use_Type_Clause): Detect syntax
|
||
error when "use all" is not followed by "type".
|
||
|
||
2014-01-20 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort
|
||
followed by free.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Address_Clause_Check): If there is an
|
||
alignment check on the expression in an address clause, and there
|
||
is no local exception propagation, add an additional explanatory
|
||
message to clarify the cause of previous warning.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor reformatting.
|
||
* opt.ads: Minor comment updates.
|
||
* sem.adb: Minor name change Is_Main_Unit =>
|
||
Is_Main_Unit_Or_Main_Unit_Spec.
|
||
* sem_ch6.adb: Minor reformatting and code reorganization.
|
||
|
||
2014-01-20 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update gnatpp switches.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor comment edit.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that Allow_Integer_Address is permitted
|
||
only if System.Address is a private type.
|
||
* opt.ads (Allow_Integer_Address): No longer set by -gnates.
|
||
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
|
||
Allowed only if type System.Address is private, since otherwise
|
||
it makes no sense.
|
||
* sem_res.adb: Fix failure to properly Analyze unchecked
|
||
conversions that were introduced by Allow_Integer_Address.
|
||
* switch-c.adb: Remove -gnates switch.
|
||
* usage.adb: Remove -gnates switch.
|
||
* gnat_ugn.texi: Remove documentation of -gnates flag.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and
|
||
resolve expression to perform proper name capture.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem.adb (Semantics): When saving/restoring configuration
|
||
switches, the spec of a pre- defined unit that is the main unit
|
||
must be treated as a predefined unit as well.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb (Wrap_Transient_Expression): For a Boolean
|
||
expression, insert an extra conditional expression when saving
|
||
the value of the expression, for the benefit of control flow
|
||
graph based coverage analysis.
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
|
||
* gnat_rm.texi: Document pragma Allow_Integer_Address.
|
||
* gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
|
||
* opt.ads: New flag Allow_Integer_Address.
|
||
* par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
|
||
* sem_ch5.adb: Minor reformatting.
|
||
* sem_prag.adb: Implement pragma Allow_Integer_Address.
|
||
* sem_res.adb (Resolve): Allow integer address value if
|
||
switch set.
|
||
* sem_util.adb: Minor reformatting.
|
||
* snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
|
||
* switch-c.adb: Recognize flag -gnates.
|
||
* usage.adb: Document flag -gnates.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-tadeca.adb: Fix minor typos in comment.
|
||
|
||
2014-01-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-win32.ads (FreeLibrary): New import.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb, sem_cat.adb: Minor reformatting.
|
||
* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
|
||
assigning to OUT parameters for the current subprogram scope.
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object,
|
||
Find_Enclosing_Contexts): If the top-level if-expression that
|
||
generated the transient object is an actual in a call, the proper
|
||
Hook_Context is a construct enclosing the call.
|
||
* einfo.ads: Indicate that Related_Expression is used to link a
|
||
loop variable to the container expression over which the loop
|
||
takes place.
|
||
(Analyze_Iterator_Specification): Set the Related_Expression of
|
||
the loop variable in a container element iterator.
|
||
(Note_Possible_Modification): If the variable is the loop
|
||
variable in a container element iterator, indicate that the
|
||
enclosing container is also modified.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
|
||
Minor reformatting and code clean up.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_cat.adb (Validate_Object_Declaration): Relax semantics
|
||
of objects of private type if Relaxed_RM_Semantics.
|
||
|
||
2014-01-20 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cofove.ads (Vector): Capacity discriminant
|
||
should be in range of the index.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
|
||
Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
|
||
possible difference between epoch of Ada.Calendar clock and Ada
|
||
real-time/tasking clock.
|
||
* s-taprop-posix.adb: Minor comment fix.
|
||
|
||
2014-01-20 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
|
||
checks on the prefix of attribute 'Old.
|
||
* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
|
||
generation of validity checks on a range that belongs to the
|
||
iteration scheme of a quantified expression.
|
||
* sem_ch5.adb (One_Bound): Suppress the generation of validity
|
||
checks on a bound that belongs to the iteration scheme of a
|
||
quantified expression, generate the check in all other cases.
|
||
|
||
2014-01-20 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve): When compiling a predefined unit, ignore
|
||
interpretations that do not come from other predefined units,
|
||
to prevent spurious ambiguities in the presence of user-defined
|
||
operators in the context of (an instance of) a predefined unit.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that Loop_Variant is included in
|
||
Statement_Assertions.
|
||
* sem_prag.adb (Check_Kind): Add Loop_Variant to
|
||
Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
|
||
to Statement_Assertions.
|
||
|
||
2014-01-20 Doug Rupp <rupp@adacore.com>
|
||
|
||
* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
|
||
for errno ENOENT from RTP on NFS mounted file system.
|
||
|
||
2014-01-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
|
||
examine code that does not come from source. The check does not
|
||
apply to code generated for constraint checks, and such code may
|
||
generate spurious error messages when compiled with expansion
|
||
disabled (as in a generic unit) because side effects may not
|
||
have been removed.
|
||
2) Make error messages more explicit: indicate the component
|
||
of the construct whose value is indeterminate because of a
|
||
call to a function with in-out parameter in another component,
|
||
when there is no mandated order of execution between the two
|
||
components (actuals, aggregate components, alternatives).
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor cleanup.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
|
||
can now apply to a refined postcondition.
|
||
* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
|
||
variable Result_Seen. Add variables Case_Prag, Post_Prag,
|
||
Seen_In_Case and Seen_In_Post. Update the mechanism that detects
|
||
whether postconditions and/or constract-cases mention attribute
|
||
'Result and introduce a post-state when applied to functions.
|
||
(Check_Result_And_Post_State): Removed.
|
||
* sem_prag.adb (Analyze_Pragma): Add local variable
|
||
Result_Seen. Verify that the expression of pragma Refined_Post
|
||
mentions attribute 'Result and introduces a post-state.
|
||
* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Is_Subprogram_Call): New routine.
|
||
(Process_Transient_Objects): Make variable Must_Hook global with
|
||
respect to all locally declared subprograms. Search the context
|
||
for at least one subprogram call.
|
||
(Requires_Hooking): Removed.
|
||
|
||
2014-01-20 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
|
||
* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
|
||
External_Axiomatization);
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
|
||
Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
|
||
* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
|
||
Allow Loop_Entry to be used in these pragmas if they appear in
|
||
an appropriate context.
|
||
(Placement_Error): Specialize error
|
||
message for pragma Assert[_And_Cut] or pragma Assume containing
|
||
Loop_Entry attribute.
|
||
* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
|
||
* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
|
||
and code clean ups.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb: Minor comment update.
|
||
|
||
2014-01-20 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
|
||
variables, comment out unused code.
|
||
* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
|
||
* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
|
||
* s-excmac-arm.ads: New file.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
|
||
Drange and Index_Typ. Remove the circuitry which creates a
|
||
range check to compare the index type of the array against the
|
||
discrete_range.
|
||
* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
|
||
the circuitry which creates a range check to handle a
|
||
discrete_range denoted by a subtype indication.
|
||
|
||
2014-01-20 Pierre-Marie Derodat <derodat@adacore.com>
|
||
|
||
* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
|
||
nodes to get the original sloc range.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
|
||
entity of a [library level] package.
|
||
|
||
2014-01-20 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (exception_class_eq): New function.
|
||
(is_handled_by): Use it to compare exception classes.
|
||
(PERSONALITY_STORAGE): Define. (continue_unwind): New function to
|
||
be called to return URC_CONTINUE_UNWIND.
|
||
(personality_body): New function, extracted from PERSONALITY_ROUTINE.
|
||
(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads: Minor comment update.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
|
||
constants to the "Local variables" area. Add new constant D. Add
|
||
new variables Drange and Index_Typ. Rename Pfx to Rep and Ptp
|
||
to Pref_Typ and update all occurrences. Add circuitry to extract
|
||
the discrete_range and the index type and build a range check.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Enable
|
||
Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
|
||
is set.
|
||
|
||
2014-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_ch4.adb: Minor reformatting.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
When aspect SPARK_Mode appears on a package body, insert the
|
||
generated pragma at the top of the body declarations.
|
||
|
||
2014-01-20 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
|
||
checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
|
||
expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
|
||
sem_ch8.adb, exp_dist.adb: Minor reformatting.
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
|
||
mode.
|
||
|
||
2014-01-20 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-arrspl.ads (Slice_Set): New definition (will use a copy on
|
||
write scheme).
|
||
* g-arrspl.adb: Adapt all routine to this new implementation.
|
||
(Set): Copy the Slice_Set definition before reusing it.
|
||
|
||
2014-01-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Import_Or_Interface): In
|
||
Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
|
||
(Analyze_Pragma): Ditto for pragma Export.
|
||
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
|
||
Import style.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.ads: E_Abstract_State is now part of the entities that
|
||
can be overloaded. Update type Overloadable_Kind to reflect the
|
||
inclusion of abstract states.
|
||
* sem_ch6.adb (New_Overloaded_Entity): A function can now
|
||
overload an abstract state.
|
||
* sem_prag.adb (Analyze_Constituent): Handle the overloading
|
||
of states by functions. Use Entity_Of to obtain the entity of
|
||
a constituent. (Analyze_Global_Item): Handle the overloading of
|
||
states by functions.
|
||
(Analyze_Initialization_Item): Handle the
|
||
overloading of states by functions. Use Entity_Of to obtain the
|
||
entity of an item.
|
||
(Analyze_Input_Item): Handle the overloading
|
||
of states by functions. Use Entity_Of to obtain the entity of an item.
|
||
(Analyze_Input_Output): Handle the overloading of states by functions.
|
||
(Analyze_Refinement_Clause): Handle the overloading
|
||
of states by functions. Use Entity_Of to obtain the entity of an item.
|
||
(Appears_In): Use Entity_Of to obtain the entity of an element.
|
||
(Check_Usage): Use Entity_Of to obtain the entity of
|
||
an item. Add a guard to prevent a crash due to a previous error.
|
||
(Resolve_State): New routine.
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
|
||
opt.ads: Minor comments updates.
|
||
|
||
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Non_Limited_View): Applies to abstract states.
|
||
(Set_From_Limited_With): Applies to abstract states.
|
||
(Set_Non_Limited_View): Applies to abstract states.
|
||
(Write_Field17): Output the non-limited view of an abstract state.
|
||
* einfo.ads: Update the comment on usage and occurrences in
|
||
nodes for attributes From_Limited_With and Non_Limited_View.
|
||
* sem_aux.adb (Available_View): This routine can now handle
|
||
abstract states.
|
||
* sem_aux.ads (Available_View): This routine can now handle
|
||
abstract states. Update the comment on usage.
|
||
* sem_ch8.adb (Find_Expanded_Name): Handle abstract views
|
||
of states and variables.
|
||
(In_Pragmas_Depends_Or_Global): New routine.
|
||
* sem_ch10.adb (Build_Limited_Views): Implement
|
||
abstract (limited) views of variables and states.
|
||
(Build_Shadow_Entity): This routine is now a procedure. Add
|
||
formal parameter Shadow. Update the comment on usage. Add
|
||
context-specific decoration for states and variables.
|
||
(Decorate_State): New routine. (Decorate_Variable): New routine.
|
||
(Find_And_Process_States): New routine.
|
||
(Process_Declarations): Renamed to Process_Declarations_And_States.
|
||
(Process_Declarations_And_States): Add formal parameters
|
||
Pack and Create_Abstract_Views. Update the comment on usage.
|
||
(Process_States): New routine.
|
||
* sem_prag.adb (Check_Dependency_Clause): Handle abstract
|
||
views of states and variables. Match the abstract view of a state
|
||
against its corresponding non-abstract view.
|
||
(Is_Matching_Input):
|
||
Handle abstract views of states and variables. Match the abstract
|
||
view of a state against its corresponding non-abstract view.
|
||
(Process_Global_Item): Handle abstract views of states and
|
||
variables.
|
||
|
||
2014-01-20 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch10.adb (Expand_With_Clause): Don't
|
||
recurse on the prefix if the current with-ed name refers to a
|
||
package that renames its own parent, eg "package P.Q renames P;".
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Call): Remove procedure.
|
||
* opt.adb, opt.ads (Full_Expander_Active): Remove function.
|
||
* checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
|
||
* sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
|
||
* sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
|
||
Expander_Active.
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads Update documentation of GNATprove mode.
|
||
|
||
2014-01-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
|
||
* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
|
||
* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
|
||
* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
|
||
GNATprove_Mode.
|
||
* sem_ch13.adb: Remove blank.
|
||
* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
|
||
subprograms by alias for renamings, not for inherited primitive
|
||
operations.
|
||
* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
|
||
in GNATprove mode.
|
||
(Remove_Side_Effects): Apply the removal in
|
||
GNATprove mode, for the full analysis of expressions.
|
||
* expander.adb (Expand): Call the light SPARK expansion in GNATprove
|
||
mode.
|
||
(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
|
||
save/restore actions for Expander_Active flag in GNATprove mode,
|
||
similar to what is done in ASIS mode.
|
||
* frontend.adb (Frontend): Generic bodies are instantiated in
|
||
GNATprove mode.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set operating
|
||
mode to Check_Semantics in GNATprove mode, although a light
|
||
expansion is still performed.
|
||
(Gnat1drv): Set Back_End_Mode to
|
||
Declarations_Only in GNATprove mode, and later on special case
|
||
the GNATprove mode to continue analysis anyway.
|
||
* lib-writ.adb (Write_ALI): Always generate ALI files in
|
||
GNATprove mode.
|
||
* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
|
||
Expander_Active.
|
||
(SPARK_Mode): Renamed as GNATprove_Mode.
|
||
* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
|
||
tree in GNATprove_Mode.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
|
||
body in GNATprove mode.
|
||
(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
|
||
mode.
|
||
* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
|
||
Make sure side effects are removed in GNATprove mode.
|
||
|
||
2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
|
||
for aliased objects with an unconstrained nominal subtype.
|
||
* gcc-interface/trans.c (Call_to_gnu): Likewise.
|
||
(gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
|
||
<case N_Op_Minus>: Remove useless code.
|
||
(Exception_Handler_to_gnu_zcx): Minor tweaks.
|
||
|
||
2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
|
||
Tidy up. For a subtype with discriminants and variant part, if a
|
||
variant is statically selected and the fields all have a constant
|
||
position, put them in order of increasing position. Likewise if
|
||
no variant part but representation clause is present.
|
||
* gcc-interface/utils.c (make_packable_type): Robustify.
|
||
(maybe_pad_type): Use local variable and tidy up condition. If no
|
||
alignment is specified, use the original one.
|
||
(create_type_stub_decl): Minor tweak.
|
||
(convert) <case VECTOR_CST>: Fix typo.
|
||
<case CONSTRUCTOR>: Deal with padding types around the same type.
|
||
Do not punt on missing fields.
|
||
(unchecked_convert): Call finish_record_type to lay out the special
|
||
record types made for conversions from/to problematic integer types.
|
||
Bump the alignment of CONSTRUCTORs before converting them to a more
|
||
aligned type.
|
||
|
||
2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
|
||
obsolete code for type_annotate_only mode, simplify code and slightly
|
||
improve wording of comments.
|
||
|
||
2014-01-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/59772
|
||
* gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type
|
||
as intermediate type.
|
||
(UI_To_gnu): Likewise.
|
||
|
||
2014-01-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Current_Year): Bump to 2014.
|
||
|
||
2014-01-02 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* gnat_ugn.texi: Bump @copying's copyright year.
|
||
|
||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|