8295 lines
309 KiB
Plaintext
8295 lines
309 KiB
Plaintext
2013-12-20 Trevor saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Replace stack_vec with
|
||
auto_vec.
|
||
|
||
2013-12-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (ARM linux, GNU eabi): Tweak regexp.
|
||
|
||
2013-12-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR ada/55946
|
||
* gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake.
|
||
* gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS.
|
||
(../../gnatmake): Remove LDFLAGS.
|
||
(../../gnatlink): Likewise.
|
||
|
||
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/59382
|
||
* indepsw-darwin.adb: New file.
|
||
|
||
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Add specific handling
|
||
for fields with zero size and no representation clause.
|
||
|
||
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding
|
||
level for each branch if this is a case expression in Ada 2012.
|
||
(gnat_to_gnu) <case N_Expression_With_Actions>: Adjust comment.
|
||
|
||
2013-11-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/54040
|
||
PR ada/59346
|
||
* s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
|
||
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
|
||
* s-osinte-solaris-posix.ads (timespec): Likewise.
|
||
|
||
2013-11-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Set TREE_SIDE_EFFECTS
|
||
on the conditional expression directly.
|
||
|
||
2013-11-22 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gcc-interface/trans.c: Add required include files from gimple.h.
|
||
|
||
2013-11-22 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* gcc-interface/utils2.c (build_call_raise): Remove use of
|
||
input_line macro.
|
||
(build_call_raise_range): Likewise.
|
||
(build_call_raise_column): Likewise.
|
||
|
||
2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
|
||
Mike Stump <mikestump@comcast.net>
|
||
Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_to_uhwi.
|
||
* gcc-interface/utils.c (make_packable_type): Likewise.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi rather than
|
||
tree_low_cst.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/decl.c, gcc-interface/utils.c, gcc-interface/utils2.c:
|
||
Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/cuintp.c: Update comments to refer to
|
||
tree_fits_shwi_p rather than host_integerp.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_fits_uhwi_p
|
||
rather than host_integerp.
|
||
* gcc-interface/utils.c (rest_of_record_type_compilation): Likewise.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/decl.c, gcc-interface/misc.c, gcc-interface/utils.c:
|
||
Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* gcc-interface/cuintp.c: Replace host_integerp (..., 0) with
|
||
tree_fits_shwi_p throughout.
|
||
|
||
2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.
|
||
|
||
2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by
|
||
copy and that don't need to be copied in, only evaluate its address.
|
||
|
||
2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an
|
||
error mark as renamed object in type annotating mode.
|
||
|
||
2013-11-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ada/54040
|
||
* s-linux-x32.ads: New file.
|
||
* s-osprim-x32.adb: Likewise.
|
||
* s-linux.ads (time_t): New type.
|
||
* s-linux-alpha.ads (time_t): Likewise.
|
||
* s-linux-hppa.ads (time_t): Likewise.
|
||
* s-linux-mipsel.ads (time_t): Likewise.
|
||
* s-linux-sparc.ads (time_t): Likewise.
|
||
* s-osinte-linux.ads (time_t): Mark it private. Replace long
|
||
with System.Linux.time_t.
|
||
(timespec): Replace long with time_t.
|
||
* s-osinte-posix.adb (To_Timespec): Likewise.
|
||
* s-taprop-linux.adb (timeval): Replace C.long with
|
||
System.OS_Interface.time_t.
|
||
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace
|
||
s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with
|
||
s-osprim-x32.adb for x32.
|
||
|
||
2013-11-14 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* gcc-interface/trans.c: Include gimple.h and pointer-set.h.
|
||
|
||
2013-11-14 Diego Novillo <dnovillo@google.com>
|
||
|
||
* gcc-interface/decl.c: Include stringpool.h
|
||
Include stor-layout.h
|
||
* gcc-interface/misc.c: Include stor-layout.h
|
||
Include print-tree.h
|
||
* gcc-interface/trans.c: Include stringpool.h
|
||
Include stor-layout.h
|
||
Include stmt.h
|
||
Include varasm.h
|
||
* gcc-interface/utils.c: Include stringpool.h
|
||
Include stor-layout.h
|
||
Include attribs.h
|
||
Include varasm.h
|
||
* gcc-interface/utils2.c: Include stringpool.h
|
||
Include stor-layout.h
|
||
Include attribs.h
|
||
Include varasm.h
|
||
|
||
2013-11-12 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gcc-interface/trans.c: Include gimplify.h.
|
||
|
||
2013-11-11 Tristan Gingold <gingold@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_build_constructor): Also set the flag
|
||
CONSTRUCTOR_NO_CLEARING on the constructor.
|
||
|
||
2013-10-30 Sharad Singhai <singhai@google.com>
|
||
|
||
* gnat_ugn.texi: Remove option description for PR middle-end/58134.
|
||
|
||
2013-10-29 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* gcc-interface/trans.c (finalize_nrv): Update for conversion of
|
||
symtab types to a true class hierarchy.
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Likewise.
|
||
|
||
2013-10-28 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Adjust stack vector.
|
||
|
||
2013-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Make-lang.in (ADA_DEPS): Fix quoting.
|
||
|
||
2013-10-19 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Use canonical absolute path to refer to
|
||
the top source directory and to the libgcc subidrectories.
|
||
|
||
2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (scale_by_factor_of): New function.
|
||
(rest_of_record_type_compilation): Use scale_by_factor_of in order to
|
||
scale the original offset for both rounding cases; in the second case,
|
||
take into accout the addend to compute the alignment. Tidy up.
|
||
|
||
2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/cuintp.c: Remove useless include directives.
|
||
(build_cst_from_int): Use standard predicate.
|
||
(UI_To_gnu): Simplify.
|
||
(UI_From_gnu): Fix formatting.
|
||
* gcc-interface/trans.c (post_error): Likewise.
|
||
(post_error_ne): Likewise.
|
||
|
||
2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_set_type_context): New function.
|
||
(gnat_pushdecl): Use it to set the context of the type.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Dependency_Clause):
|
||
Recognize the scenario where successful clause matching has
|
||
depleted the available refinement items and the clause to match
|
||
technically refines to null => null.
|
||
|
||
2013-10-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
|
||
External_Name instead of Link_Name for the RTTI declaration.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Record_Possible_Body_Reference): Fix test for
|
||
being in body.
|
||
(Add_Constituent): Merged into Check_Refined_Global_Item.
|
||
(Check_Matching_Constituent): A constituent that has the proper Part_Of
|
||
option and comes from a private child or a sibling is now collected.
|
||
(Check_Matching_Modes): Merged into Check_Refined_Global_Item.
|
||
(Check_Refined_Global_Item): Code cleanup.
|
||
(Collect_Constituent): New routine.
|
||
(Inconsistent_Mode_Error): Moved out from Check_Matching_Modes.
|
||
|
||
2013-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Check_Current_Instance, Process): Add RM reference
|
||
and mention immutably limited types, when the current instance
|
||
is illegal in Ada 2012.
|
||
|
||
2013-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Unused_Withs): If the main unit is a
|
||
subunit, apply the check to the units mentioned in its context
|
||
only. This provides additional warnings on with_clauses that
|
||
are superfluous.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Emit an
|
||
error message concerning state refinement when the spec defines at
|
||
least one non-null abstract state and the body's SPARK mode is On.
|
||
(Requires_State_Refinement): New routine.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.ads: Comment fixes.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb (Analyze_Package_Specification): Remove circuit
|
||
for ensuring that a package spec requires a body for some other
|
||
reason than that it contains the declaration of an abstract state.
|
||
|
||
2013-10-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_N_Raise_Expression): Fix call of
|
||
Possible_Local_Raise.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked
|
||
conversion of Or_Rhs to Etype of New_Rhs is required only when
|
||
the latter is the result of a byte swap operation.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb (Build_To_Any_Function): For a type with opaque
|
||
representation that is not transmitted as an unconstrained value,
|
||
use 'Write, not 'Output, to generate the opaque representation.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Short_Circuit): Only
|
||
generate expression-with-action when full expansion is set.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb Remove obsolete comment.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
|
||
Avoid late insertion when expanding an expression with action
|
||
nested within a transient block; Do not inconditionally generate
|
||
a finalization call if the generated object is from a specific
|
||
branch of a conditional expression.
|
||
|
||
2013-10-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-arrspl.adb: Ensure Finalize call is idempotent.
|
||
* g-arrspl.adb (Finalize): Makes the call idempotent.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Matching_Input): Account
|
||
for the case where a state with a null refinement appears as
|
||
the last input of a refinement clause.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb: Minor reformatting.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads, sem_prag.ads: Remove all entries
|
||
for Refined_Pre from the various tables.
|
||
* par-prag.adb: Remove the entry for Refined_Pre from the list
|
||
of pragmas not needing special processing by the parser.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Remove the processing for aspect Refined_Pre.
|
||
(Check_Aspect_At_Freeze_Point): Remove the entry for aspect
|
||
Refined_Pre.
|
||
* sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a
|
||
valid assertion kind. Remove the analysis of pragma Refined_Pre.
|
||
(Analyze_Refined_Pragma): Update the comment on usage.
|
||
(Find_Related_Subprogram_Or_Body): Update the comment on
|
||
usage. Pragma Refined_Pre is no longer processed by this routine.
|
||
(Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid
|
||
assertion kind.
|
||
* snames.ads-tmpl: Remove predefined name Refined_Pre. Remove
|
||
the pragma id for Refined_Pre.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
|
||
* sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
|
||
item list as being analyzed.
|
||
(Analyze_Global_List): Mark a
|
||
null global list and multiple global items as being analyzed.
|
||
(Analyze_Input_Item): Check the unit that defines the input
|
||
variable or state, not the reference to it.
|
||
* sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
|
||
that the input has an entity.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.adb (Get_Current_Value_Condition,
|
||
Set_Current_Value_Condition): Handle the case of expressions
|
||
with actions * exp_util.adb (Insert_Actions): Handle the case
|
||
of an expression with actions whose Actions list is empty.
|
||
* exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
|
||
expression with actions that has no Actions and whose Expression
|
||
is side effect free is itself side effect free.
|
||
* exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
|
||
temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
|
||
an Exp_Type.
|
||
* sem_res.adb (Resolve): For an expression with
|
||
actions, resolve the expression early. * sem_res.adb
|
||
(Resolve_Expression_With_Actions): Rewrite an expression with
|
||
actions whose value is compile time known and which has no
|
||
actions into just its expression, so that its constant value is
|
||
available downstream.
|
||
* sem_res.adb (Resolve_Short_Circuit):
|
||
Wrap the left operand in an expression with actions to contain
|
||
any required finalization actions.
|
||
* exp_ch4.adb (Expand_Expression_With_Actions): For an
|
||
expression with actions returning a Boolean expression, ensure
|
||
any finalization action is kept within the Actions list.
|
||
* sem_warn.adb (Check_References, Check_Unset_Reference): add
|
||
missing circuitry to handle expressions with actions.
|
||
* checks.adb (Ensure_Valid): For an expression with actions,
|
||
insert the validity check on the Expression.
|
||
* sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
|
||
with actions that has a non-empty Actions list is not static. An
|
||
expression with actions that has an empty Actions list has the
|
||
static ranges of its Expression.
|
||
* sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
|
||
actions with an empty Actions list has no obvious side effects
|
||
if its Expression itsekf has no obvious side effects.
|
||
|
||
2013-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
|
||
predicate compatible with Ada 2012 definition
|
||
(Is_Limited_View): New name for previous version of
|
||
Is_Immutably_Limited_Type. Predicate is true for an untagged
|
||
record type with a limited component.
|
||
* exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
|
||
sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
|
||
sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
|
||
* freeze.adb Use Is_Immutably_Limited_Type to check the legality
|
||
of references to the current instance, Is_Limited_View otherwise.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
|
||
Refined_Pre as not supported.
|
||
* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.
|
||
|
||
2013-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Validated_Access_Subprogram_Instance): According
|
||
to AI05-288, actuals for access_to_subprograms must be subtype
|
||
conformant with the generic formal. Previous to AI05-288
|
||
only mode conformance was required, but the AI is a binding
|
||
interpretation that applies to previous versions of the language,
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor text correction.
|
||
* ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED.
|
||
* vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu.
|
||
|
||
2013-10-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* impunit.adb (Non_Imp_File_Names_95): Add g-cppexc.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Constituent): Move the check
|
||
concerning option Part_Of to routine Check_Matching_Constituent.
|
||
(Check_Matching_Constituent): Verify that an abstract state
|
||
that acts as a constituent has the proper Part_Of option in
|
||
its aspect/pragma Abstract_State. Account for the case when a
|
||
constituent comes from a private child or private sibling.
|
||
* sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.
|
||
|
||
2013-10-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* g-cppexc.adb, g-cppexc.ads: New files.
|
||
* gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor reformatting.
|
||
|
||
2013-10-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
|
||
expression with standard operator and type, for pretty-printing
|
||
use.
|
||
|
||
2013-10-17 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document --pp-new and --pp-old switches.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Flag 159 is now known as From_Limited_With. Replace
|
||
all references to attribute From_With_Type with From_Limited_With.
|
||
(From_With_Type): Renamed to From_Limited_With.
|
||
(Set_From_With_Type): Renamd to Set_From_Limited_With.
|
||
* einfo.ads: Remove attribute From_With_Type and occurrences in
|
||
nodes. Add attribute From_Limited_With along with occurrences
|
||
in nodes.
|
||
(From_With_Type): Renamed to From_Limited_With along with pragma Inline.
|
||
(Set_From_With_Type): Renamed to
|
||
Set_From_Limited_With along with pragma Inline.
|
||
* sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb,
|
||
sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
|
||
exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb,
|
||
lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
|
||
sem_ch4.adb: Replace all references to attribute From_With_Type
|
||
with From_Limited_With.
|
||
* sem_ch6.adb: Replace all references to attribute From_With_Type
|
||
with From_Limited_With.
|
||
(Designates_From_With_Type): Renamed to Designates_From_Limited_With.
|
||
(Process_Formals): Update the call to Designates_From_With_Type.
|
||
* sem_ch10.adb: Replace all references to attribute From_With_Type
|
||
with From_Limited_With.
|
||
(Build_Limited_Views): Reimplemented.
|
||
* gcc-interface/decl.c Replace all references to attribute
|
||
From_With_Type with From_Limited_With.
|
||
(finalize_from_with_types): Renamed to finalize_from_limited_with.
|
||
* gcc-interface/gigi.h (finalize_from_with_types): Renamed to
|
||
finalize_from_limited_with.
|
||
* gcc-interface/trans.c: Replace all references to attribute
|
||
From_With_Type with From_Limited_With.
|
||
(Compilation_Unit_to_gnu): Update the call to finalize_from_with_types.
|
||
|
||
2013-10-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Update VCS_Kind documentation.
|
||
|
||
2013-10-17 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space):
|
||
Inspect value range before converting type.
|
||
|
||
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as
|
||
illegal.
|
||
|
||
2013-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove VMS conversion of -gnatet and -gnateT,
|
||
now that they are both in ug_words.
|
||
* ug_words: Update qualifier for -gnatet Add qualifier for -gnateT
|
||
* vms_data.ads: Update qualifier for -gnatet Add qualifier
|
||
for -gnateT
|
||
* projects.texi: Continue to update the project documentation
|
||
for VMS.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Body_References): New flag.
|
||
(Body_References): New field.
|
||
* sem_prag.adb (Record_Possible_Body_Reference): New procedure
|
||
(Analyze_Input_Output): Call Record_Possible_Body_Reference
|
||
(Analyze_Global_Item): Call Record_Possible_Body_Reference
|
||
(Analyze_Refinement_Clause): Output messages if illegal global refs.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Reject a record or
|
||
array type that does not have an explicit Scalar_Storage_Order
|
||
attribute definition if a component of the record, or the
|
||
elements of the array, have one.
|
||
* gnat_rm.texi (attribute Scalar_Storage_Order): Document the above
|
||
rule.
|
||
|
||
2013-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add examples of switches -gnateD, including
|
||
one where the value is a string.
|
||
* projects.texi: Do not convert switches in project files to
|
||
VMS qualifiers.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Report_Extra_Clauses): Don't complain about
|
||
refinements with null input since null should be considered to
|
||
always match.
|
||
|
||
2013-10-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
|
||
* opt.ads (List_Body_Required_Info): New flag.
|
||
* prep.adb: Minor reformatting.
|
||
* sem_ch7.adb (Unit_Requires_Body_Info): New
|
||
procedure (Analyze_Package_Specification): Add call to
|
||
Unit_Requires_Body_Info.
|
||
* ug_words: Add entries for -gnatw.y and -gnatw.Y.
|
||
* usage.adb: Add line for new warning switch -gnatw.y/.Y.
|
||
* vms_data.ads: Add entry for [NO_]WHY_SPEC_NEEDS_BODY warning
|
||
qualifier.
|
||
* warnsw.ads, warnsw.adb: Implement new warning switch -gnatw.y/.Y.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
|
||
renamings in SPARK mode.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
|
||
operation.
|
||
* sinfo.ads: Add special comment section to describe SPARK mode
|
||
effect on tree.
|
||
* exp_spark.ads: Remove comments, moved to sinfo.ads.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
|
||
Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
|
||
Remove useless special cases.
|
||
* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
|
||
Expand_N_Op_Expon): Remove useless special cases.
|
||
* exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
|
||
in SPARK mode by testing Full_Expander_Active instead of
|
||
Expander_Active.
|
||
(Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
|
||
useless special case.
|
||
* sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
|
||
deferred constant.
|
||
|
||
2013-10-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnateT and target file format.
|
||
|
||
2013-10-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
|
||
always False, even when the value starts and ends with double quotes.
|
||
|
||
2013-10-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb: Synchronize declarations of other/all others.
|
||
|
||
2013-10-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order
|
||
call.
|
||
* sem_res.adb: Minor code cleanup: use named parameter association
|
||
(not positional) for Boolean parameter Sec_Stack in calls to
|
||
Establish_Transient_Scope.
|
||
|
||
2013-10-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Packed_Element_Set,
|
||
Expand_Packed_Element_Reference): Adjust for the case of packed
|
||
arrays of reverse-storage-order types.
|
||
|
||
2013-10-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2013-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute_Specification, case
|
||
To_Address): If the expression is an identifier, do not modify
|
||
its type; it will be converted when necessary, and the type of
|
||
the expression must remain consistent with that of the entity
|
||
for back-end consistency.
|
||
|
||
2013-10-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb (Unit_Requires_Body): Add flag
|
||
Ignore_Abstract_State (Analyze_Package_Specification): Enforce
|
||
rule requiring Elaborate_Body if a non-null abstract state is
|
||
specified for a library-level package.
|
||
* sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State.
|
||
|
||
2013-10-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Constituent): When
|
||
a state acts as a constituent of another state, ensure that
|
||
the said state has a Part_Of dependency in its corresponding
|
||
aspect/pragma Abstract_State.
|
||
|
||
2013-10-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch4.adb (P_If_expression): Handle redundant ELSE cleanly.
|
||
|
||
2013-10-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* atree.ads (New_Copy, Relocate_Node): Improve documentation
|
||
(note that these subprograms reset Is_Overloaded).
|
||
|
||
2013-10-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* checks.adb (Check_Needed): Handle the case where the test in
|
||
the left operand of the short circuit is wrapped in a qualified
|
||
expression, type conversion, or expression with actions.
|
||
|
||
2013-10-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_type.adb, sem_type.ads (Save_Interps): Also propagate
|
||
Is_Overloaded to New_N, for consistency.
|
||
|
||
2013-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-tienau.adb (Put): Use file parameter to query values of
|
||
current column and line length.
|
||
|
||
2013-10-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads:
|
||
Minor reformatting.
|
||
|
||
2013-10-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* targparm.ads: Fix minor typo in comment.
|
||
|
||
2013-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb: handle full views that are derived from private
|
||
types.
|
||
* sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS
|
||
mode: the elaboration entity is not in the source, and plays no
|
||
role in semantic analysis. Minor reformatting.
|
||
|
||
2013-10-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c (__gnat_get_executable_load_address): Remove AIX
|
||
specific code.
|
||
|
||
2013-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Size_OK): Refine criteria to better handle
|
||
large static aggregates with static record components, to avoid
|
||
generating a large number of asignments. Conversely, improve
|
||
handling of aggregates initialized by a single association,
|
||
which are most efficiently implemented with a loop.
|
||
|
||
2013-10-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_Item): Emit an
|
||
error when the input item comes from the related package.
|
||
|
||
2013-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Restrict previous
|
||
change.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (standard_datatypes): Add
|
||
ADT_set_exception_parameter_decl
|
||
(set_exception_parameter_decl): New macro.
|
||
* gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl.
|
||
(Exception_Handler_to_gnu_zcx): Initialize the choice parameter.
|
||
* gcc-interface/trans.c: Synchronize declarations of other/all others
|
||
between gigi and the runtime.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Find_Stream_Subprogram): Optimize
|
||
Storage_Array stream handling.
|
||
(Find_Stream_Subprogram): Optimize Stream_Element_Array stream handling
|
||
* rtsfind.ads: Add entry for Stream_Element_Array Add
|
||
entries for RE_Storage_Array subprograms Add entries for
|
||
RE_Stream_Element_Array subprograms
|
||
* s-ststop.ads, s-ststop.adb: Add processing for System.Storage_Array.
|
||
Add processing for Ada.Stream_Element_Array.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-except-2005.ads, a-except-2005.adb:
|
||
(Get_Exception_Machine_Occurrence): New function.
|
||
* raise-gcc.c (__gnat_unwind_exception_size): New constant.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb: Minor fix to error message text.
|
||
* errout.ads, erroutc.ads: Minor reformatting.
|
||
* s-ststop.ads, s-stratt.ads: Clean up documentation of block IO
|
||
mode for streams.
|
||
* s-stratt-xdr.adb: Minor comment update.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aux.adb, sem_aux.ads, sem_prag.adb: Minor reformatting.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Add error message for a
|
||
subprogram with an in-out parameter when used in a predicate,
|
||
to clarify subsequent error at the point of call.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Matching_Input): Consume a matching null input.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record): Don't give warning about packed
|
||
and foreign convention.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.adb, sem_aux.ads (Package_Specification): New function, to
|
||
replace the less efficient idiom Specification.
|
||
(Unit_Declaration_Node (Pack_Id)), which handles library units and
|
||
child units.
|
||
* sem_ch3.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_ch6.adb,
|
||
exp_disp.adb, sem_cat.adb, exp_dist.adb: Use Package_Specification.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Update_Attribute): Update the call to
|
||
Process_Range_Update.
|
||
(Process_Range_Update): Add new formal parameter Typ and associated
|
||
comment on usage. Add local constant Index_Typ. Add a type conversion
|
||
as part of the indexed component to ensure that the loop variable
|
||
corresponds to the index type.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb: Adjust comment.
|
||
(Others_Value, All_Others_Value,
|
||
Unhandled_Others_Value): Declare as Character to slightly reduce
|
||
memory footprint.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Size_Known): Size is not known for packed record
|
||
with aliased components
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor fix to error message.
|
||
* a-exexpr-gcc.adb, sem_util.adb, sem_case.adb, exp_ch11.adb: Minor
|
||
reformatting.
|
||
|
||
2013-10-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch11.adb: Fix typo.
|
||
|
||
2013-10-14 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.ads: Minor reformatting.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): Reject full views
|
||
with no explicit discriminant constraints, when the parents of
|
||
the partial view and the full view are constrained subtypes with
|
||
different constraints.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Array_Type): New procedure, abstracts out
|
||
this code from Freeze.
|
||
(Freeze_Array_Type): Detect pragma Pack overriding foreign convention
|
||
(Freeze_Record_Type): Ditto.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Dependency_Clause): Add new local variable
|
||
Non_Null_Output_Seen. Update the call to Analyze_Input_Output.
|
||
(Analyze_Input_Item): Streamline the detection mechanism of null and
|
||
non-null items.
|
||
(Analyze_Input_List): Add new local variable
|
||
Non_Null_Input_Seen. Update all calls to Analyze_Input_Output.
|
||
(Analyze_Input_Output): Add new formal parameter Non_Null_Seen
|
||
and update the related comment on usage. Update the
|
||
recursive call to itself. Attribute 'Result is now treated
|
||
as a non-null item. Detect mixes of null and non-null items.
|
||
(Analyze_Initialization_Item): Streamline the detection mechanism
|
||
of null and non-null items.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add documentation for the new project level
|
||
attribute Library_Rpath_Options.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure.
|
||
(Set_Foreign_Occurrence): New procedure, extracted from
|
||
Setup_Current_Excep.
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice
|
||
parameter in case of zcx.
|
||
* sem_ch11.adb (Analyze_Exception_Handlers): Need debug info
|
||
for the choice parameter.
|
||
* raise-gcc.c: Add comments.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry in table Canonical_Aspect for
|
||
Initial_Condition.
|
||
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
|
||
Aspect_Names and Aspect_Delay for Initial_Condition.
|
||
* einfo.adb (Get_Pragma): Include pragma Initial_Condition to
|
||
categorization pragmas.
|
||
* einfo.ads (Get_Pragma): Update comment on usage.
|
||
* exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to
|
||
verify the assertion introduced by pragma Initial_Condition.
|
||
(Expand_N_Package_Declaration): Add a runtime check to
|
||
verify the assertion introduced by pragma Initial_Condition.
|
||
(Expand_Pragma_Initial_Condition): New routine.
|
||
* par-prag: Include pragma Initial_Condition to the list of
|
||
pragmas that do not require special processing by the parser.
|
||
* sem_ch3.adb (Analyze_Declarations): Analyze pragma
|
||
Initial_Condition at the end of the visible declarations.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Initial_Condition.
|
||
(Check_Aspect_At_Freeze_Point):
|
||
Aspect Initial_Condition does not need inspection at freezing.
|
||
* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part):
|
||
New routine.
|
||
(Analyze_Pragma): Update all calls
|
||
to Check_Declaration_Order. Add processing for pragma
|
||
Initial_Condition. Initial_Condition is now a valid assertion
|
||
kind. Add an entry in table Sig_Flags for Initial_Condition.
|
||
(Check_Declaration_Order): Reimplemented to handle arbitrary
|
||
pragmas.
|
||
(Is_Valid_Assertion_Kind): Add an entry for
|
||
Initial_Condition.
|
||
* sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part):
|
||
New routine.
|
||
* sem_util.adb (Add_Contract_Item): Pragma Initial_Condition
|
||
can now be associated with a package spec.
|
||
* sem_util.ads (Add_Contract_Item): Update comment on usage.
|
||
* sinfo.ads: Update the documentation of node N_Contract
|
||
* snames.ads-tmpl: Add new predefined name Initial_Condition. Add
|
||
new pragma id for Initial_Condition.
|
||
|
||
2013-10-14 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb: Minor reformatting.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb: Minor reformatting.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Check_Against_Predicate): Handle properly an
|
||
others clause in various cases.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Matching_Constituent): Do
|
||
not inspect the hidden states if there are no hidden states. This
|
||
case arises when the constituents are states coming from a
|
||
private child.
|
||
|
||
2013-10-14 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard
|
||
page by clearing VALID bit vice setting page protection.
|
||
|
||
2013-10-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi, adaint.c: Fix typo.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Variable, In_Protected_Function): In the
|
||
body of a protected function, the protected object itself is a
|
||
constant (not just its components).
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add new standard name Library_Rpath_Options.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Import_Or_Interface): Allow importing
|
||
of exception using convention Cpp.
|
||
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp
|
||
imported exceptions.
|
||
* raise-gcc.c (is_handled_by): Filter C++ exception occurrences.
|
||
* gnat_rm.texi: Document how to import C++ exceptions.
|
||
|
||
2013-10-14 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For
|
||
Priority and CPU aspects, when checking, issue a warning only
|
||
if it is obviously not a main program.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c: Fix condition for AIX. Minor reformatting.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part):
|
||
Rename Outputs_Seen to All_Outputs_Seen and update all occurrences
|
||
of the variable.
|
||
(Analyze_Input_Output): Add an item to
|
||
All_Inputs_Seen when it is an input or a self-referential output.
|
||
(Check_Mode): Comment reformatting.
|
||
(Analyze_Abstract_State): Remove the restriction that an Export state
|
||
must also have mode Input_Only or Output_Only.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
|
||
(Has_Non_Null_Refinement): New routine.
|
||
(Has_Null_Refinement): The routine is now synthesized.
|
||
(Has_Visible_Refinement): New routine.
|
||
(Set_Has_Visible_Refinement): New routine.
|
||
(Write_Entity_Flags): Remove the output for
|
||
Has_Null_Refinement. Add output for Has_Visible_Refinement.
|
||
* einfo.ads: Update the occurrences of Has_Non_Null_Refinement,
|
||
Has_Null_Refinement and Has_Visible_Refinement in entities.
|
||
(Has_Non_Null_Refinement): New synthesized attribute.
|
||
(Has_Null_Refinement): This attribute is now synthesized.
|
||
(Has_Visible_Refinement): New routine with corresponding
|
||
pragma Inline.
|
||
(Set_Has_Visible_Refinement): New routine with corresponding pragma
|
||
Inline.
|
||
* sem_ch3.adb (Analyze_Declarations): Add new local
|
||
variable In_Package_Body. Remove state refinements from
|
||
visibility at the end of the package body declarations.
|
||
(Remove_Visible_Refinements): New routine.
|
||
* sem_prag.adb (Analyze_Constituent): Collect a null
|
||
constituent and mark the state as having visible refinement.
|
||
(Analyze_Global_Item): Use attribute Has_Visible_Refinement to
|
||
detect a state with visible refinement.
|
||
(Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect
|
||
a state with visible refinement.
|
||
(Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather
|
||
than checking the contents of list Refinement_Constituents.
|
||
(Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather
|
||
than checking the contents of list Refinement_Constituents.
|
||
(Check_Input_States): Use attribute Has_Non_Null_Refinement rather
|
||
than checking the contents of list Refinement_Constituents.
|
||
(Check_Matching_Constituent): Mark a state as having visible refinement.
|
||
(Check_Output_States): Use attribute Has_Non_Null_Refinement rather than
|
||
checking the contents of list Refinement_Constituents.
|
||
(Check_Refined_Global_Item): Use attribute Has_Visible_Refinement
|
||
to detect a state with visible refinement.
|
||
(Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than
|
||
checking the contents of list Refinement_Constituents.
|
||
* sem_util.adb (Is_Refined_State): Use attribute
|
||
Has_Visible_Refinement to detect a state with visible refinement.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode): Do not emit an
|
||
error when inspecting a self referencial output item of an
|
||
unconstrained type.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix
|
||
target type for code of VMS imported exception.
|
||
* init.c: Replace Exception_Code by void *.
|
||
* s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing
|
||
the type of Exception_Code.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.ads: Minor comment updates.
|
||
* prj-attr.adb: New attribute Library_Rpath_Options.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Library_Level attribute now applies to an
|
||
entity name.
|
||
* sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix
|
||
is now an entity name.
|
||
|
||
2013-10-14 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): For
|
||
Priority and CPU aspects in subprograms, the expression in the
|
||
aspect is analyzed and exported.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting.
|
||
|
||
2013-10-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* adaint.c: Further disable __gnat_get_executable_load_address
|
||
for Linux.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for comparing symbols to
|
||
integers in preprocessing expressions.
|
||
|
||
2013-10-14 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Aspect_Specification): For
|
||
Priority and CPU aspects in subprograms, the expression in the
|
||
aspect is analyzed and exported.
|
||
(Analyze_Pragma): When having a Priority pragma in the
|
||
main subprogram, load a unit that will force the initialization
|
||
of the tasking run time, which is needed for setting the required
|
||
priority.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all
|
||
non Ada interface files.
|
||
* prj.ads (Project_Data): New component Other_Interfaces.
|
||
|
||
2013-10-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Target pairs clean ups.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* errout.adb (Write_Error_Summary): Do not output the number
|
||
of lines when Main_Source_File is unknown.
|
||
(Output_Messages): Do not write the header when Main_Source_File is
|
||
unknown.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* prep.adb (Expression): Accept terms of the form 'symbol <relop>
|
||
integer", where relop is =, <, <=, > or >=.
|
||
(Parse_Def_File): Accept literal integer values.
|
||
* gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and
|
||
s-valuti.o to the compiler object files.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting.
|
||
* usage.adb: Add line for -gnateu switch.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* lib-writ.ads: Add comments to indicate that a path name in
|
||
D lines may be quoted if the path name includes directories
|
||
with spaces.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Document -gnatd.E.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning
|
||
if -gnatd.E set.
|
||
* opt.ads (Error_To_Warning): New switch.
|
||
* osint.adb: Minor reformatting.
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error
|
||
in some cases in Ada 2012 mode (unless Error_To_Warning) is set.
|
||
* sem_warn.ads (Warn_On_Overlapping_Actuals): Document error
|
||
in Ada 2012 mode.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* cstand.adb: Add a comment for Standard_Exception_Type.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object): If a transient scope
|
||
has already been created, use the corresponding Node_To_Be_Wrapped
|
||
as the insertion point for the controlled actions.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): Change Import_Code component
|
||
of Standard_Exception_Type to Foreign_Data. Its type is now
|
||
Standard_A_Char (access to character).
|
||
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust
|
||
definition of Code to match the type of Foreign_Data.
|
||
* s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data
|
||
Change the definition of standard predefined exceptions.
|
||
(Exception_Code): Remove.
|
||
* raise.h (Exception_Code): Remove (Exception_Data): Replace
|
||
Import_Code field by Foreign_Data.
|
||
* rtsfind.ads (RE_Exception_Code): Remove
|
||
(RE_Import_Address): Add.
|
||
* a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For.
|
||
* exp_ch11.adb (Expand_N_Exception_Declaration): Associate null
|
||
to Foreign_Data component.
|
||
* raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For.
|
||
(is_handled_by): Add comments. Use replaced function. Change
|
||
condition so that an Ada occurrence is never handled by
|
||
Foreign_Exception.
|
||
* s-exctab.adb (Internal_Exception): Associate Null_Address to
|
||
Foreign_Data component.
|
||
* s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace
|
||
SSL.Exception_Code by Exception_Code.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnateu switch.
|
||
* opt.ads (Ignore_Unrecognized_VWY_Switches): New switch.
|
||
* stylesw.adb: Ignore unrecognized switch if
|
||
Ignore_Unrecognized_VWY_Switches set.
|
||
* switch-c.adb: Implement -gnateu (sets
|
||
Ignore_Unrecognized_VWY_Switches).
|
||
* validsw.adb: Ignore unrecognized switch if
|
||
Ignore_Unrecognized_VWY_Switches set.
|
||
* warnsw.adb: Ignore unrecognized switch if
|
||
Ignore_Unrecognized_VWY_Switches set.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
|
||
reformatting.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
|
||
defaulted to False. Calls Get_Name with May_Be_Quoted.
|
||
(Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
|
||
False. If May_Be_Quoted is True and first non blank charater is
|
||
'"', unquote the name.
|
||
(Scan_ALI): For the file/path name on the D line, call Get_File_Name
|
||
with May_Be_Quoted = True, as it may have been quoted.
|
||
* lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
|
||
procedure to write file/path names that may contain spaces and if they
|
||
do are quoted.
|
||
* lib-writ.adb (Write_ALI): Use new procedure
|
||
Write_Info_Name_May_Be_Quoted to write file/path names on D lines.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part,
|
||
Analyze_Global_In_Decl_Part,
|
||
Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram
|
||
and its formals only when it is not already installed.
|
||
* sem_util.adb (Is_Refined_State): A state is refined when it
|
||
has a non-empty list of constituents.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c: Disable __gnat_get_executable_load_address for linux.
|
||
* exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-vmexta.ads: Add comments.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
|
||
for pragma Refined_State.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Refined_Depends.
|
||
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
|
||
Use Find_Related_Subprogram_Or_Body to find the related
|
||
context. Use the current scope when determining whether to
|
||
ensure proper visibility.
|
||
(Analyze_Depends_In_Decl_Part):
|
||
Add local variable Spec_Id. Update the comment on usage of
|
||
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
|
||
related context. Extract the corresponding spec of the body
|
||
(if any). Use the current scope when determining when to
|
||
ensure proper visibility.
|
||
(Analyze_Global_In_Decl_Part):
|
||
Add local variable Spec_Id. Update the comment on usage of
|
||
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
|
||
related context. Extract the corresponding spec of the body
|
||
(if any). Use the current scope when determining when to
|
||
ensure proper visibility.
|
||
(Analyze_Global_Item): Use the
|
||
entity of the subprogram spec when performing formal parameter
|
||
checks. Perform state-related checks.
|
||
(Analyze_Input_Output):
|
||
Use Is_Attribute_Result to detect 'Result. Query the
|
||
entity of a subprogram spec when verifying the prefix of
|
||
'Result. Perform state-related checks. (Analyze_Pragma):
|
||
Merge the analysis of Refined_Depends and Refined_Global.
|
||
(Analyze_Refined_Depends_In_Decl_Part): Provide implemenation.
|
||
(Analyze_Refined_Global_In_Decl_Part): Move state-related checks
|
||
to the body of Analyze_Global_In_Decl_Part. Rename local constant
|
||
List to Items. (Analyze_Refined_Pragma): Remove circuitry to
|
||
find the proper context, use Find_Related_Subprogram_Or_Body
|
||
instead.
|
||
(Check_Function_Return): Query the entity of
|
||
the subprogram spec when verifying the use of 'Result.
|
||
(Check_In_Out_States, Check_Input_States, Check_Output_States):
|
||
Avoid using Has_Null_Refinement to detect a state with
|
||
a non-null refinement, use the Refinement_Constituents
|
||
list instead.
|
||
(Check_Matching_Constituent): Remove initialization code.
|
||
(Check_Mode_Restriction_In_Function): Use the entity of the subprogram
|
||
spec when verifying mode usage in functions.
|
||
(Collect_Global_Items): New routine.
|
||
(Collect_Subprogram_Inputs_Outputs): Add local
|
||
variable Spec_Id. Add circuitry for bodies-as-specs. Use
|
||
pragma Refined_Global when collecting for a body.
|
||
(Create_Or_Modify_Clause): Use the location of the
|
||
clause. Rename local variable Clause to New_Clause to avoid
|
||
confusion and update all occurrences. Use Is_Attribute_Result
|
||
to detect 'Result.
|
||
(Find_Related_Subprogram): Removed.
|
||
(Find_Related_Subprogram_Or_Body): New routine.
|
||
(Is_Part_Of): Move routine to top level.
|
||
(Normalize_Clause): Update the
|
||
comment on usage. The routine can now normalize a clause with
|
||
multiple outputs by splitting it.
|
||
(Collect_Global_Items):
|
||
Rename local constant List to Items. Remove the check for
|
||
a null list.
|
||
(Requires_Profile_Installation): Removed.
|
||
(Split_Multiple_Outputs): New routine.
|
||
* sem_prag.ads: Update the comments on usage of various
|
||
pragma-related analysis routines.
|
||
* sem_util.adb (Contains_Refined_State): The routine can now
|
||
process pragma [Refined_]Depends.
|
||
(Has_Refined_State): Removed.
|
||
(Has_State_In_Dependency): New routine.
|
||
(Has_State_In_Global): New routine.
|
||
(Is_Attribute_Result): New routine.
|
||
* sem_util.ads (Is_Attribute_Result): New routine.
|
||
|
||
2013-10-14 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* s-regpat.adb (Compile): Fix finalization of the automaton
|
||
when its size was automatically computed to be exactly 1000 bytes.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Complete_Private_Subtype): If the full view of
|
||
the base type is constrained, the full view of the subtype is
|
||
known to be constrained as well.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add documentation for new attributes of package
|
||
Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir.
|
||
|
||
2013-10-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c, adaint.h (__gnat_get_executable_load_address):
|
||
New function.
|
||
* a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add
|
||
executable load address (Basic_Exception_Tback_Maxlength): Adjust.
|
||
|
||
2013-10-14 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: New attributes in package Clean:
|
||
Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
|
||
* prj-nmsc.adb (Process_Clean (Attributes)): New
|
||
procedure to process attributes Artifacts_In_Exec_Dir and
|
||
Artifacts_In_Object_Dir in package Clean.
|
||
* prj.ads (Project_Configuration): New components
|
||
Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir.
|
||
* snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and
|
||
Artifacts_In_Object_Dir used only by gprclean.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add error
|
||
entry for Library_Level attribute (which should not survive
|
||
to expansion)
|
||
* gnat_rm.texi: Document attribute Library_Level
|
||
* sem_attr.adb (Analyze_Attribute, case Library_Level): Implement
|
||
this new attribute (Set_Boolean_Result): Replaces Set_Result
|
||
(Check_Standard_Prefix): Document that Check_E0 is called
|
||
(Check_System_Prefix): New procedure
|
||
* snames.ads-tmpl: Add entry for Library_Level attribute
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch6.adb, sinfo.ads: Minor reformatting.
|
||
* checks.adb (Overlap_Check): Use identifier casing in messages.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type
|
||
only.
|
||
* exp_aggr.adb (Expand_Array_Aggregate): Handle proper
|
||
initialization of <> component.
|
||
* exp_ch3.adb, exp_tss.adb: Minor reformatting
|
||
* sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value):
|
||
Is on base type only.
|
||
* sinfo.ads: Minor comment revision.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-decstr.adb (Decode_Wide_Wide_Character): Fix failure
|
||
to detect invalid sequences where longer than necessary
|
||
sequences are used for encoding.
|
||
(Validate_Wide_Character):
|
||
Call Decode_Wide_Character to get the above validations.
|
||
(Validate_Wide_Wide_Character): Same fix
|
||
* g-decstr.ads: Add documentation making it clear that the UTF-8
|
||
implementation here recognizes all valid UTF-8 sequences, rather
|
||
than the well-formed subset corresponding to characters defined
|
||
in Unicode.
|
||
(Next_Wide_Character): Remove comment about this
|
||
being more efficient than Decode_Wide_Character (because this
|
||
no longer the case).
|
||
(Prev_Wide_Character): Add note that valid encoding is assumed.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-wichha.adb (Character_Set_Version): New function.
|
||
* a-wichha.ads: Remove comments for pragma Pure (final RM has
|
||
this).
|
||
(Character_Set_Version): New function.
|
||
* gnat_rm.texi: Update doc.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Flag263 is now known as Has_Null_Refinement.
|
||
(Has_Null_Refinement): New routine.
|
||
(Set_Has_Null_Refinement): New routine.
|
||
(Write_Entity_Flags): Output the status of flag
|
||
Has_Null_Refinement.
|
||
* einfo.ads: Add new flag Has_Null_Refinement along with
|
||
comment on usage and update all nodes subject to the flag.
|
||
(Has_Null_Refinement): New routine along with pragma Inline.
|
||
(Set_Has_Null_Refinement): New rouitine along with pragma Inline.
|
||
* sem_prag.adb (Analyze_Constituent): Mark a state as having
|
||
a null refinement when the sole constituent is "null".
|
||
(Analyze_Global_List): Handle null input/output items.
|
||
(Analyze_Refined_Global_In_Decl_Part): Add local variable
|
||
Has_Null_State. Add logic to handle combinations of states
|
||
with null refinements and null global lists and/or items.
|
||
(Check_In_Out_States, Check_Input_States, Check_Output_States):
|
||
Use attribute Has_Null_Refinement to detect states with
|
||
constituents.
|
||
(Check_Refined_Global_List): Handle null input/output items.
|
||
(Process_Global_Item): Handle states with null refinements.
|
||
(Process_Global_List): Handle null input/output items.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Reset Is_True_Constant for
|
||
aliased object
|
||
* gnat_ugn.texi: Update doc on aliased variables and constants.
|
||
|
||
2013-10-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Packed_Element_Reference): If the
|
||
reference is an actual in a call, the prefix has not been fully
|
||
expanded, to account for the additional expansion for parameter
|
||
passing. the prefix itself is a packed reference as well,
|
||
recurse to complete the transformation of the prefix.
|
||
|
||
2013-10-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_dbug.adb (Debug_Renaming_Declaration): Do not
|
||
materialize the entity when the renamed object contains an
|
||
N_Explicit_Dereference.
|
||
* sem_ch8.adb (Analyze_Object_Renaming):
|
||
If the renaming comes from source and the renamed object is a
|
||
dereference, mark the prefix as needing debug information.
|
||
|
||
2013-10-14 Doug Rupp <rupp@adacore.com>
|
||
|
||
* system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits):
|
||
Enable Stack Probes, Disable Stack Limit Checking.
|
||
* init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value.
|
||
(__gnat_map_signal): Fix signature.
|
||
(__gnat_error_handler): Make
|
||
static, fix signature, remove prototype, fix prototype warning.
|
||
[ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard
|
||
page for storage_error.
|
||
* exp_pakd.adb: Minor reformatting.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local
|
||
variable Contract_Seen. Add local variable Proof_Seen.
|
||
(Analyze_Global_List): Remove the processing for mode
|
||
Contract_In. Add support for mode Proof_In.
|
||
(Analyze_Pragma): Update the grammar of pragmas Global and
|
||
Refined_Global.
|
||
* snames.ads-tmpl: Remove predefined name Contract_In. Add
|
||
predefined name Proof_In.
|
||
|
||
2013-10-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): Generate proper string
|
||
for invariant
|
||
* gnat_rm.texi: Add documentation for pragmas
|
||
Type_Invariant[_Class]
|
||
* par-prag.adb: Add entries for pragmas Type_Invariant[_Class]
|
||
* sem_ch13.adb: Minor reformatting
|
||
* sem_prag.adb: Implement pragmas Type_Invariant[_Class]
|
||
* snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class]
|
||
|
||
2013-10-14 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Release now unused debug switches that were only
|
||
relevant for gnat2why backend, not the frontend
|
||
* frontend.adb (Frontend) Do not stop when -gnatd.H is present,
|
||
was unused
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Allow
|
||
references to enclosing formal parameters.
|
||
|
||
2013-10-14 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.adb (Equivalent_Type): Add missing case
|
||
E_Access_Subprogram_Type in guard (for remote access to
|
||
subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name):
|
||
Add missing guards to account for the presence of RAS types
|
||
that have already been replaced with the corresponding fat
|
||
pointer type.
|
||
|
||
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry in table Canonical_Aspect for
|
||
Initializes.
|
||
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
|
||
Aspect_Names and Aspect_Delay for Initializes.
|
||
* atree.ads, atree.adb (Ekind_In): New seven argument versions of the
|
||
routines.
|
||
* einfo.adb: Remove Refined_State_Pragma from the list of node
|
||
usage. Finalizer is now at position 28.
|
||
(Contract): Package
|
||
and package bodies now have a contract.
|
||
(Finalizer): Update
|
||
the assertion and node usage.
|
||
(Get_Pragma): Update the Is_CDG
|
||
flag to include Abstract_State, Initializes and Refined_State.
|
||
(Refined_State_Pragma): Removed.
|
||
(Set_Contract): Package and
|
||
package bodies now have a contract.
|
||
(Set_Finalizer): Update the
|
||
assertion and node usage.
|
||
(Set_Refined_State_Pragma): Removed.
|
||
(Write_Field8_Name): Remove the output for Refined_State_Pragma.
|
||
(Write_Field24_Name): Remove the output for Finalizer. Package
|
||
and package bodies now have a contract.
|
||
(Write_Field28_Name):
|
||
Add output for Finalizer.
|
||
* einfo.ads: Update the documentation and usage in entities
|
||
of attribute Contract. Update the node position and usage in
|
||
entities of attribute Finalizer. Remove the documentation
|
||
and usage in entities for attribute Refined_State_Pragma.
|
||
(Refined_State_Pragma): Removed along with pragma Inline.
|
||
(Set_Refined_State_Pragma): Removed along with pragma Inline.
|
||
* par-prag.adb: Add Initializes to the pragmas that do not
|
||
require special processing by the parser.
|
||
* sem_ch3.adb (Analyze_Declarations): Add local variable
|
||
Prag. Update the retrieval of pragma Refined_State. Analyze
|
||
aspect/pragma Initializes at the end of the visible declarations
|
||
of the related package.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract):
|
||
Add local variables Ref_Depends and Ref_Global. Analyze
|
||
pragmas Refined_Global and Refined_Depends in that order.
|
||
(Analyze_Subprogram_Contract): Add local variables Depends and
|
||
Global. Analyze pragmas Global and Depends in that order.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Package
|
||
bodies now have a contract. Move the analysis of the aspect
|
||
specifications after the defining entity has been decorated.
|
||
(Analyze_Package_Declaration): Packages now have a contract. Move
|
||
the analysis of the aspect specifications after the defining
|
||
entity has been decorated.
|
||
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Packages
|
||
now have contracts.
|
||
* sem_ch13.adb (Analyze_Pragma): Code cleanup for aspect
|
||
Abstract_State. Add processing for aspect Initializes.
|
||
(Check_Aspect_At_Freeze_Point): Add an entry for Initializes.
|
||
* sem_prag.adb: Use Get_Pragma_Arg to extract the expression
|
||
of a pragma argument. Add an entry in table Sig_Flags for
|
||
Initializes.
|
||
(Analyze_Initializes_In_Decl_Part): New routine.
|
||
(Analyze_Pragma): Check the declaration order of pragmas
|
||
Abstract_State and Initializes. Abstract_State is now part of
|
||
the package contract. Analyze pragma Initializes. Check for
|
||
duplicate Refined_State pragma. Refined_State is now part of
|
||
the package contract.
|
||
(Check_Declaration_Order): New routine.
|
||
(Check_Test_Case): Alphabetized.
|
||
* sem_prag.ads (Analyze_Initializes_In_Decl_Part): New routine.
|
||
* sem_util.adb (Add_Contract_Item): Rename formal Subp_Id
|
||
to Id. This routine can now support contracts on packages and
|
||
package bodies.
|
||
* sem_util.ads (Add_Contract_Item): Rename formal Subp_Id to
|
||
Id. Update comment on usage.
|
||
* sinfo.ads: Update the usage of N_Contract nodes.
|
||
* snames.ads-tmpl: Add predefined name Initializes. Add new
|
||
pragma id for Initializes.
|
||
|
||
2013-10-13 Nicolas Roche <roche@adacore.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with
|
||
generic rule and add $(POSTCOMPILE).
|
||
(ADA_DEPS): New.
|
||
(.adb.o): Add @$(ADA_DEPS).
|
||
(.ads.o): Likewise.
|
||
(ada/a-except.o): Likewise.
|
||
(ada/s-excdeb.): Likewise.
|
||
(ada/s-assert.o): Likewise.
|
||
(ada/a-tags.o): Likewise.
|
||
(ada_generated_files): New variable.
|
||
Use them as dependency order for GNAT1_ADA_OBJS and GNATBIND_OBJS.
|
||
(ADA_DEPFILES): New variable.
|
||
Include them.
|
||
(ada_OBJS): Define.
|
||
|
||
2013-10-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local
|
||
variables with aggregate types in memory if not optimizing.
|
||
|
||
2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode): Do
|
||
not emit an error when we are looking at inputs and
|
||
the item is an unconstrained or tagged out parameter.
|
||
(Check_Mode_Restriction_In_Enclosing_Context): Use Get_Pragma
|
||
to find whether the context is subject to aspect/pragma Global.
|
||
(Collect_Subprogram_Inputs_Outputs): Unconstrained or tagged
|
||
out parameters are now considered inputs. Use Get_Pragma to
|
||
find wheher the subprogram is subject to aspect/pragma Global.
|
||
(Is_Unconstrained_Or_Tagged_Item): New routine.
|
||
|
||
2013-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add documentation for pragmas Pre[_Class]
|
||
Post[_Class].
|
||
* par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely.
|
||
* par-prag.adb: Add entries for pragmas Pre[_Class] and
|
||
Post[_Class].
|
||
* sem_prag.adb: Add handling of pragmas Pre[_Class] and
|
||
Post[_Class].
|
||
* sem_util.adb (Original_Aspect_Name): Moved here from
|
||
Sem_Prag.Original_Name, and modified to handle pragmas
|
||
Pre/Post/Pre_Class/Post_Class.
|
||
* sem_util.ads (Original_Aspect_Name): Moved here from
|
||
Sem_Prag.Original_Name.
|
||
* snames.ads-tmpl: Add entries for pragmas Pre[_Class] and
|
||
Post[_Class].
|
||
|
||
2013-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb, sem_ch6.adb: Minor reformatting.
|
||
|
||
2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Add node/list usage for Refined_State
|
||
and Refinement_Constituents.
|
||
(Get_Pragma): Update the
|
||
initialization of Is_CDG to include Refined_Global and
|
||
Refined_Depends. Rename constant Delayed to In_Contract and update
|
||
all of its occurrences.
|
||
(Is_Non_Volatile_State): New routine.
|
||
(Is_Volatile_State): Removed.
|
||
(Refined_State): New routine.
|
||
(Refinement_Constituents): New routine.
|
||
(Set_Refined_State): New routine.
|
||
(Set_Refinement_Constituents): New routine.
|
||
(Write_Field8_Name): Add output for Refinement_Constituents.
|
||
(Write_Field10_Name): Add output for Refined_State.
|
||
* einfo.ads: Add new synthesized attribute Is_Non_Volatile_State.
|
||
Remove synthesized attribute Is_Volatile_State. Add new
|
||
attributes Refined_State and Refinement_Constituents along with
|
||
usage in nodes.
|
||
(Get_Pragma): Update the comment on usage.
|
||
(Is_Non_Volatile_State): New routine.
|
||
(Is_Volatile_State): Removed.
|
||
(Refined_State): New routine and pragma Inline.
|
||
(Refinement_Constituents): New routine and pragma Inline.
|
||
(Set_Refined_State): New routine and pragma Inline.
|
||
(Set_Refinement_Constituents): New routine and pragma Inline.
|
||
* elists.ads, elists.adb (Clone): Removed.
|
||
(New_Copy_Elist): New routine.
|
||
(Remove): New routine.
|
||
* sem_ch3.adb (Analyze_Declarations): Use Defining_Entity
|
||
to get the entity of the subprogram [body].
|
||
(Analyze_Object_Declaration): Add initialization for
|
||
Refined_State.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
|
||
for Refined_Global and Refined_Depends. Emit an error when
|
||
the body requires Refined_Global, but the aspect/pragma is
|
||
not present.
|
||
* sem_ch6.ads (Analyze_Subprogram_Body_Contract): Change
|
||
procedure signature and add comment on usage.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Refined_Global.
|
||
* sem_prag.adb (Analyze_Abstract_State): Add initialization
|
||
of attributes Refined_State and Refinement_Constituents.
|
||
(Analyze_Depends_In_Decl_Part, Analyze_Global_In_Decl_Part,
|
||
Analyze_Contract_Cases_In_Decl_Part): Remove local
|
||
constant Arg1.
|
||
(Analyze_Pragma): Add processing for pragma
|
||
Refined_Global. The analysis of Refined_Post and Refined_Pre
|
||
has been merged. Update an error message in the processing of
|
||
pragma Refined_State.
|
||
(Analyze_Refined_Global_In_Decl_Part): Provide implementation.
|
||
(Analyze_Refined_Pragma): New routine.
|
||
(Analyze_Refined_Pre_Post_Condition): Removed.
|
||
(Analyze_Refined_State_In_Decl_Part): Update the call to Clone.
|
||
(Analyze_Refinement_Clause): Make State_Id visible to all
|
||
nested subprogram.
|
||
(Check_Matching_Constituent): Establish
|
||
a relation between a refined state and its constituent.
|
||
(Collect_Hidden_States_In_Decls): Remove ??? comment. Look at
|
||
the entity of the object declaration to establish its kind.
|
||
* sem_util.adb: Alphabetize with and use clauses.
|
||
(Contains_Refined_State): New routine.
|
||
* sem_util.ads (Contains_Refined_State): New routine.
|
||
|
||
2013-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.ads: Minor documentation clarification.
|
||
|
||
2013-10-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC when
|
||
building on AIX 5.3 or later, and to CLOCK_REALTIME on older
|
||
versions of AIX.
|
||
* init.c (pthread_condattr_setclock): Remove now useless weak symbol.
|
||
* thread.c(__gnat_pthread_condattr_setup): Remove bogus AIX 5.2
|
||
compatibility shim.
|
||
* s-osinte-aix.ads(clock_id_t): Fix C mapping (this is a 64-bit
|
||
type).
|
||
(clock_gettime): Import from C runtime library.
|
||
* s-osinte-aix.adb (clock_gettime): Remove bogus emulation body,
|
||
this routine is provided by the system in current supported
|
||
versions of AIX.
|
||
|
||
2013-10-13 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2013-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): For a function whose return type
|
||
is incomplete, do not replace the type with the full view if the
|
||
type is a limited view. In that case the full view appears in a
|
||
different unit, and the back-end will retrieve it at the proper
|
||
elaboration point.
|
||
|
||
2013-10-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Call): Do not introduce temporaries for
|
||
actuals.
|
||
|
||
2013-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: in Ada 2012 access_to_function types can have
|
||
in-out parameters.
|
||
(Derived_Type_Declaration): SPARK restriction
|
||
must be flagged on the original node, since it may have been
|
||
written as a subtype declaration.
|
||
(Analyze_Subtype_Declaration): Do not enter name of
|
||
entity in declaration if it is the current entity, because it may
|
||
have been inserted in a previous analysis and it appears in the
|
||
else_part of an if-statement that is rewritten during expansion.
|
||
|
||
2013-10-13 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove procedure.
|
||
(Expand_SPARK): Remove call to Expand_SPARK_N_Attribute_Reference and
|
||
Expand_SPARK_N_Simple_Return_Statement.
|
||
(Expand_SPARK_N_Simple_Return_Statement,
|
||
Expand_SPARK_Simple_Function_Return): Remove procedures.
|
||
|
||
2013-10-13 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor editing.
|
||
|
||
2013-10-13 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): If a synchronized
|
||
operation implements an interface primitive, mark the operation
|
||
as referenced, to prevent usually spurious messages about unused
|
||
entities: such operations are called in dispatching select
|
||
statements that are not visible to the compiler.
|
||
|
||
2013-10-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment.
|
||
|
||
2013-10-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_8): Define.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove
|
||
junk code.
|
||
|
||
2013-10-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch13.adb (Freeze_Entity_Checks): Avoid
|
||
loosing errors on CPP entities in -gnatc mode.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant
|
||
if from source.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.adb (Check_SPARK_Restriction): Refine test (don't
|
||
automatically go to the original node).
|
||
* sem_ch11.adb (Analyze_Raise_Statement): Only raise
|
||
statements that come from source violate SPARK restrictions.
|
||
(Analyze_Raise_xxx_Error): Same fix.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK
|
||
initialization on original node, not on possibly rewritten
|
||
expression.
|
||
* sem_ch4.adb (Analyze_If_Expression): Only if expressions that
|
||
come from source violate SPARK mode restrictions.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix confusing documentation for -gnatyM.
|
||
|
||
2013-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (Compilation_Errors): In formal verification mode,
|
||
always return False.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Collect_Hidden_States_In_Decls): Only consider source
|
||
non-constant objects.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry in table Canonical_Aspect for
|
||
Refined_State.
|
||
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
|
||
Aspect_Names and Aspect_Delay for Refined_State.
|
||
* einfo.adb: Add with and use clauses for Elists.
|
||
Remove Refined_State from the list of node usage.
|
||
Add Refined_State_Pragma to the list of node usage.
|
||
(Has_Null_Abstract_State): New routine.
|
||
(Refined_State): Removed.
|
||
(Refined_State_Pragma): New routine.
|
||
(Set_Refined_State): Removed.
|
||
(Set_Refined_State_Pragma): New routine.
|
||
(Write_Field8_Name): Add output for Refined_State_Pragma.
|
||
(Write_Field9_Name): Remove the output for Refined_State.
|
||
* einfo.ads: Add new synthesized attribute Has_Null_Abstract_State
|
||
along with usage in nodes. Remove attribute Refined_State along
|
||
with usage in nodes. Add new attribute Refined_State_Pragma along
|
||
with usage in nodes.
|
||
(Has_Null_Abstract_State): New routine.
|
||
(Refined_State): Removed.
|
||
(Refined_State_Pragma): New routine.
|
||
(Set_Refined_State): Removed.
|
||
(Set_Refined_State_Pragma): New routine.
|
||
* elists.adb (Clone): New routine.
|
||
* elists.ads (Clone): New routine.
|
||
* par-prag.adb: Add Refined_State to the pragmas that do not
|
||
require special processing by the parser.
|
||
* sem_ch3.adb: Add with and use clause for Sem_Prag.
|
||
(Analyze_Declarations): Add local variables Body_Id, Context and
|
||
Spec_Id. Add processing for delayed aspect/pragma Refined_State.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Update the
|
||
handling of aspect Abstract_State. Add processing for aspect
|
||
Refined_State. Remove the bizzare insertion policy for aspect
|
||
Abstract_State.
|
||
(Check_Aspect_At_Freeze_Point): Add an entry for Refined_State.
|
||
* sem_prag.adb: Add an entry to table Sig_Flags
|
||
for pragma Refined_State.
|
||
(Add_Item): Update the
|
||
comment on usage. The inserted items need not be unique.
|
||
(Analyze_Contract_Cases_In_Decl_Part): Rename variable Restore to
|
||
Restore_Scope and update all its occurrences.
|
||
(Analyze_Pragma):
|
||
Update the handling of pragma Abstract_State. Add processing for
|
||
pragma Refined_State.
|
||
(Analyze_Pre_Post_Condition_In_Decl_Part):
|
||
Rename variable Restore to Restore_Scope and update all its
|
||
occurrences.
|
||
(Analyze_Refined_State_In_Decl_Part): New routine.
|
||
* sem_prag.ads (Analyze_Refined_State_In_Decl_Part): New routine.
|
||
* snames.ads-tmpl: Add new predefined name for Refined_State. Add
|
||
new Pragma_Id for Refined_State.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Install_Limited_Withed_Unit): handle properly the
|
||
case of a record declaration in a limited view, when the record
|
||
contains a self-referential component of an anonymous access type.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object): For any context other
|
||
than a simple return statement, insert the finalization action
|
||
after the context, not as an action on the context (which will
|
||
get evaluated before it).
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Write_Field19_Name): Correct the
|
||
string name of attribute Default_Aspect_Value.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_type.adb (Interface_Present_In_Ancestor): The progenitor
|
||
in a type declaration may be an interface subtype.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads (Do_Range_Check): Add special note on handling of
|
||
range checks for Succ and Pred.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* erroutc.adb (Output_Msg_Text): Remove VMS special handling.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-chahan.ads, a-chahan.adb (Is_Line_Terminator): New function
|
||
(Is_Mark): New function.
|
||
(Is_Other_Format): New function.
|
||
(Is_Punctuation_Connector): New function.
|
||
(Is_Space): New function.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Redo duplicate/missing
|
||
choice circuit. Was not quite right in some cases, which showed
|
||
up in ACATS test B43201C.
|
||
* sem_attr.adb (Address_Checks): Make sure name is set right
|
||
for some messages issued.
|
||
* mlib-prj.adb: Minor code reorganization.
|
||
* gnat_ugn.texi: Remove special VMS doc for tagging of warning msgs.
|
||
* exp_ch9.adb: Minor reformatting.
|
||
|
||
2013-10-10 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* lib-writ.adb (Write_Unit_Information): Adjust previous patch.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_If_Statement): Warn on redundant if
|
||
statement.
|
||
* sem_util.ads, sem_util.adb (Has_No_Obvious_Side_Effects): New
|
||
function.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Simplify expansion
|
||
for the case of a dispatching trigger: there is no need to
|
||
duplicate the code or create a subprogram to encapsulate the
|
||
triggering statements. This allows exit statements in the
|
||
triggering statements, that refer to enclosing loops.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
* sem_ch13.adb (Freeze_Entity_Checks): New procedure
|
||
(Analyze_Freeze_Entity): Call Freeze_Entity_Checks
|
||
(Analyze_Freeze_Generic_Entity): Call Freeze_Entity_Checks.
|
||
* sinfo.ads: Add syntax for sprint for Freeze_Generic_Entity.
|
||
* sprint.ads: Add syntax for freeze generic entity node.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads: Minor comment updates.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-writ.adb (Write_Unit_Information): Fatal error if linker
|
||
options are detected in a predefined generic unit.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using
|
||
a dummy placeholder value.
|
||
(NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore.
|
||
* thread.c: Adjust #if test accordingly.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Consequence_Error): Generate an
|
||
implicit if statement.
|
||
(Expand_Contract_Cases): Generate an implicit if statement.
|
||
(Process_Contract_Cases): Do not expand Contract_Cases when no code
|
||
is being generated.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb (Address_Checks): New procedure.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger
|
||
semantic actions at the proper point for entities that previously
|
||
had no explicit freeze point.
|
||
* freeze.adb (Freeze_Generic_Entities): generate new nodes to
|
||
indicate the point at which semantic checks can be performed on
|
||
entities declared in generic packages.
|
||
* sem_ch13.ads, sem_ch13.adb: New procedure
|
||
Analyze_Freeze_Generic_Entity.
|
||
* exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity.
|
||
* sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity.
|
||
* sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity.
|
||
* gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated
|
||
cases.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Task_Body): Aspects are illegal
|
||
(Analyze_Protected_Body): Aspects are illegal.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb, sem_ch13.adb: Minor reformatting.
|
||
* sem_case.adb (Check_Choices): Fix bad listing of missing
|
||
values from predicated subtype case (Check_Choices): List
|
||
duplicated values.
|
||
* errout.adb (Set_Msg_Text): Process warning tags in VMS mode
|
||
* erroutc.adb (Output_Msg_Text): Handle VMS warning tags
|
||
* gnat_ugn.texi: Document /WARNINGS=TAG_WARNINGS for VMS
|
||
* ug_words: Add entries for -gnatw.d and -gnatw.D
|
||
* vms_data.ads: Add [NO]TAG_WARNINGS for -gnatw.D/-gnatw.d
|
||
* lib-writ.ads: Documentation fixes
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads
|
||
(Is_Other_Format): New name for Is_Other.
|
||
(Is_Punctuation_Connector): New name for Is_Punctuation
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add entries in table Canonical_Aspects for aspects
|
||
Refined_Depends and Refined_Global.
|
||
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
|
||
Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for
|
||
aspects Refined_Depends and Refined_Global.
|
||
* einfo.adb (Contract): Subprogram bodies are now valid owners
|
||
of contracts.
|
||
(Set_Contract): Subprogram bodies are now valid
|
||
owners of contracts.
|
||
(Write_Field24_Name): Output the contract
|
||
attribute for subprogram bodies.
|
||
* exp_ch6.adb (Expand_Subprogram_Contract): New routine.
|
||
* exp_ch6.ads (Expand_Subprogram_Contract): New routine.
|
||
* par-prag.adb: Pragmas Refined_Depends and Refined_Global do
|
||
not require any special processing by the parser.
|
||
* sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl.
|
||
(Analyze_Declarations): Code reformatting. Analyze the contract
|
||
of a subprogram body at the end of the declarative region.
|
||
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
|
||
Subprogram bodies can now have contracts. Use
|
||
Expand_Subprogram_Contract to handle the various contract
|
||
assertions.
|
||
(Analyze_Subprogram_Body_Contract): New null routine.
|
||
(Analyze_Subprogram_Body_Helper): Subprogram bodies can now have
|
||
contracts. Use Expand_Subprogram_Contract to handle the various
|
||
contract assertions.
|
||
(Analyze_Subprogram_Contract): Add local
|
||
variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture
|
||
the pragma name in Nam.
|
||
(Process_PPCs): Removed.
|
||
* sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine.
|
||
(Analyze_Subprogram_Contract): Update the comment on usage.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add null
|
||
implementations for aspects Refined_Depends and Refined_Global.
|
||
(Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and
|
||
Refined_Global do not need to be checked at the freeze point.
|
||
* sem_prag.adb: Add entries in table Sig_Flags
|
||
for pragmas Refined_Depends and Refined_Global.
|
||
(Analyze_Contract_Cases_In_Decl_Part): Add local
|
||
variable Restore. Use Restore to pop the scope.
|
||
(Analyze_Depends_In_Decl_Part): Add local variable Restore. Use
|
||
Restore to pop the scope.
|
||
(Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore
|
||
to pop the scope.
|
||
(Analyze_PPC_In_Decl_Part): Renamed to
|
||
Analyze_Pre_Post_Condition_In_Decl_Part.
|
||
(Analyze_Pragma):
|
||
Add null implementations for pragmas Refined_Depends and
|
||
Refined_Global. Refined_Pre and Refined_Post are now
|
||
handled by routine Analyze_Refined_Pre_Post_Condition
|
||
exclusively.
|
||
(Analyze_Refined_Depends_In_Decl_Part): New
|
||
null routine.
|
||
(Analyze_Refined_Global_In_Decl_Part):
|
||
New null routine.
|
||
(Analyze_Refined_Pre_Post):
|
||
Renamed to Analyze_Refined_Pre_Post_Condition.
|
||
(Analyze_Refined_Pre_Post_Condition): Analyze the boolean
|
||
expression.
|
||
(Check_Precondition_Postcondition): Update the call
|
||
to Analyze_PPC_In_Decl_Part.
|
||
* sem_prag.ads: Add entries in table
|
||
Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends
|
||
and Refined_Global.
|
||
(Analyze_PPC_In_Decl_Part): Renamed
|
||
to Analyze_Pre_Post_Condition_In_Decl_Part. Update the
|
||
comment on usage.
|
||
(Analyze_Refined_Depends_In_Decl_Part): New routine.
|
||
(Analyze_Refined_Global_In_Decl_Part): New routine.
|
||
(Analyze_Test_Case_In_Decl_Part): Update the comment on usage.
|
||
* sem_util.adb (Add_Contract_Item): Rename formal Item to Prag
|
||
and update all occurrences. Subprogram body contracts can now
|
||
contain pragmas Refined_Depends and Refined_Global.
|
||
* sem_util.ads (Add_Contract_Item): Rename formal Item to
|
||
Prag. Update the comment on usage.
|
||
* sinfo.ads: Update the comment on structure and usage of
|
||
N_Contract.
|
||
* snames.ads-tmpl: Add new predefined names for Refined_Depends
|
||
and Refined_Global. Add entries in table Pragma_Id for
|
||
Refined_Depends and Refined_Global.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* types.ads: Minor reformatting.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taprop-posix.adb: Add missing comment.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Move choice checking to
|
||
Analyze_Freeze_Entity (Freeze_Record_Type): Make sure all choices
|
||
are properly frozen
|
||
* sem_case.adb (Check_Choices): Remove misguided attempt to
|
||
freeze choices (this is now done in Freeze_Record_Type where
|
||
it belongs).
|
||
(Check_Choices): Remove some analyze/resolve calls
|
||
that are redundant since they are done in Analyze_Choices.
|
||
* sem_ch13.adb (Analyze_Freeze_Entity): Do the error
|
||
checking for choices in variant records here (moved here from
|
||
Freeze.Freeze_Record_Type)
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, s-taprop-posix.adb (CLOCK_REALTIME): Always define,
|
||
possibly using a dummy placeholder value.
|
||
(Compute_Deadline): For the case of an
|
||
Absolute_Calendar deadline, if the target uses another clock
|
||
than CLOCK_REALTIME as CLOCK_RT_Ada, compensate for possible
|
||
different epoch.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
|
||
qualified reference to a generic child unit within itself,
|
||
in an instantiation.
|
||
|
||
2013-10-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-conf.adb: Minor typo fixes in comment.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-taprop-posix.adb (Compute_Deadline): New local subprogram,
|
||
factors common code between Timed_Sleep and Timed_Delay.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Don't replace others if
|
||
expander inactive. This avoids clobbering the ASIS tree in
|
||
-gnatct mode.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Op_Expon): Avoid crash testing for
|
||
fixed-point case in preanalysis mode (error will be caught during
|
||
full analysis).
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Refined_Pre and Refined_Post are now allowed as
|
||
assertion identifiers for pragma Assertion_Policy.
|
||
* sem_prag.adb (Is_Valid_Assertion_Kind): Add Refined_Pre/Refined_Post
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2013-10-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-conf.adb: Code refactoring.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Remove Integrity_Level from the node usage list.
|
||
(Has_Option): Update the implementation to match
|
||
the new terminology.
|
||
(Has_Property): Renamed to Has_Option.
|
||
(Integrity_Level): Removed.
|
||
(Is_External_State): New routine.
|
||
(Is_Input_Only_State): Use Has_Option to determine whether a state
|
||
is Input_Only. (Is_Input_State): Renamed to Is_Input_Only_State.
|
||
(Is_Output_Only_State): Use Has_Option to determine whether
|
||
a state is Output_Only.
|
||
(Is_Output_State): Renamed to
|
||
Is_Output_Only_State.
|
||
(Is_Volatile_State): Use Has_Option to determine whether a state is
|
||
volatile.
|
||
(Set_Integrity_Level): Removed.
|
||
(Write_Field8): Remove the entry for Integrity_Level.
|
||
* einfo.ads: Remove Integrity_Level along with its documentation
|
||
and usage in nodes. Rename Is_Input_State to Is_Input_Only_State.
|
||
Rename Is_Output_State to Is_Output_Only_State. Update the
|
||
documentation of Is_Volatile_State. Update the node structure of
|
||
E_Abstract_Entity.
|
||
(Integrity_Level): Removed along with pragma Inline.
|
||
(Is_External_State): New routine.
|
||
(Is_Input_State): Renamed to Is_Input_Only_State.
|
||
(Is_Output_State): Renamed to Is_Output_Only_State.
|
||
(Set_Integrity_Level): Removed along with pragma Inline.
|
||
* sem_prag.adb (Analyze_Pragma): Update the checks regarding
|
||
global items and abstract state modes. Update the implementation
|
||
of pragma Abstract_State to reflect the new rules and terminology.
|
||
* snames.ads-tmpl: Remove the predefined name for Integrity
|
||
level. Add new predefined names for Input_Only, Non_Volatile,
|
||
Output_Only and Part_Of.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Do not generate a reference
|
||
within a _postcondition procedure: a proper source reference has
|
||
already been generated when pre- analyzing the original aspect
|
||
specification, and the use of a formal in a pre/postcondition
|
||
should not count as a proper use in a subprogram body.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant
|
||
case
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry for Aspect_Refined_Post in table
|
||
Canonical_Aspect.
|
||
* aspects.ads: Add an entry for Aspect_Refined_Post in tables
|
||
Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
|
||
Aspect_On_Body_Or_Stub_OK. Update the comment on the use of
|
||
table Aspect_On_Body_Or_Stub_OK.
|
||
* par-prag.adb: Add pragma Refined_Post to the list of pragmas
|
||
that do not require special processing by the parser.
|
||
* sem_attr.adb (Analyze_Attribute): Add special analysis for
|
||
attributes 'Old and 'Result when code generation is disabled and
|
||
they appear in aspect/pragma Refined_Post.
|
||
(In_Refined_Post): New routine.
|
||
* sem_ch6.adb (Analyze_Expression_Function): Move various
|
||
aspects and/or pragmas that apply to an expression function to the
|
||
corresponding spec or body.
|
||
(Collect_Body_Postconditions): New routine.
|
||
(Process_PPCs): Use routine Collect_Body_Postconditions
|
||
to gather all postcondition pragmas.
|
||
* sem_ch10.adb (Analyze_Proper_Body): Use routine
|
||
Relocate_Pragmas_To_Body to move all source pragmas that follow
|
||
a body stub to the proper body.
|
||
(Move_Stub_Pragmas_To_Body): Removed.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Refined_Post.
|
||
(Check_Aspect_At_Freeze_Point): Aspect
|
||
Refined_Post does not need delayed processing at the freeze point.
|
||
* sem_prag.adb: Add an entry for pragma Refined_Post in
|
||
table Sig_Flags.
|
||
(Analyze_Pragma): Add processing for pragma
|
||
Refined_Post. Update the processing of pragma Refined_Pre
|
||
to use common routine Analyze_Refined_Pre_Post.
|
||
(Analyze_Refined_Pre_Post): New routine.
|
||
(Relocate_Pragmas_To_Body): New routine.
|
||
* sem_prag.ads: Table Pragma_On_Stub_OK is now known as
|
||
Pragma_On_Body_Or_Stub_OK. Update the comment on usage of
|
||
table Pragma_On_Body_Or_Stub_OK.
|
||
(Relocate_Pragmas_To_Body): New routine.
|
||
* snames.ads-tmpl: Add new predefined name for Refined_Post. Add
|
||
new Pragma_Id for Refined_Post.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of
|
||
last choice to others is moved to Freeze_Record_Type.
|
||
* freeze.adb (Freeze_Record_Type): Expand last variant to others
|
||
if necessary (moved here from Expand_N_Variant_Part
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
|
||
sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
|
||
s-atocou-builtin.adb: Minor reformatting.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
|
||
constant needs to be output to s-oscons.h, as it is tested
|
||
by init.c.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
|
||
* exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
|
||
flag to avoid expanding choices when not necessary.
|
||
* exp_util.adb: Minor reformatting
|
||
* freeze.adb (Freeze_Record_Type): Redo expansion of variants
|
||
* sem_aggr.adb: Minor reformatting
|
||
* sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
|
||
Checking of choices.
|
||
* sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
|
||
Analyze_Choices.
|
||
* sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
|
||
and Check_Choices
|
||
* sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
|
||
and Check_Choices
|
||
* sem_util.adb: Minor reformatting
|
||
* sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.
|
||
|
||
2013-10-10 Vincent Celier <celier@adacore.com>
|
||
|
||
* mlib-prj.adb (Build_Library): Do not issue link dynamic
|
||
libraries with an Rpath, if switch -R was used.
|
||
|
||
2013-10-10 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
|
||
Image_Index_Table_32): Remove as not used.
|
||
* s-imgint.adb (Image_Integer): Call Set_Image_Integer and
|
||
remove duplicated code.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Provide a
|
||
more precise error message when pragma Refined_Pre applies to
|
||
an expression function that is not a completion.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_attr.adb (Analyse_Attribute, case
|
||
Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute
|
||
reference for a generic type is permitted in GNAT runtime mode.
|
||
* a-sequio.adb (Read, Write): Use the endianness of the actual
|
||
type to encode length information written to the file.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch13.adb (Aspect_Specifications_Present)): In earlier than
|
||
Ada2012 mode, assume that a legal aspect name following "with"
|
||
keyword is an older gnat switch and not a misplaced with_clause.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry for Aspect_Refined_Pre in
|
||
table Canonical_Aspect.
|
||
(Aspects_On_Body_OK): Renamed to
|
||
Aspects_On_Body_Or_Stub_OK.
|
||
(Aspects_On_Body_Or_Stub_OK):
|
||
Update the query in table Aspect_On_Body_OK.
|
||
* aspects.ads: Add an entry for Aspect_Refined_Pre in tables
|
||
Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
|
||
Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as
|
||
Aspect_On_Body_Or_Stub_OK. Add a section of aspect specifications
|
||
that apply to body stubs.
|
||
(Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK.
|
||
(Aspects_On_Body_Or_Stub_OK): Update the comment on usage.
|
||
* par-prag.adb: Add pragma Refined_Pre to the list of pragmas
|
||
that do not require special processing by the parser.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the
|
||
analysis of aspect specifications that apply to a body stub
|
||
until the proper body is analyzed.
|
||
* sem_ch10.adb: Add with and use clause for Sem_Ch13.
|
||
(Analyze_Package_Body_Stub): Set the corresponding spec of the stub.
|
||
(Analyze_Proper_Body): Relocate all pragmas that apply
|
||
to a subprogram body stub to the declarations of the proper
|
||
body. Analyze the aspect specifications of the stub when the
|
||
proper body is not present.
|
||
(Analyze_Protected_Body_Stub): Set the corresponding spec of the stub.
|
||
(Analyze_Task_Body_Stub): Set the corresponding spec of the stub.
|
||
(Move_Stub_Pragmas_To_Body): New routine.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
|
||
for aspect Refined_Pre.
|
||
(Check_Aspect_At_Freeze_Point): Aspect
|
||
Refined_Pre does not need delayed processing at the freeze point.
|
||
* sem_prag.adb: Remove with and use clause for Snames. Add
|
||
an entry for Pragma_Refined_Pre in table Sig_Flags.
|
||
(Analyze_Pragma): Add processing for pragma Refined_Pre.
|
||
* sem_prag.ads: Add with and use clause for Snames. Add table
|
||
Pragma_On_Stub_OK.
|
||
* sinfo.adb (Corresponding_Spec_Of_Stub): New routine.
|
||
(Set_Corresponding_Spec_Of_Stub): New routine.
|
||
* sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub
|
||
along with comment on usage and occurrences in nodes.
|
||
(Corresponding_Spec_Of_Stub): New routine along with pragma
|
||
Inline.
|
||
(Set_Corresponding_Spec_Of_Stub): New routine along
|
||
with pragma Inline.
|
||
* snames.ads-tmpl: Add new predefined name for Refined_Pre. Add
|
||
new Pragma_Id for Refined_Pre.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation,
|
||
Analyze_Subprogram_Instantiation): Improve error message when
|
||
name in instantiation does not designate a generic unit of the
|
||
right kind.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Variant_Part): Expand statically
|
||
predicated subtype which appears in Discrete_Choices list.
|
||
* exp_ch5.adb (Expand_N_Case_Statement): Expand statically
|
||
predicated subtype which appears in Discrete_Choices list of
|
||
case statement alternative.
|
||
* exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
|
||
procedure.
|
||
* sem_case.adb: Minor reformatting (Analyze_Choices): Don't
|
||
expand out Discrete_Choices that are names of subtypes with
|
||
static predicates. This is now done in the analyzer so that the
|
||
-gnatct tree is properly formed for ASIS.
|
||
* sem_case.ads (Generic_Choices_Processing): Does not apply
|
||
to aggregates any more, so change doc accordingly, and remove
|
||
unneeded Get_Choices argument.
|
||
* sem_ch3.adb (Analyze_Variant_Part): Remove no
|
||
longer used Get_Choices argument in instantiation of
|
||
Generic_Choices_Processing.
|
||
* sem_ch4.adb (Analyze_Case_Expression): Remove no
|
||
longer used Get_Choices argument in instantiation of
|
||
Generic_Choices_Processing.
|
||
* sem_ch5.adb (Analyze_Case_Statement): Remove no
|
||
longer used Get_Choices argument in instantiation of
|
||
Generic_Choices_Processing.
|
||
* sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
|
||
document that choices that are names of statically predicated
|
||
subtypes are expanded in the code generation tree passed to the
|
||
back end, but not in the ASIS tree generated for -gnatct.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb: Revert previous change.
|
||
|
||
2013-10-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
|
||
the Storage_Pool aspect is specified by an aspect clause and a
|
||
renaming is used to capture the evaluation of the pool name,
|
||
insert the renaming in front of the aspect's associated entity
|
||
declaration rather than in front of the corresponding attribute
|
||
definition (which hasn't been appended to the declaration
|
||
list yet).
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Interface_Conformant): The controlling type
|
||
of the interface operation is obtained from the ultimate alias
|
||
of the interface primitive parameter, because that may be in
|
||
fact an implicit inherited operation whose signature involves
|
||
the type extension and not the desired interface.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
|
||
recognize an aspect specification with a misspelled name if it
|
||
is followed by a a comma or semicolon.
|
||
|
||
2013-10-10 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
|
||
Fix copyright notice.
|
||
|
||
2013-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
|
||
enclosing subprogram for precondition/postcondition/contract cases.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor fix.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
Address): Remove the Comes_From_Source test for the overlap
|
||
warning.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor code reorganization (use Nkind_In).
|
||
* sem_warn.adb: Minor code reorganization (optimization in
|
||
Check_Unset_Reference).
|
||
* exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb (Install_Parent_Private_Declarations): When
|
||
instantiating a child unit, do not install private declaration of
|
||
a non-generic ancestor of the generic that is also an ancestor
|
||
of the current unit: its private part will be installed when
|
||
private part of ancestor itself is analyzed.
|
||
|
||
2013-10-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Retrieve component
|
||
aliased status from type entities directly instead of going back
|
||
to original component definition.
|
||
* sem_ch7.adb: Minor reformatting.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For Address
|
||
attribute, consider it to be set in source, because of aliasing
|
||
considerations.
|
||
(Analyze_Attribute_Definition_Clause): For the
|
||
purpose of warning on overlays, take into account the aspect case.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
|
||
a-cofove.ads: Minor reformatting.
|
||
|
||
2013-10-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove obsolete mention to -laddr2line.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Indicate that the
|
||
generated variable used as a target of the expression needs
|
||
no initialization.
|
||
|
||
2013-10-10 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* exp_util.adb (Corresponding_Runtime_Package): Remove the condition
|
||
related to No_Dynamic_Attachment which was wrong. Protected types
|
||
with interrupt handlers (when not using a restricted profile)
|
||
are always treated as protected types with entries, regardless
|
||
of the No_Dynamic_Attachment restriction.
|
||
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code
|
||
using the result of Corresponding_Runtime_Package.
|
||
(Install_Private_Data_Declarations): When having
|
||
static handlers and a non restricted profile, we use the
|
||
type Static_Interrupt_Protection always, so we removed an
|
||
extra wrong condition looking at the No_Dynamic_Attachment
|
||
restriction. Simplify the code using the result of
|
||
Corresponding_Runtime_Package.
|
||
(Make_Initialize_Protection): Simplify the code using
|
||
the result of Corresponding_Runtime_Package.
|
||
(Install_Private_Data_Declaration): The No_Dynamic_Attachment
|
||
restriction has nothing to do with static handlers. Remove the extra
|
||
erroneous condition that was creating the wrong data type.
|
||
|
||
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Is_Object_Reference): Attribute
|
||
'Old produces an object reference.
|
||
* gnat_rm.texi: Define accessibility level of
|
||
X'Update(...) result.
|
||
|
||
2013-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
|
||
a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post
|
||
conditions that apply to a subprogram body, preserve the placement
|
||
and order of the generated pragmas, which must appear before
|
||
other declarations in the body.
|
||
|
||
2013-10-10 Bob Duff <duff@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add gnat2xml doc.
|
||
|
||
2013-10-10 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-vxwork-arm.ads: Fix interface to FP_CONTEXT.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import
|
||
on a variable need not have a convention specified, as long as
|
||
the implicit convention of the object, obtained from its type,
|
||
is Ada or Ada-related.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* cstand.adb (Standard_Unsigned_64): New internal type.
|
||
* gnat_rm.texi: Update documentation on To_Address.
|
||
* sem_attr.adb (Analyze_Attribute, case To_Address): Fix
|
||
problem with out of range static values given as literals or
|
||
named numbers.
|
||
* stand.ads (Standard_Unsigned_64): New internal type.
|
||
* stand.adb: Minor reformatting.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component,
|
||
Has_Mode_Conformant_Spec): If selected component may be an
|
||
indexing of a parameterless call to a protected function, and
|
||
expansion is disabled, this is a valid candidate interpretation.
|
||
|
||
2013-10-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor editing.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatlink.adb: Minor reformatting.
|
||
|
||
2013-10-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Free flag d.E and change doc for flag d.K.
|
||
|
||
2013-10-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Precondition_Postcondition): If the
|
||
pragma comes from an aspect spec, and the subprogram is a
|
||
library unit, treat as a ppc in a declarative part in ASIS mode,
|
||
so that expression in aspect is properly analyzed. In this case
|
||
there is no later point at which the aspect specification would
|
||
be examined.
|
||
|
||
2013-10-10 Bob Duff <duff@adacore.com>
|
||
|
||
* opt.ads: Minor comment fix.
|
||
|
||
2013-10-10 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* a-coinho-shared.ads, a-coinho-shared.adb: New file.
|
||
* s-atocou.ads: Add procedure to initialize counter.
|
||
* s-atocou.adb: Likewise.
|
||
* s-atocou-builtin.adb: Likewise.
|
||
* s-atocou-x86.adb: Likewise.
|
||
* gcc-interface/Makefile.in: Select special version of
|
||
Indefinite_Holders package on platforms where atomic built-ins
|
||
are supported. Update tools target pairs for PikeOS.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinput-c.adb (Load_File): Ensure Source_Align alignment.
|
||
* sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment.
|
||
* sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align
|
||
alignment.
|
||
(Load_File): Ditto.
|
||
* sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single
|
||
line) version.
|
||
* types.ads (Source_Align): New definition.
|
||
(Source_Buffer): Document new alignment requirement.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow
|
||
this for types.
|
||
|
||
2013-10-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor adjustment to doc for To_Address attribute.
|
||
|
||
2013-10-10 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* s-stopoo.ads (Root_Storage_Pool): Add pragma
|
||
Preelaborable_Initialization.
|
||
|
||
2013-09-25 Tom Tromey <tromey@redhat.com>
|
||
|
||
* gcc-interface/Makefile.in (OUTPUT_OPTION): Define as "-o $@".
|
||
|
||
2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/58264
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local
|
||
variable and use it throughout.
|
||
<Attr_Length>: Note whether the prefix is the dereference of a pointer
|
||
to unconstrained array and, in this case, capture the result for both
|
||
Attr_First and Attr_Last.
|
||
|
||
2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.
|
||
|
||
2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Remove dead code.
|
||
|
||
2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
|
||
return variables for subprograms using the CICO mechanism.
|
||
|
||
2013-09-13 Dominique Dhumieres <dominiq@lps.ens.fr>
|
||
|
||
* gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os,
|
||
not $target_cpu.
|
||
|
||
2013-09-11 Thomas Schwinge <thomas@codesourcery.com>
|
||
Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
|
||
target_os and their host_ counterparts. Remove host_canonical and
|
||
target_cpu_default, unused. Remove local ad-hoc computations of
|
||
"host", "targ", "arch", "osys" and "manu". Replace uses of these by
|
||
uses of the now imported family, hence back to filters against
|
||
canonical values. Remove filters on e500 for target_cpu, expected to
|
||
be canonicalized into powerpc. Invert the logic filtering on 64bit
|
||
sparc for VxWorks. Simplify the filtering logic for bareboard tools
|
||
target pairs, now using straight elf/eabi filters on the target_os
|
||
part only.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Replace_Anonymoous_Access_To_Protected_Subprogram): If
|
||
the return type is itself an access to function, recurse to emit
|
||
another anonymous type.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
|
||
* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
|
||
* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
|
||
* inline.ads (Warnings): New component in Pending_Body_Info.
|
||
* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
|
||
at instantiation point.
|
||
* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
|
||
New procedure Remove special handling of Warning_Doc_Switch,
|
||
cleaner to handle the VMS case in errout, than to introduce
|
||
undocumented oddities here.
|
||
* warnsw.ads (Warning_Record) : New type.
|
||
(Save_Warnings): New function.
|
||
(Restore_Warnings): New procedure.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinput.adb (Check_For_BOM): Avoid reading past end of file.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
|
||
* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
|
||
* inline.ads: Save/Restore Ada_Version_Pragma.
|
||
* opt.adb: Save/Restore Ada_Version_Pragma.
|
||
* opt.ads (Ada_Version_Pragma): New variable.
|
||
* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
|
||
par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
|
||
* prj.adb: Initialize Ada_Version_Pragma.
|
||
* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
|
||
* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
|
||
* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
|
||
* switch-c.adb: Initialize Ada_Version_Pragma.
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Subtype): Discard constraint on access
|
||
to class-wide type. Such constraints are not supported and are
|
||
considered a language pathology.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatbind.adb: Correct starting date in --version string.
|
||
* gnatdll.adb: Use Check_Version_And_Help_G to implement --help
|
||
and --version.
|
||
* gnatkr.adb: Use Check_Version_And_Help_G to implement --help
|
||
and --version.
|
||
* gnatlink.adb: Correct starting date in --version string.
|
||
* gnatls.adb: Correct starting date in --version string.
|
||
* make.adb: Correct starting date in --version string.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb: Minor reformatting.
|
||
* atree.ads (Original_Nodes): Add documentation on ASIS usage.
|
||
* sinfo.ads: Add section on ASIS mode (documentation only).
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
|
||
REASON parameter in compiler units (bootstrap issues).
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Output warning if
|
||
-gnateE specified for a target that does not support it.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
|
||
a subprogram body without previous spec.
|
||
|
||
2013-09-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor typo fixes.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb (Aspects_On_Body_OK): New routine.
|
||
* aspects.ads: Modify type Aspect_Expression to include
|
||
the Optional_XXX variants. Update the contents of
|
||
table Aspect_Argument. Add table Aspect_On_Body_OK.
|
||
(Aspects_On_Body_OK): New routine.
|
||
* par-ch13.adb (Get_Aspect_Specifications): Account for optional
|
||
names and expressions when parsing an aspect.
|
||
* sem_ch6.adb: Add with and use clause for Aspects.
|
||
(Analyze_Subprogram_Body_Helper): Do not emit an error when
|
||
analyzing a body with aspects that can be applied simultaneously
|
||
to both spec and body.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
|
||
corresponding pragma of an aspect that applies to a subprogram
|
||
body in the declarative part.
|
||
(Make_Aitem_Pragma): Do not generate a pragma with an empty argument
|
||
list.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb: Diagnose -gnatc given after -gnatRm.
|
||
* gnat_ugn.texi: Add documentation for -gnatRm.
|
||
* usage.adb: Minor reorganization (put style entries in proper
|
||
order) Document -gnatRm switch.
|
||
* sinfo.ads: Minor comment fix.
|
||
|
||
2013-09-10 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
|
||
designated type can appear in a parameterless call.
|
||
* sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
|
||
in the case of an indirect call through an access function that
|
||
returns an array type.
|
||
(Analyze_One_Call): Handle properly legal parameterless calls
|
||
whose result is indexed, in constructs of the for F.all (I)
|
||
* sem_ch6.ads (May_Need_Actuals): Make public, for use on access
|
||
to subprogram types.
|
||
* sem_res.adb (Resolve_Call): If the call is indirect, there is
|
||
no entity to set on the name in the call.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add entries in the Has_Aspect_Specifications_Flag
|
||
table for package body and body stubs.
|
||
(Move_Or_Merge_Aspects): New routine.
|
||
(Remove_Aspects): New routine.
|
||
* aspects.ads (Move_Aspects): Update comment on usage.
|
||
(Move_Or_Merge_Aspects): New routine.
|
||
(Remove_Aspects): New routine.
|
||
* par-ch3.adb: Update the grammar of private_type_declaration,
|
||
private_extension_declaration, object_renaming_declaration,
|
||
and exception_renaming_declaration.
|
||
(P_Subprogram): Parse the
|
||
aspect specifications that apply to a body stub.
|
||
* par-ch6.adb: Update the grammar of subprogram_body_stub and
|
||
generic_instantiation.
|
||
* par-ch7.adb: Update the grammar of package_declaration,
|
||
package_specification, package_body, package_renaming_declaration,
|
||
package_body_stub.
|
||
(P_Package): Parse the aspect specifications
|
||
that apply to a body, a body stub and package renaming.
|
||
* par-ch9.adb: Update the grammar of entry_declaration,
|
||
protected_body, protected_body_stub, task_body,
|
||
and task_body_stub.
|
||
(P_Protected): Add local variable
|
||
Aspect_Sloc. Add local constant Dummy_Node. Parse the aspect
|
||
specifications that apply to a protected body and a protected
|
||
body stub.
|
||
(P_Task): Add local variable Aspect_Sloc. Add local
|
||
constant Dummy_Node. Parse the aspect specifications that apply
|
||
to a task body and a task body stub.
|
||
* par-ch12.adb: Update the grammar of
|
||
generic_renaming_declaration.
|
||
(P_Generic): Parse the aspect
|
||
specifications that apply to a generic renaming.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit
|
||
an error when analyzing aspects that apply to a body stub. Such
|
||
aspects are relocated to the proper body.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect
|
||
specifications that apply to a body.
|
||
* sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined
|
||
aspects not being supported on protected bodies. Remove the
|
||
aspect specifications. (Analyze_Single_Protected_Declaration):
|
||
Analyze the aspects that apply to a single protected declaration.
|
||
(Analyze_Task_Body): Warn about user-defined aspects not being
|
||
supported on task bodies. Remove the aspect specifications.
|
||
* sem_ch10.adb: Add with and use clause for Aspects.
|
||
(Analyze_Package_Body_Stub): Propagate the aspect specifications
|
||
from the stub to the proper body.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
|
||
corresponding pragma of an aspect that applies to a body in the
|
||
declarations of the body.
|
||
* sinfo.ads: Update the gramma of expression_function,
|
||
private_type_declaration, private_extension_declaration,
|
||
object_renaming_declaration, exception_renaming_declaration,
|
||
package_renaming_declaration, subprogram_renaming_declaration,
|
||
generic_renaming_declaration, entry_declaration,
|
||
subprogram_body_stub, package_body_stub, task_body_stub,
|
||
generic_subprogram_declaration.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Add processing
|
||
for aspect/pragma SPARK_Mode when it applies to a [library-level]
|
||
subprogram or package [body].
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document that -gnatc and -gnatR cannot be
|
||
given together.
|
||
* switch-c.adb (Scan_Front_End_Switches): Give error if both
|
||
-gnatR and -gnatc given.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-table.ads, g-table.adb (For_Each): New generic procedure
|
||
(Sort_Table): New generic procedure.
|
||
|
||
2013-09-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_executable_file_attr): Should be true
|
||
for an executable regular file only only (not for a directory
|
||
that has the executable permission).
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb: Further work on operator calls in ASIS.
|
||
|
||
2013-09-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
|
||
update.
|
||
|
||
2013-09-10 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* aspects.ads, sem_ch13.adb: Minor reformatting.
|
||
* adaint.c (__gnat_set_close_on_exec): Add comment documenting
|
||
that this routine is shared between OS_Lib and Sockets.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.
|
||
* sem_ch13.adb (Make_Aitem_Pragma): Set Is_Checked if needed.
|
||
* sem_prag.adb (Check_Kind): Moved from spec (Analyze_Pragma):
|
||
Make sure Is_Ignored/Is_Checked are set right (Analyze_Pragma,
|
||
case Check): Ditto (Check_Applicable_Policy): Handle
|
||
Statement_Assertion case Throughout, set and check the Is_Checked
|
||
flag as appropriate.
|
||
* sem_prag.ads (Check_Kind): Moved to body.
|
||
* sinfo.ads, sinfo.adb (Is_Checked): New flag.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads (Delay_Type): New type (Aspect_Delay): New table.
|
||
* einfo.adb (Has_Delayed_Rep_Aspects): New flag
|
||
(May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed
|
||
(use Get_Attribute_Representation_Clause).
|
||
* einfo.ads (Has_Delayed_Rep_Aspects): New flag
|
||
(May_Inherit_Delayed_Rep_Aspects): New flag
|
||
* freeze.adb: Minor reformatting
|
||
* sem_ch13.adb (Analyze_Aspect_Speficifications): Redo
|
||
handling of delayed evaluation, including optimizing some cases
|
||
and avoiding delays.
|
||
(Analyze_Aspects_At_Freeze_Point): Now
|
||
handled inheriting delayed rep aspects for type derivation case.
|
||
(Inherit_Delayed_Rep_Aspects): New procedure
|
||
* sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled
|
||
inheriting delayed rep aspects for type derivation case.
|
||
* sem_ch3.adb (Build_Derived_Type): Set
|
||
May_Inherit_Derived_Rep_Aspects if parent type flag
|
||
Has_Delayed_Rep_Aspects is set
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Finalize): Don't delete real errors with specific
|
||
warning control.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call,
|
||
Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select):
|
||
Handle properly a trigger that is a call to a primitive operation
|
||
of a type that implements a limited interface, if the type itself
|
||
is not limited.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb,
|
||
exp_ch4.adb, sprint.adb: Minor reformatting.
|
||
|
||
2013-09-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Document splitting of pre/post in N_Contract description.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the
|
||
form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift,
|
||
add a mod operation if the result type is a binary modular type.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local
|
||
variable Context. Remove local variable Subp_Id. Start the
|
||
context traversal from the current subprogram rather than the
|
||
current scope. Update the scope traversal and error reporting.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure
|
||
Rewrite_Triggering_Statements, to encapsulate the statements that
|
||
follow the trigger of the entry call. This procedure is needed
|
||
when the trigger is a dispatching call, because the expansion
|
||
requires several copies of those statements. The procedure is
|
||
more efficient, and preserves non-local references when the
|
||
construct is within an instance.
|
||
|
||
2013-09-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): If the
|
||
instantiation is a compilation unit, analyze aspects before
|
||
analyzing the package declaration for the instance.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): If the
|
||
corresponding node is a package instantiation, insert generated
|
||
pragmas at the head of visible declarations.
|
||
* sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance
|
||
do not ignore the pragma if it comes from an aspect specification
|
||
in the instance, and not from the generic unit.
|
||
* sprint.adb (Sprint_Node_Actual): For a package declaration that
|
||
is an instantiation, print aspects after declaration.
|
||
|
||
2013-09-10 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Get_SPARK_Mode_Id): Handle the
|
||
case where the pragma may appear without an argument.
|
||
(Analyze_Global_List): Add expanded_name to the list of constructs
|
||
that denote a single item.
|
||
(Collect_Global_List): Add expanded_name to the list of constructs
|
||
that denote a single item.
|
||
|
||
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Add local constant
|
||
Pool_Id and local variables Fin_Call and Free_Stmt. Finalize
|
||
and deallocate a heap-allocated class-wide object after it
|
||
has been determined that it violates the accessibility rules.
|
||
* rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id
|
||
and entry in RE_Unit_Table for RE_Free.
|
||
|
||
2013-09-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR ada/58239
|
||
* gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
|
||
(GCC_LINK): Use CXX instead of CC.
|
||
* gcc-interface/Make-lang.in (CXX_LFLAGS): New.
|
||
(ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.
|
||
|
||
2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
|
||
sets of derived types in ASIS mode.
|
||
|
||
2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace True with true.
|
||
(is_cplusplus_method): Likewise, and False with false.
|
||
(components_need_strict_alignment): Likewise.
|
||
* gcc-interface/misc.c (gnat_init_gcc_fp): Likewise.
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Likewise.
|
||
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
|
||
(add_cleanup): Likewise.
|
||
(Sloc_to_locus1): Likewise.
|
||
(Sloc_to_locus): Likewise.
|
||
(set_expr_location_from_node): Likewise.
|
||
* gcc-interface/utils.c (potential_alignment_gap): Likewise.
|
||
|
||
2013-08-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gcc-interface/trans.c (set_end_locus_from_node): Clear column info
|
||
for the end_locus of a block if it does not come from an End_Label.
|
||
|
||
2013-08-13 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
|
||
there is no End_Label, attach cleanup actions to the sloc of the HSS
|
||
node instead.
|
||
(Exception_Handler_to_gnu_zcx): Associate cleanup actions with the sloc
|
||
of the handler itself.
|
||
(add_cleanup): Clear column information in sloc of cleanup actions.
|
||
(Sloc_to_locus1): New static function.
|
||
(Sloc_to_locus): Call it.
|
||
(set_expr_location_from_node1): New static function.
|
||
(set_expr_location_from_node): Call it.
|
||
|
||
2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Call_to_gnu): Deal with specific conditional
|
||
expressions for misaligned actual parameters.
|
||
|
||
2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for
|
||
values outside of the range of the type.
|
||
|
||
2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_atomic_load): Do a mere view-conversion
|
||
to the original type before converting to the result type.
|
||
(build_atomic_store): First do a conversion to the original type before
|
||
view-converting to the effective type, but deal with a padded type
|
||
specially.
|
||
|
||
2013-08-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (TOOLS_LIBS): Pick C object files from the
|
||
compiler build and use standard library variables.
|
||
(../../vxaddr2line$(exeext): Do not depend on targext.o and adjust.
|
||
(gnatmake-re): Do not depend on targext.o.
|
||
(gnatlink-re): Do not depend on link.o and targext.o.
|
||
(../../gnatmake$(exeext): Likewise.
|
||
(../../gnatlink$(exeext): Likewise.
|
||
|
||
2013-07-21 OndÅej BÃlka <neleai@seznam.cz>
|
||
|
||
* gcc-interface/gigi.h: Fix typos.
|
||
* gcc-interface/trans.c: Likewise.
|
||
* gcc-interface/utils2.c: Likewise.
|
||
* gnat_rm.texi: Likewise.
|
||
* gnat_ugn.texi: Likewise.
|
||
* raise-gcc.c: Likewise.
|
||
* sigtramp-ppcvxw.c: Likewise.
|
||
* sysdep.c: Likewise.
|
||
* terminals.c: Likewise.
|
||
|
||
2013-07-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/57934
|
||
* gcc-interface/ada.h (CAT): Fix typo.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Get_Pragma): Handle the retrieval of delayed
|
||
pragmas stored in N_Contract nodes.
|
||
* einfo.ads (Get_Pragma): Update the comment on usage.
|
||
* sem_prag.adb (Check_Precondition_Postcondition): Retain a copy
|
||
of the pragma when it applies to a body that acts as a spec. The
|
||
copy is preanalyzed and chained on the contract of the body.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* rtsfind.adb: Minor comment fix.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Check_Ghost_Subprogram_Call): Do not check the placement
|
||
of a Ghost function call when the enclosing context is being
|
||
preanalyzed.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call, Process_Formals): If the
|
||
expression in a return statement is a numeric literal, qualify
|
||
it with the return type for proper resolution.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.ads: Minor comment updates.
|
||
* s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb:
|
||
Minor reformatting.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
|
||
for Restriction_Set.
|
||
* gnat_rm.texi: Add missing menu entry for Attribute Ref Add
|
||
documentation for attribute Restriction_Set.
|
||
* lib-writ.adb (Write_With_Lines): Generate special W lines
|
||
for Restriction_Set.
|
||
* lib-writ.ads: Document special use of W lines for
|
||
Restriction_Set.
|
||
* lib.ads (Restriction_Set_Dependences): New table.
|
||
* par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to
|
||
list (Scan_Name_Extension_Apostrophe): Remove kludge test for
|
||
Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence
|
||
for Restricton_Set.
|
||
* restrict.adb (Check_SPARK_Restriction): Put in Alfa order
|
||
(OK_No_Dependence_Unit_Name): New function.
|
||
* restrict.ads (OK_No_Dependence_Unit_Name): New function.
|
||
* rtsfind.adb: Minor reformatting Minor code reorganization.
|
||
* sem_attr.adb (Analyze_Attribute): Add processing for
|
||
Restriction_Set.
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Remove Check_Unit_Name and use new function
|
||
OK_No_Dependence_Unit_Name instead.
|
||
* sinfo.ads: Minor comment updates.
|
||
* snames.ads-tmpl: Add entry for Restriction_Set attribute.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Remove local constant
|
||
Pool_Id and local variable Free_Stmt. Do not deallocate the faulty
|
||
object as "free" is not available on all targets/profiles.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle
|
||
Storage_Size aspect for task type in case discriminant is
|
||
referenced.
|
||
(Analyze_Attribute_Definition_Clause): Do not flag Storage_Size
|
||
attribute definition clause as obsolescent if from aspect.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add documentation for Img returning a function.
|
||
* par-prag.adb: Minor reformatting.
|
||
* restrict.adb: Minor reformatting and code reorganization.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb: add guard to ASIS transform.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Asynchronous_Select): If the trigger
|
||
of the asynchronous select is a dispatching call, transform the
|
||
abortable part into a procedure, to avoid duplication of local
|
||
loop variables that may appear within.
|
||
|
||
2013-07-08 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Update the documentation of suffixes in package
|
||
Naming.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Conforming_Types): Anonymous_access_to_subprograsm
|
||
types are type conformant if the designated type of one is
|
||
protected and the other is not. Convention only matters when
|
||
checking subtype conformance.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
|
||
back the fully resolved operands to the original function call
|
||
so that all semantic information remains available to ASIS.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb: minor reformatting (remove obsolete comment).
|
||
* sem_ch9.adb: improve error message on illegal trigger.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb: Minor reformatting.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* targparm.adb (Get_Target_Parameters): Recognize pragma
|
||
Partition_Elaboration_Policy.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor update to mention partition elaboration policy.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Comple_Object_Operation): Revert previous change.
|
||
(Analyze_Indexed_Component_Form): In ASIS mode, if node has been
|
||
transformed but not rewritten as a function call (as is the case
|
||
in a generic), analyze it as such.
|
||
|
||
2013-07-08 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor rewording: add missing word "operators"
|
||
in documentation for restriction No_Direct_Boolean_Operator.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
|
||
Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
|
||
now).
|
||
* errout.ads: Insertions ! and !! no longer have to be at the
|
||
end of the message, they can be anywhere in the message.
|
||
* erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
|
||
Replaces Test_Style_Warning_Serious_Msg
|
||
* erroutc.ads (Has_Double_Exclam): New flag New comments for
|
||
existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
|
||
Replaces Test_Style_Warning_Serious_Msg
|
||
* errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
|
||
Replaces Test_Style_Warning_Serious_Msg
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
|
||
* restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
|
||
referenced there.
|
||
* scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
|
||
sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
|
||
* snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.
|
||
|
||
2013-07-08 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (Check_Files): Use a response file for gnatls
|
||
when possible.
|
||
|
||
2013-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* freeze.adb: Minor typo fixes.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
|
||
obsolete recognition of SPARK Document all other obsolete synonyms
|
||
for old restrictions.
|
||
* restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
|
||
SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
|
||
for SPARK_05.
|
||
* restrict.ads: Restriction SPARK_05 replaces SPARK.
|
||
* s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
|
||
as synonym for SPARK_05.
|
||
* sem_prag.adb: Minor reformatting.
|
||
* snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_dim.adb: Minor error message change.
|
||
* freeze.adb (Freeze_Entity, array type case): Extend handling
|
||
of Implicit_Packing to handle multi-dimensional array case.
|
||
* gnat_rm.texi: Update doc on Implicit_Packing.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Complete_Object_Operation): In ASIS mode, if
|
||
the parent node is a selected component and the analysis as a
|
||
call is successful, set the type of the selector in the parent
|
||
node for subsequent checks, because the rewriting of the node
|
||
does not take place during pre-analysis.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Eq): When comparing two
|
||
Bounded_Strings, use the predefined equality function of the
|
||
root Super_String type.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Create_Alternative): Removed.
|
||
(Expand_N_If_Expression): Remove constant
|
||
In_Case_Or_If_Expression. Add local variable
|
||
Ptr_Typ. Inspect the "then" and "else" action lists
|
||
for transient controlled objects and generate code to
|
||
finalize them. (Is_Controlled_Function_Call): Removed.
|
||
(Process_Action): Update the comment on usage. Update the call
|
||
to Process_Transient_Object. There is no need to continue the
|
||
traversal of the object itself.
|
||
(Process_Actions): New routine.
|
||
(Process_Transient_Object): Moved to the top level of Exp_Ch4. Add
|
||
a new formal and update the related comment on usage.
|
||
* exp_util.adb (Within_Case_Or_If_Expression): Start the search
|
||
from the parent of the node.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads,
|
||
a-cbsyqu.ads: Minor reformatting (proper formatting of overriding).
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Attribute_Renaming): Treat 'Img as an attribute
|
||
that can be renamed as a function.
|
||
|
||
2013-07-08 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.ads: Document target dependency: FIONBIO may or may not
|
||
be inherited from listening socket by accepted socket.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Do not deallocate the object
|
||
on targets that can't deallocate.
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Freeze_Type): Generate a
|
||
subpools-related accessibility check only on profiles that
|
||
include the corresponding library unit.
|
||
|
||
2013-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor typo fixes.
|
||
|
||
2013-07-08 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch8.adb (Save_Scope_Stack): Adding documentation.
|
||
(Restore_Scope_Stack): Remove the elements of the list when the
|
||
visibility of each entity is restored.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, sem.ads, sem_util.adb: Minor reformatting.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb, sem_ch8.ads: Minor reformatting.
|
||
|
||
2013-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor reformatting and rewording for consistency.
|
||
|
||
2013-07-08 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Master): If Desig_Type is an incomplete
|
||
view coming from a limited-with'ed package, use the nonlimited
|
||
view in case it has tasks.
|
||
|
||
2013-07-08 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch8.ad[sb] (Save_Scope_Stack): Modified to return the list
|
||
of entities which have been temporarily removed from immediate
|
||
visibility.
|
||
(Restore_Scope_Stack): Modified to receive an
|
||
additional parameter with the list of entities whose immediate
|
||
visibility must be restored.
|
||
* sem.adb (Do_Analyze): Use new version of
|
||
Save_Scope_Stack/Restore_Scope_Stack
|
||
* sem_ch12.adb (Inline_Instance_Body): Use new version of
|
||
Save_Scope_Stack and Restore_Scope_Stack
|
||
|
||
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Remove
|
||
variable Unit_Prag. Remove the check on duplicate mode for the
|
||
configuration form of the pragma.
|
||
(Redefinition_Error): Removed.
|
||
|
||
2013-07-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.ads, gnat_rm.texi, einfo.ads, sem_ch13.adb: Minor reformatting
|
||
and editing.
|
||
|
||
2013-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode,
|
||
pre-analyze only the original expression attached to the source
|
||
aspect, not the relocated expression of the pragma, to prevent
|
||
malformed trees in ASIS mode.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Revert previous
|
||
patch: the expression in the aspect for pre/post must be relocated
|
||
to the pragma for proper analysis.
|
||
|
||
2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.
|
||
* aspects.ads: Add an entry for SPARK_Mode in tables Aspect_Id,
|
||
Aspect_Argument, Aspect_Names.
|
||
* atree.adb (Node32): New routine.
|
||
(Set_Node32): New routine.
|
||
* atree.ads (Node32): New routine.
|
||
(Set_Node32): New routine.
|
||
* einfo.adb: Node32 is now used as SPARK_Mode_Pragmas.
|
||
(Set_SPARK_Mode_Pragmas): New routine.
|
||
(SPARK_Mode_Pragmas): New routine.
|
||
(Write_Field32_Name): Add and entry for SPARK_Modes.
|
||
* einfo.ads: Add attribute SPARK_Mode_Pragmas along with usage
|
||
in various entities.
|
||
(Set_SPARK_Mode_Pragmas): New routine and
|
||
pragma Inline.
|
||
(SPARK_Mode_Pragmas): New routine and pragma Inline.
|
||
* gnat_rm.texi: Add sections explaining the syntax and semantics
|
||
of aspect/pragma SPARK_Mode.
|
||
* gnat_ugn.texi: Add pragma SPARK_Mode to the list of
|
||
configuration pragmas.
|
||
* lib.adb (Set_SPARK_Mode_Pragma): New routine.
|
||
(SPARK_Mode_Pragma): New routine.
|
||
* lib.ads: Alphabetize the comments on fields of record
|
||
Unit_Record. Add new field SPARK_Mode_Pragma along with
|
||
comment on its usage. Update the layout of record Unit_Record.
|
||
(Set_SPARK_Mode_Pragma): New routine and pragma Inline.
|
||
(SPARK_Mode_Pragma): New routine and pragma Inline.
|
||
* lib-load.adb (Create_Dummy_Package_Unit): Initialize
|
||
field SPARK_Mode_Pragma.
|
||
(Load_Main_Source): Initialize field SPARK_Mode_Pragma.
|
||
(Load_Unit): Initialize field SPARK_Mode_Pragma.
|
||
* lib-writ.adb (Add_Preprocessing_Dependency): Initialize field
|
||
SPARK_Mode_Pragma.
|
||
(Ensure_System_Dependency): Initialize field SPARK_Mode_Pragma.
|
||
* opt.ads: Alphabetize verification flags. Store the
|
||
compilation-wide SPARK mode in variable Global_SPARK_Mode.
|
||
* par-prag.adb: Pragma SPARK_Mode does not need special processing
|
||
by the parser.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
|
||
SPARK_Mode into a pragma.
|
||
(Check_Aspect_At_Freeze_Point): Aspect SPARK_Mode does not need
|
||
delayed processing.
|
||
* sem_prag.adb: Add an entry for SPARK_Mode in table Sig_Flags.
|
||
(Analyze_Pragma): Add processing for pragma SPARK_Mode.
|
||
(Get_SPARK_Mode_Id): New routine.
|
||
(Is_Elaboration_SPARK_Mode): New routine.
|
||
(Is_Private_SPARK_Mode): New routine.
|
||
* sem_prag.ads (Get_SPARK_Mode_Id): New routine.
|
||
(Is_Elaboration_SPARK_Mode): New routine.
|
||
(Is_Private_SPARK_Mode): New routine.
|
||
* sinfo.ads: Update the comment on the usage of field Next_Pragma.
|
||
* snames.ads-tmpl: Add new predefined name for SPARK_Mode and
|
||
Auto. Add new pragma Id for SPARK_Mode.
|
||
* types.ads: Add new type SPARK_Mode_Id.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For
|
||
pre/postconditions copy the expression to the generated pragma,
|
||
to avoid sharing between the original aspect and the pragma node,
|
||
because in ASIS_Mode both will be independently analyzed.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of
|
||
formals for each discriminant of an unchecked union.
|
||
(Make_Eq_Case): Suprogram accepts a list of discriminants. Nested
|
||
variants are supported. New helper function Corresponding_Formal.
|
||
* exp_ch4.adb (Build_Equality_Call): For unchecked unions,
|
||
loop through discriminants to create list of inferred values,
|
||
and modify call to equality routine accordingly.
|
||
|
||
2013-07-05 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
|
||
a-cforse.ads, a-cofove.ads: Add preconditions when needed +
|
||
container types are not tagged any more.
|
||
|
||
2013-07-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): For an object with captured
|
||
initialization statements, do not remove Init_Stmts from the
|
||
enclosing list, as Freeze_All might rely on it to know where to
|
||
stop freezing.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb, a-cfdlli.ads, a-ngelfu.ads, s-bignum.adb: Minor
|
||
reformatting.
|
||
|
||
2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Composite_Equality): Use the full view
|
||
when the base type is private.
|
||
|
||
2013-07-05 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads: Add preconditions when needed.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Subprogram_Declaration): Use
|
||
Generate_Reference_To_Formals.
|
||
* lib-xref.adb (Generate_Reference_To_Formals): In the case of
|
||
access to subprograms, the formals are found in the designated
|
||
subprogram type.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document that comments can be lined up with
|
||
previous non-blank line.
|
||
* styleg.adb (Check_Comment): Allow indentation to match previous
|
||
non-blank line (Same_Column_As_Previous_Line): New function
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Update doc on missing pragmas.
|
||
* sem_ch12.adb: Minor comment additions.
|
||
|
||
2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Ensure that
|
||
Contract_Cases, Depends and Global are analyzed when they apply
|
||
to a subprogram compilation unit. The pragmas are all added
|
||
unconditionally to the construct's contract. This ensures that
|
||
proof tools can locate the pragmas.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Freeze_Actual_Profile): An instance within
|
||
a generic unit does not freeze a generic private type of the
|
||
enclosing generic. This rule must also apply to a type derived
|
||
from a generic private type.
|
||
|
||
2013-07-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi: Add missing documentation for pragmas.
|
||
|
||
2013-07-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor comment.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that -gnatR and -gnatD cannot be used
|
||
together.
|
||
* switch-c.adb: Do not allow -gnatD and -gnatR to both be
|
||
specified.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add missing documentation for pragmas.
|
||
* sem_ch8.adb: Minor reformatting.
|
||
* gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used
|
||
together.
|
||
|
||
2013-07-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force
|
||
instance of subprogram body in SPARK mode, by testing Expander_Active
|
||
(set in SPARK mode) instead of Full_Expander_Active (not set in
|
||
SPARK mode).
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Remove test of obsolete flag
|
||
Propagate_Exceptions, and associated useless code that did
|
||
nothing.
|
||
* gnat_rm.texi: Add documentation for obsolete pragma
|
||
Propagate_Exceptions.
|
||
* opt.ads (Propagate_Exceptions): Obsolete flag removed.
|
||
* sem_prag.adb (Analyze_Pragma, case Propagate_Exceptions):
|
||
Remove useless and obsolete setting of Propagate_Exceptions flag.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_prag.adb: Minor comment/text fixes.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add missing doc for various pragmas.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, sem_ch12.adb, par-ch5.adb: Minor reformatting.
|
||
* gnat_rm.texi: Document pragma Profile_Warnings.
|
||
* restrict.ads, sem_prag.adb: Minor reformatting.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
|
||
a formal subprogram that was defaulted in the formal package.
|
||
|
||
2013-07-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Declarations_Or_Statements): Ignore
|
||
N_Implicit_Label_Declaration nodes.
|
||
|
||
2013-07-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Copy_Generic_Node): Check that name in function
|
||
call is a valid entity name before preserving entity in generic
|
||
copy.
|
||
|
||
2013-07-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-ch5.adb: Minor reformatting.
|
||
|
||
2013-07-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads: Minor clarification to documentation for
|
||
N_Implicit_Label_Declaration.
|
||
|
||
2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the
|
||
values of all remaining constants.
|
||
(Rcheck_35): New routine along with pragmas Export and No_Return.
|
||
(Rcheck_PE_Aliased_Parameters): New routine along with pragmas
|
||
Export and No_Return.
|
||
(Rcheck_PE_All_Guards_Closed,
|
||
Rcheck_PE_Bad_Predicated_Generic_Type,
|
||
Rcheck_PE_Current_Task_In_Entry_Body,
|
||
Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise,
|
||
Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value,
|
||
Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object,
|
||
Rcheck_PE_Potentially_Blocking_Operation
|
||
Rcheck_PE_Stubbed_Subprogram_Called,
|
||
Rcheck_PE_Unchecked_Union_Restriction,
|
||
Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool,
|
||
Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion,
|
||
Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception):
|
||
Update the use of Rmsg_XX.
|
||
(Rcheck_17, Rcheck_18, Rcheck_19,
|
||
Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25,
|
||
Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31,
|
||
Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding
|
||
renamed subprograms.
|
||
* checks.adb: Add with and use clause for Stringt.
|
||
(Apply_Parameter_Aliasing_Checks): Make constant Loc visible in
|
||
all subprograms of Apply_Parameter_Aliasing_Checks. Remove local
|
||
variable Cond. Initialize Check at the start of the routine. Use
|
||
routine Overlap_Check to construct a simple or a detailed run-time
|
||
check. Update the creation of the simple check.
|
||
(Overlap_Check): New routine.
|
||
* exp_ch11.adb (Get_RT_Exception_Name): Add a value for
|
||
PE_Aliased_Parameters.
|
||
* types.ads: Add new enumeration literal
|
||
PE_Aliased_Parameters. Update the corresponding integer values
|
||
of all RT_Exception_Code literals.
|
||
* types.h: Add new constant PE_Aliased_Parameters. Correct the
|
||
values of all remaining constants.
|
||
|
||
2013-07-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in
|
||
documentation.
|
||
|
||
2013-07-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide
|
||
condition, when replacing the name of a formal by a conversion
|
||
to the class-wide type, exempt selector names that appear in
|
||
parameter associations.
|
||
|
||
2013-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): Delete.
|
||
* gcc-interface/gigi.h (annotate_object): Adjust prototype.
|
||
(convert_vms_descriptor): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Do not pass fat pointer
|
||
types by double dereference.
|
||
(annotate_object): Remove BY_DOUBLE_REF parameter and adjust.
|
||
(gnat_to_gnu_entity): Adjust calls to annotate_object.
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Do not deal with double
|
||
dereference.
|
||
(Call_to_gnu): Likewise.
|
||
(build_function_stub): Adjust call to convert_vms_descriptor.
|
||
(Subprogram_Body_to_gnu): Adjust call to annotate_object.
|
||
* gcc-interface/utils.c (convert_vms_descriptor): Remove BY_REF
|
||
parameter and adjust.
|
||
|
||
2013-05-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (arm% androideabi): Robustify.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not
|
||
check that access types have a set size.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (vinfo_t): New type and associated vector.
|
||
(components_to_record): Change return type to bool.
|
||
Lay out the variants in two passes. Do not force a specific layout for
|
||
the variant part if the variants do not have a representation clause.
|
||
Take the alignment of the variant part into account when laying out
|
||
variants without rep clause in a record type with a partial rep clause.
|
||
(create_rep_part): Do not set the position of the field.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Last_Bit>: Add kludge
|
||
to avoid generating an overflow for -1.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (create_type_decl): Adjust prototype.
|
||
(create_label_decl): Complete prototype.
|
||
(process_attributes): Declare.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust multiple calls to
|
||
create_type_decl throughout.
|
||
<E_Enumeration_Type>: Do the layout of the type manually and call
|
||
process_attributes on it. Reindent.
|
||
<E_Enumeration_Subtype>: Minor tweak.
|
||
<E_Floating_Point_Subtype>: Reindent.
|
||
<E_Array_Subtype>: Call process_attributes on the array type built
|
||
for a packed array type.
|
||
<E_Record_Type>: Call process_attributes on the type.
|
||
<E_Record_Subtype>: Likewise.
|
||
<E_Access_Type>: Likewise.
|
||
<E_Subprogram_Type>: Likewise.
|
||
Likewise for all types at the end of the processing.
|
||
* gcc-interface/utils.c (make_aligning_type): Adjust call to
|
||
create_type_decl.
|
||
(maybe_pad_type): Likewise.
|
||
(create_index_type): Likewise.
|
||
(create_type_decl): Remove attr_list parameter and associated code.
|
||
(create_var_decl_1): Call process_attributes on the variable.
|
||
(process_attributes): Take a pointer to the object and add in_place
|
||
and gnat_node parameters and adjust throughout.
|
||
<ATTR_MACHINE_ATTRIBUTE>: Pass ATTR_FLAG_TYPE_IN_PLACE only on demand
|
||
and set the input location.
|
||
Zap the attribute list at the end.
|
||
(create_subprog_decl): Call process_attributes on the subprogram.
|
||
(build_unc_object_type): Adjust call to create_type_decl.
|
||
(handle_vector_type_attribute): Remove dead code.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (make_aligning_type): Adjust prototype.
|
||
* gcc-interface/utils.c (make_aligning_type): Take GNAT_NODE parameter
|
||
for the position of the associated TYPE_DECL.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to above.
|
||
* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely
|
||
elaborate the full view of a type with a freeze node.
|
||
* gcc-interface/trans.c (process_type): Add explicit predicate.
|
||
|
||
2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Always build the
|
||
UNC variable for aliased objects with unconstrained nominal subtype.
|
||
|
||
2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (gnat_init_gcc_fp): Declare.
|
||
* gcc-interface/trans.c (gigi): Call it.
|
||
* gcc-interface/misc.c (gnat_init_gcc_fp): New function.
|
||
|
||
2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (enum inline_status_t): New type.
|
||
(create_subprog_decl): Adjust prototype.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust
|
||
calls to create_subprog_decl.
|
||
(get_minimal_subprog_decl): Likewise.
|
||
* gcc-interface/trans.c (gigi): Likewise.
|
||
(build_raise_check): Likewise.
|
||
(establish_gnat_vms_condition_handler): Likewise.
|
||
(Compilation_Unit_to_gnu): Likewise.
|
||
(gnat_to_gnu): Likewise.
|
||
* gcc-interface/utils.c (create_subprog_decl): Change inline_flag
|
||
parameter to inline_status and implement for suppressed inlining.
|
||
|
||
2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (LOOP_STMT_NO_UNROLL): New define.
|
||
(LOOP_STMT_UNROLL): Likewise.
|
||
(LOOP_STMT_NO_VECTOR): Likewise.
|
||
(LOOP_STMT_VECTOR): Likewise.
|
||
* gcc-interface/trans.c (struct loop_info_d): Replace label field
|
||
with stmt field.
|
||
(Pragma_to_gnu) <Pragma_Loop_Optimize>: New case.
|
||
(Loop_Statement_to_gnu): Save the loop statement onto the stack
|
||
instead of the label.
|
||
(gnat_to_gnu) <N_Exit_Statement>: Retrieve the loop label.
|
||
|
||
2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c: Include diagnostic.h and opts.h.
|
||
(Pragma_to_gnu) <Pragma_Warnings>: New case.
|
||
|
||
2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Constify
|
||
a handful of local variables.
|
||
For a derived untagged type that renames discriminants, change the type
|
||
of the stored discriminants to a subtype with the bounds of the type
|
||
of the visible discriminants.
|
||
(build_subst_list): Rename local variable.
|
||
|
||
2013-05-16 Jason Merrill <jason@redhat.com>
|
||
|
||
* gcc-interface/Make-lang.in (gnat1$(exeext)): Use link mutex.
|
||
|
||
2013-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR ada/57188
|
||
* gcc-interface/Makefile.in: Allow for amd64 solaris2.
|
||
|
||
2013-05-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/56474
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
|
||
int_const_binop to shift bounds by 1 when they are integer constants.
|
||
|
||
2013-04-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Update the comment associated
|
||
with the call to Check_Expression_Against_Static_Predicate.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Update the comment
|
||
associated with the call to Check_Expression_Against_Static_Predicate.
|
||
* sem_util.adb (Check_Expression_Against_Static_Predicate):
|
||
Broaden the check from a static expression to an expression with
|
||
a known value at compile time.
|
||
* sem_util.ads (Check_Expression_Against_Static_Predicate): Update
|
||
comment on usage.
|
||
|
||
2013-04-25 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, cases Position,
|
||
First_Bit, and Last_Bit): Fix incorrect test in implementation of
|
||
RM 2005 13.5.2(3/2).
|
||
|
||
2013-04-25 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb,
|
||
a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads
|
||
(Query_Element): Removed.
|
||
(Update_Element): Removed.
|
||
(Insert): The version with no New_Item specified is removed.
|
||
(Iterate): Removed.
|
||
(Write): Removed.
|
||
(Read): Removed.
|
||
Every check of fields Busy and Lock has been removed.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove
|
||
call to S14_Pragma (Find_Related_Subprogram): Require proper
|
||
placement in subprogram body (Find_Related_Subprogram): Detect
|
||
duplicates for all cases (Find_Related_Subprogram): Handle case
|
||
of spec nested inside body.
|
||
|
||
2013-04-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-prag.adb: Fix typo.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): If the type has a static
|
||
predicate and the expression is also static, check whether the
|
||
expression satisfies the predicate.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): If the type has a
|
||
static predicate and the expression is also static, see if the
|
||
expression satisfies the predicate.
|
||
* sem_util.adb: Alphabetize several routines.
|
||
(Check_Expression_Against_Static_Predicate): New routine.
|
||
* sem_util.ads (Check_Expression_Against_Static_Predicate): New routine.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document Reason argument for pragma Warnings.
|
||
* par-prag.adb: Handle Reason parameter for pragma Warnings.
|
||
* sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument.
|
||
* snames.ads-tmpl (Name_Reason): New name entry.
|
||
|
||
2013-04-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_In): Remove procedure.
|
||
(Expand_SPARK): Remove special expansion for membership tests.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Update all places
|
||
that should use constant Base_Typ. When building an invariant
|
||
check, account for invariants coming from the base type. Prevent
|
||
the creation of a junk invariant check when the related object
|
||
is of an array type and it is initialized with an aggregate.
|
||
* exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use
|
||
the base type to create an invariant call when the type of the
|
||
expression is a composite subtype.
|
||
|
||
2013-04-25 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* a-cborse.adb: Fix minor typo.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Different_Generic_Profile): A spec and body
|
||
match in an instance if a subtype declaration that renames a
|
||
generic actual with the same name appears between spec and body.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to
|
||
fold strings with a single others choice only if there are no
|
||
expressions in the aggregate.
|
||
|
||
2013-04-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update doc on Ada 2012 default mode.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb: Add with and use clause for Stringt.
|
||
(Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters
|
||
Decls and Stmts along with comments on their usage.
|
||
* exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6.
|
||
* sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6.
|
||
(Process_Contract_Cases): Update the call to Expand_Contract_Cases.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing, to clarify use of dimension aspects.
|
||
* sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an
|
||
aggregate for a packed type, which may be converted into an
|
||
unchecked conversion of an object.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor code reorganization (correct misspelling
|
||
Restiction).
|
||
* sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting.
|
||
* gnat_rm.texi: Document impl-defined aspects.
|
||
* sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor
|
||
reformatting.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Set_Abstract_States): The attribute now applies
|
||
to generic packages.
|
||
* sem_ch4.adb (Referenced): Moved to sem_util.
|
||
* sem_ch7.adb (Unit_Requires_Body): A [generic] package with
|
||
a non-null abstract state needs a body.
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls
|
||
to Collect_Subprogram_Inputs_Outputs.
|
||
(Analyze_Global_Item): Verify the proper usage of an item with mode
|
||
In_Out or Output relative to the enclosing context.
|
||
(Analyze_Pragma): Abstract_State can now be applied to a generic
|
||
package. Do not reset the Analyzed flag for pragmas Depends and Global
|
||
as this is not needed.
|
||
(Appears_In): Moved to library level.
|
||
(Check_Mode_Restiction_In_Enclosing_Context): New routine.
|
||
(Collect_Subprogram_Inputs_Outputs): Moved to library level. Add
|
||
formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global
|
||
seen along with comments on usage.
|
||
* sem_util.ads, sem_util.adb (Referenced): New routine.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Expand_Contract_Cases): Generate
|
||
detailed error messages only when switch -gnateE is in effect.
|
||
|
||
2013-04-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Do not issue
|
||
an error for a possibly misplaced 'Result or 'Old attribute when
|
||
analyzing the aspect.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression):
|
||
Add local variable Loop_Id. Verify that the loop variable
|
||
is used within the condition of the quantified expression.
|
||
(Referenced): New routine.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_case.adb (Analyze_Choices): Enhance the error message
|
||
given on a bad use of subtype predicate.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance
|
||
the error message given on a bad use of subtype predicate.
|
||
* sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter
|
||
Suggest_Static. Emit an extra error message advising how to
|
||
remedy the bad use of the predicate if the context warrants it.
|
||
* sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter
|
||
Suggest_Static along with a comment explaining its usage.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Operation): Further refinement
|
||
to checks for AI05-0125: the check for a hidden primitive that
|
||
may be overridden by the new declaration only applies if the
|
||
hidden operation is never declared. This is not the case if the
|
||
operation is declared in a parent unit.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Remove d.X and d.Y entries and documentation.
|
||
* exp_ch4.adb (Expand_N_If_Expression): Remove special code used
|
||
if expression with actions not available (now always available).
|
||
(Expand_Short_Circuit_Operator): Same change.
|
||
* gnat1drv.adb (Adjust_Global_Switches) Remove setting
|
||
Use_Expression_With_Actions flag, since this is now obsolete.
|
||
* opt.ads (Use_Expression_Actions): Removed (always True now).
|
||
* sinfo.ads: Minor comment updates.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Generic_Actuals): If an actual is an array
|
||
subtype whose base type is currently private, install full view
|
||
when compiling instance body.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Operation): Refine checks for
|
||
AI05-0125: the check for a hidden primitive that may be overridden
|
||
by the new declaration is only performed if the declaration comes
|
||
from source, and it must carry an explicit overriding indicator.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Abstract_States): The attribute now applies to
|
||
generic packages.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Check whether an
|
||
object declaration introduces an illegal hidden state.
|
||
* sem_prag.adb (Analyze_Abstract_State): Check whether a state
|
||
declaration introduces an illegal hidden state.
|
||
* sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may
|
||
be to a protected function, in which case the name in the call
|
||
is a selected component.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression):
|
||
Warn on a suspicious use of quantifier "some" when "all" was meant.
|
||
(No_Else_Or_Trivial_True): New routine.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb: Put back with/use for Namet.
|
||
(Get_Pragma): New name (wi new spec) for Find_Pragma.
|
||
* sem_ch6.adb: Change name Find_Pragma to Get_Pragma with
|
||
different interface.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Is_Visible_Component): In an instance all
|
||
components are visible.
|
||
|
||
2013-04-25 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for
|
||
tampering when container empty.
|
||
* a-crbtgk.adb (Ceiling, Find, Floor): ditto.
|
||
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
|
||
ditto.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch12.adb: Move aspects from package specification to
|
||
generic package declaration.
|
||
* sem_ch12.adb: Analyze aspect specifications before building
|
||
and analyzing the generic copy, so that the generated pragmas
|
||
are properly taken into account.
|
||
* sem_ch13.adb: For compilation unit aspects that apply to a
|
||
generic package declaration, insert corresponding pragmas ahead
|
||
of visible declarations.
|
||
* sprint.adb: Display properly the aspects of a generic type
|
||
declaration.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb: Minor reformatting.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Extend documentation on use of Is_Private_Ancestor
|
||
for untagged types.
|
||
* sem_ch3.adb (Is_Visible_Component): Refine predicate for the
|
||
case of untagged types derived from private types, to reject
|
||
illegal selected components.
|
||
|
||
2013-04-25 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
|
||
for case of selecting from an unexpanded implicit dereference
|
||
and do not make a recursive call on such a prefix.
|
||
|
||
2013-04-25 Doug Rupp <rupp@adacore.com>
|
||
|
||
* targparm.adb (VXF{_Str}): New tag for vaxfloat.
|
||
(Get_Target_Parameters): Handle VXF tag.
|
||
* targparm.ads (VAX_Float_On_Target): New boolean.
|
||
* system-vms-ia64.ads (VAX_Float): New boolean.
|
||
* frontend.adb (Frontend): Handle VAX float boolean.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb: Remove with and use clauses for Namet.
|
||
(Find_Pragma): New routine.
|
||
* sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Call): Do not capture the nature of the inherited
|
||
predicate.
|
||
(Add_Predicates): Save the static predicate for diagnostics and error
|
||
reporting purposes.
|
||
(Process_PPCs): Remove local variables Dynamic_Predicate_Present and
|
||
Static_Predicate_Present. Add local variable Static_Pred. Ensure that
|
||
the expression of a static predicate is static.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Is_Ghost_Subprogram): Remove useless code.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor addition of index entry.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Access_Invariants): Test whether an
|
||
invariant procedure is empty before generating a call to it.
|
||
(Has_Enabled_Predicate): New routine.
|
||
(Has_Null_Body): New routine.
|
||
(Process_PPCs): Test whether an invariant procedure is
|
||
empty before generating a call to it. Test whether predicates are
|
||
enabled for a particular type before generating a predicate call.
|
||
* sem_util.ads, sem_util.adb (Find_Pragma): New routine.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl,
|
||
snames.ads-tmpl: Minor reformatting.
|
||
|
||
2013-04-25 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch7.adb: Minor reformatting.
|
||
|
||
2013-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed).
|
||
* s-tarest.adb: Minor reformatting.
|
||
|
||
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Remove aspect Ghost from all relevant
|
||
tables.
|
||
* einfo.adb: Remove with and use clause for Aspects.
|
||
(Is_Ghost_Function): Removed.
|
||
(Is_Ghost_Entity): New routine.
|
||
(Is_Ghost_Subprogram): New routine.
|
||
* einfo.ads: Remove synthesized attribute Is_Ghost_Function
|
||
along with its uses in entities. Add synthesized attributes
|
||
Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related
|
||
entities.
|
||
(Is_Ghost_Function): Removed.
|
||
(Is_Ghost_Entity): New routine.
|
||
(Is_Ghost_Subprogram): New routine.
|
||
* par-prag.adb: Remove pragma Ghost from the processing machinery.
|
||
* repinfo.adb (List_Mechanisms): Add a value for convention Ghost.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Update the check
|
||
for ghost subprograms.
|
||
* sem_ch4.adb (Analyze_Call): Update the check for calls
|
||
to ghost subprograms.
|
||
(Check_Ghost_Function_Call): Removed.
|
||
(Check_Ghost_Subprogram_Call): New routine.
|
||
* sem_ch6.adb (Check_Convention): Rewritten.
|
||
(Check_Overriding_Indicator): Remove the check for overriding
|
||
ghost functions.
|
||
(Convention_Of): New routine.
|
||
* sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost
|
||
generic actual subprograms.
|
||
* sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost.
|
||
* sem_prag.adb: Remove the value for pragma Ghost from
|
||
table Sig_Flags.
|
||
(Analyze_Pragma): Remove the processing for pragma Ghost.
|
||
(Process_Convention): Emit an error when a ghost
|
||
subprogram attempts to override.
|
||
(Set_Convention_From_Pragma): Emit an error when a ghost subprogram
|
||
attempts to override.
|
||
* sinfo.ads: Clarify the usage of field Label_Construct.
|
||
* snames.adb-tmpl (Get_Convention_Id): Add an entry for
|
||
predefined name Ghost.
|
||
(Get_Convention_Name): Add an entry for convention Ghost.
|
||
* snames.ads-tmpl: Move predefined name Ghost to the sublist
|
||
denoting conventions. Add convention id Ghost. Remove pragma
|
||
id Ghost.
|
||
|
||
2013-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child
|
||
units if within a generic hierarchy.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Add a predicate check on an
|
||
actual the related type has a predicate function.
|
||
* sem_ch3.adb (Constant_Redeclaration): Ensure that the related
|
||
type has an invariant procedure before building a call to it.
|
||
* sem_ch6.adb (Append_Enabled_Item): New routine.
|
||
(Check_Access_Invariants): Use routine
|
||
Append_Enabled_Item to chain onto the list of postconditions.
|
||
(Contains_Enabled_Pragmas): Removed.
|
||
(Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
|
||
the list of postconditions.
|
||
(Invariants_Or_Predicates_Present): Removed.
|
||
(Process_PPCs): Partially reimplemented.
|
||
|
||
2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number because of changes
|
||
in the way how entities are chained in a scope by means of
|
||
Next_Entity link.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
|
||
Storage_Size): If the clause is not from an aspect, insert
|
||
assignment to size variable of task type at the point of the
|
||
clause, not after the task definition, to prevent access before
|
||
elaboration in the back-end.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Document 'Loop_Entry.
|
||
|
||
2013-04-24 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
|
||
fall-back termination handlers from the parents, because they apply
|
||
only to dependent tasks.
|
||
* s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
|
||
termination handlers because the environment task has no parent,
|
||
and if it defines one of these handlers it does not apply to
|
||
itself because they apply only to dependent tasks.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document 'Update attribute.
|
||
* sem_attr.adb (Analyze_Attribute, case Update): Remove call
|
||
to S14_Attribute (S14_Attribute): removed.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* interfac.ads: Add size clauses for IEEE_Float_32/64
|
||
|
||
2013-04-24 Claire Dross <dross@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Remove
|
||
special assignment of Use_Expression_With_Actions for SPARK_Mode.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Check for the presence
|
||
of the dynamic predicate aspect when trying to determine if the
|
||
predicate of a type is non-static.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
|
||
for the presence of the dynamic predicate aspect when trying to
|
||
determine if the predicate of a type is non- static.
|
||
* sem_ch13.adb (Add_Call): Capture the nature of the
|
||
inherited ancestor predicate.
|
||
(Build_Predicate_Functions): Update comments. Rewrite the checks on
|
||
static predicate application. Complain about the form of a non-static
|
||
expression only when the type is static.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb: Add guard to tree traversal.
|
||
|
||
2013-04-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Clean): Remove local variable Root_Environment,
|
||
use Makeutl.Root_Environment instead.
|
||
* gnatcmd.adb: Remove local variable Root_Environment, use
|
||
Makeutl.Root_Environment instead.
|
||
* make.adb (Gnatmake): Remove local variable Root_Environment,
|
||
use Makeutl.Root_Environment instead.
|
||
* prj-makr.adb: Remove local variable Root_Environment, use
|
||
Makeutl.Root_Environment instead.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
|
||
extraction of the declarative part of the conditional block. Move
|
||
the processing of simple infinite loops to the start of the
|
||
expansion logic. Correct the check which determines whether the
|
||
proper scope is installed in visibility.
|
||
* sem_attr.adb (Analyze_Attribute): Add local variable Attr
|
||
to keep track of the attribute in case the enclosing indexed
|
||
component has to be rewritten. When searching for the enclosing
|
||
loop, start from the proper attribute reference in case of a
|
||
rewriting. Do not allow for 'Loop_Entry to appear in pragma
|
||
Assert. Replace loop variable J with Index. Set the type of the
|
||
proper attribute.
|
||
* sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
|
||
block that services a loop statement subject to at least one
|
||
'Loop_Entry attribute.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
|
||
resolve a fixed point operation, use first subtype to determine
|
||
whether type and operator are declared in the same list of
|
||
declarations.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): Detect an illegal
|
||
placement of the aspect specification list in the context of
|
||
expression functions.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator): If the designated object
|
||
has tasks, and the pointer type is an itype that has no master
|
||
id, create a master renaming in the current context, which can
|
||
only be an init_proc.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch7.adb: Minor reformatting.
|
||
* gnat_rm.texi: Document pragma Loop_Invariant.
|
||
* sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
|
||
no longer an S14_Attribute.
|
||
* sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
|
||
processing with Assert, allow message parameter, remove call
|
||
to S14_Pragma.
|
||
|
||
2013-04-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch7.adb (Swap_Private_Dependents): New internal routine
|
||
to Install_Private_Declarations, to make the installation of
|
||
private dependents recursive in the presence of child units.
|
||
* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
|
||
the Private_Dependents of a private subtype.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
|
||
retrieval of the block declarations.
|
||
* par-ch4.adb (P_Name): Let the name parsing machinery create
|
||
a sequence of nested indexed components for attribute Loop_Entry.
|
||
* sem_attr.adb (Analyze_Attribute): Add local constant
|
||
Context. Reimplement part of the analysis of attribute Loop_Entry.
|
||
(Convert_To_Indexed_Component): Removed.
|
||
* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
|
||
an indexed component after it has been rewritten into attribute
|
||
Loop_Entry.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* snames.ads-tmpl: Minor change to list
|
||
Loop_(In)variant not in configuration pragma.
|
||
* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
|
||
for analyzing the expressions in pre/postconditions.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
|
||
Analyze_Subprogram_Body_Helper): Reset contract node to Empty
|
||
before setting entity to E_Subprogram_Body.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
|
||
Empty before setting entity to E_Subprogram_Body.
|
||
|
||
2013-04-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document new gnatls switch -aPdir.
|
||
* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
|
||
* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
|
||
a warning for unknown switches.
|
||
(Usage): Add line for new switch -aPdir.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
|
||
if the type comes from a limited view, so that task attributes can be
|
||
constructed.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
|
||
full expansion is not enabled.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
|
||
formals if the type does not yet have a completion, and thus
|
||
has no underlying view.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
|
||
specification for Address as a reference, to suppress warnings
|
||
on entities that may be read by an external device.
|
||
|
||
2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: Add description of '--help' and '--version'
|
||
options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
|
||
|
||
2013-04-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor syntax fix.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
|
||
what and why is being analyzed. Remove the decoration of renamings as
|
||
this simply falls out of the general analysis mechanism.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Explain_Redundancy): New routine.
|
||
(Resolve_Equality_Op): Place the error concerning a redundant
|
||
comparison to True at the "=". Try to explain the nature of the
|
||
redundant True.
|
||
|
||
2013-04-24 Javier Miranda <miranda@adacore.com>
|
||
|
||
|
||
* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
|
||
check in interface thunks since it is performed at the caller
|
||
side.
|
||
(Expand_Simple_Function_Return): No accessibility check
|
||
needed in thunks since the check is done by the target routine.
|
||
|
||
2013-04-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* xref_lib.adb (Add_Entity): Use the canonical file names
|
||
so that source file names with capital letters are found on
|
||
platforms where file names are case insensitive.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-ch4.adb (P_Name): Continue to parse the name extension when the
|
||
construct is attribute Loop_Entry. Do not convert the attribute
|
||
reference into an indexed component when there is at least one
|
||
expression / range following 'Loop_Entry.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
|
||
(Process_PPCs): Generate procedure _Postconditions
|
||
only when the context has invariants or predicates or enabled
|
||
aspects/pragmas.
|
||
|
||
2013-04-24 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (Host_Entry): Introduce intermediate copy of
|
||
memory location pointed to by Hostent_H_Addr, as it might not
|
||
have sufficient alignment.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
|
||
calling subprograms which may read it.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Remove Loop_Entry_Attributes from the usage of
|
||
nodes. Flag 260 is now used.
|
||
(Has_Loop_Entry_Attributes): New routine.
|
||
(Loop_Entry_Attributes): Removed.
|
||
(Set_Has_Loop_Entry_Attributes): New routine.
|
||
(Set_Loop_Entry_Attributes): Removed.
|
||
(Write_Entity_Flags): Write out Flag 260.
|
||
(Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
|
||
* einfo.ads: Remove attribute Loop_Entry_Attributes,
|
||
its related comment and uses in nodes. Add new attribute
|
||
Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
|
||
(Has_Loop_Entry_Attributes): New routine and pragma Inline.
|
||
(Loop_Entry_Attributes): Removed along with pragma Inline.
|
||
(Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
|
||
(Set_Loop_Entry_Attributes): Removed along with pragma Inline.
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
|
||
(Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
|
||
* exp_ch5.adb: Remove with and use clause for Elists.
|
||
(Expand_Loop_Entry_Attributes): Removed.
|
||
(Expand_N_Loop_Statement): Add local variable Stmt. Rename local
|
||
constant Isc to Scheme. When a loop is subject to attribute
|
||
'Loop_Entry, retrieve the nested loop from the conditional
|
||
block. Move the processing of controlled object at the end of
|
||
loop expansion.
|
||
* sem_attr.adb (Analyze_Attribute): Do not chain attribute
|
||
'Loop_Entry to its related loop.
|
||
* sem_ch5.adb (Analyze_Loop_Statement): Add local variable
|
||
Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
|
||
the entire loop is rewritten into a block. Retrieve the nested
|
||
loop in such cases to complete the analysis.
|
||
* sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
|
||
routine.
|
||
(Subject_To_Loop_Entry_Attributes): New routine.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
|
||
(Loop_Variant, xxx) rather than Assert (xxx).
|
||
* gnat_rm.texi: Document pragma Loop_Variant.
|
||
* sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
|
||
to S14_Pragma.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
|
||
errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
|
||
exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
|
||
expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
|
||
lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
|
||
restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
|
||
sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
|
||
sem_res.adb, sem_util.adb: Everything with name
|
||
'Alfa' renamed in 'SPARK'. Update comments.
|
||
Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
|
||
* exp_alfa.adb: renamed exp_spark.adb.
|
||
* exp_alfa.ads: renamed exp_spark.ads.
|
||
* get_alfa.adb: renamed get_spark_xrefs.adb.
|
||
* get_alfa.ads: renamed get_spark_xrefs.ads.
|
||
* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
|
||
* put_alfa.adb: renamed put_spark_xrefs.adb.
|
||
* put_alfa.ads: renamed put_spark_xrefs.ads.
|
||
* alfa.adb: renamed spark_xrefs.adb.
|
||
* alfa.ads: renamed spark_xrefs.ads.
|
||
* alfa_test.adb: renamed spark_xrefs_test.adb.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document pragma Assume.
|
||
* sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
|
||
part of Assert, and no longer requires -gnatd.F
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document pragma Assert_And_Cut.
|
||
* sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
|
||
S14_Pragma call.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.adb: Add guard in Available_View.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
|
||
Find_Related_Subprogram to find the associated subprogram.
|
||
(Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
|
||
to find the associated subprogram.
|
||
(Analyze_Pragma): Use Find_Related_Subprogram to find the associated
|
||
subprogram.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb: Remove with and use clause for Sem_Prag.
|
||
(Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
|
||
the contract of a subprogram.
|
||
* sem_ch3.adb: Remove with and use clause for Sem_Prag.
|
||
(Analyze_Declarations): Call Analyze_Subprogram_Contract to
|
||
analyze the contract of a subprogram.
|
||
* sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
|
||
(Check_Subprogram_Contract): Removed.
|
||
* sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
|
||
(Check_Subprogram_Contract): Removed.
|
||
(Expand_Contract_Cases): Add a guard against malformed contract cases.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Call
|
||
Decorate_Delayed_Aspect_And_Pragma to decorate aspects
|
||
Contract_Cases, Depends and Global. Reimplement the analysis of
|
||
aspect Contract_Cases.
|
||
(Decorate_Delayed_Aspect_And_Pragma): New routine.
|
||
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
|
||
(Analyze_CTC_In_Decl_Part): Removed.
|
||
(Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
|
||
(Analyze_Test_Case_In_Decl_Part): New routine.
|
||
(Find_Related_Subprogram): New routine.
|
||
(Requires_Profile_Installation): Add new formal Prag. Update
|
||
the logic to take into account the origin of the pragma.
|
||
* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
|
||
(Analyze_CTC_In_Decl_Part): Removed.
|
||
(Analyze_Test_Case_In_Decl_Part): New routine.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Move Stdcall tests to
|
||
Set_Convention_From_Pragma so that they are applied to each
|
||
entry of a homonym set.
|
||
(Process_Convention): Don't try to set convention if already set.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatbind.adb: Minor reformatting.
|
||
|
||
2013-04-24 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Gnatclean): Add the default project search
|
||
directories in the project search path after scanning the
|
||
switches on the command line.
|
||
(Initialize): Do not put the default project search directories in the
|
||
project search path.
|
||
* gnatcmd.adb (GNATcmd): Add the default project search
|
||
directories in the project search path after scanning the switches
|
||
on the command line.
|
||
* make.adb (Initialize): Add the default project search
|
||
directories in the project search path after scanning the switches
|
||
on the command line.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* restrict.ads (Restriction_Warnings): Initialize with all False value.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
|
||
* exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
|
||
Predicate_Check.
|
||
* snames.ads-tmpl (Name_Predicate_Check): New check name.
|
||
* types.ads (Predicate_Check): New definition.
|
||
* gnat_rm.texi: Add documentation for Predicate_Check.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
|
||
is a renaming of predefined equality for an untagged record,
|
||
add generated body to the freeze actions for the subprogram, to
|
||
prevent freezing issues when the record has incomplete components.
|
||
* exp_ch4.adb (Expand_Composite_Equality): If the type is a type
|
||
without completion, return a predefined comparison instead of
|
||
just False. This may happen when building the expression for
|
||
record equality, when some component has a type whose completion
|
||
has not been seen yet. The operation will be analyzed an expanded
|
||
after the type has been frozen, at which point all component
|
||
types will have been completed, or an error reported.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
|
||
analysis of a Convention aspect.
|
||
|
||
2013-04-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Machine_Overflows_On_Target): New macro and declaration.
|
||
(Signed_Zeros_On_Target): Likewise.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch6.adb: Add with and use clause for Sem_Prag.
|
||
(Freeze_Subprogram): Analyze all delayed aspects for a null
|
||
procedure so that they are available when analyzing the
|
||
internally-generated _Postconditions routine.
|
||
* exp_ch13.adb: Remove with and use clause for Sem_Prag.
|
||
(Expand_N_Freeze_Entity): Move the code that analyzes delayed
|
||
aspects of null procedures to exp_ch6.Freeze_Subprogram.
|
||
* sem_prag.adb (Analyze_Abstract_State): Update the check on
|
||
volatile requirements.
|
||
|
||
2013-04-24 Bob Duff <duff@adacore.com>
|
||
|
||
* ali-util.ads (Source_Record): New component Stamp_File
|
||
to record from whence the Stamp came.
|
||
* ali-util.adb (Set_Source_Table): Set Stamp_File component.
|
||
* bcheck.adb (Check_Consistency): Print additional information in
|
||
Verbose_Mode.
|
||
* gnatbind.adb (Gnatbind): Print additional information in
|
||
Verbose_Mode.
|
||
|
||
2013-04-24 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch13.adb, sem_prag.adb: Update comments.
|
||
* sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2013-04-24 Doug Rupp <rupp@adacore.com>
|
||
|
||
* vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.
|
||
|
||
2013-04-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sinfo.ads: Minor correction of typo.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Create packed array only when expander is
|
||
active.
|
||
|
||
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
|
||
when the context warrants it.
|
||
(Analyze_Global_In_Decl_List): Install the formals only when
|
||
the context warrants it.
|
||
(Requires_Profile_Installation): New routine.
|
||
|
||
2013-04-24 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
|
||
type is a discriminated private type that does not require use
|
||
of the secondary stack, a constrained subtype of the underlying
|
||
type is created to convey the proper object size to the backend.
|
||
If the return type is originally a private type, the return
|
||
expression is wrapped in an unchecked_conversion. If the return
|
||
expression is used subsequently in a call to the postcondition
|
||
function, this conversion must be undone to prevent a spurious
|
||
error on the analysis of that call.
|
||
|
||
2013-04-23 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR target/55445
|
||
* raise-gcc.c (__SEH__): Additional check that SjLj isn't active.
|
||
|
||
2013-04-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
Pascal Obry <obry@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (targ): Fix target name check.
|
||
(../../gnatmake$(exeext)): Add '+' for LTO.
|
||
(../../gnatlink$(exeext)): Likewise.
|
||
|
||
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of
|
||
pre- and post-conditions.
|
||
(Expand_N_Task_Type_Declaration):
|
||
Use the correct attribute to check for pre- and post-conditions.
|
||
* exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of
|
||
pre- and post-conditions. Analyze delayed classification items.
|
||
* freeze.adb (Freeze_Entity): Use the correct attribute to
|
||
check for pre- and post- conditions.
|
||
* sem_ch3.adb (Analyze_Declarations): Correct the traversal
|
||
of pre- and post-conditions as well as contract- and
|
||
test-cases. Analyze delayed pragmas Depends and Global.
|
||
* sem_ch6.adb (Check_Subprogram_Contract): Use the correct
|
||
attribute to check for pre- and post-conditions, as well as
|
||
contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects):
|
||
Correct the traversal of pre- and post- conditions.
|
||
(Process_Contract_Cases): Update the comment on usage. Correct
|
||
the traversal of contract-cases.
|
||
(Process_Post_Conditions): Update the comment on usage. Correct the
|
||
traversal of pre- and post-conditions.
|
||
(Process_PPCs): Correct the traversal of pre- and post-conditions.
|
||
(Spec_Postconditions): Use the correct
|
||
attribute to check for pre- and post- conditions, as well as
|
||
contract-cases and test-cases.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the
|
||
actions related to aspects Depends and Global. Code refactoring
|
||
for pre- and post-conditions.
|
||
(Insert_Delayed_Pragma): New routine.
|
||
* sem_prag.adb (Add_Item): New routine.
|
||
(Analyze_Depends_In_Decl_Part): New routine.
|
||
(Analyze_Global_In_Decl_Part): New routine.
|
||
(Analyze_Pragma): Reimplement the actions related to aspects Depends and
|
||
Global. Verify that a body acts as a spec for pragma Contract_Cases.
|
||
(Chain_PPC): Use Add_Contract_Item to chain a pragma.
|
||
(Chain_CTC): Correct the traversal of contract-
|
||
and test-cases. Use Add_Contract_Item to chain a pragma.
|
||
(Chain_Contract_Cases): Correct the traversal of contract-
|
||
and test-cases. Use Add_Contract_Item to chain a pragma.
|
||
(Check_Precondition_Postcondition): Update the comment on usage.
|
||
(Check_Test_Case): Update the comment on usage.
|
||
* sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine.
|
||
(Analyze_Global_In_Decl_Part): New routine.
|
||
* sem_util.ads, sem_util.adb (Add_Contract_Item): New routine.
|
||
* sinfo.adb (Classifications): New routine.
|
||
(Contract_Test_Cases): New routine.
|
||
(Pre_Post_Conditions): New routine.
|
||
(Set_Classifications): New routine.
|
||
(Set_Contract_Test_Cases): New routine.
|
||
(Set_Pre_Post_Conditions): New routine.
|
||
(Set_Spec_CTC_List): Removed.
|
||
(Set_Spec_PPC_List): Removed.
|
||
(Spec_CTC_List): Removed.
|
||
(Spec_PPC_List): Removed.
|
||
* sinfo.ads: Update the structure of N_Contruct along with all
|
||
related comments.
|
||
(Classifications): New routine and pragma Inline.
|
||
(Contract_Test_Cases): New routine and pragma Inline.
|
||
(Pre_Post_Conditions): New routine and pragma Inline.
|
||
(Set_Classifications): New routine and pragma Inline.
|
||
(Set_Contract_Test_Cases): New routine and pragma Inline.
|
||
(Set_Pre_Post_Conditions): New routine and pragma Inline.
|
||
(Set_Spec_CTC_List): Removed.
|
||
(Set_Spec_PPC_List): Removed.
|
||
(Spec_CTC_List): Removed.
|
||
(Spec_PPC_List): Removed.
|
||
|
||
2013-04-23 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2
|
||
to account for LIB$STOP not having the chance to add the PC and
|
||
PSL fields.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor code reorganization (remove some redundant
|
||
assignments).
|
||
* sem_ch3.adb, sem_prag.adb: Minor reformatting.
|
||
|
||
2013-04-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* einfo.ads: Minor typo fix.
|
||
* sem_ch13.adb (Build_Predicate_Functions): Reject cases where
|
||
Static_Predicate is applied to a non-scalar or non-static type.
|
||
* sem_prag.adb: Minor typo fix.
|
||
|
||
2013-04-23 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (GNAT$STOP) [VMS]: New function.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Add exp_pakd to context.
|
||
(Constrain_Component_Type): If the component of the parent is
|
||
packed, and the record subtype being built is already frozen,
|
||
as is the case for an itype, the component type itself will not
|
||
be frozen, and the packed array type for it must be constructed
|
||
explicitly.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram.
|
||
|
||
2013-04-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* err_vars.ads (Error_Msg_Qual_Level): Set variable to zero
|
||
at declaration.
|
||
* opt.ads (Multiple_Unit_Index): Set variable to zero at declaration.
|
||
* sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration.
|
||
* set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration.
|
||
* stylesw.adb (Save_Style_Check_Options): Protect testing the
|
||
value of Style_Check_Comments_Spacing by a previous test that
|
||
Style_Check_Comments is True.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb, sem_prag.ads (Effective_Name): Rename to
|
||
Original_Name, and move declaration to package body as this
|
||
subprogram is not used from outside. Also clarify documentation.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with
|
||
initialize_scalars, disable predicate checks on the generated
|
||
assignment to an out scalar parameter.
|
||
|
||
2013-04-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Allocator): Remove error
|
||
check for "constrained in partial view" constraints entirely.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, sem_prag.ads: Minor reformatting.
|
||
* errout.ads: Comment update.
|
||
|
||
2013-04-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch5.adb: Minor typo.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads: Minor documentation clarification.
|
||
|
||
2013-04-23 Bob Duff <duff@adacore.com>
|
||
|
||
* types.ads: Fix incorrect comment.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View):
|
||
Rename subprogram as Object_Type_Has_Constrained_Partial_View, better
|
||
description of purpose.
|
||
* checks.adb (Apply_Discriminant_Check): Use above renaming.
|
||
* sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View
|
||
of the base type, rather than using the Object_Type predicate.
|
||
* sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming.
|
||
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto.
|
||
* exp_ch4.adb (Expand_N_Allocator): Ditto.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): Check for Assert rather
|
||
than Assertion.
|
||
* sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec
|
||
(Effective_Name): New function (Analyze_Pragma, case Check):
|
||
Disallow [Statement_]Assertions (Check_Kind): Implement
|
||
Statement_Assertions (Check_Applicable_Policy): Use Effective_Name
|
||
(Is_Valid_Assertion_Kind): Allow Statement_Assertions.
|
||
* sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body
|
||
(Effective_Name): New function.
|
||
* sem_res.adb: Minor reformatting.
|
||
* snames.ads-tmpl (Name_Statement_Assertions): New entry.
|
||
* gnat_rm.texi: Add documentation of new assertion kind
|
||
Statement_Assertions.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor
|
||
reformatting and code clean up.
|
||
|
||
2013-04-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.ads, prj-conf.ads: Minor comment updates.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.adb (Predicate_Function): For a private type, retrieve
|
||
predicate function from full view.
|
||
* aspects.adb (Find_Aspect): Ditto.
|
||
* exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
|
||
the actual is a definite type, apply predicate check after call.
|
||
* sem_res.adb: Do not apply a predicate check before the call to
|
||
a generated Init_Proc.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Significant
|
||
rewrite to make sure Is_Ignore is properly captured when aspect
|
||
is declared.
|
||
* sem_ch6.adb: Minor reformatting.
|
||
* sem_prag.adb (Analyze_Pragma): Do not test policy at time of
|
||
pragma for the case of a pragma coming from an aspect (already
|
||
tested when we analyzed the aspect).
|
||
|
||
2013-04-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Parse_Project_And_Apply_Config): New
|
||
Boolean parameter Implicit_Project, defaulted to False. Call
|
||
Prj.Part.Parse with Implicit_Project.
|
||
* prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
|
||
parameter Implicit_Project, defaulted to False.
|
||
* prj-part.adb (Parse_Single_Project): New Boolean parameter
|
||
Implicit_Project, defaulted to False. When Implicit_Project is
|
||
True, change the Directory of the project node to the Current_Dir.
|
||
* prj-part.ads (Parse): New Boolean parameter, defaulted to False
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb: Minor reformatting.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* xoscons.adb: Minor reformatting.
|
||
|
||
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Mode): Ensure that a
|
||
self-referential output appears in both input and output lists of
|
||
the subprogram as categorized by aspect Global.
|
||
(Check_Usage): Rename formal parameters to better illustrate their
|
||
function. Update all uses of the said formals.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
|
||
parameter Append_NUL to make NUL-termination optional.
|
||
* exp_dist.adb: Consistently use the above throughout instead of
|
||
Get_Library_Unit_Name_String.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor
|
||
reformatting.
|
||
|
||
2013-04-23 Pascal Obry <obry@adacore.com>
|
||
|
||
* xoscons.adb: Remove unused use clause, minor code clean-up.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function
|
||
(can apply to any scope entity).
|
||
* sem_res.adb (Resolve_Call): If the call is within another
|
||
expression function it does not constitute a freeze point.
|
||
|
||
2013-04-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Test that Subp
|
||
is overloadable before testing if it's an inherited operation.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
|
||
reformatting.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
|
||
* exp_util.adb (Expand_Subtype_From_Expr): If the expression
|
||
is a source entity and the declaration is for an aliased
|
||
unconstrained array, create a new subtype so that the flag
|
||
Is_Constr_Subt_For_UN_Aliased does not pollute other entities.
|
||
|
||
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Move tables Base_Aspect and Inherited_Aspect
|
||
from the spec to the body.
|
||
(Find_Aspect): Update the call to Get_Aspect_Id.
|
||
(Get_Aspect_Id): New version that takes an aspect specification.
|
||
* aspects.ads: Reorganize all aspect related tables.
|
||
(Get_Aspect_Id): New version that takes an aspect specification.
|
||
* par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
|
||
the call to Get_Aspect_Id.
|
||
* sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
|
||
call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update
|
||
the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.
|
||
|
||
2013-04-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Fix_Error): Rewrite to do more accurate job
|
||
of getting proper name in the case where pragma comes from
|
||
aspect.
|
||
* sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.
|
||
|
||
2013-04-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
|
||
applicable policy.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.
|
||
|
||
2013-04-23 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c: Move facility macros outside IN_RTS.
|
||
|
||
2013-04-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): For the case of a bit-packed
|
||
array time that is known at compile time to have more that
|
||
Integer'Last+1 elements, issue an error, since such arrays are
|
||
not supported.
|
||
|
||
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Dependency_Clause): Update all calls to
|
||
Analyze_Input_Output.
|
||
(Analyze_Input_List): Update all calls to Analyze_Input_Output.
|
||
(Analyze_Input_Output): Add formal parameter Self_Ref along with
|
||
comment on its usage. Update all calls to Analyze_Input_Output.
|
||
(Analyze_Pragma): Add new local variable Self_Ref to capture
|
||
the presence of a self-referential dependency clause. Update
|
||
all calls to Analyze_Input_Output.
|
||
(Check_Mode): Add formal parameter Self_Ref along with comment on its
|
||
usage. Verify the legality of a self-referential output.
|
||
|
||
2013-04-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb: Add predicate checks on by-copy parameter.
|
||
|
||
2013-04-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* a-envvar.adb, a-envvar.ads (Value): New.
|
||
|
||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
|
||
null statement if ignored.
|
||
* sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
|
||
* sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.
|
||
|
||
2013-04-22 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Contract_Case): New routine.
|
||
(Analyze_Pragma): Aspect/pragma Contract_Cases can
|
||
now be associated with a library level subprogram.
|
||
Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
|
||
in a subprogram body.
|
||
(Chain_Contract_Cases): Rename formal parameter Subp_Decl to
|
||
Subp_Id. Remove local constant Subp. The entity of the subprogram
|
||
is now obtained via the formal paramter.
|
||
|
||
2013-04-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Do not set
|
||
Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
|
||
if the expression is a source entity.
|
||
|
||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
|
||
comments.
|
||
* sem_ch6.adb (Expand_Contract_Cases): Add location to message.
|
||
|
||
2013-04-22 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb (Fix_Error): For a pragma rewritten from another
|
||
pragma, fix up error message to include original pragma name.
|
||
* par_sco.adb: Minor reformatting.
|
||
|
||
2013-04-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
|
||
sem_ch6.adb, opt.ads: Minor reformatting.
|
||
|
||
2013-04-22 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
|
||
Library_Standalone and Library_Kind.
|
||
|
||
2013-04-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): If the call is to an
|
||
inherited operation and the actual is a by-reference type with
|
||
predicates, add predicate call to post-call actions.
|
||
* sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
|
||
error: a type declaration has a defining identifier, not an Etype.
|
||
* sem_res.adb: Restore code removed because of above error.
|
||
|
||
2013-04-22 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.
|
||
|
||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
|
||
opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.
|
||
|
||
2013-04-22 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
|
||
No_Path_Information only when Directories_Must_Exist_In_Projects
|
||
is False.
|
||
(Get_Directories): Set Object_Directory
|
||
or Exec_Directory to No_Path_Information only when
|
||
Directories_Must_Exist_In_Projects is False.
|
||
|
||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
|
||
snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
|
||
Pragma_Contract_Case and Name_Contract_Case.
|
||
|
||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
|
||
Contract_Case.
|
||
* gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
|
||
description of Contract_Cases.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* makeutl.adb, prj-nmsc.adb: Minor reformatting.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb (Make_Invariant_Call): Use Check_Kind instead
|
||
of Check_Enabled.
|
||
* gnat_rm.texi (Check_Policy): Update documentation for new
|
||
Check_Policy syntax.
|
||
* sem_prag.adb (Check_Kind): Replaces Check_Enabled
|
||
(Analyze_Pragma, case Check_Policy): Rework to accomodate new
|
||
syntax (like Assertion_Policy).
|
||
* sem_prag.ads (Check_Kind): Replaces Check_Enabled.
|
||
|
||
2013-04-12 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros.
|
||
(__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user
|
||
handler if installed.
|
||
* ctrl_c.c (__gnat_install_int_handler)
|
||
[VMS]: Install a dummy sigaction handler to trigger the real
|
||
user handler dispatch in init.c/__gnat_handle_vms_condition.
|
||
(__gnat_uninstall_int_handler) [VMS]: Likewise.
|
||
|
||
2013-04-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects
|
||
to False if switch is specified.
|
||
* makeutl.adb (Initialize_Source_Record): Do not look for the
|
||
object file if there is no object directory.
|
||
* opt.ads (Directories_Must_Exist_In_Projects): New Boolean
|
||
variable, defaulted to True.
|
||
* prj-nmsc.adb (Check_Library_Attributes): Do not fail if library
|
||
directory does not exist when Directories_Must_Exist_In_Projects is
|
||
False.
|
||
(Get_Directories): Do not fail when the object or the exec directory
|
||
do not exist when Directories_Must_Exist_In_Projects is False.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
|
||
* exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
|
||
sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
|
||
par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
|
||
sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
|
||
exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
|
||
prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
|
||
sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
|
||
sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).
|
||
|
||
2013-04-12 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c: Don't clobber condition code on VMS.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
* namet.ads, namet.adb (Nam_In): New functions.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
|
||
(Has_Static_Predicate_Aspect): New flag.
|
||
* einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
|
||
(Has_Static_Predicate_Aspect): New flag.
|
||
* exp_ch9.adb: Minor reformatting.
|
||
* exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
|
||
synonyms.
|
||
* gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
|
||
since this switch is gone and control of Debug is done with
|
||
Assertions_Enabled.
|
||
* gnat_rm.texi: Update documentation for Assertion_Policy and
|
||
Check_Policy pragmas.
|
||
* opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
|
||
(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
|
||
controlled by Assertion_Enabled.
|
||
* opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
|
||
(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
|
||
controlled by Assertion_Enabled.
|
||
* par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
|
||
'Class forms.
|
||
* sem_attr.adb: Minor reformatting.
|
||
* sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
|
||
if DISABLE policy applies.
|
||
* sem_ch6.adb (Grab_PPC): Check original name of aspect for
|
||
aspect from pragma (Process_PPCs): Properly check assertion policy.
|
||
* sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
|
||
(Check_Appicable_Policy): New procedure.
|
||
(Is_Valid_Assertion_Kind): New function.
|
||
(Rewrite_Assertion_Kind): New procedure.
|
||
(Analyze_Pragma): Handle case of disabled assertion pragma.
|
||
(Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
|
||
(Analyze_Pragma, case Check): Deal with 'Class possibilities.
|
||
(Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
|
||
(Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
|
||
(Analyze_Pragma, case Debug): New control with Assertion_Policy.
|
||
(Analyze_Pragma, case Debug_Policy): Now consistent with
|
||
Assertion_Policy.
|
||
(Analyze_Pragma, case Loop_Invariant): New handling of ignored
|
||
pragma.
|
||
(Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
|
||
(Analyze_Pragma, case Precondition): Use proper name for Check pragma.
|
||
(Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
|
||
* sem_prag.ads (Check_Enabled): Rewritten for new
|
||
Assertion_Policy stuff.
|
||
(Check_Appicable_Policy): New procedure.
|
||
* sinfo.adb (Is_Disabled): New flag.
|
||
(Is_Ignored): New flag.
|
||
* sinfo.ads (Is_Disabled): New flag.
|
||
(Is_Ignored): New flag.
|
||
(N_Pragma_Argument_Association): New 'Class forms.
|
||
* snames.ads-tmpl: New names Name_uPre, Name_uPost,
|
||
Name_uType_Invariant, Name_uInvariant.
|
||
* switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
|
||
* tree_io.ads (ASIS_Version_Number): Updated (remove
|
||
read write of obsolete flags Debug_Pragmas_Disabled and
|
||
Debug_Pragmas_Enabled.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
|
||
of Build_Record_Aggr_Code, used to retrieve explicit values
|
||
for inherited discriminants in an extension aggregate, when the
|
||
ancestor type is unconstrained.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Stream_Attribute): If restriction
|
||
No_Default_Stream_Attributes is active, it is illegal to use a
|
||
predefined elementary type stream attribute either by itself,
|
||
or more importantly as part of the attribute subprogram for a
|
||
composite type. However, if the broader restriction No_Streams
|
||
is active, then stream operations are not generated, and there
|
||
is no error.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatbind.adb: Minor reformatting.
|
||
|
||
2013-04-12 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a
|
||
call only in the static elaboration model.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_List): Detect an illegal dependency
|
||
clause where both input and output lists are null.
|
||
(Analyze_Pragma): Update the grammar of pragma Depends.
|
||
|
||
2013-04-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatbind.adb (No_Restriction_List): Exclude restrictions that
|
||
take a parameter value, not a count.
|
||
* prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure.
|
||
* projects.texi: Complete documentation of attribute Roots.
|
||
|
||
2013-04-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb,
|
||
sem_ch3.adb: Minor reformatting.
|
||
* exp_ch4.adb (Size_In_Storage_Elements): Minor documentation
|
||
improvement: note that the computation is pessimistic for bit
|
||
packed arrays.
|
||
* gnat_rm.texi (Range_Length): Fix minor error in description
|
||
of attribute.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb (Find_Aspect): New routine.
|
||
(Find_Value_Of_Aspect): New routine.
|
||
(Has_Aspect): Reimplemented.
|
||
* aspects.ads (Find_Aspect): New routine.
|
||
(Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
|
||
* exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
|
||
* sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Update
|
||
the call to Find_Aspect. Use function Has_Aspect for better
|
||
readability.
|
||
(Preanalyze_Range): Use function Has_Aspect for better readability.
|
||
* sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
|
||
* sem_prag.adb (Analyze_Pragma): There is no longer need to
|
||
look at the parent to extract the corresponding pragma for
|
||
aspect Global.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
|
||
restrict.ads: Minor reformatting.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb: Retrieve original name of classwide type if any.
|
||
|
||
2013-04-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch11.ads: Minor reformatting.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Alphabetize subprogram bodies in this unit. Add
|
||
an entry for Aspect_Ghost in the table of canonical aspects.
|
||
(Has_Aspect): New routine.
|
||
* aspects.ads: Add Aspect_Ghost to all relevant
|
||
tables. Alphabetize subprograms in this unit.
|
||
(Has_Aspect): New routine.
|
||
* einfo.adb: Add with and use clauses for Aspects.
|
||
(Is_Ghost_Function): New routine.
|
||
* einfo.ads: Add new synthesized attribute Is_Ghost_Function and
|
||
update the structure of the related nodes.
|
||
(Is_Ghost_Function): New routine.
|
||
* exp_ch4.adb (Find_Enclosing_Context): Use routine
|
||
Is_Body_Or_Package_Declaration to terminate a search.
|
||
(Is_Body_Or_Unit): Removed.
|
||
* exp_util.adb (Within_Case_Or_If_Expression): Use routine
|
||
Is_Body_Or_Package_Declaration to terminate a search.
|
||
* par-prag.adb: Add pragma Ghost to the list of pragmas that do
|
||
not need special processing by the parser.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Detect an
|
||
illegal use of 'Access where the prefix is a ghost function.
|
||
(Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
|
||
to terminate a search. (Check_References_In_Prefix): Use routine
|
||
Is_Body_Or_Package_Declaration to terminate a search.
|
||
* sem_ch4.adb (Analyze_Call): Mark a function when it appears
|
||
inside an assertion expression. Verify the legality of a call
|
||
to a ghost function.
|
||
(Check_Ghost_Function_Call): New routine.
|
||
* sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
|
||
the setting of attribute In_Assertion_Expression to Analyze_Call.
|
||
(Check_Overriding_Indicator): Detect an illegal attempt to
|
||
override a function with a ghost function.
|
||
* sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
|
||
a ghost function as a generic actual.
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Update the call
|
||
to In_Assertion.
|
||
* sem_prag.adb: Add an entry for pragma Ghost in the table
|
||
of significant arguments.
|
||
(Analyze_Pragma): Do not analyze
|
||
an "others" case guard. Add processing for pragma Ghost. Use
|
||
Preanalyze_Assert_Expression when analyzing the expression of
|
||
pragmas Loop_Invariant and Loop_Variant.
|
||
* sem_util.adb (Get_Subprogram_Entity): Reimplemented.
|
||
(Is_Body_Or_Package_Declaration): New routine.
|
||
* sem_util.ads: Alphabetize subprotrams in this unit.
|
||
(Is_Body_Or_Package_Declaration): New routine.
|
||
* sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
|
||
(Set_In_Assertion): Rename to Set_In_Assertion_Expression.
|
||
* sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
|
||
to better reflect its use. Update all places that mention the flag.
|
||
(In_Assertion): Rename to In_Assertion_Expression. Update
|
||
related pragma Inline. (Set_In_Assertion): Rename to
|
||
Set_In_Assertion_Expression. Update related pragma Inline.
|
||
* snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
|
||
id Pragma_Ghost.
|
||
|
||
2013-04-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Set_Imported): Do not generate error for multiple
|
||
Import in CodePeer mode.
|
||
* s-rident.ads: Fix minor typo.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Insert_Valid_Check): Do not insert validity check
|
||
in the body of the generated predicate function, to prevent
|
||
infinite recursion.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* s-rident.ads: Add various missing Ada 2012 restrictions:
|
||
No_Access_Parameter_Allocators, No_Coextensions,
|
||
No_Use_Of_Attribute, No_Use_Of_Pragma.
|
||
* snames.ads-tmpl: Add corresponding names.
|
||
* restrict.ads restrict.adb: Subprograms and data structures to
|
||
handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
|
||
* sem_ch4.adb: Correct name of restrictions is
|
||
No_Standard_Allocators_After_Elaboration.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
|
||
violation of restriction No_Use_Of_Attribute.
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
|
||
(Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
|
||
* sem_res.adb: Check restrictions No_Access_Parameter_Allocators
|
||
and No_Coextensions.
|
||
* bcheck.adb: Correct name of restrictions is
|
||
No_Standard_Allocators_After_Elaboration.
|
||
* gnatbind.adb: Correct name of restrictions is
|
||
No_Standard_Allocators_After_Elaboration.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
|
||
Correct error message format.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elab.adb (Within_Elaborate_All): Do not examine a context
|
||
item that has not been analyzed, because the unit may have errors,
|
||
or the context item may come from a proper unit inserted at the
|
||
point of a stub and not analyzed yet.
|
||
|
||
2013-04-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
|
||
List_Record_Info): Also include scalar storage order information in
|
||
output.
|
||
|
||
2013-04-12 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Contract_Cases): Update code to apply to
|
||
Contract_Cases instead of Contract_Case pragma.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.
|
||
|
||
2013-04-12 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Update analyse of
|
||
Attribute_Old and Attribute_Result so they are allowed in the
|
||
right-hand-side of an association in a Contract_Cases pragma.
|
||
* sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
|
||
the expressions in a Contract_Cases pragma.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.ads, opt.ads: Minor comment edits.
|
||
* sem_warn.adb, sem_ch6.adb: Minor reformatting.
|
||
|
||
2013-04-12 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
|
||
Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
|
||
not suitable for formal analysis.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Abstract_State): Use Defining entity
|
||
to locate package entity, which may be a child unit.
|
||
|
||
2013-04-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
|
||
the specified timeout is 0, do not attempt to determine whether the
|
||
connection succeeded.
|
||
|
||
2013-04-12 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.
|
||
|
||
2013-04-12 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-fileio.adb: Minor reformatting.
|
||
|
||
2013-04-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
|
||
the last statement in the analyzed loop is an unconditional
|
||
exit statement.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads (Style_Check_Main): New switch.
|
||
* sem.adb (Semantics): Set Style_Check flag properly for new
|
||
unit to be analyzed.
|
||
* sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
|
||
the proper setting of this flag is now part of the Semantics
|
||
procedure.
|
||
* switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
|
||
for -gnatg and -gnaty
|
||
|
||
2013-04-12 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-crtl.ads (fopen, freopen): Add vms_form parameter
|
||
* i-cstrea.ads (fopen, freopen): Likewise.
|
||
* adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
|
||
* adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
|
||
[VMS]: Split out RMS keys and call CRTL function appropriately.
|
||
* s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
|
||
subprograms.
|
||
(Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
|
||
vms_form
|
||
* gnat_rm.texi: Document implemented RMS keys.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Insert the corresponding pragma for aspect Abstract_State at
|
||
the top of the visible declarations of the related package.
|
||
Previously this was only done when the package is a compilation
|
||
unit.
|
||
|
||
2013-04-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Further menu clean ups.
|
||
* sem_prag.adb, opt.ads: Minor reformatting.
|
||
* sem_util.ads: Minor comment fix.
|
||
|
||
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
|
||
Depends is now a delayed aspect. The delay is required
|
||
due to the interplay between aspects Depends and Global.
|
||
(Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
|
||
* sem_prag.adb: Reformat various error messages.
|
||
(Add_Item): New subsidiary routine.
|
||
(Analyze_Pragma): Add new variables
|
||
Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
|
||
analysis of pragma Depends now has the capability to check
|
||
the proper mode and usage of subprogram inputs and outputs.
|
||
(Appears_In): New routine.
|
||
(Check_Function_Return): New routine.
|
||
(Check_Mode): New routine.
|
||
(Check_Usage): New routine.
|
||
(Collect_Subprogram_Inputs_Outputs): New routine.
|
||
|
||
2013-04-12 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
|
||
stack entry.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb: Minor fix to wording of error message for
|
||
-gnatet/eT.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb: Add s-multip and s-mudido to list of impl defined
|
||
system units.
|
||
* gnat_rm.texi: Add documentation for
|
||
System.Multiprocessors[.Dispatching_Domains].
|
||
|
||
2013-04-12 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Completion of menu cleanups.
|
||
|
||
2013-04-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
|
||
in Relaxed_RM_Semantics.
|
||
|
||
2013-04-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* set_targ.adb (elab code): Add support for non gcc back-ends
|
||
where save_argv is null.
|
||
|
||
2013-04-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
|
||
* opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
|
||
type (Target_Dependent_Info_Write): Add _Name, now an access type.
|
||
* set_targ.adb (Write_Target_Dependent_Values): Use name
|
||
from -gnatet switch stored in Target_Dependent_Info_Write_Name
|
||
(Read_Target_Dependent_Values): Use name from -gnateT switch
|
||
stored in Target_Dependent_Info_Read_Name.
|
||
* switch-c.adb: New form of -gnatet and -gnateT switches.
|
||
* usage.adb: New form of -gnatet and -gnateT switches with
|
||
file name.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): Skip only constant
|
||
arithmetics when looking for a read-only variable in the expression.
|
||
|
||
2013-04-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
|
||
interface thunks since it is performed at the caller side.
|
||
(Expand_Simple_Function_Return): No accessibility check needed in thunks
|
||
since the check is done by the target routine.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
|
||
expression with type Any_Priority.
|
||
* exp_ch9.adb (Initialize_Protection): Check that the value
|
||
of the priority expression is within the bounds of the proper
|
||
priority type.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, prj-env.adb: Minor reformatting.
|
||
|
||
2013-04-11 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Clean ups.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* set_targ.adb: Minor comment update.
|
||
|
||
2013-04-11 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove obsolete comment about DLL calling
|
||
convention.
|
||
|
||
2013-04-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): For the call to the target primitive
|
||
of an interface thunks do not compute the extra actuals; just
|
||
propagate the extra actuals received by the thunk.
|
||
* exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
|
||
Thunk_Entity.
|
||
* sem_ch6.adb (Create_Extra_Formals): Do not generate extra
|
||
formals in interface thunks whose target primitive has no extra
|
||
formals.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Detect
|
||
a renaming by looking at the Renamed_Object attribute.
|
||
(Is_Renaming): Removed.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Initialize_Default_Project_Path): Take
|
||
into account a project path file, specified by environment
|
||
variable GPR_PROJECT_PATH_FILE, before taking into account
|
||
GPR_PROJECT_PATH.
|
||
* projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
|
||
a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
|
||
a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
|
||
a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
|
||
a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
|
||
a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
|
||
a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
|
||
a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
|
||
Move Iterator operations from body to private part of spec.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ttypes.ads, get_targ.ads: More minor rewording of comments.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Document use of switch -gnatd.Z.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
|
||
support renamings of entire objects. Legal renamings are replaced by
|
||
the object they rename.
|
||
(Is_Renaming): New routine.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* set_targ.adb, opt.ads: Minor changes in comments.
|
||
|
||
2013-04-11 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor clean ups.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
|
||
function p from Nlists to Treepr.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Context): If the context is
|
||
a contract for a null procedure defer error reporting until
|
||
postcondition body is created.
|
||
* exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
|
||
null procedure, complete the analysis of its contracts so that
|
||
calls within classwide conditions are properly rewritten as
|
||
dispatching calls.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch10.adb, sem_ch12.adb: Minor reformatting.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.adb, atree.ads (Node31): New function.
|
||
(Set_Node31): New procedure.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Minor typo correction.
|
||
|
||
2013-04-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.adb (Register_Back_End_Types): Moved to Get_Targ
|
||
* back_end.ads (C_String): Moved to Get_Targ
|
||
(Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
|
||
Moved to Get_Targ.
|
||
* cstand.adb (Register_Float_Type): New interface
|
||
(Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
|
||
* get_targ.adb (Register_Back_End_Types): Moved here from
|
||
Back_End.
|
||
* get_targ.ads (C_String): Moved here from Back_End
|
||
(Register_Type_Proc): Moved here from Back_End
|
||
(Register_Back_End_Types): here from Back_End.
|
||
* gnat1drv.adb (GGnat11drv): Add call to
|
||
Write_Target_Dependent_Values;
|
||
* lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
|
||
obsolete target dependent info.
|
||
* opt.ads (Generate_Target_Dependent_Info):
|
||
Removed (Target_Dependent_Info_Read): New flag
|
||
(Target_Dependent_Info_Write): New flag
|
||
* output.adb: Minor comment change
|
||
* s-os_lib.ads: Minor reformatting
|
||
* set_targ.ads, set_targ.adb: Minor reformatting.
|
||
* switch-c.adb (Scan_Switches.First_Ptr): New variable
|
||
(Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
|
||
(Scan_Front_End_Switches): Handle -gnatet, -gnateT
|
||
* ttypes.ads: Remove documentation section on target dependent
|
||
info in ali file Remove four letter codes, no longer used Instead
|
||
of using Get_Targ.Get_xxx, we use Set_Targ.xxx
|
||
* usage.adb: Add usage lines for -gnatet/-gnateT
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch4.adb: Update documentation.
|
||
* sinfo.ads (N_Expression_With_Actions): Ditto.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Add a guard to prevent the double insertion of the same aspect
|
||
into a rep item list. This previously led to a circularity.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
|
||
reference if the prefix is the dereference of an anonymous access
|
||
to subprogram type.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
|
||
properly a reference to the current instance of a protected type
|
||
from within a protected subprogram.
|
||
* sem_res.adb (Find_Unique_Access_Type): Treat
|
||
Attribute_Access_Type like Allocator_Type when resolving an
|
||
equality operator.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* xgnatugn.adb: Remove obsolete comments.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* back_end.ads, back_end.adb: Minor reformatting.
|
||
* set_targ.ads, set_targ.adb: New files.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_case.adb (Check_Against_Predicate): New routine.
|
||
(Check_Choices): When the type covered by the list of choices
|
||
is a static subtype with a static predicate, check all choices
|
||
agains the predicate.
|
||
(Issue_Msg): All versions removed.
|
||
(Missing_Choice): New routines.
|
||
* sem_ch4.adb: Code and comment reformatting.
|
||
(Analyze_Case_Expression): Do not check the choices when the case
|
||
expression is being preanalyzed and the type of the expression
|
||
is a subtype with a static predicate.
|
||
(Has_Static_Predicate): New routine.
|
||
* sem_ch13.adb: Code and comment reformatting. (Build_Range):
|
||
Always build a range even if the low and hi bounds denote the
|
||
same value. This is needed by the machinery in Check_Choices.
|
||
(Build_Static_Predicate): Always build a range even if the low and
|
||
hi bounds denote the same value. This is needed by the machinery
|
||
in Check_Choices.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
|
||
reformatting.
|
||
|
||
2013-04-11 Doug Rupp <rupp@adacore.com>
|
||
|
||
* gnatlink.adb: Fold program basename to lower case on VMS for
|
||
consistency.
|
||
|
||
2013-04-11 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
|
||
entering loop.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
|
||
needed, and seems to confuse some versions of makeinfo.
|
||
|
||
2013-04-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.adb (Is_Thunk): Remove assertion.
|
||
(Set_Is_Thunk): Add assertion.
|
||
* einfo.ads (Is_Thunk): Complete documentation.
|
||
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
|
||
* exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
|
||
(Is_Variable_Size_Record): Moved to sem_util
|
||
* exp_ch6.adb (Expand_Call): Code cleanup.
|
||
(Expand_N_Extended_Return_Statement): Code cleanup.
|
||
(Expand_Simple_Function_Return): Code cleanup.
|
||
* exp_disp.adb Remove dependency on exp_ch3
|
||
(Expand_Interface_Thunk): Add minimum decoration needed to set
|
||
attribute Is_Thunk.
|
||
* sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
|
||
* sem_util.ad[sb] (Is_Constant_Bound): Moved from
|
||
sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
|
||
(Is_Variable_Size_Record): Moved from exp_ch3
|
||
|
||
2013-04-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
|
||
not add cleanup actions in thunks associated with interface types.
|
||
* exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
|
||
the package spec.
|
||
* exp_ch4.adb (Tagged_Conversion): Update call to
|
||
Expand_Interface_Conversion since the parameter Is_Static is no
|
||
longer needed.
|
||
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
|
||
assertion to ensure that interface thunks are never handled by
|
||
this routine.
|
||
(Expand_N_Simple_Function_Return): Do not rewrite this statement
|
||
as an extended return statement in interface thunks, and do not
|
||
perform copy in the secondary stack if the return statement is
|
||
located in a thunk.
|
||
* exp_disp.adb (Expand_Dispatching_Call): No longer displace
|
||
the pointer to the returned object in functions returning interface
|
||
types.
|
||
(Expand_Interface_Thunk): For functions returning interface types
|
||
displace the pointer to the returned object.
|
||
(Expand_Interface_Conversion): Remove formal
|
||
Is_Static since this subprogram can now evaluate it locally.
|
||
* sem_ch3.adb (Add_Internal_Interface_Entities): For functions
|
||
propagate the type returned by the covered interface primitive to
|
||
the internal interface entity. Needed by the thunk to generate
|
||
the code which displaces "this" to reference the corresponding
|
||
secondary dispatch table.
|
||
* sem_disp.adb (Propagate_Tag): Update call to
|
||
Expand_Interface_Conversion since the parameter Is_Static is no
|
||
longer needed.
|
||
* sem_res.adb (Resolve_Type_Conversion): Update calls to
|
||
Expand_Interface_Conversion since the parameter Is_Static is no
|
||
longer needed plus code cleanup.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* init.c (RETURN_ADDR_OFFSET): Delete as unused.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
|
||
a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Selected_Component): Do not expand
|
||
discriminant check for Unchecked_Union.
|
||
* sem_res.adb (Resolve_Selected_Component): Set flag
|
||
Do_Discriminant_Check even when expansion is not performed.
|
||
* sinfo.ads (Do_Discriminant_Check): Update documentation for the case
|
||
of Unchecked_Union.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Same_Representation): Two types with different scalar
|
||
storage order never have the same representation.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* xgnatugn.adb (Push_Conditional): Simplify handling,
|
||
no longer need to keep track of "excluding" sections.
|
||
(Currently_Excluding): Removed.
|
||
(Process_Source_File):
|
||
Set unw/vms flag so that texinfo can do the whole handling of
|
||
@ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear
|
||
sections.
|
||
* gnat_ugn.texi: Add a section on performing unassisted install
|
||
on Windows.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Document usage of -gnatd.Q switch.
|
||
|
||
2013-04-11 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
|
||
before element comparisons.
|
||
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
|
||
Ditto.
|
||
* a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
|
||
element comparisons.
|
||
* a-rbtgso.adb (Difference, Intersection): Adjust locks
|
||
before element comparisons.
|
||
(Is_Subset, Overlap): Ditto
|
||
(Symmetric_Difference, Union): Ditto
|
||
* a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
|
||
before element comparisons.
|
||
(Set_Subset, Set_Overlap): Ditto
|
||
(Set_Symmetric_Difference, Set_Union): Ditto
|
||
* a-coorse.adb, a-ciorse.adb, a-cborse.adb
|
||
(Update_Element_Preserving_Key): Adjust locks before element
|
||
comparisons (Replace_Element): Ditto
|
||
|
||
2013-04-11 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
|
||
attribute.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
|
||
Expand_N_Object_Declaration, used to construct an aggregate
|
||
with static components whenever possible, so that objects of a
|
||
discriminated type can be initialized without calling the init.
|
||
proc for the type.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-makr.adb (Process_Directory): On VMS, always delete,
|
||
then recreate the temporary file with Create_Output_Text_File,
|
||
otherwise the output redirection does not work properly.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* urealp.ads: Fix minor typo.
|
||
|
||
2013-04-11 Fabien Chouteau <chouteau@adacore.com>
|
||
|
||
* cio.c (mktemp): Don't use tmpnam function from the
|
||
system on VxWorks in kernel mode.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Compile): Clarify the error message reported
|
||
when gnatmake refuses to compile a runtime source.
|
||
(Start_Compile_If_Possible): Ditto.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-c.adb: Document internal switches.
|
||
* usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
|
||
-gnatez and -gnateO.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
|
||
subprogram stubs.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
|
||
pre/post pragmas at once before analyzing the proper body.
|
||
* sem_prag.adb (Chain_PPC): Handle pragma that comes from an
|
||
aspect on a subprogram stub.
|
||
* aspects.adb: Aspect specifications can appear on a
|
||
subprogram_Body_Stub.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatname.adb: Minor comment fix.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-makr.adb (Process_Directory): Create a new temporary
|
||
file for each invocation of the compiler, in directory pointed
|
||
by environment variable TMPDIR if it exists.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor editing/clean ups.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
|
||
extracted from Analyze_Subprogram_Declaration, to handle null
|
||
procedure declarations that in ada 2012 can be completions of
|
||
previous declarations.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Entity_Of): Moved to Exp_Util.
|
||
* exp_util.ads, exp_util.adb (Entity_Of): New routine.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-spipat.ads: Minor comment fix.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
|
||
reformatting.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.ads (Fully_Qualified_Name_String): Document that the
|
||
constructed literal is the entity name in all upper case.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
|
||
check for implementation defined identifiers.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Type_Conversion_Checks): Add an explanation
|
||
of why range check and length are put on different nodes.
|
||
* exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
|
||
when doing their expansion.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
|
||
New function to implement the notion introduced in RM 7.3.1
|
||
(5.2/3): in a child unit, a derived type is within the derivation
|
||
class of an ancestor declared in a parent unit, even if there
|
||
is an intermediate derivation that does not see the full view
|
||
of that ancestor.
|
||
* sem_res.adb (Valid_Conversion): if all else fails, examine if an
|
||
incomplete view of an ancestor makes a numeric conversion legal.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: in Ada2012 operators can only have in
|
||
parameters.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.adb (Create_Binder_Mapping_File): Do not put into
|
||
the mapping file ALI files of sources that have been replaced.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add subsection Duplicate Sources in Projects.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* init.c (__gnat_install_handler): Only set up an alternate
|
||
stack when installing a signal handler for SIGSEGV.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (Connect_Socket, timeout version): Call
|
||
underlying connect operation directly, not through the 2-argument
|
||
Connect_Socket thick binding, in order to avoid raising a junk
|
||
exception for the EINPROGRESS return.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.adb: Minor addition of pragma Warnings (Off).
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* hostparm.ads: Minor reformatting.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
|
||
tables.
|
||
* elists.ads, elists.adb (Contains): New routine.
|
||
* par-prag.adb: Pragma Depends does not need any special treatment
|
||
by the parser.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Transform aspect Depends into a corresponding pragma.
|
||
(Check_Aspect_At_Freeze_Point): Aspect Depends does not need
|
||
inspection at its freeze point.
|
||
* sem_prag.adb (Analyze_Pragma): Perform analysis and
|
||
normalization of pragma Depends. Remove the use of function
|
||
Is_Duplicate_Item. Use End_Scope to uninstalle the formal
|
||
parameters of a subprogram. Add a value for pragma Depends in
|
||
table Sig_Flags.
|
||
(Is_Duplicate_Item): Removed.
|
||
* snames.ads-tmpl: Add predefined name for Depends as well as
|
||
a pragma identifier.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat1drv.adb: Minor code clean up.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
|
||
Ignore enumeration rep clauses by default in CodePeer mode, unless
|
||
-gnatd.I is specified.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Safe_To_Capture_Value): If the node belongs to
|
||
an expression that has been attached to the else_actions of an
|
||
if-expression, the capture is not safe.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
|
||
conversion for arrays.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* adabkend.adb: Minor comment addition.
|
||
|
||
2013-04-11 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
|
||
lock counts before entering loop.
|
||
(Find): Ditto.
|
||
(Is_Sorted, Merge, Sort): Ditto.
|
||
(Reverse_Find): Ditto.
|
||
(Splice_Internal): Internal operation to refactor splicing logic.
|
||
(Splice): Some logic moved into Splice_Internal.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* adabkend.adb (Scan_Compiler_Arguments): Do not call
|
||
Set_Output_Object_File_Name in Alfa_Mode
|
||
* gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
|
||
* opt.ads: Fix documentation.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb: Minor code reorganization and comment fixes.
|
||
* sem_type.adb: Minor reformatting.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object): Add new
|
||
local variable Fin_Call. Remove and explain ??? comment. Use the
|
||
Actions of logical operators "and then" and "or else" to insert
|
||
the generated finalization call.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_rm.texi: Fix typo.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.h: Add declarations for Flag255-Flag289 Fix declaration
|
||
of Field30 (was wrong, but no effect, since not yet referenced by
|
||
back end) Add declarations for Field31-Field35 Add declarations
|
||
for Node31-Node35.
|
||
* einfo.ads, einfo.adb (Has_Invariants): No longer applies to
|
||
procedures.
|
||
(Has_Predicates): No longer applies to functions.
|
||
(Is_Predicate_Function): New flag.
|
||
(Is_Predicate_Function_M): New flag.
|
||
(Is_Invariant_Procedure): New flag.
|
||
(Predicate_Function_M): New function.
|
||
(Set_Predicate_Function_M): New procedure.
|
||
* exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
|
||
case of appearing in predicate used for membership test.
|
||
* exp_ch3.adb (Insert_Component_Invariant_Checks): Set
|
||
Is_Invariant_Procedure flag.
|
||
* exp_ch4.adb (Expand_Op_In): Call special predicate function
|
||
that takes care of raise_expression nodes in the predicate.
|
||
* exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
|
||
membership case.
|
||
* sem_ch13.adb (Build_Predicate_Functions): New name for
|
||
Build_Predicate_Function. Major rewrite to take care of raise
|
||
expression in predicate for membership tests.
|
||
* sem_res.adb (Resolve_Actuals): Include both predicate functions
|
||
in defense against infinite predicate function loops.
|
||
* sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb: Generate reference for component of anonymous
|
||
access type.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stand.ads: Minor reformatting.
|
||
|
||
2013-04-11 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
|
||
counts before entering loop.
|
||
(Find, Find_Index): Ditto.
|
||
(Is_Sorted, Merge, Sort): Ditto.
|
||
(Reverse_Find, Reverse_Find_Index): Ditto.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
|
||
* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
|
||
* expander.adb: Add call to Expand_N_Raise_Expression.
|
||
* par-ch11.adb (P_Raise_Expression): New procedure.
|
||
* par-ch4.adb (P_Relation): Handle Raise_Expression.
|
||
* par.adb (P_Raise_Expression): New procedure.
|
||
* sem.adb: Add handling for N_Raise_Expression.
|
||
* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
|
||
* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
|
||
* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
|
||
* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
|
||
* stand.ads (Any_Type): Document use with N_Raise_Expression.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove section "The Development Environments"
|
||
now that all predefined attributes are documented, including
|
||
those in package IDE.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Preserve parent link in copy of expression.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Complete rewrite of the subsection Attributes
|
||
in section "Project file Reference".
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): Remove wrapping in
|
||
expression-with-actions node. No longer needed given fix to
|
||
sem_prag and caused loss of some useful warnings.
|
||
* sem.ads: Minor reformatting.
|
||
* sem_prag.adb (Check_Disabled): Removed, to be replaced by not
|
||
Check_Enabled. These two routines were curiously incompatible
|
||
causing confusion.
|
||
(Analyze_Pragma, case Check): Make sure we do
|
||
not expand the string argument if the check is disabled. Avoid
|
||
use of Check_Disabled, which resulted in missing analysis in
|
||
some cases.
|
||
* sem_prag.ads (Check_Disabled): Removed, to be replaced by not
|
||
Check_Enabled. These two routines were curiously incompatible
|
||
causing confusion.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Process_Transient_Object): Use
|
||
an unchecked conversion when associating a transient controlled
|
||
object with its "hook".
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case
|
||
Preelaborable_Initialization): The pragma is legal if it comes
|
||
from an aspect on the private view of the type, even though its
|
||
analysis point takes place later at the freeze point.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor reformatting.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
|
||
read ALI files with No_Object=True in Alfa mode.
|
||
* gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
|
||
this is during frame condition generation of translation to Why.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code reorganization
|
||
* types.ads: Minor reformatting.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* opt.ads New global boolean Frame_Condition_Mode to avoid
|
||
referring to command line switch.
|
||
* gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
|
||
is present, and disable Code generation in that case. Disable
|
||
ALI file generation when switch is *not* present.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Perform the
|
||
pre-analysis on a copy of the expression, to prevent downstream
|
||
visbility issues involving operators and instantiations.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Reservation and documentation for -gnatd.G switch.
|
||
* gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
|
||
switch, and set ALI file generation accordingly.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb, exp_dist.adb: Minor reformatting.
|
||
* gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
|
||
check names introduced with pragma Check_Name are suppressed by -gnatp.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
|
||
Files" from projects.texi to gnat_ugn.texi.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-04-11 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
|
||
mode.
|
||
|
||
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator): Detect the
|
||
allocation of an anonymous controlled object where the type of
|
||
the context is named. Use the pool and finalization master of
|
||
the named access type to allocate the object.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove most mentions of gprbuild.
|
||
* projects.texi: Remove all mentions of asociative array
|
||
attributes.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
|
||
opt.ads, sem_ch13.adb: Minor reformatting.
|
||
* debug.adb: Minor comment fix (remove junk .I doc).
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
|
||
PolyORB): Bump to 6.
|
||
(Exp_Dist.PolyORB_Support): Replace TC_Build with
|
||
Build_Complex_TC.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
|
||
exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
|
||
Enable this flag in CodePeer mode, and also via -gnatd.M.
|
||
Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
|
||
from the renamed object in an object renaming declaration with
|
||
an unconstrained nominal subtype, freeze the created subtype at
|
||
once, to prevent order of elaboration issues in the backend.
|
||
|
||
2013-04-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
|
||
in particular in CodePeer mode.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for backup copies of project
|
||
files for gnatname.
|
||
|
||
2013-04-11 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
|
||
pragma list.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatname.adb (Scan_Args): Recognize new switch --no-backup
|
||
(Usage): Add line for --no-backup.
|
||
* opt.ads (No_Backup): New Boolean variable, initialized to False.
|
||
(Ada_Version_Default): Switch to Ada 2012 by default.
|
||
* prj-makr.adb (Initialize): Create a backup for an existing
|
||
project file if gnatname is not invoked with --no-backup.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor code improvement: replace various calls to
|
||
Make_If_Statement in expansion with Make_Implicit_If_Statement.
|
||
|
||
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ali.adb: Fix minor typo.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
|
||
N_Procedure_Call_Statement.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* debug.adb: Minor comment fix.
|
||
|
||
2013-04-11 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* debug.adb: Remove comment for -gnatd.G.
|
||
|
||
2013-04-11 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
|
||
Remove recursive routine, replace with...
|
||
(Expand_Record_Equality.Element_To_Compare): New subroutine,
|
||
implement iterative search for next element to compare.
|
||
Add explanatory comment in the tagged case.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: remove spurious warning from non-empty loop.
|
||
* sem_ch8.adb (Enclosing_Instance): Make public to other routines
|
||
in the package, in order to suppress redundant semantic checks
|
||
on subprogram renamings in nested instantiations.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Minor reformatting.
|
||
* sem_eval.adb (Why_Not_Static): Now issues continuation messages
|
||
(Why_Not_Static): Test for aggregates behind string literals.
|
||
* sem_eval.ads (Why_Not_Static): Now issues continuation messages.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenation): Wrap expansion in
|
||
Expressions_With_Actions.
|
||
|
||
2013-04-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Base_Types_Match): For an actual type in an
|
||
instance, the base type may itself be a subtype, so find true
|
||
base type to determine compatibility.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
|
||
makeutl.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2013-04-11 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor fixes for VMS.
|
||
* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb (Usage): Minor edit to -gnatW message
|
||
|
||
2013-04-11 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
|
||
others for string literal case. Also add big ??? comment about
|
||
this new code, which should be redundant, but is not.
|
||
* sem_eval.adb (Eval_Concatenation): Handle non-static case
|
||
properly (Eval_String_Literal): Handle non-static literal properly
|
||
|
||
2013-03-20 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* i-fortra.ads: Update comment, add Ada 2012's optional
|
||
Star and Kind data types for enhanced interoperability.
|
||
|
||
2013-03-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 4.9.
|
||
|
||
2013-03-08 Cesar Strauss <cestrauss@gmail.com>
|
||
|
||
PR ada/52123
|
||
* seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
|
||
(__gnat_SEH_error_handler): Likewise. Remove final return.
|
||
|
||
2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
|
||
out for an unimplemented attribute.
|
||
|
||
2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
|
||
a misaligned integral type if a size is specified for the field.
|
||
|
||
2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
|
||
Record the unpadded type of the index type on the RCI stack.
|
||
|
||
2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (emit_range_check): Assert that the range type
|
||
is a numerical type and remove useless local variables.
|
||
|
||
2013-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h: Back out change accidentally committed.
|
||
|
||
2013-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/56258
|
||
* gnat-style.texi (@title): Remove @hfill.
|
||
* projects.texi: Avoid line wrapping inside of @pxref or @xref.
|
||
|
||
2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
|
||
|
||
PR target/52123
|
||
* tracebak.c: Cast from pointer via FARPROC.
|
||
|
||
2013-02-07 Simon Wright <simon@pushface.org>
|
||
|
||
PR target/50678
|
||
* init.c (__darwin_major_version): New function for x86-64/Darwin.
|
||
(__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
|
||
on Darwin 12 and above.
|
||
|
||
2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de>
|
||
|
||
PR target/52123
|
||
* adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
|
||
SECURITY_DESCRIPTOR *
|
||
(__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
|
||
(__gnat_portable_spawn): Fix cast to char* const*
|
||
(add_handle): Cast from pointer via void **
|
||
(add_handle): Cast from pointer via int *
|
||
(__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
|
||
(__gnat_locate_exec_on_path): Cast from pointer via char *
|
||
* initialize.c (append_arg): Cast from pointer via LPWSTR
|
||
(__gnat_initialize): Cast from pointer via LPWSTR
|
||
* seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
|
||
target pairs on VxWorks 5 only.
|
||
|
||
2013-02-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Aggregated_Projects): Use a new project
|
||
node tree for each project tree rooted at an aggregated project.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_util.adb (Is_Interface_Conversion): New routine.
|
||
(Object_Access_Level): Detect an interface conversion
|
||
that has been rewritten into a different construct. Use the
|
||
original form of the conversion to find the access level of
|
||
the operand.
|
||
|
||
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
|
||
(Has_Pragma_No_Inline): Declare and mark as inline.
|
||
(Set_Has_Pragma_No_Inline): Likewise.
|
||
* einfo.adb (Has_Pragma_No_Inline): New function.
|
||
(Set_Has_Pragma_No_Inline): New procedure.
|
||
(Write_Entity_Flags): Handle Has_Pragma_No_Inline.
|
||
* snames.ads-tmpl (Name_No_Inline): New pragma-related name.
|
||
(Pragma_Id): Add Pragma_No_Inline value.
|
||
* par-prag.adb (Prag): Handle Pragma_Inline.
|
||
* sem_prag.adb (Inline_Status): New enumeration type.
|
||
(Process_Inline): Change Active parameter
|
||
to Inline_Status and add support for suppressed inlining.
|
||
(Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
|
||
<Pragma_Inline_Always>: Likewise.
|
||
<Pragma_No_Inline>: Implement new pragma No_Inline.
|
||
(Sig_Flags): Add Pragma_No_Inline.
|
||
* gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
|
||
* gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
|
||
|
||
2013-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osprim-mingw.adb (Clock): Make sure we copy all data locally
|
||
to avoid interleaved modifications that could happen from another
|
||
task calling Get_Base_Data.
|
||
(Get_Base_Data): Make it a critical section. Avoid updating if another
|
||
task has already done it.
|
||
|
||
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2013-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-tasloc.ads: Set System.Task_Lock to preelaborate.
|
||
|
||
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
|
||
Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
|
||
names.
|
||
(Pragma_Id): Add Pragma_Loop_Optimize value.
|
||
* par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
|
||
* sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
|
||
(Check_Loop_Pragma_Placement): ...this.
|
||
(Analyze_Pragma)
|
||
<Pragma_Loop_Invariant>: Adjust to above renaming.
|
||
<Loop_Variant>: Likewise.
|
||
<Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
|
||
(Sig_Flags): Add Pragma_Loop_Optimize.
|
||
* gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
|
||
* gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* osint.ads: Minor fix of typo.
|
||
|
||
2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatmetric: update the documentation of
|
||
complexity metrics for Ada 2012.
|
||
|
||
2013-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_Secondary_DT): Code cleanup:
|
||
remove useless initialization.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Discriminant_Constraints): Do not
|
||
generate overflow checks on a discriminant expression if the
|
||
discriminant constraint is applied to a private type that has
|
||
a full view, because the check will be applied when the full
|
||
view is elaborated. Removing the redundant check is not just
|
||
an optimization, but it prevents spurious assembler errors,
|
||
because of the way the backend generates names for expressions
|
||
that require overflow checking.
|
||
|
||
2013-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
|
||
limitation on Windows.
|
||
(DA): Removed.
|
||
(LIA): Removed.
|
||
(LLIA): Removed.
|
||
(TFA): Removed.
|
||
(BTA): Removed.
|
||
(BMTA): Removed.
|
||
(BCA): Removed.
|
||
(BMCA): Removed.
|
||
(BTiA): Removed.
|
||
(Clock): Use variable corresponding to access.
|
||
(Get_Base_Time): Likewise.
|
||
(Monotonic_Clock): Likewise.
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Gnatmake): When gnatmake is called with a project
|
||
file, do not invoke gnatbind with -I-.
|
||
* makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
|
||
the infos from all the sources.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
|
||
Overriding_Renamings.
|
||
* par-prag.adb: Recognize pragma Overriding_Renamings.
|
||
* opt.ads (Overriding_Renamings): flag to control compatibility
|
||
mode with Rational compiler, replaces Rational_Profile flag.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): When
|
||
Overriding_Renamings is enabled, accept renaming declarations
|
||
where the new subprogram renames and overrides a locally inherited
|
||
operation. Improve error message for some illegal renamings.
|
||
* sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
|
||
(Set_Rational_Profile): The Rational_Profile enables
|
||
Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb: Set parent of copied aggregate component, to
|
||
prevent infinite loop.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, sem_ch10.adb: Minor reformatting.
|
||
* exp_disp.adb: Minor comment update.
|
||
* comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
|
||
No_Return pragmas.
|
||
|
||
2013-02-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
|
||
parameter, defaulted to False for now, indicates targets where
|
||
non-default scalar storage order may be specified.
|
||
|
||
2013-02-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
|
||
same as E_Record_Subtype. Display E_Class_Wide_Subtype as
|
||
subtype, not type.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Complete_Private_Subtype): Inherit the
|
||
Has_Unknown_Discriminants from the full view of the base type.
|
||
|
||
2013-02-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
|
||
Enclosing debugging functions within #ifndef inhibit_libc to
|
||
support builds without full C headers.
|
||
|
||
2013-02-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
|
||
check to detect a parent-child relationship between two units in
|
||
order to correctly bypass the installation of a limited view. In
|
||
other words, the comment on the intended usage of the check was
|
||
correct, but the code itself did not reflect the behavior.
|
||
|
||
2013-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
|
||
runtime check on assignment to tagged types if compiling with checks
|
||
suppressed.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
|
||
s-os_lib.adb: Minor reformatting
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add Name_Rational and pragma Rational.
|
||
* par-prag.adb: Recognize pragma Rational.
|
||
* opt.ads (Rational_Profile): flag to control compatibility mode
|
||
with Rational compiler.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
|
||
is enable, accept renaming declarations where the new subprogram
|
||
and the renamed entity have the same name.
|
||
* sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
|
||
Rational as a profile.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Loop_Entry_Attributes): When
|
||
dealing with a for loop that iterates over a subtype indication
|
||
with a range, use the low and high bounds of the subtype.
|
||
|
||
2013-02-06 Nicolas Roche <roche@adacore.com>
|
||
|
||
* s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
|
||
be quoted
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Process_Project_And_Apply_Config): New variable
|
||
Conf_Project. New recursive procedure Check_Project to find a non
|
||
aggregate project and put its Project_Id in Conf_Project. Fails if
|
||
no such project can be found.
|
||
(Get_Or_Create_Configuration_File): New parameter Conf_Project.
|
||
(Do_Autoconf): Use project directory of project Conf_Project to store
|
||
the generated configuration project file.
|
||
* prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
|
||
Conf_Project.
|
||
|
||
2013-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Generate a read
|
||
reference for out-mode parameters in the cases specified by
|
||
RM 6.4.1(12).
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
|
||
Loop_Entry, instead wait until the attribute has been expanded. The
|
||
delay ensures that any generated checks or temporaries are inserted
|
||
before the relocated prefix.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Code clean up.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Discriminant_Check): Look for discriminant
|
||
constraint in full view of private type when needed.
|
||
* sem_ch12.adb (Validate_Array_Type_Instance): Specialize
|
||
previous patch to components types that are private and without
|
||
discriminants.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Find_Enclosing_Context): Recognize
|
||
a simple return statement as one of the cases that require special
|
||
processing with respect to temporary controlled function results.
|
||
(Process_Transient_Object): Do attempt to finalize a temporary
|
||
controlled function result when the associated context is
|
||
a simple return statement. Instead, leave this task to the
|
||
general finalization mechanism.
|
||
|
||
2013-02-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
(Status_Flag_Or_Transient_Decl): Add ??? comment.
|
||
|
||
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
|
||
routine should be able to properly detect controlled transient
|
||
objects in its actions and generate the appropriate finalization
|
||
actions.
|
||
* exp_ch6.adb (Enclosing_Context): Removed.
|
||
(Expand_Ctrl_Function_Call): Remove local subprogram and
|
||
constant. Use routine Within_Case_Or_If_Expression to determine
|
||
whether the lifetime of the function result must be extended to
|
||
match that of the context.
|
||
* exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
|
||
routine.
|
||
|
||
2013-02-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Array_Type_Instance): Extend check
|
||
for subtype matching of component type of formal array type,
|
||
to avoid spurious error when component type is a separate actual
|
||
in the instance, and there may be a discrepancy between private
|
||
and full view of component type.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-dim.ads, clean.adb: Minor reformatting.
|
||
|
||
2013-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
|
||
(Can_Split_Unconstrained_Function): Only split the inlined function if
|
||
the compiler generates the code of its body.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
|
||
exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
|
||
N_Pragma nodes.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor text updates for pragma Warning.
|
||
|
||
2013-02-06 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-multip.adb (Number_Of_CPUs): Short-circuit in case of
|
||
CPU'Last = 1.
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Delete): On VMS use host notation to delete all files.
|
||
|
||
2013-02-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
|
||
reformatting.
|
||
|
||
2013-02-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
|
||
the special case of a user-defined equality that overrides
|
||
the predefined equality of a nonderived type declared in a
|
||
declarative part.
|
||
* sem_util.adb (Collect_Primitive_Operations): Add test for
|
||
Is_Primitive when looping over the subprograms following a type,
|
||
to catch the case of primitives such as a user-defined equality,
|
||
which otherwise won't be found when the type is not a derived
|
||
type and is declared in a declarative part.
|
||
|
||
2013-02-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Check_Target): Always return True when Target
|
||
is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
|
||
New procedure to get the value of attribute Target in the main
|
||
project.
|
||
(Get_Or_Create_Configuration_File.Do_Autoconf): No
|
||
need to get the value of attribute Target in the main project.
|
||
(Get_Or_Create_Configuration_File): Call Get_Project_Target and
|
||
use the target fom this call.
|
||
|
||
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* erroutc.adb (Validate_Specific_Warning): Do not issue the
|
||
warning about an ineffective Pragma Warnings for -Wxxx warnings.
|
||
* sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
|
||
* gnat_rm.texi (Pragma Warnings): Document coordination with
|
||
warnings of the GCC back-end.
|
||
|
||
2013-02-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
|
||
of an inlined function if we do not generate code for the function.
|
||
|
||
2013-02-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
|
||
with Resolve_Links set to False.
|
||
|
||
2013-02-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c: Include diagnostic-core.h.
|
||
(gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
|
||
is set on the entity.
|
||
<E_Record_Type>: Likewise.
|
||
* gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
|
||
|
||
2013-01-29 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Fixed typos. Minor edits.
|
||
|
||
2013-01-29 Bob Duff <duff@adacore.com>
|
||
|
||
* a-convec.adb: Minor reformatting.
|
||
|
||
2013-01-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
|
||
directory.
|
||
|
||
2013-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
|
||
identifier only if it comes from source.
|
||
(Expand_N_Loop_Statement): If the domain of iteration is an
|
||
enumeration type with a representation clause, remove from
|
||
visibility the loop identifier before rewriting the loop as a
|
||
block with a declaration for said identifier.
|
||
* sem_util.adb (Remove_Homonym): Handle properly the default case.
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb: Minor comment spelling fix.
|
||
|
||
2013-01-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Expression_Variable_Decl): Prepend
|
||
Project_Path to current environment.
|
||
|
||
2013-01-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sprint.adb (Sprint_Node_Actual): Output freeze nodes for
|
||
itypes even if Dump_Freeze_Null is not set.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
* s-rident.ads: Minor comment fixes.
|
||
|
||
2013-01-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
|
||
control if the path is prepended or appended.
|
||
|
||
2013-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): An expression
|
||
function declaration is not a subprogram declaration, and thus
|
||
cannot appear in a protected definition.
|
||
|
||
2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Insert_Actions): When new
|
||
actions come from the expression of the expression with actions,
|
||
then they must be added to the list of existing actions.
|
||
|
||
2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
|
||
the subtype of a constrained private type with discriminants
|
||
that has got a full view, show that the completion is a clone
|
||
of the full view.
|
||
|
||
2013-01-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
|
||
* opt.ads (Warn_On_Overlap): Update documentation.
|
||
* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
|
||
Check function writable actuals.
|
||
* sem_ch3.adb (Build_Derived_Record_Type,
|
||
Record_Type_Declaration): Check function writable actuals.
|
||
* sem_ch4.adb (Analyze_Range): Check function writable actuals.
|
||
* sem_ch5.adb (Analyze_Assignment): Remove code of the initial
|
||
implementation of AI05-0144.
|
||
* sem_ch6.adb (Analyze_Function_Return,
|
||
(Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
|
||
of the initial implementation of AI05-0144.
|
||
* sem_res.adb (Resolve): Remove code of the initial implementation.
|
||
(Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
|
||
of the initial implementation.
|
||
(Resolve_Arithmetic_Op, Resolve_Logical_Op,
|
||
Resolve_Membership_Op): Check function writable actuals.
|
||
* sem_util.ad[sb] (Actuals_In_Call): Removed
|
||
(Check_Order_Dependence): Removed (Save_Actual): Removed
|
||
(Check_Function_Writable_Actuals): New subprogram.
|
||
* usage.adb (Usage): Update documentation.
|
||
* warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
|
||
setting all warnings.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-calend-vms.adb: Minor comment fix.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
|
||
because of casing issues.
|
||
* sem_util.ads: Minor comment fix.
|
||
* style.adb (Check_Identifier): Set proper casing for entities
|
||
in ASCII.
|
||
* styleg.adb: Minor comment improvement.
|
||
* stylesw.ads (Style_Check_Standard): Fix bad comments.
|
||
|
||
2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
|
||
(Analyze_Pragma): Push the scope of the related subprogram and install
|
||
its formals once before starting the analysis of the [moded] global
|
||
list.
|
||
|
||
2013-01-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Expression_Variable_Decl): Always handle
|
||
relative paths in Project_Path as relative to the aggregate
|
||
project location. Note that this was what was documented.
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: For "gnat stub -P ...", do not check the naming
|
||
scheme for Ada, when Ada is not a language for the project.
|
||
|
||
2013-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
|
||
Is_Generic_Actual_Type flag in a nested instance.
|
||
* sem_ch12.adb (Restore_Private_Views): Preserve
|
||
Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
|
||
of an enclosing instance.
|
||
* sem_util.adb (Corresponding_Generic_Type): Handle generic actual
|
||
which is an actual of an enclosing instance.
|
||
* sem_type.adb (Real_Actual): If a generic_actual_type is the
|
||
formal of an enclosing generic and thus renames the corresponding
|
||
actual, use the actual of the enclosing instance to resolve
|
||
spurious ambiguities in instantiations when two formals are
|
||
instantiated with the same actual.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
|
||
being available as implementation-defined pragmas in earlier
|
||
versions of Ada.
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Delete): On VMS, delete all versions of the file.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
|
||
* par-util.adb (No_Constraint): Undo special handling, moved
|
||
to par-ch6.adb.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads: Aspect Warnings is implementation defined Add
|
||
some other missing entries to impl-defined list Mark Warnings
|
||
as GNAT pragma in main list.
|
||
* sem_ch8.adb: Process aspects for all cases of renaming
|
||
declarations.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Do not issue
|
||
warnings about possible elaboration error if call is within
|
||
an assertion.
|
||
* sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
|
||
* s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
|
||
s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads (Ignore_Style_Checks_Pragmas): New flag.
|
||
* par-prag.adb (Par, case Style_Checks): Recognize
|
||
Ignore_Style_Checks_Pragmas.
|
||
* sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
|
||
Ignore_Style_Checks_Pragmas.
|
||
* switch-c.adb: Recognize -gnateY switch.
|
||
* usage.adb: Add documentation for "-gnateY".
|
||
* vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* clean.adb (Clean_Executables): Add Sid component when calling
|
||
Queue.Insert.
|
||
* make.adb: When inserting in the Queue, add the Source_Id
|
||
(Sid) when it is known (Start_Compile_If_Possible): When the
|
||
Source_Id is known (Sid), get the path name of the ALI file
|
||
(Full_Lib_File) from it, to avoid finding old ALI files in other
|
||
object directories.
|
||
* makeutl.ads (Source_Info): New Source_Id component Sid in
|
||
Format_Gnatmake variant.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnateY.
|
||
|
||
2013-01-29 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
|
||
system-vms-ia64.ads: Replace pragma Interface by pragma Import.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads, atree.adb (Node30): New function.
|
||
(Set_Node30): New procedure.
|
||
(Num_Extension_Nodes): Change to 5 (activate new fields/flags).
|
||
* atree.h: Add macros for Field30 and Node30.
|
||
* einfo.ads, einfo.adb: Move some fields to avoid duplexing.
|
||
* treepr.adb (Print_Entity_Information): Print fields 30-35.
|
||
|
||
2013-01-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Interface): Consider to
|
||
be a violation of No_Obsolescent_Features even in Ada 95. Also
|
||
generates a warning in -gnatwj mode.
|
||
(Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
|
||
mode.
|
||
* gnat_ugn.texi: Additional documentation on -gnatwj and pragma
|
||
Interface[_Name].
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add new standard name Trailing_Switches.
|
||
|
||
2013-01-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Controlling_Type): If a designated type T
|
||
of an anonymous access type is a limited view of a tagged type,
|
||
it can be a controlling type only if the subprogram is in the
|
||
same scope as T.
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Use the project where the config pragmas file is
|
||
declared to get its path.
|
||
|
||
2013-01-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: New attribute Linker'Trailing_Switches.
|
||
|
||
2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
|
||
not translate the Etype of the node before translating the Actions.
|
||
|
||
2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
|
||
instead of optimize and adjust warning message.
|
||
(Compilation_Unit_to_gnu): Process pragmas preceding the unit.
|
||
|
||
2013-01-22 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (ADT_unhandled_except_decl,
|
||
ADT_unhandled_others_decl): New.
|
||
(unhandled_others_decl, unhandled_except_decl): Define.
|
||
* gcc-interface/trans.c: Include common/common-target.h.
|
||
(gigi): Initialize them.
|
||
(Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
|
||
function in a try/catch clause.
|
||
|
||
2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
|
||
(CHECKING_ADAFLAGS): New.
|
||
(ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
|
||
|
||
2013-01-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
|
||
* gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
|
||
|
||
2013-01-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
|
||
comment about type extension with discriminants.
|
||
<E_Record_Subtype>: Remove useless test and reorder conditions.
|
||
(elaborate_entity) <E_Record_Subtype>: Likewise.
|
||
|
||
2013-01-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ada/864
|
||
* gcc-interface/Make-lang.in (ada.install-common): Always apply
|
||
program_transform_name.
|
||
|
||
2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Current_Year): Bump to 2013.
|
||
|
||
2013-01-06 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
|
||
diagnostic for component size mismatch wrt volatile requirements.
|
||
Add a gcc_unreachable() at the end of the checks for size. Split
|
||
the check on volatile for positions into one check on atomic and
|
||
a subsequent one on volatile.
|
||
|
||
2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
|
||
|
||
2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
|
||
pack the field of the record type made for a misaligned type.
|
||
|
||
2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
|
||
for discriminants inherited from parent record types.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* warnsw.adb: Minor fixes to -gnatw.d handling.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
|
||
fields.
|
||
|
||
2013-01-04 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document alignment choice for subtypes.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* validsw.ads: Minor fix to comment.
|
||
|
||
2013-01-04 Doug Rupp <rupp@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS,
|
||
GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
|
||
* gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
|
||
(GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
|
||
Rename leon vxworks toolchain as leon-wrs-vxworks.
|
||
* gcc-interface/Make-lang.in: Update dependencies
|
||
|
||
2013-01-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads (For_Each_Source): Add Locally_Removed parameter.
|
||
(Source_Iterator): Add Locally_Removed field.
|
||
* prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
|
||
(Next): Likewise.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb: Minor reformatting.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Insert_Valid_Check): Fix handling of renamed
|
||
packed array element.
|
||
* exp_ch4.adb (Expand_Concatenate): Fix some missing parent
|
||
fields in generated code.
|
||
* exp_util.adb (Side_Effect_Free): Improve detection of cases
|
||
needing renaming.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Clean up order of N_xxx subtypes
|
||
|
||
2013-01-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Check_Target): Allow --autoconf= with no target.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): Better handling of missing IS
|
||
after expression function.
|
||
* par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.ads, exp_util.adb (Insert_Actions): In expression with
|
||
actions case, new actions are appended to the sequence rather than
|
||
prepended.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
|
||
* usage.adb: Add lines for -gnatw.d/w.D switches.
|
||
* warnsw.adb: Minor fixes (some missing cases of setting
|
||
Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Make sure scope suppress
|
||
is restored on exit.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb: Document -gnateF (check overflow for predefined Float).
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Type_Conversion): Remove incorrect
|
||
prevention of call to Apply_Type_Conversion_Checks, which resulted
|
||
in missing check flags in formal mode.
|
||
|
||
2013-01-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.ads (Db_Switch_Args): New table used by gprbuild.
|
||
* prj-conf.adb (Check_Builder_Switches): Check for switches
|
||
--config= (Get_Db_Switches): New procedure to get the --db
|
||
switches so that they are used when invoking gprconfig in
|
||
auto-configuration.
|
||
(Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
|
||
|
||
2013-01-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2013-01-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* makeutl.ads (Root_Environment): New variable, moved rom
|
||
gprbuild (Load_Standard_Base): New Boolean variable, moved
|
||
from gprbuild.
|
||
* prj-conf.adb (Check_Builder_Switches): New procedure to check
|
||
for switch --RTS in package Builder. If a runtime specified
|
||
by --RTS is a relative path name, but not a base name, then
|
||
find the path on the Project Search Path.
|
||
(Do_Autoconf): Call Check_Builder_Switches.
|
||
(Locate_Runtime): New procedure, moved from gprbuild, to get the
|
||
absolute paths of runtimes when they are not specified as a base name.
|
||
* prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
|
||
|
||
2013-01-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Private_Derived_Type): Set
|
||
Has_Private_Ancestor on type derived from an untagged private
|
||
type whose full view has discriminants
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
|
||
aggregate for untagged record type with private ancestor.
|
||
|
||
2013-01-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_elab.adb, sem_ch3.adb: Minor reformatting.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* table.adb: Minor reformatting.
|
||
|
||
2013-01-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
|
||
not come from source does not generate a warning for redundant
|
||
with_clauses.
|
||
|
||
2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
|
||
* par-prag.adb: Add pragma Global to the list of pragmas that
|
||
do not need special processing by the parser.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
|
||
Global into a pragma without any form of legality checks. The
|
||
work is done by Analyze_Pragma. The aspect and pragma are both
|
||
marked as needing delayed processing. Insert the corresponding
|
||
pragma of aspect Abstract_State in the visible declarations of the
|
||
related package.
|
||
(Check_Aspect_At_Freeze_Point): Aspect Global
|
||
does not need processing even though it is marked as delayed.
|
||
Alphabetize the list on aspect names.
|
||
* sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
|
||
(Analyze_Pragma): Add ??? comment about the grammar of pragma
|
||
Abstract_State. Move the error location from the pragma to the
|
||
state to improve the quality of error placement. Add legality
|
||
checks for pragma Global.
|
||
* snames.ads-tmpl Add the following specially recognized names
|
||
|
||
2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb: Fix minor typo.
|
||
|
||
2013-01-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
|
||
accept an aspect name followed by a comma, indicating a defaulted
|
||
boolean aspect.
|
||
|
||
2013-01-04 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
|
||
Update doc on gnattest --separates switch.
|
||
|
||
2013-01-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-chepoo.ads: Minor reformatting.
|
||
|
||
2013-01-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* usage.adb: Remove mention of -gnatN in usage.
|
||
|
||
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
|
||
freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
|
||
prj-conf.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2013-01-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads: Minor documentation update.
|
||
|
||
2013-01-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
|
||
before resolving initialization expression.
|
||
|
||
2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Generate_Index_Checks): Delay the generation of
|
||
the check for an indexed component where the prefix mentions
|
||
Loop_Entry until the attribute has been properly expanded.
|
||
* exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
|
||
decoration of the constant that captures the value of Loop_Entry's
|
||
prefix at the entry point into a loop. Generate index checks
|
||
for an attribute reference that has been transformed into an
|
||
indexed component.
|
||
|
||
2013-01-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
|
||
sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
|
||
do if Obj is already frozen.
|
||
(Exp_Util.Find_Init_Call): Rename to...
|
||
(Exp_Util.Remove_Init_Call): New subprogram, renamed from
|
||
Find_Init_Call. Remove the initialization call from the enclosing
|
||
list if found, and if it is from an Initialization_Statements
|
||
attribute, reset it.
|
||
(Exp_Util.Append_Freeze_Action): Minor code reorganization.
|
||
(Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
|
||
allocated (as is already done in Append_Freeze_Action).
|
||
(Freeze.Freeze_Entity): For an object with captured
|
||
Initialization_Statements and non-delayed freezeing, unwrap the
|
||
initialization statements and insert and them directly in the
|
||
enclosing list.
|
||
(Sem_Ch13.Check_Address_Clause): For an object
|
||
with Initialization_Statements and an address clause, unwrap the
|
||
initialization statements when moving them to the freeze actions.
|
||
|
||
2013-01-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
|
||
corresponding attibutes.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor comment improvement.
|
||
|
||
2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
|
||
relevant tables.
|
||
* einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
|
||
the description of fields (Abstract_States): New routine.
|
||
(Integrity_Level): New routine.
|
||
(Has_Property): New routine.
|
||
(Is_Input_State): New routine.
|
||
(Is_Null_State): New routine.
|
||
(Is_Output_State): New routine.
|
||
(Is_Volatile_State): New routine.
|
||
(Refined_State): New routine.
|
||
(Set_Abstract_States): New routine.
|
||
(Set_Integrity_Level): New routine.
|
||
(Set_Refined_State): New routine.
|
||
(Write_Field8_Name): Add proper output for E_Abstract_State.
|
||
(Write_Field9_Name): Add proper output for E_Abstract_State.
|
||
(Write_Field25_Name): Add proper output for E_Package.
|
||
* lib-xref.ads: Add new letter for an abstract state.
|
||
* par-prag.adb: Add pragma Abstract_State to the list of pragma
|
||
that do not need special processing by the parser.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert
|
||
aspect Abstract_State into a pragma without any form
|
||
of legality checks. The work is done by Analyze_Pragma.
|
||
(Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
|
||
require delayed analysis.
|
||
* sem_prag.adb: Add a value for pragma Abstract_State in table
|
||
Sig_Flags.
|
||
(Analyze_Pragma): Add legality checks for pragma
|
||
Abstract_State. Analysis of individual states introduces a state
|
||
abstraction entity into the visibility chain.
|
||
* snames.ads-tmpl: Add new names for abstract state and
|
||
integrity. Add new pragma id for abstract state.
|
||
|
||
2013-01-03 Bob Duff <duff@adacore.com>
|
||
|
||
* table.adb (Reallocate): Calculate new Length in
|
||
Long_Integer to avoid overflow.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
|
||
(Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
|
||
it is set properly when expanding the initialization expression.
|
||
(Freeze.Check_Address_Clause): Transfer initialization expression
|
||
to an assignment in the freeze actions, so that the object is
|
||
initialized only after being elaborated by GIGI.
|
||
(Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
|
||
a Null_Statement as the expression in an Expression_With_Actions.
|
||
(Exp_Aggr.Collect_Initialization_Statements): New subprogram
|
||
shared by expansion of record and array aggregates, used to
|
||
capture statements for an aggregate used to initalize an object
|
||
into an Expression_With_Actions (which acts as a container for
|
||
a list of actions).
|
||
(Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
|
||
capture initialization statements, instead of the previously
|
||
existing loop which left freeze nodes out of the capturing
|
||
construct (causing out of order elaboration crashes in GIGI).
|
||
(Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
|
||
initialization statements (this was previously not done for
|
||
arrays). Also do not unconditionally prevent in place expansion
|
||
for an object with address clause.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
|
||
a record extension has the same scalar storage order as the parent type.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Add comment.
|
||
|
||
2013-01-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.adb: Minor spelling error correction in comment.
|
||
|
||
2013-01-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb (GNATCmd): If a single main has been specified
|
||
as an absolute path, use its simple file name to find specific
|
||
switches, instead of the absolute path.
|
||
|
||
2013-01-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
|
||
parameters that are record types or array types generate warnings
|
||
only compiling under -gnatw.i
|
||
* opt.ads (Extensions_Allowed): Restore previous documentation.
|
||
|
||
2013-01-03 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-conf.adb (Do_Autoconf): If Target is specified in the
|
||
main project, but not on the command line, use the Target in
|
||
the project to invoke gprconfig in auto-configuration.
|
||
* makeutl.ads (Default_Config_Name): New constant String.
|
||
|
||
2013-01-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* usage.adb: Minor: fix typo in usage.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
|
||
an illegal component clause for an inherited component in a
|
||
record extension.
|
||
|
||
2013-01-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
|
||
have information in the ALI file for both the index and the component
|
||
types.
|
||
|
||
2013-01-03 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* projects.texi: Fix error in documenting the project path
|
||
computed for an aggregate project.
|
||
|
||
2013-01-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
|
||
plus restricting the functionality of this routine to cover the
|
||
cases described in the Ada 2012 reference manual. The previous
|
||
extended support is now available under -gnatX.
|
||
* s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
|
||
variable to call Timed_Sleep. Required to avoid warning on
|
||
overlapping out-mode actuals.
|
||
* opt.ads (Extensions_Allowed): Update documentation.
|
||
|
||
2013-01-03 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
|
||
* arit64.c: Removed
|
||
* gcc-interface/Makefile.in: Remove reference to arit64.c.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
|
||
be generated at the start of the freeze actions for the entity, not
|
||
before (or after) the freeze node.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
|
||
Reorganize code to capture initialization statements in a block,
|
||
so that freeze nodes are excluded from the captured block.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch11.adb: Minor reformatting.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
|
||
sem_ch13.adb (Einfo.Initialization_Statements,
|
||
Einfo.Set_Initialization_Statements): New entity attribute
|
||
for objects.
|
||
(Exp_Util.Find_Init_Call): Handle case of an object initialized
|
||
by an aggregate converted to a block of assignment statements.
|
||
(Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
|
||
even for objects that require a constant address, because the
|
||
address expression might involve entities that have yet to be
|
||
elaborated at the point of the object declaration.
|
||
(Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
|
||
not require a transient scope, capture the assignment statements
|
||
in a block so that they can be moved down after elaboration of
|
||
an address clause if needed.
|
||
(Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
|
||
case N_Unchecked_Conversion): Do not replace operand subtype with
|
||
its base type as this violates a GIGI invariant if the operand
|
||
is an identifier (in which case the etype of the identifier
|
||
is expected to be equal to that of the denoted entity).
|
||
|
||
2013-01-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
|
||
functionality of this routine to cover cases described in the Ada 2012
|
||
reference manual.
|
||
|
||
2013-01-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elab.adb (Set_Elaboration_Constraint): Handle properly
|
||
a 'Access attribute reference when the subprogram is called
|
||
Initialize.
|
||
|
||
2013-01-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
|
||
select statement may be called from a controlled (e.g. Initialize)
|
||
operation and have abort always deferred.
|
||
|
||
2013-01-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
|
||
|
||
2013-01-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
|
||
internal entities associated with interfaces and add minimum
|
||
decoration to the defining entity of the generated wrapper to
|
||
allow overriding interface primitives.
|
||
* sem_disp.ads (Override_Dispatching_Operation): Addition of a
|
||
new formal (Is_Wrapper).
|
||
* sem_disp.adb (Override_Dispatching_Operation): When overriding
|
||
interface primitives the new formal helps identifying that the
|
||
new operation is not fully decorated.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
|
||
rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
|
||
(Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
|
||
Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
|
||
update spec accordingly (now also applies to root library units).
|
||
(Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
|
||
on root library units, not only child units.
|
||
(Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
|
||
(Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
|
||
even for root library units.
|
||
(Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
|
||
Standard is an expanded name for a root library unit.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2013-01-03 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tracebak.c: Reinstate changes to support ppc-lynx178.
|
||
|
||
2013-01-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting and documentation enhancement.
|
||
|
||
2013-01-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): If the object has
|
||
a class-wide type and a renaming declaration is created for it,
|
||
preserve entity chain, which already contains generated internal
|
||
types. This ensures that freezing actions are properly generated
|
||
for all objects declared subsequently in the same scope, and
|
||
that debugging information is generated for them.
|
||
* sem_util.adb, sem_util.ads (we): New debugging routine, to
|
||
display entity chain of a given scope.
|
||
|
||
2013-01-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_intr.adb: Minor reformatting.
|
||
|
||
2013-01-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb: Minor reformatting.
|
||
|
||
2013-01-03 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c, adaint.h (__gnat_get_module_name): Removed.
|
||
(__gnat_is_module_name_supported): Removed.
|
||
* s-win32.ads: Add some needed definitions.
|
||
* g-trasym.ads: Update comments.
|
||
|
||
2013-01-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb (Set_Composite_Alignment): Fix problems of
|
||
interactions with Optimize_Alignment set to Space.
|
||
|
||
2013-01-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_disp.adb: Minor reformatting.
|
||
|
||
2013-01-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR bootstrap/55784
|
||
* gcc-interface/Makefile.in: Add $(GMPINC) to includes.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
|
||
side effects from Tag_Arg early, doing it too late may cause a
|
||
crash due to inconsistent Parent link.
|
||
* sem_ch8.adb, einfo.ads: Minor reformatting.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Has_Independent_Components): New flag.
|
||
* freeze.adb (Size_Known): We do not know the size of a packed
|
||
record if it has atomic components, by reference type components,
|
||
or independent components.
|
||
* sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
|
||
flag Has_Independent_Components.
|
||
|
||
2013-01-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
|
||
* usage.adb (Usage): Update usage message.
|
||
|
||
2013-01-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_module_name_supported): New constant.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
|
||
array whose component type does not have a completion.
|
||
|
||
2013-01-02 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb: Minor reformatting.
|
||
|
||
2013-01-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
|
||
|
||
2013-01-02 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* a-exctra.ads (Get_PC): New function.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch7.adb: Minor reformatting.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Do not crash on
|
||
_Tag component.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
|
||
On_Target to Atomic_Sync_Default.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
|
||
comparison of attribute result with constant
|
||
* a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
|
||
Warnings (Off, "..");
|
||
|
||
2013-01-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.ads: Minor correction of comment.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Package_Declaration): The first
|
||
declaration in a nested package is dominated by the preceding
|
||
declaration in the enclosing scope.
|
||
|
||
2013-01-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c, adaint.h (__gnat_get_module_name): Return the actual
|
||
module containing a given address.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2013-01-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
|
||
Win64 and default to ftell on other platforms.
|
||
(__gnat_fsek64): Likewise.
|
||
* i-cstrea.ads: Add fssek64 and ftell64 specs.
|
||
* s-crtl.ads: Likewise.
|
||
* a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
|
||
(Set_Position): Likewise.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Generate X SCOs for default expressions in
|
||
subprogram body stubs. Do not generate any SCO for package,
|
||
task, or protected body stubs.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Further improvement to ASIS mode for anonymous
|
||
access to protected subprograms.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, vms_data.ads: Minor reformatting.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Declarations_Or_Statement): Function
|
||
form, returning value of Current_Dominant upon exit, for chaining
|
||
purposes.
|
||
(Traverse_Declarations_Or_Statement.Traverse_One, case
|
||
N_Block_Statement): First statement is dominated by last declaration.
|
||
(Traverse_Subprogram_Or_Task_Body): Ditto.
|
||
(Traverse_Package_Declaration): First private
|
||
declaration is dominated by last visible declaration.
|
||
(Traverse_Sync_Definition): Ditto.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
|
||
matching Bit_Order to record types only, since array types do not
|
||
have a Bit_Order.
|
||
|
||
2013-01-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Remove documentation of -gnateO, which is an
|
||
internal switch.
|
||
* usage.adb: Indicate that -gnateO is an internal switch.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Add SCO generation for task types and single
|
||
task declarations.
|
||
* get_scos.adb: When adding an instance table entry for a
|
||
non-nested instantiation, make sure the Enclosing_Instance is
|
||
correctly set to 0.
|
||
|
||
2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Skip the special _Parent
|
||
scope generated for subprogram inlining purposes while trying
|
||
to locate the enclosing function.
|
||
* sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
|
||
expression of pragma Postcondition when the pragma comes from
|
||
source and appears inside a subprogram body.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
|
||
information in debug info unconditionally when using -fdump-scos,
|
||
instead of relying on a separate command line switch -fdebug-instances.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Additional refinement of predicate.
|
||
|
||
2013-01-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* vms_data.ads: Remove incorrect spaces at end of descriptions
|
||
of qualifiers for single switch.
|
||
|
||
2013-01-02 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor edits / wordsmithing in section on pragma
|
||
Check_Float_Overflow.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sprint.adb (Sprint_Node_Actual): Do not add extra parens for
|
||
a conditional expression (CASE or IF expression) that already
|
||
has parens. Also omit ELSE keyword for an IF expression without
|
||
an ELSE part.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
|
||
flag_debug_instances here, after front-end switches have been
|
||
processed.
|
||
|
||
2013-01-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* usage.adb: Minor reformatting.
|
||
|
||
2013-01-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* opt.ads: Fix typo.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Generate P decision SCOs for SPARK pragmas
|
||
Assume and Loop_Invariant.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
|
||
* ug_words: Add entry for Float_Check_Overflow.
|
||
* usage.adb: Minor reformatting.
|
||
* gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
|
||
|
||
2013-01-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
|
||
-gnateO=, -gnatet and -gnateV.
|
||
* ug_words: Add qualifiers equivalent to -gnateA, -gnated,
|
||
-gnatet and -gnateV.
|
||
* usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
|
||
* vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
|
||
(-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
|
||
/PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
|
||
(-gnatet).
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
|
||
* opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
|
||
* par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
|
||
* sem_prag.adb: Implement pragma Check_Float_Overflow.
|
||
* snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
|
||
* switch-c.adb: Recognize -gnateF switch.
|
||
* tree_io.ads: Update ASIS version number.
|
||
* gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
|
||
exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
|
||
freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
|
||
par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
|
||
sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
|
||
sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
|
||
* sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads: Minor comment fix.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Refine predicate.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Minor comment fixes.
|
||
* opt.ads: Minor comment additions.
|
||
* exp_aggr.adb: Add tags to warning messages
|
||
* exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
|
||
sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
|
||
sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
|
||
sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
|
||
sem_warn.adb: Add tags to warning messages
|
||
|
||
2013-01-02 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Recover source name for renamed packagea.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
|
||
tests to fail if insertion sequence is at end of message string.
|
||
* opt.ads: Minor comment fixes and additions.
|
||
* sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
|
||
sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
|
||
* sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
|
||
tags. Add tags to warning messages.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads (Warning_Doc_Switch): New flag.
|
||
* errout.adb (Error_Msg_Internal): Implement new warning flag
|
||
doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
|
||
* errout.ads: Document new insertion sequences ?? ?x? ?.x?
|
||
* erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
|
||
tag stuff.
|
||
* erroutc.ads (Warning_Msg_Char): New variable.
|
||
(Warn_Chr): New field in error message object.
|
||
* errutil.adb (Error_Msg): Set Warn_Chr in error message object.
|
||
* sem_ch13.adb: Minor reformatting.
|
||
* warnsw.adb: Add handling for -gnatw.d and -gnatw.D
|
||
(Warning_Doc_Switch).
|
||
* warnsw.ads: Add handling of -gnatw.d/.D switches (warning
|
||
doc tag).
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads: Minor reformatting.
|
||
|
||
2013-01-02 Doug Rupp <rupp@adacore.com>
|
||
|
||
* init.c: Reorganize VMS section.
|
||
(scan_condtions): New function for scanning condition tables.
|
||
(__gnat_handle_vms_condtion): Use actual exception name for imported
|
||
exceptions vice IMPORTED_EXCEPTION.
|
||
Move condition table scanning into separate function. Move formerly
|
||
special handled conditions to system condition table. Use SYS$PUTMSG
|
||
output to fill exception message field for formally special handled
|
||
condtions, in particular HPARITH to provide more clues about cause and
|
||
location then raised from the translated image.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
|
||
aspect that applies to a library subprogram, prepend corresponding
|
||
pragma to the Pragmas_After list, in order for split AND THEN
|
||
sections to be processed in the expected order.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Check): The statements generated
|
||
for the pragma must have the sloc of the pragma, not the
|
||
sloc of the condition, otherwise this creates anomalies in the
|
||
generated debug information that confuse coverage analysis tools.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2013-01-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* g-excact.ads (Core_Dump): Clarify that this subprogram does
|
||
not dump cores under Windows.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
|
||
view of a subprogram has convention Intrnnsic, and a renaming
|
||
of a prefixed view cannot be the prefix of an Access attribute.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.adb: Minor reformatting.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_prag.adb: Minor reformatting.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Get_Associated_Node): If the node is an
|
||
identifier that denotes an unconstrained array in an object
|
||
declaration, it is rewritten as the name of an anonymous
|
||
subtype whose bounds are given by the initial expression in the
|
||
declaration. When checking whether that identifier is global
|
||
reference, use the original node, not the local generated subtype.
|
||
|
||
2013-01-02 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tracebak.c: Revert previous change, incomplete.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
|
||
appears on a subprogram body that acts as a spec, place the
|
||
corresponding pragma in the declarations of the body, so that
|
||
e.g. pre/postcondition checks can be generated appropriately.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting and code reorganization.
|
||
|
||
2013-01-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Record the
|
||
complete switch -fstack-check=specific instead of its shorter
|
||
alias -fstack-check.
|
||
|
||
2013-01-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
|
||
if the derived type is a tagged generic formal type with
|
||
unknown discriminants, the inherited operation has convention
|
||
Intrinsic. As such, the 'Access attribute cannot be applied to it.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Add SCO generation for S of protected types and
|
||
single protected object declarations.
|
||
|
||
2013-01-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb, osint.ads: Minor reformatting.
|
||
|
||
2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_eval.adb (Compile_Time_Compare): For static operands, we
|
||
can perform a compile time comparison even if in preanalysis mode.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (SCO_Record): Always use
|
||
Traverse_Declarations_Or_Statements to process the library level
|
||
declaration, so that SCOs are properly generated for its aspects.
|
||
|
||
2013-01-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.ads (In_Decision): Add missing entry for 'a'.
|
||
* sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
|
||
call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
|
||
* sem_ch13.adb: Minor comment update.
|
||
|
||
Copyright (C) 2013 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.
|