| 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. |