| 2014-12-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Attribute_to_gnu) <Attr_{Min,Max}>: If the |
| type is a floating-point type, implement the semantics of the C99 |
| f{min,max} routines with regard to NaNs. |
| (gnat_to_gnu): Call builtin_decl_implicit. |
| * gcc-interface/utils2.c (compare_arrays): Adjust comments. |
| |
| 2014-12-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_field): Post the error message |
| for parent overlapping on the position instead of on the first bit. |
| For a field that needs strict alignment, issue the error for the |
| position first and, for the size, issue an error if it is too large |
| only for the atomic and aliased cases. Issue a specific error if |
| the size is not a multiple of a byte in the volatile and the strict |
| alignment cases. |
| |
| 2014-12-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (check_ok_for_atomic): Rename into... |
| (check_ok_for_atomic_type): ...this. When checking the mode, also |
| check that the type is sufficient aligned. Remove useless code and |
| tidy up implementation. |
| (gnat_to_gnu_entity): Adjust to above renaming. |
| (gnat_to_gnu_component_type): Likewise. |
| (gnat_to_gnu_field): Likewise. |
| |
| 2014-12-17 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * gcc-interface/misc.c (gnat_get_array_descr_info): New. Use it for |
| the get_array_descr_info lang-hook. Use it to tune the DWARF output |
| for array types. |
| |
| 2014-11-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Makefile.in (Cygwin/Mingw): Fix previous change. |
| |
| 2014-11-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (build_return_expr): Use INIT_EXPR instead of |
| MODIFY_EXPR to assign to the return object. |
| (finalize_nrv_r): Adjust to above change. |
| (finalize_nrv_unc_r): Likewise. |
| |
| 2014-11-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (push_range_check_info): Replace early test |
| with assertion. |
| (Raise_Error_to_gnu): Do not call push_range_check_info if the loop |
| stack is empty. |
| * gcc-interface/utils.c (convert_to_fat_pointer): Fix formatting. |
| * gcc-interface/utils2.c (gnat_invariant_expr): Deal with padded types |
| and revert latest change. |
| |
| 2014-11-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on |
| actuals of In parameters if the destination type is an unconstrained |
| composite type. |
| |
| 2014-11-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable. |
| <case NULL_EXPR>: Deal with unconstrained array types and use 'type'. |
| <case ADDR_EXPR>: Use 'type'. |
| <case DECL_EXPR>: Likewise. |
| |
| 2014-11-20 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * gcc-interface/decl.c (annotate_value_cache): Replace htab with |
| hash_table. |
| (annotate_value): Adjust. |
| (init_gnat_decl): Likewise. |
| (destroy_gnat_decl): Likewise. |
| * gcc-interface/utils.c (pad_type_hash_table): Replace htab with |
| hash_table. |
| (init_gnat_utils): Adjust. |
| (destroy_gnat_utils): Likewise. |
| (lookup_and_insert_pad_type): Likewise. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| PR ada/63931 |
| * gnatvsn.ads (Library_Version): Switch to "5". |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Do not reset Is_True_Constant |
| for aliased constant objects. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb (Following_Address_Clause): Use new Name_Table |
| boolean flag set by parser to avoid the search if there is no |
| address clause anywhere for the name. |
| * namet.adb (Name_Enter): Initialize Boolean_Info flag |
| (Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean): |
| New function (Set_Name_Table_Boolean): New procedure |
| * namet.ads: Add and document new Boolean field in name table |
| (Get_Name_Table_Boolean): New function. |
| (Set_Name_Table_Boolean): New procedure. |
| * par-ch13.adb (P_Representation_Clause): Set Name_Table boolean |
| flag for an identifier name if we detect an address clause or |
| use-at clause for the identifier. |
| * sem_ch3.adb (Analyze_Object_Declaration): Remove comment about |
| Following_Address_Clause since this function is now optimized |
| and is not a performance concern. |
| * sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK |
| mode, pragma Elaborate is now allowed, but does not suppress |
| elaboration checking. |
| |
| 2014-11-20 Jerome Lambourg <lambourg@adacore.com> |
| |
| * gcc-interface/Makefile.in: Add some support for VxWorks7. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb, freeze.adb: Minor reformatting. |
| * gnat_rm.texi: Minor editing. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Minor reformatting. |
| (Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check |
| in SPARK. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * gnat_rm.texi: Correction to documentation of |
| 'Unrestricted_Access in case of access to unconstrained array. |
| * a-cofove.adb (Capacity): Fix bug -- was always |
| returning Capacity_Range'Last. |
| (Is_Sorted): Fix bug -- was always returning True, because |
| Container.Last = Last. That test isn't even needed, because the |
| loop will go around zero times in that case, so deleted that |
| test rather than fixing it. |
| (Reverse_Elements): Make sure to use the correct array bounds. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Associations): In GNATProve mode, build |
| wrappers for functions and operators that are actuals only if |
| expander is enabled. Wrappers play no role within a generic unit. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Policy_In_Effect): Use the |
| configuration level assertion flag. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-parame-ae653.ads: Update comments. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * types.ads, einfo.ads: Minor reformatting. |
| * sem_elab.adb (Check_A_Call): Add guard for reference to Alias |
| for variable case. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays |
| instead of access-to-unconstrained, because the latter doesn't |
| work with 'Unrestricted_Access when the result is returned from |
| a function. |
| * a-cofove.ads (Vector): Move the discriminant-dependent array |
| after the other components for efficiency. Otherwise the compiler |
| will generate a lot of code to calculate the offset of the other |
| components every time they're accessed. |
| |
| 2014-11-20 Olivier Hainque <hainque@adacore.com> |
| |
| * opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when |
| it is set to true. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): Handle properly |
| a type invariant check on an object with default initialization |
| and an address clause. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Check_A_Call): Handle variable ref case in |
| SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto |
| (Get_Referenced_Ent): ditto. |
| * sem_elab.ads: Comment fixes to account for the fact that we |
| now deal with variable references in SPARK mode. |
| * sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call |
| Check_Elab_Call for variable. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * a-cofove.ads (Copy): Fix precondition, which should allow |
| Capacity = 0. |
| (First_To_Previous, Current_To_Last): Add necessary preconditions. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Build_Initialization_Call): Reimplement the |
| circuitry which extraacts the [underlying] full view of a |
| private type to handle a case where the private type acts as a |
| generic actual. |
| * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the |
| loop label form the original loop regardless of whether it came |
| from source. |
| * sem_attr.adb (Analyze_Attribute): When taking 'Access of an |
| expression function with a generated body that has not been |
| analyzed yet, analyze the body to freeze the expression. |
| * sem_util.adb (Set_Public_Status_Of): New routine. |
| (Transfer_Entities): Handle the case where a private type with |
| an internally generated full view is being transfered and update |
| its full view. |
| |
| 2014-11-20 Vincent Celier <celier@adacore.com> |
| |
| * prj-nmsc.adb (Check_Object): If a unit is in a multi-source |
| file, its object file is never the same as any other unit. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.adb (Initialize_ATCB): Take into |
| account the fact that the domain of the activator can be null |
| if we're initializing a foreign task. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch12.adb: Minor reformatting. |
| |
| 2014-11-20 Jerome Lambourg <lambourg@adacore.com> |
| |
| * s-osinte-vxworks.ads: Add comments. Minor reformatting. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb, sem_elab.adb: Minor rewording of error message in |
| SPARK mode, for consistency. |
| |
| 2014-11-20 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * gnat_ugn.texi: New section on gnattest stubbing. Minor |
| reformatting. |
| |
| 2014-11-20 Jerome Lambourg <lambourg@adacore.com> |
| |
| * s-taprop-vxworks.adb (Create_Task): Fix thread comparison. |
| Minor reformatting. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor |
| reformatting. |
| * comperr.adb (Compiler_Abort): New wording for bug box. |
| * par-ch13.adb: Minor reformatting. |
| * par-ch3.adb (P_Identifier_Declarations): Handle aspect |
| specifications given before initialization expression in object |
| declaration cleanly. |
| * gnat1drv.adb (Adjust_Global_Switches): Make sure static |
| elaboration mode is set if we are operating in SPARK mode. |
| * sem_ch12.adb (Analyze_Package_Instantiation): Make |
| sure static elab mode is set if we are in SPARK mode. |
| (Analyze_Subprogram_Instantiation): ditto. |
| (Set_Instance_Env): ditto. |
| * sem_elab.adb (Check_A_Call): In SPARK mode, we require |
| Elaborate_All in the case of a call during elaboration to a |
| subprogram in another unit. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb (Can_Split_Unconstrained_Function, |
| Build_Procedure): Copy parameter type rather than creating |
| reference to the entity, to capture class-wide reference, whose |
| name is not retrieved by visibility. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-taspri-solaris.ads: Replace 64 by long_long_integer'size. |
| |
| 2014-11-20 Olivier Hainque <hainque@adacore.com> |
| |
| * init.c (__gnat_map_signal for VxWorks): Use a common mapping |
| scheme for VxWorks version >= 6, instead of falling back to the |
| vx5 scheme for versions > 6. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use |
| base type when constructing subtype indication for constrained |
| target object. |
| |
| 2014-11-20 Jose Ruiz <ruiz@adacore.com> |
| |
| * projects.texi: Minor spelling fix. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp. |
| |
| 2014-11-20 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb (Register_New_Package): Allow the registration |
| of an already unknown package and make it known. |
| |
| 2014-11-20 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * gcc-interface/decl.c, gcc-interface/utils.c: replace htab with |
| hash_table. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma |
| Elaborate in SPARK mode. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain |
| is null, then initialize T.Common.Domain to that of the |
| activating task (not the parent task!), as required by RM-D.16.1. |
| T.Common.Domain should never be null; so Assert. Remove similar |
| code from Create_Task in s-tassta.adb. |
| * s-mudido-affinity.adb: Remove checks for Domain = null, |
| because it can't be null. |
| * s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads, |
| s-taspri-posix.ads, s-taspri-posix-noaltstack.ads, |
| s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as |
| explicitly limited for clarity. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Init_Hidden_Discriminants): Code clean up. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Error_Msg): Don't suppress continuation msgs for |
| run-time files. |
| * sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma |
| Elaborate in SPARK mode. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * gnat_rm.texi: Update GNAT RM with rule about expressions in |
| Update attribute. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * g-socket.adb (To_Host_Entry): Guard against case of a |
| non-AF_INET entry. |
| |
| 2014-11-20 Vadim Godunko <godunko@adacore.com> |
| |
| * a-strunb-shared.adb (To_Unbounded_String): Use shared empty |
| object to construct return value when source string is empty or |
| requested length is zero. |
| * a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise. |
| * a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb, |
| a-cofove.adb: Skip CodePeer analysis on body of all formal containers. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * adaint.c: Fix typo. |
| * exp_util.adb (Make_Subtype_From_Expr): Complete previous change, |
| generate constant values. |
| * sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong |
| evaluation to '0' of some unknown values. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * repinfo.adb (List_Record_Info): Do not list discriminant in |
| unchecked union. |
| * sem_ch13.adb (Has_Good_Profile): Minor reformatting |
| (Analyze_Stream_TSS_Definition): Minor reformatting |
| (Analyze_Record_Representation_Clause): Do not issue warning |
| for missing rep clause for discriminant in unchecked union. |
| |
| 2014-11-20 Vadim Godunko <godunko@adacore.com> |
| |
| * a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb |
| ("&") Use already computed value of data length to call allocation |
| subprogram. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress |
| debugging information for a call to a predefined unit, if the |
| call comes from source and the unit is in the Ada hierarchy. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * s-mudido.ads: Update signature of Create and Get_Last_CPU. Add |
| CPU_Set, another Create, and Get_CPU_Set. |
| * s-mudido.adb: Corresponding changes to the spec. New |
| operations just raise an exception. Also minor cleanup: use |
| raise_expressions. |
| * s-mudido-affinity.adb: Implementations of new operations from |
| * s-mudido.ads, for the platforms that actually support processor |
| affinity. The new Create (which takes a set) now does all the |
| work; the old Create (which takes a range) now just calls the |
| new one. Change error messages to reflect the fact that it's an |
| arbitrary set, not just a range. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb: Minor reformatting. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of |
| all index constracts when the expression is of an array type. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.ads: Minor comment improvements. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * exp_ch9.adb: Minor comment fixes. |
| * s-taskin.adb (Initialize): Small simplification: pass System_Domain |
| to Initialize_ATCB instead of passing null and then setting the Domain |
| to System_Domain. This requires moving the creation of System_Domain |
| earlier. |
| * s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for |
| processors that have a True in the Domain. This is necessary if the |
| Domain is not all-True values. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Has_Good_Profile): a) An stream attribute |
| for the class-wide type of an interface type is not a primitive |
| operation and is not subject to the restrictions of 13.13. (38/3). |
| b) A stream operation for an interface type must be a null |
| procedure, and it cannot be a function. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * exp_attr.adb (Attribute_Max_Size_In_Storage_Elements): |
| Eliminate 'Class references from the tree, because gigi crashes on |
| 'Class. Also, don't check Nkind (Attr) -- it is known to be |
| N_Attribute_Reference. Assert that instead. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * debug.adb: Minor comment fix. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-ciorma.adb: Minor update: move pragma Annotate up. |
| * a-cfdlli.adb: Skip codepeer analysis on this body. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): |
| Allow use of this pragma with generic unit (package or subprogram). |
| * gnat_rm.texi: Clarify that pragma No_Elaboration_Code_All can |
| be applied to generics. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Valid_Limited_Ancestor): Ancestor part of |
| extension aggregate can itself be an extension aggregate, as |
| well as a call that is rewritten as a reference. |
| |
| 2014-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Add_Inlined_Subprogram): Insert all programs |
| generated as a body or whose declaration was provided along with |
| the body. |
| |
| 2014-11-20 Javier Miranda <miranda@adacore.com> |
| |
| * sem.adb (Semantics): Disable expansion if we are compiling a |
| separate unit under configurable runtime. By default separate |
| units are compiled with expansion disabled but under configurable |
| runtime we enable the expansion to get error messages about |
| missing entities. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor reformatting. |
| * exp_util.adb (Following_Address_Clause): Handle case of |
| package private part. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb, |
| a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb, |
| a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb, |
| a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb, |
| a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb, |
| a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb, |
| a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer |
| from analyzing these bodies. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not apply |
| inlining expansion if function build in place, i.e. has a limited |
| return type. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Add |
| variables Body_Id, Body_Inputs, Body_Outputs, Spec_Inputs, |
| Spec_Outputs. Synthesize the inputs and outputs of the subprogram |
| when pragma [Refined_]Global is missing and perform legality |
| checks on output states with visible refinement. |
| (Appears_In): Update the comment on usage. |
| (Check_Output_States): New routine. |
| (Collect_Dependency_Clause): New routine. |
| (Collect_Global_Items): Relocated to |
| Analyze_Refined_Global_In_Decl_Part. |
| (Collect_Subprogram_Inputs_Outputs): Add new formal parameters |
| Synthesize and Depends_Seen. The routine can now synthesize inputs |
| and outputs from pragma [Refined_]Depends. |
| (Normalize_Clause): Update the comment on usage. The routine no longer |
| performs normalization of outputs. |
| (Normalize_Clauses): Normalize both inputs and outputs. |
| (Normalize_Output): Relocated to Normalize_Clauses. |
| * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Add new |
| formal parameters Synthesize and Depends_Seen and update the |
| comment on usage. |
| |
| 2014-11-20 Vincent Celier <celier@adacore.com> |
| |
| PR ada/47500 |
| * back_end.adb (Scan_Back_End_Switches): Skip switch -G and |
| its argument. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Reset_Loop_Variable): New subsidiary procedure |
| in Build_Predicate_Functions, to handle properly quantified |
| expressions in dynamic predicates. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnatcmd.adb, sem_ch6.adb, exp_dist.adb: Minor reformatting. |
| * sem_util.adb (Bad_Unordered_Enumeration_Reference): Suppress |
| warning (return False) for generic type. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Appears_In_Check): Removed. |
| (Is_OK_Volatile_Context): Rewrite the checks which verify that |
| an effectively volatile object subject to enabled properties |
| Async_Writers or Effective_Reads appears in a suitable context to |
| properly recognize a procedure call. |
| (Within_Check): New routine. |
| (Within_Procedure_Call): New routine. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb: Improve better error message. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb, sem_ch13.adb: Minor editing. |
| |
| 2014-11-20 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb: Remove any special processing for the ASIS tools |
| (gnatpp, gnatmetric, gnatcheck, gnatelim and gnatstup) and simply |
| invoke the tool with the provided switches and arguments. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): Reject declaration |
| of expression function with identical profile as previous |
| expression function. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb: Complete previous change. |
| * exp_dist.adb, exp_dist.ads: Rework PolyORB/DSA arguments processing |
| circuitry to correctly handle the case of non-private limited |
| unconstrained formals. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb, exp_dbug.adb, sem_ch13.adb: Minor reformatting. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * einfo.ads: Fix minor typo in comment. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, sem_util.adb: Minor reformatting. |
| |
| 2014-11-20 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * uintp.h (UI_Eq): Declare. |
| * urealp.h (Norm_Den): Declare. |
| (Norm_Num): Declare. |
| * exp_dbug.adb (Is_Handled_Scale_Factor): New. |
| (Get_Encoded_Name): Do not output ___XF GNAT encodings |
| for fixed-point types when these can be handled by GCC's DWARF |
| back-end. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.db (Inherit_Aspects_At_Freeze_Point): Inherit parent |
| SSO even if set through a pragma Default_Scalar_Storage_Order. |
| * freeze.adb (Set_SSO_From_Default): For a type extension, |
| do not let the default SSO override the parent SSO. |
| * gnat_rm.texi: document the above |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * a-stream.ads, a-reatim.ads, a-calend.ads, sinfo.ads, s-crtl.ads, |
| interfac.ads, s-taskin.ads: Minor reformatting. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Extensions_Visible can now |
| apply to an expression function. |
| * sem_util.adb (Extensions_Visible_Status): Add special processing |
| for expression functions. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * inline.adb (Build_Body_To_Inline): Remove meaningless aspects |
| and pragmas. |
| (Generate_Subprogram_Body): Remove meaningless aspects and pragmas. |
| (Remove_Aspects_And_Pragmas): New routine. |
| (Remove_Pragmas): Removed. |
| * namet.ads, namet.adb (Nam_In): New versions of the routine. |
| |
| 2014-11-20 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_util.adb: Minor reformatting. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Linker_Section): Detect |
| duplicate Linker_Section. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch4.adb: Add guard for build-in-place boolean op. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * checks.adb (Apply_Scalar_Range_Check): In GNATprove mode, |
| put a range check when an empty range is used, instead of an |
| error message. |
| * sinfo.ads Update comment on GNATprove mode. |
| |
| 2014-11-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-stream.ads, s-osinte-linux.ads, a-reatim.ads, a-calend.ads, |
| s-crtl.ads, interfac.ads, s-taskin.ads: Replace uses of 2 ** 63 and |
| 2 ** 64 by references to Long_Long_Integer instead, to allow these |
| units to be analyzed by codepeer or spark when using a target |
| configuration file with long_long_size set to 32. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Extensions_Visible_Status): Modify the logic to account |
| for non-SPARK code. |
| (Object_Access_Level): In ASIS mode, recognize |
| a selected component with an implicit dereference so that it |
| yields the same value with and without expansion. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS |
| (compile-only) mode, use original type declaration to determine |
| whether protected type implements an interface. |
| |
| 2014-11-20 Yannick Moy <moy@adacore.com> |
| |
| * a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads, |
| * a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private |
| part/body as SPARK_Mode Off. |
| * a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads, |
| * a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use |
| aspect instead of pragma for uniformity. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Is_EVF_Expression): Include |
| attributes 'Loop_Entry, 'Old and 'Update to the logic. |
| |
| 2014-11-20 Bob Duff <duff@adacore.com> |
| |
| * sem_res.adb (Make_Call_Into_Operator): Don't |
| call Left_Opnd in the case of unary operators, because they only |
| have Right. |
| |
| 2014-11-20 Pascal Obry <obry@adacore.com> |
| |
| * initialize.c (ProcListCS): New extern variable (critical section). |
| (ProcListEvt): New extern variable (handle). |
| (__gnat_initialize)[Win32]: Initialize the ProcListCS critical |
| section object and the ProcListEvt event. |
| * final.c (__gnat_finalize)[Win32]: Properly finalize the |
| ProcListCS critical section and the ProcListEvt event. |
| * adaint.c (ProcListEvt): New Win32 event handle. |
| (EnterCS): New routine to enter the critical section when dealing with |
| child processes chain list. |
| (LeaveCS): As above to exit from the critical section. |
| (SignalListChanged): Routine to signal that the chain process list has |
| been updated. |
| (add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the |
| handle has been added. |
| (__gnat_win32_remove_handle): Use EnterCS/LeaveCS, |
| also call SignalListChanged if the handle has been found and removed. |
| (remove_handle): Routine removed, implementation merged with the above. |
| (win32_wait): Use EnterCS/LeaveCS for the critical section. Properly |
| copy the PID list locally to ensure that even if the list is updated |
| the local copy remains valid. Add into the hl (handle list) the |
| ProcListEvt handle. This handle is used to signal that a change has |
| been made into the process chain list. This is to ensure that a waiting |
| call can be resumed to take into account new processes. We also make |
| sure that if the handle was not found into the list we start over |
| the wait call. Indeed another concurrent call to win32_wait() |
| could already have handled this process. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Actuals): The legality rule concerning |
| the use of class-wide actuals for a non-controlling formal are |
| not rechecked in an instance. |
| |
| 2014-11-20 Pascal Obry <obry@adacore.com> |
| |
| * g-dirope.ads: Minor typo fix. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, |
| Expand_Update_Attribute): Preserve the tag of a prefix by offering |
| a specific view of the class-wide version of the prefix. |
| |
| 2014-11-20 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Function_Return): For functions returning |
| an access to an interface add an implicit conversion to the target |
| type to force the displacement of the pointer to the object to |
| reference the secondary dispatch table. |
| (Check_Anonymous_Return): Skip internally built functions which handle |
| the case of null access when locating the master of a task. |
| * sem_res.adb (Valid_Conversion): Return true for internally |
| generated conversions of access to interface types added to force |
| the displacement of the pointer to reference the corresponding |
| dispatch table. |
| |
| 2014-11-20 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (add_handle): realloc with a size of +100. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate |
| back the resolved operands to the original call node, taking |
| into account that the original call may have named associations. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * inline.adb (Has_Some_Contract): Change the |
| guard to test the Ekind of the entity rather than the Analyzed |
| flag. This handles partially analyzed contexts. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do |
| not reject the renaming of a function result if the renaming |
| does not come for source. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.ads: Minor addition of ??? clause. |
| |
| 2014-11-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Is_Variable): For an Ada 2012 implicit |
| dereference introduced for an indexing opertion, check that the |
| type of the corresponding access discriminant is not an access |
| to constant. |
| |
| 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Find_Corresponding_Spec): Inherit |
| the ghostness of the matching spec, the same way convention |
| is inherited. |
| |
| 2014-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of |
| tests in a condition so Following_Address_Clause is invoked |
| only if need be. |
| * exp_util.ads (Following_Address_Clause): Add small note. |
| |
| 2014-11-20 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (remove_handle): New local routine without a lock. |
| (win32_wait): fix the critical section to properly protect needed |
| code, use new remove_handle. |
| (__gnat_win32_remove_handle): refactor code with remove_handle. |
| |
| 2014-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Analyze_Inlined_Bodies): Iterate between loading |
| of the inlined bodies and instantiation of the generic bodies |
| until no more bodies need to be loaded. |
| |
| 2014-11-20 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name: |
| Update_Ignore_Missing_With becomes Set_Ignore_Missing_With. |
| |
| 2014-11-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb, |
| sem_ch6.adb: Minor reformatting. |
| |
| 2014-11-20 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit |
| conversion to force the displacement of the pointer to the object |
| to reference the secondary dispatch table. |
| |
| 2014-11-11 Simon Wright <simon@pushface.org> |
| |
| PR ada/42978 |
| * mlib-utl.adb (ar): Output the options passed to ranlib. |
| |
| 2014-11-07 Arnaud Charlet <charlet@adacore.com> |
| |
| * debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding' |
| a keyword in Ada 95 mode when -gnatd.D is used. |
| * gnat_ugn.texi: Document -gnatd.D. |
| |
| 2014-11-07 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * gnatls.adb: Lower severity of the program's return value in |
| some common cases. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Decorate_Type): The limited view of a tagged |
| type has an empty list of primitive operations. |
| |
| 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK |
| RM. |
| (Process_Full_View): Update references to SPARK RM. |
| * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references |
| to SPARK RM. |
| (Analyze_Subprogram_Body_Helper): Update references |
| to SPARK RM. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Update references |
| to SPARK RM. |
| * sem_prag.adb (Check_Ghost_Constituent): Update references to |
| SPARK RM. |
| * sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM. |
| (Resolve_Actuals): Ensure that the actual parameter of a Ghost |
| subprogram whose formal is of mode IN OUT or OUT is Ghost. |
| * sem_util.adb (Check_Ghost_Completion): Update references to |
| SPARK RM. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch7.adb (Make_Final_Call): If type of designated object is |
| derived from that of the formal of the Deep_Finalize procedure, |
| add an unchecked conversion to prevent spurious type error. |
| |
| 2014-11-07 Robert Dewar <dewar@adacore.com> |
| |
| * table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb, |
| exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads: |
| Minor reformatting. |
| |
| 2014-11-07 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting. |
| |
| 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Set_Is_Checked_Ghost_Entity, |
| Set_Is_Ignored_Ghost_Entity): Add exceptions to the assertion |
| check. |
| * sem_ch6.adb (Check_Conformance): Consider only |
| source subprograms when checking for Ghost conformance. |
| * sem_prag.adb (Analyze_Pragma): Handle the case |
| where pragma Ghost applies to a stand alone subprogram body that |
| acts as a compilation unit. |
| * sem_res.adb: Minor reformatting (merge if statements). |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): |
| Check whether underlying type is constrained before generating |
| the object declaration for the result object of the function. |
| |
| 2014-11-07 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb: Code clean up. |
| |
| 2014-11-07 Yannick Moy <moy@adacore.com> |
| |
| * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cfinve.ads, |
| * a-cforma.ads, a-cforse.ads, a-cofove.ads: Mark First_To_Previous, |
| Current_To_Last and Strict_Equal as Ghost. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb: Code clean up. |
| |
| 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Issue an error regardless of the |
| SPARK_Mode when a ghost type is effectively volatile. |
| * sem_ch3.adb (Analyze_Object_Contract): Decouple the checks |
| related to Ghost from SPARK_Mode. |
| * sem_res.adb (Check_Ghost_Policy): Issue an error regardless |
| of the SPARK_Mode when the Ghost policies do not match. |
| * sem_util.adb (Check_Ghost_Completion): Issue an error regardless |
| of the SPARK_Mode when the Ghost policies do not match. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): return if name |
| in iterator does not have any usable aspect for iteration. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Null_Procedure): Reject a null procedure |
| that there is a previous null procedure in scope with a matching |
| profile. |
| |
| 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * atree.adb (Copy_Separate_Tree): Copy the aspect specifications. |
| * inline.adb (Has_Some_Contract): Do the check only when the |
| related entity has been analyzed. |
| |
| 2014-11-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Integer): |
| If the restriction No_Floating_Point is in effect, and the |
| operands have the same type, introduce a temporary to hold |
| the fixed point result, to prevent the use of floating-point |
| operations at run-time. |
| |
| 2014-11-07 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Check_Address_Clause): Minor reformatting |
| (Find_Constant): Minor reformatting. |
| (Freeze_Array_Type): Modify check for packed declarations. |
| (Freeze_Entity): Minor reformatting. |
| |
| 2014-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnatvsn.ads (Library_Version): Bump to 5.0. |
| |
| 2014-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Subprogram_Body_to_gnu): For a function with |
| copy-in/copy-out parameters and which returns by invisible reference, |
| do not create the variable for the return value; instead, manually |
| generate the indirect copy out statements on exit. |
| (gnat_to_gnu) <N_Simple_Return_Statement>: Adjust accordingly and build |
| a simple indirect assignment for the return value. |
| |
| 2014-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: For a |
| derived untagged type that renames discriminants, be prepared for |
| a type derived from a private discriminated type when changing the |
| type of the stored discriminants. |
| |
| 2014-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Set |
| the SLOC of the node on the call to set_jmpbuf_address_soft emitted |
| on block entry with SJLJ. |
| |
| 2014-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (create_subprog_decl): Move code dealing with |
| conflicting inlining status of nested subprograms to... |
| * gcc-interface/trans.c (check_inlining_for_nested_subprog): ...here. |
| (Attribute_to_gnu) <Attr_Access>: Call it. |
| (Call_to_gnu): Likewise. |
| (Subprogram_Body_to_gnu): Drop the body if it is an inlined external |
| function that has been marked uninlinable. |
| |
| 2014-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb Add an entry for aspect Ghost in table |
| Canonical_Aspect. |
| * aspects.ads Add an entry for aspect Ghost in tables |
| Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and |
| Implementation_Defined_Aspect. |
| * einfo.adb: Flags 277 and 278 are now in use. |
| (Is_Checked_Ghost_Entity): New routine. |
| (Is_Ghost_Entity): Removed. |
| (Is_Ghost_Subprogram): Removed. |
| (Is_Ignored_Ghost_Entity): New routine. |
| (Set_Is_Checked_Ghost_Entity): New routine. |
| (Set_Is_Ignored_Ghost_Entity): New routine. |
| (Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and |
| Is_Ignored_Ghost_Entity. |
| * einfo.ads: Add new flags Is_Checked_Ghost_Entity |
| and Is_Ignored_Ghost_Entity along with usage in nodes. |
| (Is_Checked_Ghost_Entity): New routine and pragma Inline. |
| (Is_Ghost_Entity): Removed along with synthesized flag |
| description and usage in nodes. |
| (Is_Ghost_Subprogram): Removed along with synthesized flag description |
| and usage in nodes. |
| (Is_Ignored_Ghost_Entity): New routine and pragma Inline. |
| (Set_Is_Checked_Ghost_Entity): New routine and pragma Inline. |
| (Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline. |
| * freeze.adb (Freeze_Entity): A Ghost type cannot be effectively |
| volatile. |
| * par-prag.adb Pragma Ghost does not need special handling by |
| the parser. |
| * repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost. |
| * sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check. |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): Mark |
| the type as Ghost when its enclosing context is Ghost. |
| (Analyze_Incomplete_Type_Decl): Mark the type as Ghost when |
| its enclosing context is Ghost. |
| (Analyze_Number_Declaration): Mark the number as Ghost when its |
| enclosing context is Ghost. |
| (Analyze_Object_Declaration): Mark the object as Ghost when its |
| enclosing context is Ghost. Verify the Ghost policy between |
| initial declaration and completion of a deferred constant. |
| (Analyze_Object_Contract): A Ghost variable cannot be effectively |
| volatile, imported or exported. |
| (Build_Derived_Record_Type): Mark a type extension as Ghost when it |
| implements a Ghost interface. |
| (Build_Record_Type): Inherit volatility and "ghostness" from |
| the parent type. |
| (Check_Completion): A Ghost entity declared |
| in a non-Ghost package does not require completion in a body. |
| (Implements_Ghost_Interface): New routine. |
| (Process_Full_View): Inherit "ghostness" from the partial view. Verify |
| the Ghost policy between the partial and full views. Verify the |
| completion of a Ghost type extension. |
| * sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed. |
| * sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first. |
| * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark |
| the subprogram as Ghost when its enclosing context is Ghost. |
| (Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost |
| when its enclosing context is Ghost. Verify the Ghost policy |
| between the spec and body. |
| (Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its |
| enclosing context is Ghost. Verify the Ghost policy between the spec |
| and body. |
| (Check_Conformance): A Ghost subprogram profile and a non-Ghost |
| subprogram profile are not subtype conformant. |
| (Convention_Of): Removed. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the |
| "ghostness" from the spec. Verify the Ghost policy between |
| the spec and body. |
| (Analyze_Private_Type_Declaration): Mark the type as Ghost when its |
| enclosing context is Ghost. |
| (Requires_Completion_In_Body): New routine. |
| (Unit_Requires_Body): Use Requires_Completion_In_Body. |
| (Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update |
| comment on usage and all uses of P in the body. Use |
| Requires_Completion_In_Body. |
| * sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P |
| to Pack_Id, update comment on usage and all uses of P in the body. |
| * sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness" |
| from the renamed excention. |
| (Analyze_Generic_Renaming): Inherit the "ghostness" from the |
| renamed generic subprogram. |
| (Analyze_Object_Renaming): Inherit the "ghostness" from the renamed |
| object. |
| (Analyze_Package_Renaming): Inherit the "ghostness" from the |
| renamed package. |
| (Analyze_Subprogram_Renaming): Inherit the "ghostness" from the |
| renamed subprogram. |
| * sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception |
| as Ghost when its enclosing context is Ghost. |
| * sem_ch12.adb (Analyze_Generic_Package_Declaration, |
| Analyze_Generic_Subprogram_Declaration): Mark an exception as |
| Ghost when its enclosing context is Ghost. |
| (Preanalyze_Actuals): Remove obsolete check. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing |
| for aspect Ghost. |
| (Check_Aspect_At_Freeze_Point): Aspects |
| Depends and Global do no need special checking at freeze point. |
| (Insert_After_SPARK_Mode): Update comment on usage. |
| * sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost. |
| * sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags. |
| (Analyze_Abstract_State): Update the grammar of the pragma. Add |
| formal parameter Pack_Id along with comment on usage. Mark an |
| abstract state as Ghost when its enclosing context is Ghost. Add |
| processing for option Ghost. |
| (Analyze_Constituent): Verify |
| that a Ghost abstract state is refined by Ghost constituents. |
| (Analyze_Pragma): "Ghost" is now a valid policy. Add checks |
| related to the use and placement of Check_Policy Ghost. Add |
| processing for pragma Ghost. |
| (Check_Ghost_Constituent): New routine. |
| (Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion. |
| (Process_Convention): Remove obsolete check. |
| (Set_Convention_From_Pragma): Remove the processing for convention |
| Ghost. |
| * sem_res.adb (Check_Ghost_Context): New routine. |
| (Resolve_Call): Verify that a reference to a Ghost entity appears in a |
| suitable context. Verify the Ghost polity between point of declaration |
| and point of use. |
| (Resolve_Entity_Name): Verify that a reference to |
| a Ghost entity appears in a suitable context. Verify the Ghost |
| polity between point of declaration and point of use. |
| * sem_util.adb (Check_Ghost_Completion): New routine. |
| (Check_Ghost_Derivation): New routine. |
| (Incomplete_Or_Partial_View): New routine. |
| (Incomplete_Or_Private_View): Removed. |
| (Is_Ghost_Entity): New routine. |
| (Is_Ghost_Statement_Or_Pragma): New routine. |
| (Is_Subject_To_Ghost): New routine. |
| (Policy_In_Effect): New routine. |
| (Set_Is_Ghost_Entity): New routine. |
| (Within_Ghost_Scope): New routine. |
| * sem_util.ads (Check_Ghost_Completion): New routine. |
| (Check_Ghost_Derivation): New routine. |
| (Incomplete_Or_Partial_View): New routine. |
| (Incomplete_Or_Private_View): Removed. |
| (Is_Ghost_Entity): New routine. |
| (Is_Ghost_Statement_Or_Pragma): New routine. |
| (Is_Subject_To_Ghost): New routine. |
| (Policy_In_Effect): New routine. |
| (Set_Is_Ghost_Entity): New routine. |
| (Within_Ghost_Scope): New routine. |
| * snames.adb-tmpl (Get_Convention_Id): Remove the entry for |
| convention Ghost. |
| (Get_Convention_Name): Remove the entry for convention Ghost. |
| * snames.ads-tmpl Remove the convention id for Ghost. Add a |
| pragma id for Ghost. |
| |
| 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: Add description of --RTS option for ASIS tools. |
| |
| 2014-10-31 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/Makefile.in (arm-vxworks): Update target pairs. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of. |
| * prj-proc.adb (Recursive_Process): Call Display_Name_Of to |
| get the project Display_Name. |
| * prj-tree.adb (Display_Name_Of): New function |
| (Set_Display_Name_Of): New procedure. |
| (Create_Project): Call Set_Display_Name_Of. |
| * prj-tree.ads (Display_Name_Of): New function. |
| (Set_Display_Name_Of): New procedure. |
| (Project_Node_Record): New component Display_Name. |
| (Project_Name_And_Node): Remove component Display_Name. |
| * prj-conf.adb (Parse_Project_And_Apply_Config): Use the full |
| Config_File_Path as the Config_File_Name, not just its simple |
| name. |
| |
| 2014-10-31 Thomas Quinot <quinot@adacore.com> |
| |
| * get_scos.adb: Minor reformatting. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Formal_Container_Loop): Create block to |
| capture declaration for cursor to prevent spurious errors when |
| several formal iterators that use the same cursoe name appear |
| in the same context. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Recursive_Process): Make sure that the project |
| display name is never No_Name. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Access_Attribute): Do not emit error |
| message if reference does not come from source, as in the case |
| for the controlling argument of a dispatching call. Error is |
| diagnosed when call is resolved. |
| * sem_ch4.adb (Complete_Object_Operation); Fix incorrect RM |
| reference in error message. |
| * sem_res.adb (Check_Prefixed_Call): ditto. |
| |
| 2014-10-31 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Do not |
| suppress checks when pragma Restrictions (No_Exception) is used in |
| CodePeer or GNATprove mode. |
| |
| 2014-10-31 Yannick Moy <moy@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Explicitly mark language |
| checks as not suppressed in GNATprove mode. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_elab.adb (Check_Elab_Call): Nothing to check if call is |
| being pre-analyzed. |
| * sem_ch3.adb (Complete_Private_Subtype): If all rep items of full |
| view are those of the base, use rep_item chain of partial view, |
| which may include aspects. |
| * sem_cat.adb (Is_non_Remote_Access_Type): Use underlying type |
| of base type, to handle properly declared subtypes. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Generic_Package_Declaration): If there |
| is a default storage pool, add a corresponding aspect to the |
| generic unit, to be used at the point of instantiation. |
| (Analyze_Package_Instantiation): If generic unit has aspect |
| specifications, propagate them to instance. If instance has a |
| Default_Storage_Pool aspect, make sure that it overrides the |
| one that may be inherited from the generic. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb: Minor removal of attributes of package Linker |
| that have never been used and never been documented. |
| * projects.texi: Add documentation for attribute Runtime. |
| * prj-nmsc.adb (Check_Configuration): Do not report a warning |
| for unknown compilers when the project is externally built. |
| |
| 2014-10-31 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * prj-conf.adb (Do_Autoconf): Refactor the code so that empty |
| Normalized_Pathname doesn't inhibit the custom Selected_Target |
| value. |
| * prj-conf.adb (Parse_Project_And_Apply_Config): Make sure that |
| Automatically_Generated is correctly set after the first call |
| to Process_Project_And_Apply_Config and not modified after the |
| second call, if any. |
| |
| 2014-10-31 Yannick Moy <moy@adacore.com> |
| |
| * Makefile.rtl, gnat_rm.texi, impunit.adb: Add mention of new library |
| files. |
| * a-cfinve.adb, a-cfinve.ads: New unit for formal indefinite |
| vectors, suitable for use in client SPARK code, also more |
| efficient than the standard vectors. |
| * a-coboho.adb, a-coboho.ads New unit for bounded holders, that |
| are used to define formal indefinite vectors in terms of formal |
| definite ones. |
| * a-cofove.adb, a-cofove.ads: Simplification of the API of formal |
| definite vectors, similar to the API of the new indefinite ones. A |
| new formal parameter of the generic unit called Bounded allows |
| to define growable vectors that use dynamic allocation. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Look_For_Project_Paths): New procedure |
| (Parse_Project_And_Apply_Config): Initially, parse the project |
| files ignoring missing withs. If there are missing withs, extend |
| the project path with directories rooted at the compiler roots, |
| including directories rooted at the runtime roots, if there are |
| non default runtimes, in the PATH orser. |
| * prj-env.adb (Initialize_Default_Project_Path): Do not add |
| any directory from the prefix if the target is "-". |
| * prj-part.adb (Parse): Initialize the tables, as Parse may be |
| call several times by gprbuild. |
| * prj.adb (Update_Ignore_Missing_With): New procedure. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aux.adb (First_Stored_Discriminant, |
| Has_Completely_Hidden_Discriminant): When scanning the list of |
| discriminants to locate possibly hidden (inherited) discriminants, |
| ignore itypes that may appear in the entity list, when an access |
| discriminants is constrained by an access attribute reference. |
| |
| 2014-10-31 Javier Miranda <miranda@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Add missing |
| check to verify that all the primitives of an interface type |
| are abstract or null procedures. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * s-os_lib.adb, s-os_lib.ads: New function Non_Blocking_Spawn that |
| redirects standard output and standard error to two different files. |
| |
| 2014-10-31 Bob Duff <duff@adacore.com> |
| |
| * makeutl.ads: Minor comment fix. |
| |
| 2014-10-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * system-linux-x86_64.ads, system-mingw-x86_64.ads (Word_Size, |
| Memory_Size): Use Standard'Word_Size so that the value can be changed |
| via a target configuration file. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch4.adb: Minor tweak. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Package_Instantiation): Do not inline with |
| back-end inlining. |
| (Must_Inline_Subp): Delete. |
| * sem_util.ads, sem_util.adb (Must_Inline): Likewise. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): A default_pool does not apply to |
| internal access types generated for 'access references. |
| * sem_prag (Analyze_Pragma, case Default_Pool): If the name is |
| not null it must designate a variable. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb: Minor reformatting. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Private_Type): If the derived |
| type has access discriminants, create itype references for their |
| anonymous types, so that they are elaborated before the generated |
| bodies for the primitive operations of the type. |
| |
| 2014-10-31 Tristan Gingold <gingold@adacore.com> |
| |
| * prj-conf.adb (Locate_Runtime): Remove procedure. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Has_Excluded_Declaration): With back-end inlining, |
| only return true for nested packages. |
| (Cannot_Inline): Issue errors/warnings whatever the optimization level |
| for back-end inlining and remove assertion. |
| |
| 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * table.adb (Tree_Read, Tree_Write): Use parentheses to specify |
| the desired order of '*' and '/' operations to avoid overflow. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch6.adb (Do_Inline): Remove unreachable code. |
| (Do_Inline_Always): Likewise. |
| |
| 2014-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-nmsc.adb (Check_Stand_Alone_Library): Change error message |
| when library has no Ada interfaces and Library_Standalone is |
| declared. |
| |
| 2014-10-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_ch13.adb (Check_Constant_Address_Clause): Disable checks |
| on address clauses in CodePeer mode. |
| |
| 2014-10-31 Javier Miranda <miranda@adacore.com> |
| |
| * inline.adb (Expand_Inlined_Call): Do not skip |
| inlining of calls to subprogram renamings. |
| |
| 2014-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_Entity_Name): Account for |
| the case where the immediate parent of a reference to an entity |
| is a parameter association. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Check_And_Split_Unconstrained_Function): Do not |
| test for the presence of nested subprograms. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add aspect Default_Storage_Pool. |
| * sem_ch13.adb (Analyze_One_Aspect): Generate pragma for aspect |
| Default_Storage_Pool. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch6.adb: Remove obsolete comment. |
| |
| 2014-10-31 Olivier Hainque <hainque@adacore.com> |
| |
| * g-allein.ads: bind vec_sld for pixels to 8hi vsldoi instead |
| of 4si, as pixels are short. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Call): Do not reject a call to a protected |
| operation in the spec of a protected type, when the call appears |
| in a pre/postcondition for another protected operation. |
| |
| 2014-10-31 Tristan Gingold <gingold@adacore.com> |
| |
| * prj-conf.adb: Locate_Runtime: Always search the runtime in |
| project path. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Check_Package_Body_For_Inlining): Adjust previous |
| change to use correct idiom for back-end inlining. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Do not check component size |
| if its type is generic. |
| |
| 2014-10-31 Bob Duff <duff@adacore.com> |
| |
| * gnat_rm.texi: Fix documentation w.r.t -gnatw.w. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Try_Container_Indexing): Use Check_Implicit_Dereference. |
| * sem_util.adb (Check_Implicit_Dereference): a) Handle generalized |
| indexing as well as function calls. b) If the context is a |
| selected component and whe are in an instance, remove entity from |
| selector name to force resolution of the node, so that explicit |
| dereferences can be generated in the instance if they were in |
| the generic unit. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Back_End_Cannot_Inline): Delete. |
| (Add_Inlined_Subprogram): Do not call it. |
| |
| 2014-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.ads (Make_Tag_Assignment): New function, used to |
| re-initialize the tag in a tagged object declaration with |
| initial value. |
| * exp_ch3.adb (Expand_N_Object_Declaration): Use |
| Make_Tag_Assignment to simplify code for a tagged object |
| declaration. |
| * exp_ch13.adb (Expand_Freeze_Entity): Analyze freeze actions |
| for the freeze node of an object. |
| * freeze.adb (Check_Address_Clause): Use Make_Tag_Assignment when |
| needed to extend Freeze_Actions for a tagged object declaration. |
| |
| 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_ugn.texi: Further minor improvement to -flto entry. |
| |
| 2014-10-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * g-dynhta.adb, g-dynhta.ads: Minor typo fixes and reformatting. |
| |
| 2014-10-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): Code cleanup. |
| |
| 2014-10-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): If a subtype |
| indication is provided, check properly that it covers the element |
| type of of the container type. |
| |
| 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * g-dynhta.ads, g-dynhta.adb: Add the implementation of a load facto |
| -based hash table. |
| |
| 2014-10-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.ads, exp_util.adb (Following_Address_Clause): Modify |
| Has_Following_Address_Clause so that it returns the address |
| clause if present, rather than a boolean value. |
| * sem_ch3.adb (Analyze_Object_Declaration): use |
| Following_Address_Clause. |
| * exp_ch3.adb (Expand_N_Object_Declaration): When a tagged object |
| is initialized, insert tag assignment after object is frozen, |
| which may be after an address clause that follows the declaration. |
| |
| 2014-10-30 Tristan Gingold <gingold@adacore.com> |
| |
| * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads, |
| system-vxworks-arm.ads, system-freebsd-x86_64.ads, |
| system-linux-hppa.ads, system-linux-s390.ads, |
| system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads, |
| system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads, |
| system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads, |
| system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads, |
| system-linux-armel.ads, system-darwin-ppc.ads, system-solaris-sparc.ads, |
| system-vxworks-m68k.ads, system-hpux-ia64.ads, system.ads, |
| system-solaris-x86_64.ads, system-mingw-x86_64.ads, |
| system-vxworks-mips.ads, system-linux-sparc.ads, system-freebsd-x86.ads, |
| system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Add |
| pragma No_Elaboration_Code_All. |
| |
| 2014-10-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_ugn.texi: Minor improvement to -flto entry. |
| |
| 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Inherit_Subprogram_Contract): |
| Add a guard to protect against enumeration literal overriding. |
| * sem_ch3.adb, sem_ch4.adb, sem_res.adb, sem_util.adb: |
| Minor reformatting (add SPARK RM references). |
| |
| 2014-10-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_dbug.adb, opt.ads: Minor reformatting. |
| |
| 2014-10-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Has_Single_Return_In_GNATprove_Mode): |
| Return False when return statement is inside one or more blocks. |
| |
| 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Is_Subprogram_Call): Account for the case where an |
| object declaration initialized by a function call that returns |
| an unconstrained result may be rewritted as a renaming of the |
| secondary stack result. |
| |
| 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb: Add an entry for aspect Extensions_Visible in |
| table Canonical_Aspect. |
| * aspects.ads: Add entry for aspect Extensions_Visible in |
| tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names, |
| Implementation_Defined_Aspect. |
| * einfo.adb (Get_Pragma): Include pragma Extensions_Visible in |
| the list of contract pragmas. |
| * par-prag.adb Pragma Extensions_Visible does not require special |
| processing from the parser. |
| * sem_ch3.adb (Analyze_Object_Declaration): Prevent an |
| implicit class-wide conversion of a formal parameter |
| of a specific tagged type whose related subprogram is |
| subject to pragma Extensions_Visible with value "False". |
| (Check_Abstract_Overriding): Add various overriding checks |
| related to pragma Extensions_Visible. |
| (Derive_Subprogram): |
| A subprogram subject to pragma Extensions_Visible with value |
| False requires overriding if the subprogram has at least one |
| controlling OUT parameter. |
| (Is_EVF_Procedure): New routine. |
| * sem_ch4.adb (Analyze_Type_Conversion): A formal parameter of |
| a specific tagged type whose related subprogram is subject to |
| pragma Extensions_Visible with value "False" cannot appear in |
| a class-wide conversion. |
| * sem_ch6.adb (Analyze_Subprogram_Contract): Remove |
| the assertion to account for pragma Extensions_Visible. |
| (Check_Overriding_Indicator): An overriding subprogram |
| inherits the contact of the overridden subprogram. |
| (New_Overloaded_Entity): An overriding subprogram inherits the |
| contact of the overridden subprogram. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing |
| for aspect Extensions_Visible. |
| (Check_Aspect_At_Freeze_Point): Aspect Extensions_Visible does not |
| require special processing at the freeze point. |
| * sem_prag.adb Add an entry for pragma Extensions_Visible in |
| table Sig_Flags. |
| (Analyze_Pragma): Ensure that various SPARK |
| pragmas lack identifiers in their arguments. Add processing for |
| pragma Extensions_Visible. |
| (Chain_CTC): Code reformatting. |
| * sem_res.adb (Resolve_Actuals): A formal parameter of a |
| specific tagged type whose related subprogram is subject to |
| pragma Extensions_Visible with value "False" cannot act as an |
| actual in a subprogram with value "True". |
| * sem_util.adb (Add_Classification): New routine. |
| (Add_Contract_Item): Account for pragma Extensions_Visible. Code |
| reformatting. |
| (Add_Contract_Test_Case): New routine. |
| (Add_Pre_Post_Condition): New routine. |
| (Extensions_Visible_Status): New routine. |
| (Inherit_Subprogram_Contract): New routine. |
| (Is_EVF_Expression): New routine. |
| (Is_Specific_Tagged_Type): New routine. |
| * sem_util.ads Add type Extensions_Visible_Mode and document all values. |
| (Add_Contract_Item): Add pragma Extensions_Visible to the |
| comment on usage. |
| (Inherit_Subprogram_Contract): New routine. |
| (Is_EVF_Expression): New routine. |
| (Is_Specific_Tagged_Type): New routine. |
| * sinfo.adb (Is_Inherited): New routine. |
| (Set_Is_Inherited): New routine. |
| * sinfo.ads Add flag Is_Inherited along with its usage in |
| nodes. |
| (Is_Inherited): New routine along with pragma Inline. |
| (Set_Is_Inherited): New routine along with pragma Inline. |
| * snames.ads-tmpl: Add predefined name "Extensions_Visible" |
| and a new Pragma_Id for the pragma. |
| |
| 2014-10-30 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Process_Case_Construction): Do not look for |
| the ultimate extending project for a case variable. |
| |
| 2014-10-30 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * exp_dbug.adb, opt.ads (GNAT_Encodings): Import from C. Define |
| enumerators. |
| (gnat_encodings): Define a dummy variable for the AAMP back-end. |
| (Get_Encoded_Name): When -fgnat-encodings=all|gdb, encode names |
| for all discrete types whose bounds do not match size and do so |
| only for biased types when -fgnat-encodings=minimal. |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Do not create ___XA |
| parallel types when array bounds are constant while the lower bound is |
| not 1. Also stop generating them because the bound type is |
| larger than sizetype. |
| * gcc-interface/misc.c (gnat_encodings): New. |
| |
| 2014-10-30 Thomas Quinot <quinot@adacore.com> |
| |
| * opt.adb (Set_Opt_Config_Switches): For an internal unit, |
| always reset Default_SSO to ' '. |
| |
| 2014-10-30 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Set SSO from default before |
| checking SSO consistency. |
| |
| 2014-10-30 Javier Miranda <miranda@adacore.com> |
| |
| * inline.adb (Check_Package_Body_For_Inlining): |
| Cleanup this subprogram to implement exactly the behavior |
| documented in the spec. |
| |
| 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-comutr.adb, a-cimutr.adb (Insert_Child): Add new variable First. |
| Update the position after all insertions have taken place. |
| |
| 2014-10-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case License): Do not perform |
| analysis of pragma arguments when in CodePeer mode, pragma has |
| different format on other compilers. |
| |
| 2014-10-30 Thomas Quinot <quinot@adacore.com> |
| |
| * s-os_lib.adb: Minor reformatting. |
| |
| 2014-10-29 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c, |
| gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c: |
| Remove redundant enum from machine_mode. |
| |
| 2014-10-28 Andrew MacLeod <amacleod@redhat.com> |
| |
| * gcc-interface/trans.c: Adjust include files. |
| * gcc-interface/utils.c: Ditto. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (create_subprog_decl): Adjust condition. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/misc.c (gnat_init_options_struct): Parameterize errno |
| support here instead of... |
| Do not set flag_delete_dead_exceptions to 1 unconditionally. |
| (gnat_init_gcc_eh): Set flag_delete_dead_exceptions to 1. |
| (gnat_init_gcc_fp): ...here. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_to_gnu) <N_Real_Literal>: Minor tweaks. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (create_var_decl_1): For a variable declared |
| in the unit, set TREE_PUBLIC only if it has static storage duration. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Apply special treatment |
| of derived packed array types to constrained subtypes only. |
| |
| 2014-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove |
| superfluous computation for the max size. |
| <E_Array_Subtype>: Likewise. Make sure that the max size calculation |
| does not overflow at compile time. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_eval.adb (Check_Non_Static_Context): Do not set |
| Is_Machine_Number on a literal of a fixed-point type. |
| |
| 2014-10-23 Robert Dewar <dewar@adacore.com> |
| |
| * mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting. |
| |
| 2014-10-23 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * exp_dbug.ads: Update ___XA parallel type specification. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep |
| chain of the source type. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Minor |
| reformatting of an error message. |
| * sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep |
| chain that has been inherited already. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): Simplify analysis |
| in generic context, and generate body in this case as well, |
| to simplify ASIS traversals on the construct. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Complete_Object_Operation): Indicate that the |
| scope of the operation (s) is referenced, to prevent spurious |
| warnings about unused units. |
| |
| 2014-10-23 Johannes Kanig <kanig@adacore.com> |
| |
| * errout.adb (Error_Msg_Internal): Copy check flag, increment |
| check msg count. |
| * erroutc.adb (Delete_Msg) adjust check msg count. |
| (Output_Msg_Text) handle check msg case (do nothing). |
| (Prescan_Message) recognize check messages with severity prefixes. |
| * errutil.adb (Error_Msg) handle check flag, adjust counter. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_eval.adb (Subtypes_Statically_Match): For a generic actual |
| type, check for the presence of discriminants in its parent type, |
| against the presence of discriminants in the context type. |
| |
| 2014-10-23 Tristan Gingold <gingold@adacore.com> |
| |
| * adaint.c: __gnat_get_file_names_case_sensitive: Default is |
| true on arm-darwin. |
| |
| 2014-10-23 Arnaud Charlet <charlet@adacore.com> |
| |
| * pprint.adb (Expression_Image): Add handling of quantifiers. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_pakd.adb (Expand_Packed_Element_Reference): If the |
| prefix is a source entity, generate a reference to it before |
| transformation, because rewritten node might not generate a |
| proper reference, leading to spurious warnings. |
| |
| 2014-10-23 Tristan Gingold <gingold@adacore.com> |
| |
| * init.c: Fix thinko in previous patch. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration): |
| Inherit the rep chain of the implicit base type. |
| (Floating_Point_Type_Declaration): Inherit the rep chain of the |
| implicit base type. |
| (Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the |
| implicit base type. |
| (Signed_Integer_Type_Declaration): Inherit the rep chain of the |
| implicit base type. |
| * sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine. |
| |
| 2014-10-23 Pascal Obry <obry@adacore.com> |
| |
| * g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit |
| view of the registry. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract, |
| return without expanding expression, to prevent subsequent crash. |
| * freeze.adb: better error message for illegal declaration. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sysdep.c (__gnat_localtime_tzoff): Properly delimit the |
| substring which represents the time zone on VxWorks. |
| |
| 2014-10-23 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: If --RTS= was not used, check if there is a default |
| runtime. If there is none, in verbose mode, indicate that the |
| default runtime is not available and show only the current |
| directory in the source and the object search paths. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Process_Formals): A thunk procedure with a |
| parameter of a limited view does not need a freeze node. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch7.adb (Analyze_Package_Body_Helper): |
| The logic which hides local entities from external |
| visibility is now contained in routine Hide_Public_Entities. |
| (Hide_Public_Entities): New routine. Object and subprogram |
| renamings are now hidden from external visibility the same way |
| objects are. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated |
| does not require freezing, in particular if it denotes a generic |
| function. |
| |
| 2014-10-23 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always): |
| Disable analysis in GNATprove mode. |
| |
| 2014-10-23 Arnaud Charlet <charlet@adacore.com> |
| |
| * mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only). |
| |
| 2014-10-23 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Ignore style check |
| pragmas in codepeer mode. |
| |
| 2014-10-23 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ','). |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch12.adb (Inline_Instance_Body): Alphabetize |
| local variables and constants. Add constants Save_SM and Save_SMP |
| to capture SPARK_Mode-related attributes. Compile the inlined |
| body with the SPARK_Mode of the enclosing context. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sinfo.adb (Elaboration_Boolean): Removed. |
| (Set_Elaboration_Boolean): Removed. |
| * sinfo.ads Remove attribute Elaboration_Boolean along with its |
| occurrence in nodes. |
| (Elaboration_Boolean): Removed along with pragma Inline. |
| (Set_Elaboration_Boolean): Removed along with pragma Inline. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Constant_Redeclaration): Make error message more |
| explicit on a deferred constant whose object_definition is an |
| anonymous array. |
| |
| 2014-10-23 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: Never call Targparm.Get_Target_Parameters. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): In a generic |
| context do not create a body, and only pre-analyze the expression, |
| which may include incomplete views. |
| |
| 2014-10-23 Robert Dewar <dewar@adacore.com> |
| |
| * sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In). |
| * sem_ch3.adb: Minor reformatting. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Associations): If an actual for a formal |
| object is a call to a parameterless expression function, add |
| the function to the list of actuals to freeze. |
| * freeze.adb (Check_Expression_Function): Create freeze nodes of |
| outer types that may be references in the body of the expression. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.ads, checks.ads: Minor comment reformatting. |
| |
| 2014-10-23 Javier Miranda <miranda@adacore.com> |
| |
| * sem_eval (Test_In_Range): Disable removal of range_check for |
| VM targets. |
| |
| 2014-10-23 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.adb (Validate_Specific_Warnings): Fix test for -W |
| messages, which got disabled when we unconditionally added an |
| asterisk at the start of the string. |
| |
| 2014-10-23 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: Ensure that "gnatls -l" works even when there is |
| no default runtime. |
| |
| 2014-10-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Private_Type): When the parent is |
| untagged and has discriminants, build the implicit full view after |
| building the derived type. Capture original declaration and type |
| here instead of... |
| (Copy_And_Build): ...here. |
| * sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View. |
| |
| 2014-10-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (Ensure_Valid): Update the subprogram |
| profile. Propagate the contex attributes to Insert_Valid_Check. |
| (Insert_Valid_Check): Update the subprogram profile. Propagate |
| the attributes of the context to Duplicate_Subexpr_No_Checks. |
| (Validity_Check_Range): Update the subprogram profile. Propagate |
| the context attribute to Ensure_Valid. |
| * checks.ads (Ensure_Valid): Update the subprogram profile |
| along with the comment on usage. |
| (Insert_Valid_Check): Update the subprogram profile along with the |
| comment on usage. |
| (Validity_Check_Range): Update the subprogram profile along with |
| the comment on usage. |
| * exp_util.adb (Build_Temporary): New routine. |
| (Duplicate_Subexpr_No_Checks): Update the subprogram |
| profile. Propagate the attributes of the context to Remove_Side_Effects. |
| (Remove_Side_Effects): Update the subprogram profile. Update all calls |
| to Make_Temporary to invoke Build_Temporary. |
| * exp_util.ads (Duplicate_Subexpr_No_Checks): Update |
| the subprogram profile along with the comment on usage. |
| (Remove_Side_Effects): Update the subprogram profile along with |
| the comment on usage. |
| * sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype |
| to the validity check machinery. Explain the reason for this |
| propagation. |
| |
| 2014-10-23 Robert Dewar <dewar@adacore.com> |
| |
| * a-strsea.adb: Minor reformatting. |
| |
| 2014-10-23 Thomas Quinot <quinot@adacore.com> |
| |
| * bcheck.adb (Check_Consistent_SSO_Default): Exclude internal |
| units from consistency check. |
| * gnat_rm.texi (Default_Scalar_Storage_Order): Document that |
| consistency check excludes run-time units. |
| |
| 2014-10-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-strsea.adb (Find_Token): Enable constraint checking in this |
| procedure, so that even when compiling with checks suppressed, as is |
| the case for the run-time, an exception is raised in this routine when |
| the input meets the conditions described in RM 2005 A.4.3 (68/1). |
| |
| 2014-10-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Private_Type): When the parent |
| is untagged and has discriminants, build the implicit full |
| view even if the derived type is a completion, and make it |
| the Underlying_Full_View of the type. |
| (Copy_And_Build): Fix Is_Completion actual parameter in the calls to |
| Build_Derived_Type. |
| (Build_Derived_Record_Type): Likewise. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb: Add guard to convention setting. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor |
| reformatting. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * par-prag.adb (Add_List_Pragma_Entry): New procedure. |
| * par.adb (P_Pragma): Document requirement to handle multiple calls. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): |
| Fix error of bad inheritance of this pragma from with'ed unit. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype, |
| inherit convention from parent type, because the subtype may |
| have been declared on a partial view, prior to the pragma on |
| the parent. |
| |
| 2014-10-20 Olivier Hainque <hainque@adacore.com> |
| Tristan Gingold <gingold@adacore.com> |
| |
| * gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7. |
| Misc clean ups. |
| |
| 2014-10-20 Nicolas Roche <roche@adacore.com> |
| |
| * gcc-interface/Make-lang.in: ensure that automatically generated |
| dependency are referencing generated gnatvsn rather than original |
| one. |
| |
| 2014-10-20 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat_ugn.texi: Minor reformatting. |
| * sem_ch3.adb: Minor reformatting. |
| |
| 2014-10-20 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb: New project level attribute Runtime. |
| * prj-conf.adb (Get_Project_Runtimes): New procedure to get |
| the attributes Runtime declared in the main project, to use |
| in auto-configuration. |
| (Get_Or_Create_Configuration_File): Call Get_Project_Runtimes. |
| * prj-proc.adb (Runtime_Defaults): New table to store |
| the default values of attributes Runtime (<language>). |
| (Set_Default_Runtime_For): New procedure to store the default |
| value of a Runtime (<language>) in table Runtime_Defaults. |
| (Expression): Use the value stored in table Runtime_Defaults as |
| the default for Runtime (<language>). |
| * prj-proc.ads (Set_Default_Runtime_For): New procedure. |
| * prj.ads (Attribute_Default_Value): New enumerated value |
| Runtime_Value. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): If the type is |
| an unconstrained unchecked_union type, rewrite declaration |
| as a renaming to prevent attempt to retrieve non- existent |
| discriminants from expression. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * gnat_ugn.texi: Minor reformatting. |
| |
| 2014-10-20 Tristan Gingold <gingold@adacore.com> |
| |
| * init.c (__gnat_is_stack_guard): Don't use mach_vm_region_recurse on |
| arm-darwin. |
| * raise-gcc.c: Add ATTRIBUTE_UNUSED to remove warnings for |
| unused arguments. |
| |
| 2014-10-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Replace |
| variables CS and PS with Proc_Id and Subp_Id to better illustrate |
| their purpose. Account for the case where _Postconditions |
| has not been generated yet and the context is aspect/pragma |
| Refined_Post. In that scenario the expected prefix of attribute |
| 'Result is the current scope. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch4.adb (P_Expression): Handle extraneous comma/semicolon |
| in middle of expression with logical operators. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch13.adb (Possible_Misspelled_Aspect): New function. |
| |
| 2014-10-20 Steve Baird <baird@adacore.com> |
| |
| * pprint.adb: Improve Expression_Image function. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document No_Tagged_Streams pragma and aspect. |
| * snames.ads-tmpl: Add entry for pragma No_Tagged_Streams. |
| * aspects.ads, aspects.adb: Add aspect No_Tagged_Streams. |
| * einfo.adb (No_Tagged_Streams_Pragma): New field. |
| * einfo.ads: Minor reformatting (reorder entries). |
| (No_Tagged_Streams_Pragma): New field. |
| * exp_ch3.adb: Minor comment update. |
| * opt.ads (No_Tagged_Streams): New variable. |
| * par-prag.adb: Add dummy entry for pragma No_Tagged_Streams. |
| * sem.ads (Save_No_Tagged_Streams): New field in scope record. |
| * sem_attr.adb (Check_Stream_Attribute): Check stream ops |
| prohibited by No_Tagged_Streams. |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): Set |
| No_Tagged_Streams_Pragma. |
| (Analyze_Subtype_Declaration): ditto. |
| (Build_Derived_Record_Type): ditto. |
| (Record_Type_Declaration): ditto. |
| * sem_ch8.adb (Pop_Scope): Restore No_Tagged_Streams. |
| (Push_Scope): Save No_Tagged_Streams. |
| * sem_prag.adb (Analyze_Pragma, case No_Tagged_Streams): Implement new |
| pragma. |
| |
| 2014-10-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads, |
| sem_ch13.adb: Minor reformatting. |
| |
| 2014-10-20 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): Expand the |
| declaration of a class-wide limited object containing an |
| initializing expression into a renaming declaration. Required to |
| avoid passing such declaration to the backend and also to avoid |
| generating an extra copy. |
| |
| 2014-10-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (List_Inlining_Info): Minor tweaks. |
| (Add_Inlined_Body): Inline the enclosing package |
| if it is not internally generated, even if it doesn't come |
| from source. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Process_Function_Call): If the first actual |
| denotes a discrete type, the mode must be interpreted as a slice |
| of an array returned by a parameterless call. |
| |
| 2014-10-20 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit |
| searching for runtime referenced by a simple name on a project path. |
| |
| 2014-10-20 Olivier Hainque <hainque@adacore.com> |
| |
| * vxworks-x86-link.spec: New file. |
| * system-vxworks-x86.ads: Add pragma Linker_Options to link with |
| vxworks-x86-link.spec. |
| |
| 2014-10-20 Vincent Celier <celier@adacore.com> |
| |
| * opt.ads (Origin_Of_Target): New type. |
| (Target_Origin): New variable. |
| * prj-conf.adb (Parse_Project_And_Apply_Config): Record |
| Target_Value and Target_Origin. If target was not specified |
| on the command line with --target=, check if attribute Target |
| is declared in the main project. If it is and it is not the |
| native target, parse again the projects so that 'Target get |
| the new value. Fail if the target has changed again. Invoke |
| Process_Project_And_Apply_Config with Do_Phase_1 set to False |
| is Process_Project_Tree_Phase_1 has already been invoked. |
| * prj-conf.ads (Process_Project_And_Apply_Config): New Boolean |
| parameter Do_Phase_1, defaulted to True. |
| * prj-proc.adb (Expression): Check the special values and |
| defaults for attribute Target. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze |
| the subprogram spec of the body in full, because it will be |
| reanalyzed when the declaration itself is analyzed; otherwise. a |
| formal may end up duplicated in the list of formals leading to |
| spurious conformance errors with an existing declaration. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb: Improve error recovery on illegal aspect. |
| |
| 2014-10-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * set_targ.adb (Write_Target_Dependent_Values, Write_Line): |
| Fix calling C APIs with no trailing NUL char by calling better |
| wrappers instead. |
| |
| 2014-10-20 Tristan Gingold <gingold@adacore.com> |
| |
| * gnat_ugn.texi: Document that gdb users must be in group |
| _developer on mac os. |
| |
| 2014-10-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-tgdico.ads: Fix typo. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Convert_To_Assignments): Do not create a |
| transient scope for a component whose type requires it, if the |
| context is an initialization procedure, because the target of |
| the assignment must be visible outside of the block. |
| |
| 2014-10-20 Tristan Gingold <gingold@adacore.com> |
| |
| * tracebak.c: Define PC_ADJUST for arm-darwin. |
| * env.c: Remove darwin specific code. |
| * raise-gcc.c (__gnat_Unwind_ForcedUnwind): Error on arm-darwin. |
| |
| 2014-10-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): If previous view |
| is incomplete rather than private, and full type declaration |
| has aspects, analyze aspects on the full view rather than |
| the incomplete view, to prevent freezing anomalies with the |
| class-wide type. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Task_Body): Add defense against |
| previous errors. |
| * freeze.adb (Freeze_Entity): Add defense against checking null |
| scope for generic. |
| * restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode. |
| * sem_ch13.adb (Freeze_Entity_Checks): Add defense against |
| previous errors. |
| * sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if |
| in No_Run_Time mode. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * prj-makr.adb: Minor reformatting. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb, |
| prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_prag.adb (Undo_Initialization): If Initialize_Scalars |
| is enabled, code will be generated for some composite types |
| to initialize an object after its declaration. If there is |
| a subsequent Import pragma for the object, that code must be |
| removed as specified byw the semantics of the pragma, and to |
| prevent out-of-order elaboration issues in the back-end. |
| |
| 2014-10-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator |
| wrapping mechanism under debug flag -gnatd.h. |
| * debug.adb: Claim debug switch -gnatd.h. |
| |
| 2014-10-17 Doug Rupp <rupp@adacore.com> |
| |
| * gcc-interface/Makefile.in: Enable the socket runtime bits |
| for Android. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Add_Invariants, Replace_Type_References): Do |
| not perform the replacement on the expression for an inherited |
| class-wide invariant if in ASIS_Mode and the type reference is |
| already the prefix of a 'Class attribute reference: the expression |
| has already been preanalyzed and the replacement performed when |
| first encountered on the declaration of the parent type. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb, sem_ch7.adb, prj-nmsc.adb, sem_ch13.adb, exp_ch3.adb: |
| Minor reformatting. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Build_Component_Invariant_Call): Retrieve Invariant |
| subprogram from base type. |
| * sem_ch7.adb (Analyze_Package_Specification): Build invariant |
| subprogram for private type, not any of its subtypes. |
| * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set type |
| of procedure entity, because a call to it may be generated in |
| a client unit before the corresponding subprogram declaration |
| is analyzed. |
| |
| 2014-10-17 Vincent Celier <celier@adacore.com> |
| |
| * prj-nmsc.adb (Get_Directories): Do not create directories |
| when a project is abstract. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): If the domain |
| of iteration is given by an expression that is not an array type, |
| verify that its type implements an iterator iterface. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Eval_Attribute): Ensure that attribute |
| reference is not marked as being a static expression if the |
| prefix evaluation raises CE. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_pakd.adb: Move bit packed entity tables to spec. |
| * exp_pakd.ads: Move bit packed entity tables here from body. |
| * freeze.adb (Freeze_Array_Type): Check that packed array type |
| is supported. |
| * rtsfind.adb (PRE_Id_Table): New table (Entity_Not_Defined): |
| Specialize messages using PRE_Id_Table. |
| * uintp.ads, uintp.adb (UI_Image): New functional form. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add Suppress_Initialization aspect. |
| * einfo.ads, einfo.adb (Suppress_Initialization): Now applies to |
| E_Variable. |
| * exp_ch3.adb (Default_Initialize_Object): Handle |
| Suppress_Initialization. |
| * exp_prag.adb (Expand_Pragma_Suppress_Initialization): New |
| procedure (Expand_N_Pragma): Handle Suppress_Initialization |
| (Expand_Pragma_Import_Or_Interface): Use Undo_Initialization |
| (Undo_Initialization): New procedure. |
| * sem_prag.adb (Analyze_Pragma, case Suppress_Initialization): |
| This is now allowed for E_Variable case. |
| * gnat_rm.texi: Document new aspect Suppress_Initialization |
| Suppress_Initialization aspect/pragma can apply to variable. |
| * einfo.ads: Minor reformatting. |
| |
| 2014-10-17 Arnaud Charlet <charlet@adacore.com> |
| |
| * spark_xrefs.ads: Add documentation pointer to Flow_Computed_Globals. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * cstand.adb (Create_Standard): Mark Short_Integer as |
| implementation defined. |
| * sem_util.adb (Set_Entity_With_Checks): Avoid blow up for |
| compiler built with assertions for No_Implementation_Identifiers test. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads: Documentation fix, aspect Lock_Free does have a |
| corresponding pragma. |
| * gnat_rm.texi: Document implementation defined boolean aspects |
| as boolean. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Add_Invariants): For a class-wide type invariant, |
| preserve semantic information on the invariant expression |
| (typically a function call) because it may be inherited by a |
| type extension in a different unit, and it cannot be resolved |
| by visibility elsewhere because it may refer to local entities. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that string literal can be used for |
| pragma Warnings when operating in Ada 83 mode. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Find_Aggregate_Component_Desig_Type): New |
| subsidiary function to Freeze_ Expression, used to determine |
| whether an aggregate for an array of access types also freezes the |
| designated type, when some aggregate components are allocators. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-strsea.adb (Find_Token): AI05-031 indicates that the |
| procedure must raise Index_Error when Source is not empty and |
| the From parameter is not within the range of the Source string. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Is_Static_String_Expression): Allow string |
| literal in Ada 83 mode. |
| |
| 2014-10-17 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Get_Config_Switches): In CodePeer mode, do |
| not take into account any compiler command from package IDE. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Build_Function_Wrapper): The formals of the |
| wrapper must have the same identifiers as those of the formal |
| subprogram, because calls within the generic may use named |
| associations. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, a-strsea.adb: Minor reformatting. |
| * par-ch6.adb (P_Subprogram): Fix bad handling of null procedures. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect |
| specfications from original type declaration to declaration of |
| implicit base, because original node is rewritten as a subtype |
| declaration on which type aspects do not belong. |
| |
| 2014-10-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Propagate_Default_Init_Cond_Attributes): A derived type |
| inherits the attributes related to pragma Default_Initial_Condition |
| from its parent type. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-strsea.adb (Index - versions with a From parameter): |
| According to AI05-056, the Index functions with a From parameter |
| return 0 if the source is an empty string. |
| |
| 2014-10-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Disable |
| the consistency checks in ASIS mode. |
| |
| 2014-10-17 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-expmod.ads: Minor typo fix. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb: Minor reformatting. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Build_Function_Wrapper): Build wrappers for |
| actuals that are defaulted subprograms of the formal subprogram |
| declaration. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Op_Eq): Make sure we deal with the |
| implementation base type. |
| * sinfo.ads: Add a note for N_Op_Eq and N_Op_Ne that record |
| operands are always expanded out into component comparisons. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * s-vallli.adb: Minor comment correction. |
| * s-valuti.ads: Minor comment reformatting. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document System.Atomic_Counters. |
| * impunit.adb: Add System.Atomic_Counters (s-atocou.ads) to the |
| list of user- accessible units added as children of System. |
| * s-atocou.ads: Update comment. |
| |
| 2014-10-17 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-expmod.ads: Add comments. |
| |
| 2014-10-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation |
| of all attributes related to pragma Default_Initial_Condition. |
| (Build_Derived_Type): Propagation of all attributes related |
| to pragma Default_Initial_Condition. |
| (Process_Full_View): Account for the case where the full view derives |
| from another private type and propagate the attributes related |
| to pragma Default_Initial_Condition to the private view. |
| (Propagate_Default_Init_Cond_Attributes): New routine. |
| * sem_util.adb: Alphabetize various routines. |
| (Build_Default_Init_Cond_Call): Use an unchecked type conversion |
| when calling the default initial condition procedure of a private type. |
| (Build_Default_Init_Cond_Procedure_Declaration): Prevent |
| the generation of multiple default initial condition procedures. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * prj-conf.adb: Revert previous change. |
| |
| 2014-10-17 Robert Dewar <dewar@adacore.com> |
| |
| * lib-writ.ads, s-valdec.ads: Minor reformatting. |
| |
| 2014-10-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Additional work on function wrappers. |
| |
| 2014-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_util.adb (Possible_Bit_Aligned_Component): Also recurse |
| on the renamed object of renamings. |
| |
| 2014-10-17 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer |
| mode, always use the native target. |
| |
| 2014-10-16 Andrew MacLeod <amacleod@redhat.com> |
| |
| * gcc-interface/misc.c: Adjust include files. |
| |
| 2014-10-13 Eric Botcazou <ebotcazou@adacore.com> |
| Alan Modra <amodra@gmail.com> |
| |
| PR ada/63225 |
| * uintp.adb (Vector_To_Uint): Move from here to... |
| * uintp.ads (UI_Vector): Make public. |
| (Vector_To_Uint): ...here. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb, sem_attr.adb: Minor reformatting. |
| |
| 2014-10-10 Johannes Kanig <kanig@adacore.com> |
| |
| * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads, |
| a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition" |
| to container type. |
| |
| 2014-10-10 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get |
| any configuration switches from the project file. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper. |
| (Build_Function_Wrapper): New function, to construct a wrapper |
| function for actuals that are functions with an arbitrary |
| number of parameters. Used in GNATProve mode to simplify proof |
| propagation in instantiations. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb, gnat1drv.adb, sem_ch13.adb: Minor reformatting and |
| code clean up. |
| |
| 2014-10-10 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Is_OK_Volatile_Context): Allow |
| a volatile object reference to appear as the expression of a |
| type conversion. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications, Library_Unit_Aspects): |
| Aspect specification is legal on a local instantiation of a |
| library-level generic unit. |
| |
| 2014-10-10 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Set Front_End_Inlining |
| if inlining has been enabled via -gnatn and the target is not GCC. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Freezing a subprogram does |
| not always freeze its profile. In particular, an attribute |
| reference that takes the access type does not freeze the types |
| of the formals. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Adjust_Name_Case): New procedure. |
| (Set_Msg_Node): Use Adjust_Name_Case. |
| * errout.ads (Adjust_Name_Case): New procedure. |
| * exp_intr.adb (Add_Source_Info): Minor code reorganization |
| (use Ekind_In). |
| (Write_Entity_Name): Use Errout.Adjust_Name_Case. |
| * sem_prag.adb (Is_Non_Significant_Pragma_Reference): Review |
| and fix up entries in Sig_Flags, and correct logical errors in |
| function itself. |
| * sprint.adb (Sprint_Node_Actual): Properly print string for |
| raise statement. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): For an object of an |
| anonymous array type with delayed aspects, defer freezing of |
| type until object itself is frozen. |
| * freeze.adb (Freeze_Entity): When freezing an object of an |
| anonymous array type with delayed aspects, remove freeze node of |
| object after freezing type, to prevent out-of-order elaboration |
| in the back-end. The initialization call for the object has |
| already been constructed when expanding the object declaration. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * exp_intr.adb (Write_Entity_Name): Moved to outer level |
| (Write_Entity_Name): Properly handle operator names |
| (Expand_Source_Info): New procedure. |
| * exp_intr.ads (Add_Source_Info): New procedure. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * butil.ads: Minor reformatting. |
| * sem_ch5.adb: Code clean up. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch11.adb (Expand_N_Raise_Statement): Handle |
| Prefix_Exception_Messages. |
| * opt.adb: Handle new flags Prefix_Exception_Message[_Config]. |
| * opt.ads: New flags Prefix_Exception_Message[_Config]. |
| * par-prag.adb: New dummy entry for pragma Prefix_Exception_Messages. |
| * snames.ads-tmpl: Add entries for new pragma Prefix_Exception_Messages. |
| * sem_prag.adb: Implement new pragma Prefix_Exception_Messages |
| * gnat_rm.texi: Document pragma Prefix_Exception_Messages. |
| |
| 2014-10-10 Gary Dismukes <dismukes@adacore.com> |
| |
| * sinfo.ads, gnat_ugn.texi, a-except.adb, a-except-2005.adb, |
| raise-gcc.c Spelling changes (prolog => prologue, epilog => epilogue). |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Is_Wrapped_In_Block): Handle properly blocks that |
| contain pragmas generated for loop invariants and type predicates. |
| Clarify use of this subprogram. |
| |
| 2014-10-10 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Global_Item): Accept formal objects in Global |
| contracts. |
| * errout.adb, errout.ads (SPARK_Msg_NE): Issue error unless |
| SPARK_Mode is Off. |
| |
| 2014-10-10 Vadim Godunko <godunko@adacore.com> |
| |
| * a-stwima.adb (To_Sequence): Compute size of result array. |
| |
| 2014-10-10 Javier Miranda <miranda@adacore.com> |
| |
| * gnat_ugn.texi (Interfacing with C++ at the Class Level): Update the |
| sources of the example to avoid a warning when the Ada files are |
| automatically generated by the binding generator. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute, case 'Update): Set |
| Do_Range_Check on the expression of a record component |
| association when needed, as is done for array components, when |
| the corresponding type is a scalar type. |
| |
| 2014-10-10 Gary Dismukes <dismukes@adacore.com> |
| |
| * a-coinho-shared.adb: Minor typo fix. |
| * prj-env.ads: Minor reformatting. |
| |
| 2014-10-10 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_String_Literal): Do not |
| generate a string literal subtype for the default expression of |
| a formal parameter in GNATprove mode. |
| |
| 2014-10-10 Yannick Moy <moy@adacore.com> |
| |
| * errout.adb (SPARK_Msg_N): Issue error unless SPARK_Mode is Off. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Analyze |
| declaration for loop parameter before rest of loop, and set |
| entity kind to prevent assignments to it in the user code. |
| * sem_ch3.adb (Analyze_Object_Contract): No contracts apply to the |
| loop parameter in an element iteration over o formal container. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Document use of user-level routines to handle |
| e.g. col major arrays. |
| |
| 2014-10-10 Doug Rupp <rupp@adacore.com> |
| |
| * s-osinte-android.adb: Fix misspelling. |
| * gsocket.h: Tweak the Android quirks. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads (SPARK_Msg_N): Fix spec to match change in body. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor code reorganization. |
| |
| 2014-10-10 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_rm.texi: Text now indicates pragma No_Run_Time is not |
| for users. |
| |
| 2014-10-10 Vadim Godunko <godunko@adacore.com> |
| |
| * a-coinho-shared.adb: Add minor comment. |
| * a-stzmap.adb (To_Sequence): Compute size of result array. |
| |
| 2014-10-10 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): Complete the condition of an |
| if-stmt to match its current documentation. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb, |
| freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb, |
| sem_ch6.adb, sem_cat.adb, sem_disp.adb |
| (Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive |
| throughout where appropriate. |
| |
| 2014-10-10 Bob Duff <duff@adacore.com> |
| |
| * a-coinho-shared.ads: Minor reformatting. |
| * s-traceb.adb: Minor clean up. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * ali.adb (Scan_ALI): Read and process new GP flag on ALI P line. |
| * ali.ads (GNATprove_Mode): New component in ALI table. |
| (GNATprove_Mode_Specified): New global. |
| * gnatbind.adb (Gnatbind): Give fatal error if any file compiled |
| in GNATProve mode. |
| * lib-writ.ads, lib-writ.adb (GP): New flag on P line for |
| GNATProve_Mode. |
| |
| 2014-10-10 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): Adding assertion. |
| (Build_Init_Statement): Ensure that statements |
| associated with the parent components are located at the beginning |
| of the returned list of statements. |
| |
| 2014-10-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full |
| view of a private type T that has a type invariant is a scalar |
| or constrained array type, the base type created for the full |
| view has the same type invariant. |
| |
| 2014-10-10 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.ads, sem_ch12.adb, exp_util.adb, i-fortra.ads: Minor code |
| reorganization. |
| |
| 2014-09-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment. |
| * gcc-interface/utils.c (gnat_write_global_declarations): Fix typo. |
| |
| 2014-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc-interface/Make-lang.in (check_acats_numbers0, |
| check_acats_numbers1, check_acats_numbers2, check_acats_numbers3, |
| check_acats_numbers4, check_acats_numbers5, check_acats_numbers6, |
| check_acats_numbers, check_acats_subdirs): New variables. |
| (check_acats_targets): Use $(check_acats_subdirs). |
| (check-acats, check-acats%): Rewritten so that for parallelized |
| testing each job runs all the chapters files, with |
| GCC_RUNTEST_PARALLELIZE_DIR set in environment. Prepare the support |
| directory sequentially and share it. |
| (check-acats-subtargets): Always print just check-acats. |
| |
| 2014-08-25 Martin Liska <mliska@suse.cz> |
| |
| * gcc-interface/utils.c (rest_of_subprog_body_compilation): Adjust to |
| new cgraph interface. |
| (gnat_write_global_declarations): Likewise. |
| |
| 2014-08-13 Sylvestre Ledru <sylvestre@debian.org> |
| |
| * 9drpc.adb: Fix a typo |
| * s-interr.ads: Likewise |
| * s-taskin.ads: Likewise |
| * s-traces.ads: Likewise |
| * sysdep.c: Likewise |
| |
| 2014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * socket.c: For RTEMS, use correct prototype of gethostbyname_r(). |
| * gsocket.h Add include of <unistd.h> on RTEMS. |
| |
| 2014-08-11 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * s-osinte-rtems.adb: Correct formatting of line in license block. |
| |
| 2014-08-04 Claire Dross <dross@adacore.com> |
| |
| * exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity): |
| For an instance, look at the scope before the generic parent. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * lib-writ.ads: Update comments. |
| * sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add |
| parameters to filter inherited subprograms. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Add section on use of address clause for memory |
| mapped I/O. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in |
| particular the subtype created for a generic actual, inherits |
| invariant information from the base type. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add entries for aspect Obsolescent. |
| * gnat_rm.texi: Add documentation for aspect Obsolescent. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect |
| Obsolescent. |
| (Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent. |
| * s-osprim-mingw.adb: Minor reformatting. |
| * sem_res.adb (Is_Atomic_Ref_With_Address): New function |
| (Resolve_Indexed_Component): Rework warnings for non-atomic access |
| (Resolve_Selected_Component): Add warnings for non-atomic access. |
| |
| 2014-08-04 Doug Rupp <rupp@adacore.com> |
| |
| * g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec |
| formal to long_long. |
| * g-calend.ads (timeval): Bump up size to accomodate sec type. |
| * s-taprop-linux.adb (timeval_to_duration): Change sec formal to |
| long_long |
| * s-osprim-posix.adb (timeval): Bump up size to accomodate |
| new sec type. |
| (timeval_to_duration): Change sec formal to Long_Long_Integer |
| * s-osinte-darwin.adb (timeval): Bump up |
| size to accomodate new sec type. |
| (timeval_to_duration): Change sec formal to long_long |
| * s-osinte-android.adb: Likewise. |
| * cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change |
| sec formal from long to long long. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb (Resolve_Qualified_Expression): Make sure |
| Do_Range_Check flag gets set. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads, einfo.adb (Is_Standard_String_Type): New function. |
| * exp_ch3.adb (Build_Array_Init_Proc): Use |
| Is_Standard_String_Type. |
| (Expand_Freeze_Array_Type): ditto. |
| (Get_Simple_Init_Val): ditto. |
| (Needs_Simple_Initialization): ditto. |
| * sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type. |
| * sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type. |
| |
| 2014-08-04 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of |
| _stprintf which insert garbage into the wfull_path buffer. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks |
| code. |
| * fe.h: Minor reformatting. |
| |
| 2014-08-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * cstreams.c: (_LARGEFILE_SOURCE): Guard definition. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch13.adb (Get_Aspect_Specifications): Improve error |
| recovery, fixing a -gnatQ bomb. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode, |
| do not generate two Itypes with the same name for an array |
| definition. |
| * sinfo.ads: Expand doc on GNATprove mode. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization |
| master and storage pool attributes on the root type of an |
| anonymous access type. |
| * exp_ch4.adb (Expand_N_Allocator): Set the finalization master |
| and storage pool attributes on the root type of an anonymous |
| access type. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_ch3.adb: Minor reformatting. |
| * tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed. |
| * tracebak.c: Remove use of above files. |
| * gcc-interface/Makefile.in: Update dependencies. |
| |
| 2014-08-04 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * gcc-interface/utils.c (gnat_set_type_context): Also set the |
| context for parallel types' TYPE_STUB_DECL. Do not change |
| anything if the context is already set for them. |
| (gnat_pushdecl): Update the comment for calls to |
| gnat_set_type_context to mention parallel types. |
| (add_parallel_type): When adding a context-less parallel type to |
| a type that has a context, propagate the context from the latter |
| type to the former. |
| (process_deferred_decl_context): Call gnat_set_type_context |
| rather than manually setting the type context. |
| (build_unc_object_type): Call gnat_set_type_context on the |
| template type. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_N_Case_Statement): If a choice is a |
| subtype indication and the case statement has only two choices, |
| replace subtype indication with its range, because the resulting |
| membership test cannot have a subtype indication as an operand. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_ch3.adb: Update comments, minor reformatting. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): Explain why the bodies of |
| the default initial condition procedures are build here. |
| * sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the |
| analyzed argument of pragma Default_Initial_Condition in some |
| dummy code as GNATprove mode disables assertions, but still |
| needs to see the argument. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch6.adb, sem_util.adb: Minor reformatting. |
| |
| 2014-08-04 Olivier Hainque <hainque@adacore.com> |
| |
| * a-comutr.ads: Set Root_Node_Type'Alignment to |
| Standard'Maximum_Alignment, so that it is at least as large as |
| the max default for Tree_Node_Type'Alignment. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Freeze_Type): Remove the generation and inheritance |
| of the default initial condition procedure [body]. |
| * sem_ch3.adb (Analyze_Declarations): Create the bodies of |
| all default initial condition procedures at the end of private |
| declaration analysis. |
| * sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New |
| routine. |
| (Build_Default_Init_Cond_Procedure_Body): Merged in the |
| processing of routine Build_Default_Init_Cond_Procedure_Bodies. |
| * sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies): |
| New routine. |
| (Build_Default_Init_Cond_Procedure_Body): Removed. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_elab.adb (Check_Elab_Call): Do not check a call to a |
| postcondtion. |
| * exp_ch6.adb (Expand_Call): Clarify handling of inserted |
| postcondition call. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Ensure that an |
| internally generated spec for a stand alone body is recognized |
| as a proper context for pragma SPARK_Mode. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * adabkend.adb (Scan_Back_End_Switches): Ignore extra -o |
| when -gnatO has already been specified, for compatibility |
| with gcc driver. |
| (Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in |
| codepeer mode. |
| * g-expect.ads: Fix typo. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch4.adb (Insert_Dereference_Action): the actual Size |
| must account for the bounds template if the designated type is |
| an unconstrained array. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add |
| SPARK_Mode in the body. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original |
| way to verify the consistency of SPARK_Mode between a spec and |
| a body. |
| * sem_ch12.adb (Analyze_Package_Instantiation): Remove the call |
| to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode |
| manually. |
| (Analyze_Subprogram_Instantiation): Remove the call to |
| Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode |
| manually. |
| * sem_prag.adb (Analyze_Pragma): Remove local variable |
| Inst_Id. SPARK_Mode can no longer be applied to a package or |
| subprogram instantiation. |
| * sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode): |
| Removed. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb, osint.adb, osint.ads: Minor reformatting. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch3.adb (Derive_Type_Declaration, |
| Process_Discriminants): Remove SPARK-specific legality checks. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram. |
| * gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support |
| for HMAC. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the |
| compatibility of SPARK_Mode between a spec and a body, use the |
| SPARK_Mode of the public part. |
| * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use |
| the already available routine to exchange the aspects between |
| the template and its copy. Analyze the aspects of copy to |
| ensure that the corresponding pragmas perform their semantic |
| effects. The partial analysis of aspects is no longer needed. |
| (Analyze_Package_Instantiation): Save and restore the SPARK_Mode |
| of the context. |
| (Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of |
| the context. |
| * sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram |
| instantiation which does not come from source. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add |
| SPARK_Mode pragmas to the public and private part of the unit. |
| * sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived |
| type cannot have discriminants if the parent type already has |
| discriminants. |
| (Process_Discriminants): Ensure that the type of a discriminant is |
| discrete. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on |
| SPARK_Mode compatibility between a spec and a body can now be |
| safely performed while processing a generic. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): The check on |
| SPARK_Mode compatibility between a spec and a body can now be |
| safely performed while processing a generic. |
| * sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be |
| safely analyzed when processing a generic. |
| |
| 2014-08-04 Nicolas Roche <roche@adacore.com> |
| |
| * g-dirope.adb: Minor reformating. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch6.adb: Minor reformatting. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Assert and related pragmas): |
| Before normalizing these pragmas into a pragma Check, preanalyze |
| the optional Message argument, (which is subsequently copied) |
| so that it has the proper semantic information for ASIS use. |
| * sem_case.adb: Initialize flag earlier. |
| * osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when |
| the full source path of a configuration file is requested. |
| (Read_Source_File): Use Full_Name parameter.. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * opt.ads Alphabetize various global flags. New flag |
| Ignore_Pragma_SPARK_Mode along with a comment on usage. |
| * sem_ch6.adb (Analyze_Generic_Subprogram_Body): |
| Pragma SPARK_Mode is now allowed in generic units. |
| (Analyze_Subprogram_Body_Helper): Do not verify the compatibility |
| between the SPARK_Mode of a spec and that of a body when inside |
| a generic. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the |
| compatibility between the SPARK_Mode of a spec and that of a |
| body when inside a generic. |
| * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): |
| Pragma SPARK_Mode is now allowed in generic units. |
| (Analyze_Package_Instantiation): Save and restore the value of |
| flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set |
| the governing SPARK_Mode before analyzing the instance. |
| (Analyze_Subprogram_Instantiation): Save and restore the value |
| of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set |
| the governing SPARK_Mode before analyzing the instance. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the |
| placement of a source pragma when inserting the generated pragma |
| for aspect SPARK_Mode. |
| * sem_prag.adb (Analyze_Pragma): Reimplement the handling of |
| pragma SPARK_Mode to allow for generics and their respective |
| instantiations. |
| * sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed. |
| (Set_Ignore_Pragma_SPARK_Mode): New routine. |
| |
| 2014-08-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with |
| renaming discriminants in tagged types first. |
| * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test |
| the underlying type of the prefix. |
| (Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..." |
| (process_freeze_entity): Reset the nodes of all the view of a type, |
| if any. |
| |
| 2014-08-04 Doug Rupp <rupp@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7 |
| and remove incorrect EH_MECHANISM macros. |
| Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to |
| EXTRA_LIBGNAT_OBJS. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix |
| of constructed 'Valid attribute in -gnatVa mode does not appear |
| to come from source. |
| * sem_attr.adb (Analyze_Access_Attribute): Don't set |
| Never_Set_In_Source for non-source reference. |
| * sem_util.adb: Minor reformatting. |
| * sem_warn.adb (Check_References): Don't check Address_Taken, |
| not necessary, see comment. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, sem_case.adb: Minor reformatting. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Extract_Entry): If the synchronized object is a |
| limited view, replace with non-limited view, which is available |
| at the point of an entry call. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Expand_Call): If the call is to a function in |
| a run-time unit that is marked Inline_Always, we must suppress |
| debugging information on it, so that the code that is eventually |
| inlined will not affect debugging of the user program. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment |
| fixes. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Process_Import_Or_Interface): Handle properly |
| an aspect Import that specifies a False value. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Add section on aspect Invariant'Class. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_case.adb (Check_Choice_Set): New flag Predicate_Error, |
| for better control of cascaded error messages when some choice |
| in a case statement over a predicated type violates the given |
| static predicate. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Type): Modify the |
| inheritance of the rep chain to ensure that a non-tagged type's |
| items are not clobbered during the inheritance. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, einfo.ads: Minor reformatting. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix |
| detection of subprograms that cannot be inlined in GNATprove mode. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.adb: Add guard to Returns_Limited_View. |
| |
| 2014-08-04 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of |
| the secondary stack to respect the alignments of the returned objects. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads, einfo.adb (Returns_Limited_View): New flag defined |
| on function entities whose return type is a limited view. |
| * freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine |
| where to place the freeze node for a function that returns the |
| limited view of a type, when the function is called and frozen |
| in a different unit. |
| |
| 2014-08-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Private_Type): Minor code |
| refactoring. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Clarify documentation on assertions. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn |
| if a component association has a box initialization when the |
| component type has no default initialization, either through an |
| initial value, an aspect, or an implicit initialization procedure. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb: Code clean up. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch5.adb: Minor reformatting. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Late_Freeze_Subprogram): Following AI05-151, |
| a function can return a limited view of a type declared |
| elsewhere. In that case the function cannot be frozen at the end |
| of its enclosing package. If its first use is in a different unit, |
| it cannot be frozen there, but if the call is legal the full view |
| of the return type is available and the subprogram can now be |
| frozen. However the freeze node cannot be inserted at the point |
| of call, but rather must go in the package holding the function, |
| so that the backend can process it in the proper context. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, sem_ch5.adb, einfo.ads: Minor reformatting. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_ch4.adb (Operator_Check): Refine previous change. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_scil.ads: Improve comments. |
| * sem_ch4.adb (Analyze_Equality_Op): Add support for |
| Allow_Integer_Address (equality between Address and Integer). |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * a-cfhama.adb, a-cforse.adb: Minor fixes to avoid using prefix |
| notation on untagged objects. |
| * sem.ads: Update comment. |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do |
| not inline subprograms declared in the visible part of a package. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb: minor reformatting. |
| * einfo.ads, einfo.adb (Is_Processed_Transient): Applies to loop |
| parameters. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * s-fatgen.adb: Minor reformatting. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_util.adb (Is_Possibly_Unaligned_Object): Always return |
| False on .NET. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Statement): Set properly the kind of |
| the loop parameter for element iterators over containers and |
| arrays, so that improper uses of it are detected in the loop |
| body when expansion is disabled. |
| * exp_ch5.adb (Expand_Iterator_Loop): The entity kind of the |
| generated cursor is that of the analyzed loop parameter. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Build_CPP_Init_Procedure): Remove |
| Flag_Decl. Do not analyze the declaration of the flag as it is |
| not part of the tree yet, instead add it to the freeze actions |
| of the C++ type. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Apply_Scalar_Range_Check): Make sure we handle |
| case of OUT and IN OUT parameter correctly (where Source_Typ is |
| set), we were missing one case where a check must be applied. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on |
| the generated code. Instead of hiding the renaming and using the |
| wrapper as the proper association, have the subprogram renaming |
| alias the wrapper. |
| (Build_Spec): The entity of the wrapper is |
| now derived from the entity of the related primitive. |
| |
| 2014-08-04 Emmanuel Briot <briot@adacore.com> |
| |
| * s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when |
| using non-capturing groups. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb (Build_Body_To_Inline): Remove Unmodified and |
| related pragmas before copying the original body, to prevent |
| spurious errors when the pragmas apply to formals that will not |
| appear in the inlined body. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_prag.adb, sem_ch7.adb, einfo.adb, sem_prag.adb, sem_util.adb, |
| exp_ch3.adb: Minor reformatting. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * prj-strt.adb, prj-strt.ads, sem_attr.adb: Minor reformatting. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb Add an entry in table Canonical_Aspect for |
| Default_Initial_Condition. |
| * aspects.ads Add an entry in tables Aspect_Id, Aspect_Argument, |
| Aspect_Names and Aspect_Delay for Default_Initial_Condition. |
| * einfo.adb Flag3 is now Has_Default_Init_Cond. Flag132 |
| is now Is_Default_Init_Cond_ Procedure. Flag133 is now |
| Has_Inherited_Default_Init_Cond. |
| (Default_Init_Cond_Procedure): New routine. |
| (Has_Default_Init_Cond): New routine. |
| (Has_Inherited_Default_Init_Cond): New routine. |
| (Is_Default_Init_Cond_Procedure): New routine. |
| (Set_Default_Init_Cond_Procedure): New routine. |
| (Set_Has_Default_Init_Cond): New routine. |
| (Set_Has_Inherited_Default_Init_Cond): New routine. |
| (Set_Is_Default_Init_Cond_Procedure): New routine. |
| (Write_Entity_Flags): Output all the new flags. |
| * einfo.ads New attributes Default_Init_Cond_Procedure, |
| Has_Inherited_Default_Init_Cond and Is_Default_Init_Cond_Procedure |
| along with usage in nodes. |
| (Default_Init_Cond_Procedure): New routine. |
| (Has_Default_Init_Cond): New routine and pragma Inline. |
| (Has_Inherited_Default_Init_Cond): New routine and |
| pragma Inline. |
| (Is_Default_Init_Cond_Procedure): New routine and |
| pragma Inline. |
| (Set_Default_Init_Cond_Procedure): New routine. |
| (Set_Has_Default_Init_Cond): New routine and pragma Inline. |
| (Set_Has_Inherited_Default_Init_Cond): New routine and pragma Inline. |
| (Set_Is_Default_Init_Cond_Procedure): New routine and pragma Inline. |
| * exp_ch3.adb (Expand_N_Object_Declaration): New constant |
| Next_N. Generate a call to the default initial condition procedure |
| if the object's type is subject to the pragma. (Freeze_Type): |
| Generate the body of the default initial condition procedure or |
| inherit the spec from a parent type. |
| * exp_ch7.adb Add with and use clause for Exp_Prag. |
| (Expand_Pragma_Initial_Condition): Removed. |
| * exp_prag.ads, exp_prag.adb (Expand_Pragma_Initial_Condition): New |
| routine. |
| * par-prag.adb (Prag): Pragma Default_Initial_Condition does |
| not need special treatment by the parser. |
| * sem_ch3.adb (Build_Derived_Record_Type): Propagate the |
| attributes related to pragma Default_Initial_Condition to the |
| derived type. |
| (Process_Full_View): Propagate the attributes |
| related to pragma Default_Initial_Condition to the full view. |
| * sem_ch7.adb (Analyze_Package_Specification): Build the |
| declaration of the default initial condition procedure for all |
| types that qualify or inherit the one from the parent type. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): |
| Add processing for aspect Default_Initial_Condition. |
| (Check_Aspect_At_Freeze_Point): Aspect |
| Default_Initial_Condition does not require delayed analysis. |
| (Replace_Type_References_Generic): Moved to spec. |
| * sem_ch13.ads (Replace_Type_References_Generic): Moved from body. |
| * sem_prag.adb Add an entry in table Sif_Glags for |
| Default_Initial_Condition. |
| (Analyze_Pragma): Pragma |
| Default_Initial_Condition is now part of assertion |
| policy. Add processing for pragma Default_Initial_Condition. |
| (Is_Valid_Assertion_Kind): Pragma Default_Initial_Condition is |
| now recognized as a proper assertion policy. |
| * sem_util.ads, sem_util.adb (Build_Default_Init_Cond_Call): New |
| routine. |
| (Build_Default_Init_Cond_Procedure_Body): New routine. |
| (Build_Default_Init_Cond_Procedure_Declaration): New routine. |
| (Inherit_Default_Init_Cond_Procedure): New routine. |
| * snames.ads-tmpl Add new predefined name and pragma id for |
| Default_Initial_Condition. |
| |
| 2014-08-04 Vincent Celier <celier@adacore.com> |
| |
| * prj-dect.adb (Parse_Case_Construction): It is no longer |
| an error if the variable for a case construction is not |
| typed, only if the variable value is not a single string. Call |
| Parse_Choice_List and End_Case_Construction with the new parameter |
| to indicate that the variable is typed. |
| * prj-strt.adb (End_Case_Construction): Only check the labels |
| if the variable is typed. If the variable is not typed, |
| issue a warning when there is no "when others" allternative. |
| (Parse_Choice_List): Manage the labels only if the variable |
| is typed. |
| * prj-strt.ads (End_Case_Construction): New Boolean parameter |
| String_Type. |
| (Parse_Choice_List): Ditto. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb: Additional fix to Check_Predicate_Use. |
| |
| 2014-08-04 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Update documentation of case constructions with |
| variables that are not typed. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries |
| an Eliminated pragma, indicate that the wrapper is also to be |
| eliminated, to prevent spurious errors when using gnatelim on |
| programs that include box-initialization of equality operators |
| (consequence of AI05-071).. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Activate_Overflow_Check): Handle floating-point |
| case correctly. |
| * checks.ads (Activate_Overflow_Check): Clarify handling of |
| floating-point cases. |
| * exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check |
| flag if we generate an explicit overflow check (for |
| Check_Float_Overflow mode). |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads, |
| prj-attr.adb, prj-attr.ads: Minor reformatting. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * expander.adb (Expand): Always perform special |
| expansion in GNATprove mode, even when doing pre-analysis. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * repinfo.adb (List_Scalar_Storage_Order): List bit order if |
| not default. Also list bit order if SSO is specified. Do not |
| assume that bit order is always equal to scalar storage order. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Set_SSO_From_Default): Do not set scalar storage |
| order to reverse SSO for a type that has an explicit native |
| Bit_Order. |
| |
| 2014-08-04 Doug Rupp <rupp@adacore.com> |
| |
| * cal.c: Macro check for VxWorks7. |
| * init.c (getpid): Likewise. |
| * mkdir.c (__gnat_mkdir): Likewise. |
| * sysdep.c (__gnat_is_file_not_found_error): Likewise. |
| |
| 2014-08-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation |
| of an invariant check in the case where No_Initialization is set, |
| since the object is uninitialized. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute |
| name, in addition to a pragma name. |
| * snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name, |
| Is_Pragma_Name): Adjust accordingly. |
| * sem_attr.ads, sem_attr.adb, exp_attr.adb |
| (Attribute_Default_Scalar_Storage_Order): Add handling of new |
| attribute. |
| * gnat_rm.texi: Document the above. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer |
| mode for now, to revert to previous behavior. |
| * checks.adb: Revert previous change, no longer needed. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Don't set |
| Check_Float_Overflow if Machine_Oveflows_On_Target is True. |
| * sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't |
| set Check_Float_Overflow if Machine_Oveflows_On_Target is True. |
| * switch-c.adb (Scan_Front_End_Switches): Don't set |
| Check_Float_Overflow if Machine_Oveflows_On_Target is True. |
| |
| 2014-08-04 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb: Add new default indications for |
| attributes Object_Dir, Exec_Dir, Source_Dirs and Target. |
| (Attribute_Default_Of): New function (Initialize): Set the |
| default for those attributes that have one specified. |
| * prj-attr.ads (Attribute_Data): New component Default. |
| * prj-proc.adb (Expression): Take into account the new defaults |
| for attributes Object_Dir, Exec_Dir and Source_Dirs. |
| * prj-strt.adb (Attribute_Reference): Set the default for |
| the attribute. |
| * prj-tree.ads, prj-tree.adb (Default_Of): New function. |
| (Set_Default_Of): New procedure. |
| * prj.adb (The_Dot_String): New global Name_Id variable, |
| initialized in procedure Initialize. |
| (Dot_String): New function |
| (Initialize): Initialize The_Dot_String. |
| (Reset): Create the string list Shared.Dot_String_List. |
| * prj.ads (Attribute_Default_Value): New enumeration type. |
| (Project_Qualifier): Change enumeration value Dry to Abstract_Project. |
| (Dot_String): New function. |
| (Shared_Project_Tree_Data): New string list component Dot_String_List. |
| * projects.texi: Document new defaults for attribute Object_Dir, |
| Exec_Dir and Source_Dirs. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch12.adb: Minor reformatting. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_util.adb, checks.adb (Check_Float_Op_Overflow): Add special |
| expansion in CodePeer_Mode. |
| (Selected_Range_Checks): Add handling of overflow checks in |
| CodePeer_Mode. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Pred): |
| Remove special test for Float'First, no longer required. |
| (Expand_N_Attribute_Reference, case Succ): Remove special test |
| for Float'First, no longer required. |
| * s-fatgen.adb (Pred): return infinity unchanged. |
| (Succ): ditto. |
| |
| 2014-08-04 Claire Dross <dross@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Associations): Defaults should only be |
| used if there is no explicit match. |
| * exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity): |
| Also check for pragma external_axiomatization on generic units. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Activate_Overflow_Check): Remove |
| Check_Float_Overflow processing. |
| (Apply_Scalar_Range_Check): Ditto. |
| (Generate_Range_Check): Ditto. |
| * exp_ch4.adb (Expand_N_Op_Add): Add call to |
| Check_Float_Op_Overflow. |
| (Expand_N_Op_Divide): ditto. |
| (Expand_N_Op_Multiply): ditto. |
| (Expand_N_Op_Subtract): ditto. |
| * exp_util.ads, exp_util.adb (Check_Float_Op_Overflow): New procedure. |
| * sem_attr.adb (Analyze_Attribute, case Pred): Make sure |
| Do_Range_Check is set for floating-point case in -gnatc or |
| GNATprove mode. |
| (Analyze_Attribute, case Succ): Make sure |
| Do_Range_Check is set for floating-point case in -gnatc or |
| GNATprove mode. |
| * sem_res.adb (Resolve_Type_Conversion): Make sure Do_Range_Check |
| flag is set for real to integer conversion in GNATprove or |
| -gnatc mode. |
| |
| 2014-08-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Resolve |
| the expression of an Import or Export aspect as type Boolean |
| and require it to be static. Add ??? comment. Also, set the |
| Is_Exported flag when appropriate. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb: Minor reformatting. |
| * exp_attr.adb: Minor reformatting. |
| |
| 2014-08-04 Thomas Quinot <quinot@adacore.com> |
| |
| * s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations |
| (Unaligned_Valid): Remove now unused subprogram. |
| * exp_attr.adb (Expand_N_Attribute_Reference, case |
| Attribute_Valid): If the prefix is in reverse SSO or potentially |
| unaligned, copy it using a byte copy operation to a temporary |
| variable. |
| * einfo.adb: Minor comment fix. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Do not freeze formal subprograms. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf. |
| * s-fatgen.adb (Pred): Handle Float'First. |
| (Succ): Handle Float'Last. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Is_Potentially_Unevaluated): If the original |
| node of a parent node in the tree is a short-circuit operation, |
| the node is potentially unevaluated. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on |
| conversion from a real type to an integer type. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb, |
| sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, |
| exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb, |
| sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to |
| SPARK_05 instead of SPARK. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem.ads: Minor reformatting. |
| * sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor |
| reformatting. |
| (Analyze_Aspect_Specifications, case Convention): Put External_Name |
| before Link_Name when constructing pragma. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * sem.adb, sem.ads (In_Default_Expr): Global flag that is set |
| to True during analysis of a default component expression. |
| (Semantics): Save and restore In_Default_Expr around analysis. |
| * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration): |
| Call new wrapper Preanalyze_Default_Expression. |
| (Preanalyze_Default_Expression): New wrapper on |
| Preanalyze_Spec_Expression which sets and restores In_Default_Expr. |
| * sem_res.adb (Resolve_Call): Mark calls inside default |
| expressions as not inlined in GNATprove mode. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb: Minor reformatting. |
| |
| 2014-08-04 Olivier Hainque <hainque@adacore.com> |
| |
| * link.c: remove const on __gnat_objlist_file_supported for AIX |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads: Minor addition of comment. |
| |
| 2014-08-04 Vincent Celier <celier@adacore.com> |
| |
| * prj-dect.adb (Check_Package_Allowed): Allow package IDE in |
| all projects, including aggregate and aggregate library projects. |
| |
| 2014-08-04 Yannick Moy <moy@adacore.com> |
| |
| * back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Test_In_Range): Always in range for |
| Is_Known_Valid target type, where input type has smaller or |
| equal size and does not have biased rep. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Eval_Attribute): Constrained is not treated as |
| a static attribute, and the Static flag must not be set on it |
| during resolution. It may be constant-folded during expansion, |
| but if expansion is disabled it is not a static expression. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as |
| referenced once resolution has taken place. |
| |
| 2014-08-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Don't |
| compare access levels in the case where the target type is the |
| anonymous type of an access discriminant, since the level of |
| such types is defined based on context. Add comment. |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special |
| cases related to equality. Remove the special processing |
| for dispatching abstract subprograms as it is not needed. |
| (Interpretation_Error): Add a specialized error message for |
| predefined operators. |
| (Is_Intrinsic_Equality): New routine. |
| (Is_Suitable_Candidate): New routine. |
| |
| 2014-08-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * checks.adb: Minor comment reformatting. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * restrict.adb (Check_Restriction): For checked max_parameter |
| restrictions reset Violated flag, so that subsequent violations |
| are properly detected. |
| |
| 2014-08-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove |
| mode. |
| (Process_Discriminants): Fix bad test of GNATprove mode |
| |
| 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Formal_Subprogram): |
| Move variable to their own section. Propagate the source |
| location of a formal parameter to the corresponding formal of |
| the subprogram renaming declaration. Code reformatting. |
| |
| 2014-08-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * g-trasym-vms-ia64.adb, g-trasym-vms-alpha.adb: Removed. |
| |
| 2014-08-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion |
| if error already detected. We may reach this point in spite of |
| previous errors when compiling with -gnatq, to force all possible |
| errors (this is the usual ACATS mode). |
| |
| 2014-08-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * checks.adb (Generate_Range_Check): For the case of converting |
| a base type with a larger range to a smaller target subtype, only |
| use unchecked conversions of bounds in the range check followed |
| by conversion in the case where both types are discrete. In other |
| cases, convert to the target base type and save in a temporary |
| followed by the range check. |
| (Convert_And_Check_Range): New procedure factoring code to save |
| conversion to a temporary followed by a range check (called two |
| places in Generate_Range_Check). |
| * exp_ch4.adb (Expand_N_Type_Conversion): Relax previous |
| check-in, to generate range checks for conversions between |
| any floating-point types rather than limiting it to matching |
| base types. |
| |
| 2014-08-02 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * gcc-interface/trans.c: Use hash_set instead of pointer_set. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * restrict.adb (Update_Restrictions): For restrictions with a |
| maximum parameter (e.g. number of protected entries in Ravenscar) |
| do not compute the maximum of the violation over several objects, |
| because the restriction is per-object. |
| (Check_Restriction): After possible message, reset the value |
| of of a checked max_parameter restriction to zero, to prevent |
| cascaded errors. |
| * sem_ch3.adb (Build_Derived_Private_Type): Use base of parent |
| (sub)type to determine whether derived type should be on the |
| list of private dependents of a type whose full view may become |
| visible subsequently. |
| |
| 2014-08-01 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use |
| $(CXX) instead of ../../xg++ to feed CXX. |
| (CXX_LFLAGS): Remove. Now unused as the proper flags |
| are expected to be included in the CXX variable. |
| |
| 2014-08-01 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * gcc-interface/decl.c (elaborate_expression_1): Return the new |
| variable when debug info is needed and the expression is not |
| constant. Tag as external only new variables that are global. |
| (gnat_to_gnu_entity): Call it after the GNU declaration is saved. |
| * gcc-interface/trans.c (Attribute_to_gnu): Do not cache |
| attributes for IN array parameters when their actual subtype |
| needs debug info. |
| (Compilation_Unit_to_gnu): Call it to process all remaining nodes. |
| * gcc-interface/gigi.h (process_deferred_decl_context): New. |
| * gcc-interface/utils.c (gnat_write_global_declarations): Do not |
| emit debug info for ignored global declarations. |
| (struct deferred_decl_context_node, |
| add_deferred_decl_context, add_deferred_type_context, |
| compute_deferred_decl_context, defer_or_set_type_context, |
| deferred_decl_context_queue, get_debug_scope, |
| get_global_context, process_deferred_decl_context): New. |
| (gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT |
| computation machinery to rely on the GNAT Scope attribute. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils2.c (build_simple_component_ref): Add guard. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb, opt.ads Minor comment updates. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_intr.adb (Expand_Unc_Deallocation): Request a renaming |
| from the side effects removal machinery. |
| * exp_util.adb (Duplicate_Subexpr): Add formal parameter |
| Renaming_Req. Update the nested call to Remove_Side_Effects. |
| (Duplicate_Subexpr_No_Checks): Add formal parameter |
| Renaming_Req. Update the nested call to Remove_Side_Effects. |
| (Duplicate_Subexpr_Move_Checks): Add formal parameter |
| Renaming_Req. Update the nested call to Remove_Side_Effects. |
| (Remove_Side_Effects): Add formal parameter Renaming_Req. Generate |
| an object renaming declaration when the caller requests it. |
| * exp_util.ads (Duplicate_Subexpr): Add formal |
| parameter Renaming_Req. Update comment on usage. |
| (Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req. |
| (Duplicate_Subexpr_Move_Checks): Add formal parameter |
| Renaming_Req. |
| |
| 2014-08-01 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Minor updates. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * atree.adb: Minor reformatting. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a |
| private extension, get stored constraint, if any, from full view. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * opt.ads (No_Elab_Code_All_Pragma): New global variable. |
| * sem_ch10.adb (Check_No_Elab_Code_All): New procedure |
| (Analyze_Compilation_Unit): Call Check_No_Elab_Code_All |
| (Analyze_Subunit_Context): Call Check_No_Elab_Code_All. |
| * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): |
| Remove code for checking with's, now in sem_ch10.adb, set |
| Opt.No_Elab_Code_All_Pragma. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Copy_And_Build): Copy the declaration for |
| access types as well and adjust the subtype mark if there are |
| no constraints. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Test_In_Range): Return Unknown if error posted. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.ads (Has_Private_Ancestor): Remove obsolete usage. |
| * exp_ch4.adb (Expand_Composite_Equality): Add conversion |
| of the actuals in the case of untagged record types too. |
| * sem_ch3.adb (Build_Full_Derivation): New procedure to create the |
| full derivation of a derived private type, extracted from... |
| (Copy_And_Build): In the case of record types and most |
| enumeration types, copy the original declaration. Build the |
| full derivation according to the approach extracted from... |
| (Build_Derived_Private_Type): ...here. Call Build_Full_Derivation |
| to create the full derivation in all existing cases and also |
| create it in the no-discriminants/discriminants case instead of |
| deriving directly from the full view. |
| (Is_Visible_Component): Remove obsolete code. |
| * sem_aggr.adb (Resolve_Record_Aggregate): Likewise. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * fe.h (GNAT_Mode): New. |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on |
| reverse SSO in GNAT mode. |
| |
| 2014-08-01 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb: Minor reformatting. |
| |
| 2014-08-01 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch3.adb (Default_Initialize_Object): Do not generate |
| default initialization for an imported object. |
| |
| 2014-08-01 Olivier Hainque <hainque@adacore.com> |
| |
| * seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr |
| to the expected FARPROC type instead of void *. |
| * adaint.c (f2t): Expect __time64_t * as second argument, in line with |
| other datastructures. |
| (__gnat_file_time_name_attr): Adjust accordingly. |
| (__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR, |
| in line with uses. |
| (__gnat_check_OWNER_ACL): Declare AccessMode |
| parameter as ACCESS_MODE instead of DWORD, in line with callers |
| and uses. |
| (__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode, |
| unused on win32. Correct cast of "args" on call to spawnvp. |
| (add_handle): Cast realloc calls into their destination types. |
| (win32_wait): Remove declaration and initialization of unused variable. |
| (__gnat_locate_exec_on_path): Cast alloca calls |
| into their destination types. |
| * initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into |
| their destination types. |
| |
| 2014-08-01 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Expand |
| range checks for conversions between floating-point subtypes |
| when the target and source types are the same. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * exp_aggr.adb: Minor reformatting. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch13.adb (Check_Indexing_Functions): Initialize |
| Indexing_Found. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the |
| ALI file before we call the backend (so that gnat2why can append |
| to it). |
| |
| 2014-08-01 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb (Expand_Bit_Packed_Element_Set, |
| Expand_Packed_Element_Reference): Pass additional Rev_SSO |
| parameter indicating whether the packed array type has reverse |
| scalar storage order to the s-pack* Set/Get routines. |
| * s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO |
| indicating reverse scalar storage order. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Check_Initialization): Set Do_Range_Check |
| for initial component value in -gnatc or GNATprove mode. |
| (Process_Discriminants): Same fix for default discriminant values. |
| * sem_eval.adb (Test_In_Range): Improve accuracy of results by |
| checking subtypes. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads: Minor comment clarification. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Code |
| reformatting. Store the generated pragma Import in the related |
| subprogram as routine Wrap_Imported_Subprogram will need it later. |
| * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of |
| a private type with discriminants is considered to fall in the |
| category of unconstrained or tagged items. |
| |
| 2014-08-01 Arnaud charlet <charlet@adacore.com> |
| |
| * s-os_lib.adb (Open_Append): New functions to open a file for |
| appending. This binds to the already existing (but not used) |
| __gnat_open_append. |
| * osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure |
| to open a file for appending. |
| * osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure |
| to open the ALI file for appending. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb: Minor reformatting. |
| |
| 2014-08-01 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch13.adb (Insert_Pragma): Add special case for precondition |
| pragmas from aspects, which need to be inserted in proper order. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants): |
| Handle properly a type extension that constrains a discriminated |
| derived type that renames other discriminants of an ancestor. |
| |
| 2014-08-01 Thomas Quinot <quinot@adacore.com> |
| |
| * s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads, |
| s-pack25.adb: Fix minor inconsistencies and typos. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize |
| globals and move certain variables to the "local |
| variable" section. Call Build_Class_Wide_Wrapper when |
| renaming a default actual subprogram with a class-wide actual. |
| (Build_Class_Wide_Wrapper): New routine. |
| (Check_Class_Wide_Actual): Removed. |
| (Find_Renamed_Entity): Code reformatting. |
| (Has_Class_Wide_Actual): Alphabetize. Change the |
| logic of the predicate as the renamed name may not necessarely |
| denote the correct subprogram. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch7.adb: Fix minor oversight in condition. |
| |
| 2014-08-01 Bob Duff <duff@adacore.com> |
| |
| * projects.texi: Minor documentation improvements. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All. |
| * gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect. |
| * lib-load.adb: Initialize No_Elab_Code_All field. |
| * lib-writ.adb: Initialize No_Elab_Code_All. |
| * lib.ads, lib.adb: New field No_Elab_Code_All. |
| * par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All. |
| * restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no |
| longer exists. |
| * sem_ch10.adb (Analyze_Context): Processing for |
| No_Elaboration_Code_All removed. |
| (Generate_Parent_References): Moved to Sem_Util. |
| * sem_prag.adb: Add processing for pragma No_Elaboration_Code_All. |
| * sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from |
| Sem_Ch10. |
| * snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All. |
| * targparm.adb: Minor comment updates Add comments on ignoring |
| pragma No_Elaboration_Code_All. |
| |
| 2014-08-01 Nicolas Roche <roche@adacore.com> |
| |
| * adaint.c (__gnat_set_close_on_exec): Ensure that |
| we can unset "close_on_exec" flag. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building |
| the parameter specs of the wrapper program for a primitive operation |
| of a synchronized type that implements an interface, copy the |
| null_exclusion indicator as well. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.ads: Minor reformatting. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type |
| to go down the chain of private derivations. |
| * freeze.adb (Freeze_Entity): Fix typo in comment. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Access_Type_Declaration): If designated type is |
| a limited view, create a master entity (as is already done for |
| class-wide types) in case the full view designates a type that |
| contains tasks. |
| * sem_ch8.adb (Find_Selected_Component): If prefix is a dereference |
| and the designated type is a limited view, use the non-limited |
| view if available. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete. |
| (DECL_FUNCTION_STUB): Likewise. |
| (SET_DECL_FUNCTION_STUB): Likewise. |
| (DECL_PARM_ALT_TYPE): Likewise. |
| (SET_DECL_PARM_ALT_TYPE): Likewise. |
| (TYPE_VAX_FLOATING_POINT_P): Delete. |
| (TYPE_DIGITS_VALUE): Likewise. |
| (SET_TYPE_DIGITS_VALUE): Likewise. |
| * gcc-interface/gigi.h (standard_datatypes): Remove ADT_malloc32_decl. |
| (malloc32_decl): Delete. |
| (build_vms_descriptor): Likewise. |
| (build_vms_descriptor32): Likewise. |
| (fill_vms_descriptor): Likewise. |
| (convert_vms_descriptor): Likewise. |
| (TARGET_ABI_OPEN_VMS): Likewise. |
| (TARGET_MALLOC64): Likewise. |
| * gcc-interface/decl.c (add_parallel_type_for_packed_array): New. |
| (gnat_to_gnu_entity): Call it to add the original type as a parallel |
| type to the implementation type of a packed array type. |
| <E_Procedure>: Remove now obsolete kludge. |
| <E_Exception>: Delete obsolete comment. |
| <object>: Small tweak. |
| <E_Subprogram_Type>: Remove support for stub subprograms, as well as |
| for the descriptor passing mechanism. |
| (gnat_to_gnu_param): Likewise. |
| * gcc-interface/misc.c (gnat_init_gcc_fp): Remove special case. |
| (gnat_print_type): Adjust. |
| * gcc-interface/trans.c (gigi): Remove obsolete initializations. |
| (vms_builtin_establish_handler_decl): Delete. |
| (gnat_vms_condition_handler_decl): Likewise. |
| (establish_gnat_vms_condition_handler): Likewise. |
| (build_function_stub): Likewise. |
| (Subprogram_Body_to_gnu): Do not call above functions. |
| (Call_to_gnu): Remove support for the descriptor passing mechanism. |
| * gcc-interface/utils.c (make_descriptor_field): Delete. |
| (build_vms_descriptor32): Likewise. |
| (build_vms_descriptor): Likewise. |
| (fill_vms_descriptor): Likewise. |
| (convert_vms_descriptor64): Likewise. |
| (convert_vms_descriptor32): Likewise. |
| (convert_vms_descriptor): Likewise. |
| * gcc-interface/utils.c (unchecked_convert): Likewise. |
| * gcc-interface/utils2.c (maybe_wrap_malloc): Remove obsolete stuff. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gigi): Use gnat_to_gnu_type for the exception |
| type and get_unpadded_type for the longest FP type. |
| (Attribute_to_gnu) <Machine>: Compare the precision of the types. |
| (convert_with_check): Adjust formatting and remove FIXME. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: |
| Do not convert the RM bounds to the base type. |
| (E_Floating_Point_Subtype): Likewise. |
| (E_Array_Subtype): Convert the bounds to the base type. |
| * gcc-interface/trans.c (get_type_length): New function. |
| (Attribute_to_gnu) <Range_Length>: Call it. |
| <Length>: Likewise. |
| (Loop_Statement_to_gnu): Convert the bounds to the base type. |
| (gnat_to_gnu) <N_In>: Likewise. |
| * gcc-interface/utils.c (make_type_from_size): Do not convert the RM |
| bounds to the base type. |
| (create_range_type): Likewise. |
| (convert): Convert the bounds to the base type for biased types. |
| * gcc-interface/utils2.c (compare_arrays): Convert the bounds to the |
| base type. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Remove |
| incorrect implicit type derivation. |
| * gcc-interface/utils.c (max_size) <tcc_reference>: Convert the bounds |
| to the base type. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Preanalyze and resolve the |
| prefix of attribute Loop_Entry. |
| * sem_prag.adb (Analyze_Pragma): Verify the placement of pragma |
| Loop_Variant with respect to an enclosing loop (if any). |
| (Contains_Loop_Entry): Update the parameter profile and all |
| calls to this routine. |
| * sem_res.adb (Resolve_Call): Code reformatting. Do not ask |
| for the corresponding body before determining the nature of the |
| ultimate alias's declarative node. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb, sem_ch4.adb: Minor reformatting. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Rewrite_In_Raise_CE): Don't try to reuse inner |
| constraint error node since it is a list member. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb: Minor reformatting. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.adb (Underlying_Type): Return the underlying full view |
| of a private type if present. |
| * freeze.adb (Freeze_Entity): |
| Build a single freeze node for partial, full and underlying full |
| views, if any. |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Private_Type>: Add a |
| missing guard before the access to the Underlying_Full_View. |
| * gcc-interface/trans.c (process_freeze_entity): Deal with underlying |
| full view if present. |
| * gcc-interface/utils.c (make_dummy_type): Avoid superfluous work. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Entry_Call): When an entry has |
| preconditions, the entry call is wrapped in a procedure call |
| that incorporates the precondition checks. To prevent a double |
| expansion, with possible duplication of extra formals, that |
| procedure call must only be pre-analyzed and resolved. Expansion |
| takes place upon return to the caller Resolve_Call. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_Call): Do not perform |
| GNATprove-specific inlining while within a generic. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Case_Expression): Handle properly a |
| case expression with incompatible alternatives, when the first |
| alternative is overloaded. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Check_Parameterless_Call): Use Relocate_Node |
| to create the name of the parameterless call, rather than |
| New_Copy, to preserve the tree structure when the name is a |
| complex expression, e.g. a selected component that denotes a |
| protected operation, whose prefix is itself a selected component. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use |
| Unit_Declaration_Node to retrieve body when inlining, to handle |
| properly subprogram child units. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb: Minor reformatting. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Minor documentation addition for -dn switch. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, exp_ch9.adb, sem_prag.adb, sem_util.adb, |
| sem_attr.adb, sem_eval.ads, sem_cat.adb, sem_ch13.adb: Improve |
| documentation of Is_Static_Expression vs Is_OK_Static_Expression. |
| In several places, use the Is_OK version as suggested by the spec. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb: Revert last change which was not correct. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Find_Constant): Ensure that the constant being |
| inspected is still an object declaration (i.e. not a renaming). |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): a) |
| An attribute_reference to Loop_Entry denotes an iterator |
| specification: its prefix is an object, as is the case for 'Old. |
| b) If the domain of iteration is an expression whose type has |
| the Iterable aspect defined, this is an iterator specification. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * gnatcmd.adb: Minor reformatting. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads (Info_Messages): New counter. |
| * err_vars.ads: Minor comment update. |
| * errout.adb (Delete_Warning_And_Continuations): Deal |
| with new Info_Messages counter. |
| (Error_Msg_Internal): ditto. |
| (Delete_Warning): ditto. |
| (Initialize): ditto. |
| (Write_Error_Summary): ditto. |
| (Output_Messages): ditto. |
| (To_Be_Removed): ditto. |
| * erroutc.adb (Delete_Msg): Deal with Info_Messages counter. |
| (Compilation_Errors): ditto. |
| * errutil.adb (Error_Msg): Deal with Info_Messages counter. |
| (Finalize): ditto. |
| (Initialize): ditto. |
| * sem_prag.adb (Analyze_Pragma): Minor comment addition. |
| * gnat_ugn.texi: Document that -gnatwe does not affect info |
| messages. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document debug switch -gnatd.Z. |
| * sem.adb (Semantics): Force expansion on in no or configurable |
| run time mode. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): An |
| unchecked conversion denotes an iterator specification. Such a |
| conversion will be inserted in the context of an inlined call |
| when needed, and its argument is always an object. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * make.adb, makeutl.ads: Minor reformatting. |
| * debug.adb, opt.ads: Clarify documentation of Front_End_Inlining and |
| Back_End_Inlining. |
| |
| 2014-08-01 Tristan Gingold <gingold@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): Set AAMP_On_Target using command name. |
| |
| 2014-08-01 Javier Miranda <miranda@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of |
| -gnatd.z. |
| * debug.adb: Updating documentation. |
| * exp_ch6.adb (Expand_Call): Remove assertion. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb, |
| sem_res.adb: Minor reformatting. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * make.adb (Initialize): Set Keep_Temporary_Files to True when |
| -dn is specified. |
| * makeusg.adb: Add line for new switch --keep-temp-files. |
| * makeutl.ads (Keep_Temp_Files_Option): New constant String. |
| * opt.ads (Keep_Temporary_Files): Document that it is also used |
| by gnatmake and gprbuild. |
| * switch-m.adb: Recognize new switch --keep-temp-files. |
| |
| 2014-08-01 Tristan Gingold <gingold@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Task_Type_Declaration): Move code from ... |
| * exp_ch9.adb (Make_Task_Create_Call): ... here. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * gnat1drv.adb: Do not try to get the target parameters when |
| invoked with -gnats. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Find_Last_Init): Nothing to do for an object |
| declaration subject to No_Initialization. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Array_Aggregate): Reject choice that |
| is a subtype with dynamic predicates, or a non-static subtype |
| with predicates. |
| * sem_ch3.adb (Analyze_Number_Declaration): Reject qualified |
| expression if subtype has a dynamic predicate. |
| (Constrain_Index): Reject subtype indication if subtype mark |
| has predicates. |
| (Inerit_Predicate_Flags): Inherit Has_Predicates as well. |
| (Make_Index): If index is a subtype indication, itype inhereits |
| predicate flags for subsequent testing. |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): New |
| procedure Check_Predicate_Use, to reject illegal uses of domains |
| of iteration that have dynamic predicates. |
| * sem_res.adb (Resolve_Slice): Reject slices given by a subtype |
| indication to which a predicate applies. |
| * sem_util.adb (Bad_Predicated_Subtype_Use): Add guard to |
| prevent cascaded errors when subtype is invalid. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch10.adb: Minor reformatting. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Same_Generic_Actual): Make function symmetric, |
| because either type may be a subtype of the other. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * makeusg.adb: Add documentation for debug switch -dn. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_dim.adb (Process_Minus, Process_Divide): Label dimension |
| expression with standard operator and type, for pretty-printing |
| use, when in ASIS_Mode. When generating code dimensional analysis |
| is not involved and dimension expressions are handled statically, |
| and other operators are resolved in the usual way. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Record_Type): Remove setting of |
| Parent_Subtype in ASIS mode, leads to several failures. |
| * sem_ch4.adb (Analyze_Selected_Component): In an instance, |
| if the prefix is a type extension, check whether component is |
| declared in the parent type, possibly in a parent unit. Needed |
| in ASIS mode when Parent_Subtype is not set. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb: Minor reformatting. |
| * s-regpat.adb: Minor reformatting. |
| * sem_ch3.adb (Analyze_Object_Declaration): Do not set |
| Treat_As_Volatile on constants. |
| |
| 2014-08-01 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch9.adb (Make_Task_Create_Call): Improve error message. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Compilation_Unit): Do not place a |
| warning on a with_clause created for the renaming of a parent |
| unit in an explicit with_clause. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Import): |
| Set Is_Imported flag at once, to simplify subsequent legality |
| checks. Reject the aspect on an object whose declaration has an |
| explicit initial value. |
| * sem_prag.adb (Process_Import_Or_Interface): Use original node |
| to check legality of an initial value for an imported entity. |
| Set Is_Imported flag in case of error to prevent cascaded errors. |
| Do not set the Is_Imported flag if the pragma comes from an |
| aspect, because it is already done when analyzing the aspect. |
| |
| 2014-08-01 Emmanuel Briot <briot@adacore.com> |
| |
| * g-regpat.adb (Parse): Add support for non-capturing parenthesis. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch7.adb, einfo.adb, einfo.ads, sem_ch13.adb: Minor change of |
| identifier name. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Contract): Enable the volatility |
| checks when the related variable comes from source. |
| * sem_res.adb (Resolve_Actuals): Enable the volatility checks |
| when the related actual parameter comes from source. Update comment. |
| * freeze.adb (Freeze_Record_Type): Do not freeze the designated |
| type of an array of pointers when the designated type is |
| class-wide and its root type is the record being currently frozen. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): Preserve Ekind |
| of renaming declaration created for domain of iteration. |
| * sem_aggr.adb (Resolve_Array_Aggregate): Better placement |
| for error messages on aggregates whose index subtypes have |
| predicates. The new placement avoids posting messages on previous |
| subtype declarations rather than on the aggregate itself. |
| * sem_disp.adb (Is_Inherited_Public_Operation): New predicate for |
| Add_Dispatching_Operation, to handle properly the overriding of |
| the predefined operations on controlled types, when the partial |
| view of a type is not visibly controlled. |
| |
| 2014-08-01 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi: Add tutorial on portable fixed-point types as an |
| appendix. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the |
| assertion check as the attribute is defined for all entities. |
| (Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion |
| check as the attribute is defined for all entities. |
| * einfo.ads Update the documentation of attribute |
| Is_Hidden_Non_Overridden_Subprogram. |
| * sem_ch7.adb (Install_Package_Entity): No need to check the |
| entity kind of the Id. |
| * sem_ch13.adb (Hide_Matching_Homograph): Update the comment on |
| usage. Ensure that the homographs are of the same entity kind |
| and not fully conformant. |
| (Hide_Non_Overridden_Subprograms): Update the comment on usage. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb: Minor code reorganization. |
| * sem_ch12.adb, s-tasdeb.ads: Minor reformatting. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, s-os_lib.ads: Minor reformatting. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tasdeb.ads, s-tasdeb.adb (Master_Hook, Master_Completed_Hook): New. |
| * s-tassta.adb (Task_Wrapper, Vulnerable_Complete_Master): Call new |
| hooks. |
| |
| 2014-08-01 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Cannot_Inline): Issue info message instead of |
| warning for subprograms not inlined in GNATprove mode. |
| * sem_res.adb (Resolve_Call): Take body into account for deciding |
| whether subprogram can be inlined in GNATprove mode or not. |
| |
| 2014-08-01 Claire Dross <dross@adacore.com> |
| |
| * exp_util.ads (Get_First_Parent_With_Ext_Axioms_For_Entity): Renaming |
| of Get_First_Parent_With_External_Axiomatization_For_Entity for |
| shorter. |
| * sem_ch12.adb (Analyze_Associations): Only call Build_Wrapper |
| for parameters of packages with external axiomatization. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb: Minor comment addition. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-crtl.ads, i-cstrea.ads, adaint.c, adaint.h, osint.adb, |
| s-fileio.adb (__gnat_fopen, __gnat_freopen): Remove vms_form parameter, |
| no longer used. |
| * s-os_lib.ads: Minor reformatting. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Restore more |
| completely previous code since only GCC back-ends are prepared |
| to handle e.g. 'Machine attribute. |
| * targparm.adb, targparm.ads: Remove remaining refs and |
| handling of OpenVMS_On_Target, VAX_Float_On_Target and |
| RTX_RTSS_Kernel_Module_On_Target. |
| * hostparm.ads (OpenVMS, Max_Debug_Name_Length): Removed, |
| no longer used. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * exp_dist.adb, exp_attr.adb: Minor reformatting. |
| * sem_ch3.adb, mlib-tgt-specific-hpux.adb, a-direct.ads, |
| a-synbar-posix.adb, exp_ch9.adb, sem_ch10.adb, sem_prag.adb, |
| sem_ch12.adb, sem.ads, sem_res.adb, s-exctra.adb, s-soflin.ads, |
| g-alveop.ads, sem_ch8.adb, vxaddr2line.adb, sem_cat.ads: Remove |
| improper use of shall. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, exp_atag.adb, layout.adb, nlists.adb, nlists.ads, |
| exp_attr.adb, exp_ch9.adb, par-ch12.adb, exp_aggr.adb, |
| exp_ch3.adb: Minor reformatting & code reorganization. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Remove VMS specific rules for pragma Ident. |
| * Makefile.rtl, adaint.c, gnat_rm.texi, s-asthan.adb, s-asthan.ads, |
| s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads, |
| s-po32gl.adb, s-po32gl.ads, s-vaflop.adb, s-vaflop.ads, s-vmexta.adb, |
| s-vmexta.ads, sem_vfpt.adb, sem_vfpt.ads, socket.c: Remove VMS specific |
| code. |
| * gcc-interface/decl.c, gcc-interface/Makefile.in, |
| gcc-interface/Make-lang.in: Ditto. Also remove refs to rTX. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.ads: Rename File_Size to Large_File_Size. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads, |
| a-numaux-darwin.adb, a-numaux-darwin.ads, a-numaux.ads, |
| a-numaux-libc-x86.ads: Fix bad package header comments. |
| * elists.ads, elists.adb (Append_New_Elmt): New procedure. |
| * gnat_rm.texi, a-calend.adb, gnatcmd.adb, einfo.adb, einfo.ads, |
| checks.adb, sem_prag.adb, sem_prag.ads, rtsfind.ads, freeze.adb, |
| sem_util.adb, sem_attr.adb, exp_dbug.adb, exp_dbug.ads, gnat1drv.adb, |
| targparm.adb, targparm.ads, exp_ch6.adb, switch-b.adb, s-shasto.ads, |
| stand.ads, s-auxdec.ads, opt.adb, opt.ads, mlib-tgt.ads, s-fatgen.adb, |
| s-fatgen.ads, system.ads, snames.ads-tmpl, s-stalib.ads, |
| s-os_lib.adb: Remove VMS-specific code. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to |
| previous state in CodePeer_Mode. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * hostparm.ads: Put back definition of OpenVMS as False to aid |
| the transition process. |
| * sem_ch7.adb: Minor reformatting. |
| * prj-env.adb: Minor code fix. |
| * gnat_rm.texi: Complete previous change. |
| * sem_ch3.adb: Minor reformatting. |
| * sem_ch6.adb: Minor reformatting. |
| * sem_elab.adb: Minor reformatting. |
| * exp_strm.adb: Complete previous change. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * sem_warn.adb (Warn_On_Unreferenced_Entity): Do not issue a |
| warning when a constant is unreferenced and its type has pragma |
| Unreferenced_Objects. |
| |
| 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb: Flag2 is now known as |
| Is_Hidden_Non_Overridden_Subprogram. |
| (Is_Hidden_Non_Overridden_Subprogram): New routine. |
| (Set_Is_Hidden_Non_Overridden_Subprogram): New routine. |
| (Write_Entity_Fields): Output Flag2. |
| * einfo.ads: New attribute Is_Hidden_Non_Overridden_Subprogram |
| along with occurrences in entities. |
| (Is_Hidden_Non_Overridden_Subprogram): New routine and pragma Inline. |
| (Set_Is_Hidden_Non_Overridden_Subprogram): New routine |
| and pragma Inline. |
| * sem_ch7.adb (Install_Package_Entity): Do not enter implicitly |
| declared non-overriden homographs into visibility. |
| * sem_ch13.adb (Freeze_Entity_Checks): Hide all |
| implicitly declared non-overriden homographs. |
| (Hide_Non_Overridden_Subprograms): New routine. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove |
| VMS-specific code. |
| * prj-conf.adb: Minor reformatting. |
| * xr_tabls.adb (Read_File): Restore code which was enabled on |
| non VMS platforms before. |
| * prj-env.adb (Initialize_Default_Project_Path): Ditto. |
| * sem_ch5.adb: Minor reformatting. |
| * lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb, |
| sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb: |
| Remove VMS-specific code. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * make.adb (Await_Compile): Remove loop that was only needed |
| for VMS. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb, |
| a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb, |
| a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb, |
| einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb, |
| exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb, |
| fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads, |
| g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads, |
| g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb, |
| krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb, |
| mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb, |
| osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb, |
| prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb, |
| rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads, |
| s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads, |
| s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb, |
| s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads, |
| s-taspri-posix-noaltstack.ads, s-taspri-posix.ads, |
| s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads, |
| sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, |
| sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, |
| sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb, |
| treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS |
| specific code and comments. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): New procedure |
| Check_Reverse_Iteration, to verify the legality of the Reverse |
| indicator on various container types, and to detect illegal |
| reverse iterations on containers that only supoort forward |
| iteration. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb: Remove the VMS specific stuff. Integrate in |
| procedure GNATCmd the relevant declarations from packages VMS_Cmds |
| and VMS_Conv. |
| * gnatcmd.ads: Update comments to remove any trace of VMS |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: sem_ch12.adb (Build_Wrapper): Capture entity for |
| defaulted actual that is an operator, before building wrapper |
| for it in GNATprove mode. Restrict construction of wrapper to |
| actuals that are operators. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * vms_conv.adb, vms_conv.ads, vms_data.ads, vms_cmds.ads: Remove VMS |
| specific packages no longer needed. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.ads (System.CRTL): Move with clause to body. |
| (File_Size): New type. |
| (File_Length64): Use it. |
| (File_Length): Restore previous spec returning a Long_Integer. |
| * s-os_lib.adb (System.CRTL): Move with clause here. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * mlib-prj.adb: Update comments to remove any mention of VMS. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * ug_words, xgnatugn.adb, gcc-interface/Make-lang.in: Remove |
| xgnatugn.adb and ug_words. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Check whether |
| expansion can be avoid for Machine, Model and Rounding. |
| (Is_Inline_Floating_Point_Attribute): Return true for Machine |
| & Model, as well as Rounding if wrapped in a conversion to an |
| integer type. |
| * sem_res.adb (Simplify_Type_Conversion): Deal with Rounding as well. |
| * gcc-interface/gigi.h (fp_arith_may_widen): Declare. |
| * gcc-interface/utils.c (fp_arith_may_widen): New global variable. |
| * gcc-interface/misc.c (enumerate_modes): Compute it. |
| * gcc-interface/trans.c (FP_ARITH_MAY_WIDEN): Delete. |
| (lvalue_required_for_attribute_p): Deal with Descriptor_Size, |
| Machine and Model. |
| (Attribute_to_gnu) <Attr_Model>: New case. |
| <Attr_Machine>): Likewise. |
| (convert_with_check): Test |
| fp_arith_may_widen variable. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * adaint.h (GNAT_FOPEN): New definition for Windows. |
| (GNAT_OPEN): Likewise. |
| (GNAT_STAT): Likewise. |
| (GNAT_FSTAT): Likewise. |
| (GNAT_LSTAT): Likewise. |
| (GNAT_STRUCT_STAT): Likewise. |
| * adaint.c (__gnat_stat): Fix computation of file size for |
| Windows. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * Makefile.rtl: Minor comment update. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * Make-generated.in: Remove dependencies for vms-help. |
| |
| 2014-08-01 Gary Dismukes <dismukes@adacore.com> |
| |
| * makeutl.ads, opt.ads: Minor grammar fixes. |
| * makeutl.adb: Minor code reorganization. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * gcc-interface/Makefile.in, gcc-interface/Make-lang.in, |
| gnatsym.adb: Remove gnatsym (VMS only tool). |
| |
| 2014-08-01 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi, projects.texi, xgnatugn.adb: Removed all VMS |
| conditionalization from gnat_ugn.texi and projects.texi, and updated |
| (considerably simplified) xgnatugn.adb, to be removed soon. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Remove doc for gnatmake/gprbuild switch -ds. |
| * make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message |
| instead of Debug.Debug_Flag_S. |
| * makeutl.adb (Finish_Program, Fail_Program): Use Opt flag |
| No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit |
| error messages. |
| * makeutl.ads (No_Exit_Message_Option): New constant string |
| for switch --no-exit-message. |
| * opt.ads (No_Exit_Message): New Boolean flag, defaulted to False. |
| * switch-m.adb (Scan_Make_Switches): Recognize new switch |
| --no-exit-message. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used. |
| * gcc-interface/Make-lang.in: Remove exp_vfpt.o |
| |
| 2014-08-01 Javier Miranda <miranda@adacore.com> |
| |
| * inline.ads (Inlined_Calls, Backend_Calls, |
| Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations |
| moved to inline.adb (Cannot_Inline): Update documentation. |
| (Check_And_Build_Body_To_Inline): Renamed. |
| (List_Inlining_Info): Subprogram moved here from package exp_ch6. |
| * inline.adb (Check_Inlining_Restrictions): New local variable. |
| (Inlined_Calls, Backend_Calls, Backend_Inlined_Subps, |
| Backend_Not_Inlined_Subps): Declarations moved here |
| from inline.ads (Number_Of_Statements): Removed. |
| (Remove_Pragmas): Avoid duplicated version of this subprogram. |
| (Build_Body_To_Inline): Code cleanup. |
| (Build_Body_To_Inline.Has_Excluded_Statament): Removed. |
| (Check_And_Build_Body_To_Inline): Renamed. Code cleanup. |
| (Check_Body_To_Inline): Removed. |
| (Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body. |
| (Has_Excluded_Declaration): No action if not |
| Check_Inlining_Restrictions. |
| (Has_Excluded_Statement): No action if not Check_Inlining_Restrictions. |
| (Initialize): Initialize the lists of inlined calls and subprograms. |
| (List_Inlining_Info): Subprogram moved here from package exp_ch6. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call |
| to Check_And_Build_Body_To_Inline since it has been renamed as |
| Check_And_Split_Unconstrained_Function |
| * exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to |
| package inline. |
| * gnat1drv.adb Update call to Inline.List_Inlining_Info. |
| |
| 2014-08-01 Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Add documentation for new debug switch -ds. |
| * make.adb (List_Bad_Compilations): Do not issue any message |
| when switch -ds is specified. |
| * makeutl.adb (Fail_Program): Do not issue any message when |
| -ds is specified. |
| (Finish_Program): Ditto. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads, |
| s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads, |
| s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb, |
| indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb, |
| indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb, |
| s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads, |
| s-traces.adb, widechar.ads, stand.adb, s-expint.adb, |
| s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads, |
| s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb, |
| s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads, |
| s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb, |
| s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb, |
| g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb, |
| s-tratas.ads: Minor fix to copyright notices. |
| |
| 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sinfo.ads: Remove long obsolete comment. |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb: Add guard to setting of No_Predicate_On_Actual. |
| * sem_ch3.adb: Minor reformatting. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * cstreams.c: Only enable large file support on know supported |
| platforms. Add missing defines/includes. |
| |
| 2014-08-01 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads, einfo.adb New flags No_Predicate_On_Actual and |
| No_Dynamic_Predicate_On_Actual, to enforce the generic contract |
| on generic units that contain constructs that forbid subtypes |
| with predicates. |
| * sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype): |
| Inherit flags indicating the presence of predicates in subtype |
| declarations with and without constraints. |
| (Inherit_Predicate_Flags): Utility for the above. |
| * sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context, |
| indicate that the actual cannot have predicates, and preserve |
| warning. In an instance, report error if actual has predicates |
| and the construct appears in a package declaration. |
| * sem_ch12.adb (Diagnose_Predicated_Actual): Report error |
| for an actual with predicates, if the corresponding formal |
| carries No_Predicate_On_Actual or (in the case of a loop) |
| No_Dynamic_Predicate_On_Actual. |
| * sem_ch13.adb (Build_Predicate_Functions); Do not build a |
| Static_Predicate function if the type is non-static (in the |
| presence of previous errors), |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag |
| No_Dynamic_Predicate_On_Actual in a generic context, to enforce |
| generic contract on actuals that cannot have predicates. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * a-direct.adb (C_Size): Returns an int64. |
| * osint.adb (System.CRTL): New with clause. |
| (File_Length.Internal): Returns an int64. |
| * s-os_lib.ads (File_Length): Returns an int64. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb, |
| mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb, |
| osint.adb, krunch.adb: Minor reformatting. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb, |
| sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb, |
| sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl: |
| Remove VMS-specific code. |
| * gcc-interface/decl.c, gcc-interface/trans.c: Ditto. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * binde.adb, bindgen.adb, butil.adb, clean.adb, gnatbind.adb, |
| gnatchop.adb, gnatcmd.adb, gnatls.adb, gnatname.adb, krunch.adb, |
| make.adb, makeutl.adb, memtrack.adb, mlib-prj.adb, mlib.adb, |
| mlib.ads, tempdir.adb: Remove VMS handling. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * adaint.h, adaint.c (__gnat_file_length): Returns an __int64. |
| (__gnat_named_file_length): Likewise. |
| (__gnat_file_length_attr): Likewise. |
| * a-direct.adb (C_Size): Use size_t as returned type. |
| * osint.adb (File_Length): Adjust spec for Internal routine |
| (returns size_t). |
| * s-os_lib.adb (File_Length): Now returns a CRTL.size_t. |
| (System.CRTL): With claused moved to spec. |
| * s-os_lib.ads (System.CRTL): With clause moved to here. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * adaint.h, adaint.c (__gnat_open): Added. |
| * s-crtl.ads (open): Import __gnat_open for large file support. |
| |
| 2014-08-01 Robert Dewar <dewar@adacore.com> |
| |
| * sem_case.adb (Dup_Choice): Improve message for integer constants. |
| |
| 2014-08-01 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnatlink.adb: Remove special handling of VMS, RTX and JVM. |
| |
| 2014-08-01 Pascal Obry <obry@adacore.com> |
| |
| * adaint.h (GNAT_OPEN): Defines as open64 where supported. |
| * adaint.c (GNAT_OPEN): Uses new macro where needed. |
| |
| 2014-07-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (lookup_and_insert_pad_type): New function |
| extracted from... |
| (maybe_pad_type): ...here. Call it to canonicalize the pad type. |
| * gcc-interface/gigi.h: Update comment. |
| |
| 2014-07-31 Javier Miranda <miranda@adacore.com> |
| |
| * debug.adb Remove documentation of -gnatd.k (no longer needed). |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup. |
| * inline.ads (Backend_Inlined_Subps): New |
| Elist. (Backend_Not_Inlined_Subps): New Elist. |
| (Has_Excluded_Declaration): Declaration previously located in |
| * inline.adb (Has_Excluded_Statement): Declaration previously |
| located in inline.adb |
| * inline.adb (Has_Single_Return): Moved out of |
| Build_Body_To_Inline to avoid having duplicated code. |
| (Number_Of_Statements): New subprogram. |
| (Register_Backend_Inlined_Subprogram): New subprogram. |
| (Register_Backend_Not_Inlined_Subprogram): New subprogram. |
| (Add_Inlined_Subprogram): Register backend inlined subprograms and |
| also register subprograms that cannot be inlined by the backend. |
| (Has_Excluded_Declaration): Moved out of Build_Body_To_Inline |
| to avoid having duplicated code. Replace occurrences of |
| Debug_Flag_Dot_K by Back_End_Inlining. |
| * sem_res.adb (Resolve_Call): Code cleanup. |
| * exp_ch6.adb (Expand_Call): Complete previous patch. Replace |
| occurrence of Debug_Flag_Dot_K by Back_End_Inlining. |
| (List_Inlining_Info): Add listing of subprograms passed to the |
| backend and listing of subprograms that cannot be inlined by |
| the backend. |
| * sem_ch12.adb, sem_ch3.adb Replace occurrences of |
| Debug_Flag_Dot_K by Back_End_Inlining. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * nlists.ads: Minor code fix (remove unwise Inline for |
| List_Length). |
| |
| 2014-07-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * einfo.adb: Remove VMS specific code. |
| * exp_attr.adb: Remove VAX specific code. |
| * set_targ.adb: Remove handling of VAX_Float. |
| * sem_vfpt.adb: Remove references to Vax_Native. |
| * sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb: Minor reformatting. |
| |
| 2014-07-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * gcc-interface/trans.c, gcc-interface/misc.c: Remove references |
| to VMS. Misc clean ups. |
| * gcc-interface/Makefile.in (gnatlib-shared-vms): Remove. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * cstand.adb, einfo.adb, einfo.ads, errout.adb, exp_attr.adb, |
| exp_prag.adb, frontend.adb, interfac.ads, |
| par-prag.adb, s-auxdec.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, |
| s-fvaffl.ads, s-fvagfl.ads, s-vaflop.ads, sem_attr.adb, sem_attr.ads, |
| sem_ch13.adb, sem_ch3.adb, sem_ch8.adb, sem_prag.adb, snames.adb-tmpl, |
| snames.ads-tmpl: Remove obsolete VMS-specific code. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-intnam-linux.ads: Minor: update obsolete comments. |
| * s-taasde.adb: Minor: fix comment header. |
| |
| 2014-07-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-auxdec-vms-ia64.adb, s-parame-vms-alpha.ads, s-asthan-vms-alpha.adb, |
| s-tpopde-vms.adb, s-mastop-vms.adb, s-tpopde-vms.ads, s-taprop-vms.adb, |
| mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, s-inmaop-vms.adb, |
| g-enblsp-vms-alpha.adb, s-ransee-vms.adb, s-osprim-vms.adb, |
| s-osprim-vms.ads, g-socthi-vms.adb, g-socthi-vms.ads, system-vms_64.ads, |
| s-osinte-vms.adb, s-osinte-vms.ads, g-eacodu-vms.adb, |
| s-vaflop-vms-alpha.adb, s-parame-vms-ia64.ads, a-dirval-vms.adb, |
| a-caldel-vms.adb, mlib-tgt-specific-vms-alpha.adb, s-tasdeb-vms.adb, |
| symbols-vms.adb, a-intnam-vms.ads, g-expect-vms.adb, |
| symbols-processing-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb, |
| s-traent-vms.adb, s-traent-vms.ads, i-cstrea-vms.adb, a-numaux-vms.ads, |
| symbols-processing-vms-ia64.adb, s-interr-vms.adb, s-memory-vms_64.adb, |
| s-memory-vms_64.ads, g-enblsp-vms-ia64.adb, s-taspri-vms.ads, |
| s-auxdec-vms_64.ads, s-intman-vms.adb, s-intman-vms.ads, |
| s-tpopsp-vms.adb, s-asthan-vms-ia64.adb, a-calend-vms.adb, |
| a-calend-vms.ads, system-vms-ia64.ads, s-auxdec-vms-alpha.adb: Removed. |
| * namet.h (Is_Non_Ada_Error): Remove. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb, lib-writ.adb, sem_ch12.adb, s-direio.adb: Minor |
| reformatting. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_attr.adb (Expand_Loop_Entry_Attribute): Update the comment |
| which demonstrates the expansion of while loops subject to |
| attribute 'Loop_Entry. The condition of a while loop along with |
| related condition actions is now wrapped in a function. Instead |
| of repeating the condition, the expansion now calls the function. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_case.adb (Check_Against_Predicate): Correct off-by-one |
| error when reporting of missing values in a case statement for |
| a type with a static predicate. |
| (Check_Choices): Reject a choice given by a subtype to which a |
| Dynamic_Predicate applies. |
| * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit |
| Has_Dynamic_Predicate_Aspect flag from parent. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): A predicate |
| cannot apply to a subtype of an incomplete type. |
| (Is_Static_Choice): Treat an Others_Clause as static. The |
| staticness of the expression and of the range are checked |
| elsewhere. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * adaint.h (__gnat_ftell64): Added. |
| (__gnat_fseek64): Added. |
| (__int64): Added. |
| * cstreams.c (__int64): Removed. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * a-stream.ads (Stream_Element_Offset): Now a signed 64bit type. |
| * i-cstrea.ads, s-crtl.ads (fseek64): Offset is always a 64bit value. |
| (ftell64): Always returns a 64bit value. |
| * cstreams.c (int64): New definition. |
| (_FILE_OFFSET_BITS): Set to 64 to enable 64bit offset support. |
| (__gnat_ftell64): Always returns a 64bit value. The implemenation now |
| uses ftello() on UNIX. |
| (__gnat_fseek64): Offset is always a 64bit value. The |
| implementation now uses fseeko() on UNIX. |
| * a-ststio.adb, s-direio.adb (Set_Position): Simplify code, |
| always use fseek64 to set the offset. |
| (Size): Simplify code, always use fseek64/ftell64. |
| * s-direio.ads (Count): Now an int64. |
| * g-socket.ads (Vector_Element): Adjust definition for Length |
| to be a size_t. This matches the C definition and avoid using |
| a 64bit integer on 32bit platforms now that Count is always 64bit. |
| * g-socthi-mingw.adb (Ada.Streams): Removed as not used anymore. |
| (C_Recvmsg): Change some conversion to account for change in |
| Vector_Element. |
| (C_Sendmsg): Likewise. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * cstand.adb (Create_Standard): Remove handling of -gnatdm flag. |
| * debug.adb: Remove documentation of -gnatdm flag. |
| * gnat1drv.adb (Adjust_Global_Switches): Remove handling of |
| -gnatdm flag. |
| |
| 2014-07-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * lib-writ.adb (Write_Unit_Information): Fix case where U = |
| No_Unit. |
| |
| 2014-07-31 Claire Dross <dross@adacore.com> |
| |
| * exp_util.adb, exp_util.ads |
| (Get_First_Parent_With_External_Axiomatization_For_Entity): |
| New routine to find the first parent of an entity with |
| a pragma Annotate (GNATprove, External_Axiomatization). |
| (Has_Annotate_Pragma_For_External_Axiomatization): New function |
| to check if a package has a pragma Annotate (GNATprove, |
| External_Axiomatization). |
| * einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New |
| flag on the entity for the declaration created for a formal |
| subprogram in an instance. This is a renaming declaration, |
| or in GNATprove_Mode the declaration of an expression function |
| that captures the axiomatization of the actual. |
| * sem_ch6.adb (Analyze_Expression_Function): For a |
| Generic_Actual_Subprogram, place body immediately after the |
| declaration because it may be used in a subsequent declaration |
| in the instance. |
| * sem_ch12.adb (Build_Wrapper): Add code to handle instances where |
| the actual is a function, not an operator. Handle functions with |
| one and two parameters and binary and unary operators. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * cstreams.c (__gnat_is_regular_file_fd): Removed. |
| * adaint.c (__gnat_is_regular_file_fd): Added. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_strm.adb: Minor reformatting. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to |
| Analyze_Associations, to create a wrapper around operators that |
| are actuals to formal subprograms. This is done in GNATProve |
| mode in order to propagate the contracts of the operators to |
| the body of the instance. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Old): The reference is |
| legal if within an aspect specification for a generic subprogram. |
| |
| 2014-07-31 Javier Miranda <miranda@adacore.com> |
| |
| * gnat1drv.adb (Back_End_Inlining): Set to false if |
| Suppress_All_Inlining is set. |
| * debug.adb: Adding documentation for -gnatd.z. |
| * inline.adb (Add_Inlined_Body): Extend the -gnatn2 |
| processing to -gnatn1 for calls to Inline_Always routines. |
| (Add_Inlined_Subprogram): Remove previous patch. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Check_One_Function): Apply properly the static |
| semantic rules for indexing aspects and the functions they denote. |
| |
| 2014-07-31 Javier Miranda <miranda@adacore.com> |
| |
| * debug.adb: Complete documentation of -gnatd.z. |
| |
| 2014-07-31 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Minor doc fixes. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing |
| index value. |
| |
| 2014-07-31 Tristan Gingold <gingold@adacore.com> |
| |
| * s-unstyp.ads (Packed_Byte): Make this type universal aliasing. |
| (Packed_Bytes1): Make component aliased. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * s-unstyp.ads, s-fileio.adb: Minor reformatting. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor |
| reformatting. |
| |
| 2014-07-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP |
| on array references here, now done more selectively in trans.c. |
| |
| 2014-07-31 Doug Rupp <rupp@adacore.com> |
| |
| * gcc-interface/misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Is_Effectively_Volatile): New routine. |
| |
| 2014-07-31 Fedor Rybin <frybin@adacore.com> |
| |
| * gnat_ugn.texi: Document --test-duration option for gnattest. |
| |
| 2014-07-31 Javier Miranda <miranda@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * opt.ads (Back_End_Inlining): New variable which controls |
| activation of inlining by back-end expansion. |
| * gnat1drv.adb (Adjust_Global_Switches): Initialize Back_End_Inlining |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build |
| the body to be inlined by the frontend if Back_End_Inlining |
| is enabled. |
| * exp_ch6.adb (Register_Backend_Call): Moved to inline.adb. |
| (Expand_Call): If backend inlining is enabled let the backend to |
| handle inlined subprograms. |
| * inline.ads (Register_Backend_Call): Moved here from exp_ch6 |
| * inline.adb (Register_Backend_Call): Moved here from exp_ch6. |
| (Add_Inlined_Subprogram): Add subprograms when Back_End_Inlining is set. |
| (Must_Inline): Do not return Inline_Call if Back_End_Inlining is |
| enabled. |
| * debug.adb Document -gnatd.z |
| * fe.h Import Back_End_Inlining variable. |
| * gcc-interface/utils.c (create_subprog_decl): If Back_End_Inlining is |
| enabled then declare attribute "always inline" |
| * gcc-interface/decl.c, gcc-interface/trans.c, |
| gcc-interface/gigi.h: Add handling of Inline_Always pragma. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * a-ngelfu.ads: Minor comment fix. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Replace all calls to |
| Is_SPARK_Volatile with Is_Effectively_Volatile and update |
| related comments. |
| * sem_ch3.adb (Analyze_Object_Contract, Process_Discriminants): |
| Replace all calls to Is_SPARK_Volatile with |
| Is_Effectively_Volatile and update related comments. |
| * sem_ch5.adb (Analyze_Iterator_Specification, |
| Analyze_Loop_Parameter_Specification): Replace all calls to |
| Is_SPARK_Volatile with Is_Effectively_Volatile and update |
| related comments. |
| * sem_ch6.adb (Process_Formals): Replace all calls to |
| Is_SPARK_Volatile with Is_Effectively_Volatile and update |
| related comments. |
| * sem_ch12.adb (Instantiate_Object): Replace the call to |
| Is_SPARK_Volatile_Object with Is_Effectively_Volatile_Object |
| and update related comment. |
| * sem_prag.adb (Analyze_External_Property_In_Decl_Part, |
| Analyze_Global_Item): Replace all calls to Is_SPARK_Volatile |
| with Is_Effectively_Volatile and update related comments. |
| * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Replace |
| all calls to Is_SPARK_Volatile with Is_Effectively_Volatile and |
| update related comments. |
| * sem_util.adb (Has_Enabled_Property, |
| Variable_Has_Enabled_Property): Replace all calls |
| to Is_SPARK_Volatile with Is_Effectively_Volatile and |
| update related comments. |
| (Is_Effectively_Volatile): New routine. |
| (Is_Effectively_Volatile_Object): New routine. |
| (Is_SPARK_Volatile): Removed. |
| (Is_SPARK_Volatile_Object): Removed. |
| * sem_util.ads (Is_Effectively_Volatile): New routine. |
| (Is_Effectively_Volatile_Object): New routine. |
| (Is_SPARK_Volatile): Removed. |
| (Is_SPARK_Volatile_Object): Removed. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * s-fileio.adb (Open): Make sure a shared file gets inserted into |
| the global list atomically. This ensures that the file descriptor |
| won't be freed because another tasks is closing the file. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on |
| generation of _FIRST and _LAST variables even in GNATprove_Mode. |
| * gnat_ugn.texi: Minor editing. |
| * sem_prag.adb (Ensure_Aggregate_Form): Make sure generated |
| aggregate is marked Comes_From_Source if argument is CFS. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * s-fileio.adb: Remove obsolete comment. |
| |
| 2014-07-31 Vincent Celier <celier@adacore.com> |
| |
| * a-strbou.ads ("=" (Bounded_String, Bounded_String): Add |
| overriding keyword before function to avoid error when compiler |
| is called with -gnatyO (check overriding indicators). |
| |
| 2014-07-31 Tucker Taft <taft@adacore.com> |
| |
| * gnat_ugn.texi: Add a paragraph pointing the reader |
| to the "plugins" example. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Expression): Document the |
| purpose of the parent chain traversal. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for |
| unconstrained fpt ops. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * s-fileio.adb (Open): Make sure a shared file gets inserted into |
| the global list atomically. This ensures that the file descriptor |
| won't be freed because another tasks is closing the file. |
| |
| 2014-07-31 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Minor spelling error fix. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document No_Elaboration_Code_All restriction. |
| * lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit |
| information. |
| * lib.ads, lib.adb (No_Elab_Code): New field in unit information. |
| * restrict.adb (Process_Restriction_Synonyms): Add handling |
| of No_Elaboration_Code_All. |
| * restrict.ads (Process_Restriction_Synonyms): Now handles |
| No_Elaboration_Code_All. |
| * sem_ch10.adb (Analyze_Context): Enforce transitive with for |
| No_Elaboration_Code_All. |
| * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): |
| Handle setting of No_Elab_Code in unit information. Handle |
| No_Elaboration_Code_All. |
| * snames.ads-tmpl (Name_No_Elaboration_Code): New name for |
| pragma processing. |
| (Name_No_Elaboration_Code_All): New name for pragma processing. |
| |
| 2014-07-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array |
| types with a null range and use the Esize of the component |
| instead of its RM_Size to identify appropriate values. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb Add with and use clause for Aspects. |
| (Freeze_Expression): Emit an error when a volatile constant lacks |
| Boolean aspect Import. |
| (Has_Boolean_Aspect_Import): New routine. |
| |
| 2014-07-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_util.adb: Minor reformatting. |
| |
| 2014-07-31 Vincent Celier <celier@adacore.com> |
| |
| * errutil.adb (Error_Msg): Make sure that all components of |
| the error message object are initialized. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Try_Container_Indexing): If the container type is |
| class-wide, use specific type to locate iteration primitives. |
| * sem_ch13.adb (Check_Indexing_Functions): Add legality checks for |
| rules in RM 4.1.6 (Illegal_Indexing): New diagnostic procedure. |
| Minor error message reformating. |
| * exp_ch5.adb (Expand_Iterator_Loop): Handle properly Iterator |
| aspect for a derived type. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document debug flag d.X. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb. |
| * sem_util.adb (Find_Specific_Type): If type is untagged private, |
| retrieve full view so that primitive operations can be located. |
| * exp_disp.adb Move Find_Specific_Type to sem_util. |
| * exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use |
| Find_Specific_Type to locate primitive equality. |
| * exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent |
| type does not require initialization. |
| * exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance |
| body all visibility is established, and the enclosing package |
| declarations must not be installed. |
| |
| 2014-07-31 Yannick Moy <moy@adacore.com> |
| |
| * sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs): |
| Make subprogram public. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Protected_Type_Declaration): New |
| predicate Discriminated_Size, to distinguish between private |
| components that depend on discriminants from those whose size |
| depends on some other non-static expression. |
| |
| 2014-07-31 Nicolas Setton <setton@adacore.com> |
| |
| * g-exptty.adb (Close): Fix binding to Waitpid: use the |
| tty version. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Make_Index): Reject properly the use of 'Length |
| in a discrete range, when 'range was probably intended. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb, sem_warn.ads (Has_Junk_Name): Moved from body to spec. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * frontend.adb: Minor reformatting. |
| * sem.adb: Minor reformatting. |
| * sem_ch6.adb (Analyze_Null_Procedure): Set proper sloc for |
| identifiers on rewrite. |
| * par.adb: Minor comment updates. |
| * a-ngelfu.adb (Cos): Minor simplification. |
| * par-ch13.adb (Get_Aspect_Specifications): Improve messages |
| and recovery for bad aspect. |
| * exp_ch3.adb: Code clean up. |
| * sem_util.ads: Minor comment correction. |
| * sem_ch13.adb (Check_Array_Type): Properly handle large types. |
| * sem_ch3.adb: Code clean up. |
| * binderr.ads: Minor comment correction. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_disp.adb (Expand_Interface_Conversion): A call whose |
| prefix is a static conversion to an interface type that is not |
| class-wide is not dispatching. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb, |
| s-traceb-mastop.adb: Minor reformatting. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform |
| expansion, to handle properly visibility of selected components |
| in instance bodies. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends. |
| * par-ch2.adb (P_Pragma): Set Inside_Depends. |
| * par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to |
| Check_Unary_Plus_Or_Minus. |
| * scans.ads (Inside_Depends): New flag. |
| * scng.adb (Scan): Pass Inside_Depends to Check_Arrow. |
| * style.ads: Add Inside_Depends parameter to Check_Arrow Add |
| Inside_Depends parameter to Check_Unary_Plus_Or_Minus. |
| * styleg.adb (Check_Arrow): Handle Inside_Depends case. |
| (Check_Unary_Plus_Or_Minus): Handle Inside_Depends case. |
| * styleg.ads: Add Inside_Depends parameter to Check_Arrow Add. |
| Inside_Depends parameter to Check_Unary_Plus_Or_Minus. |
| |
| 2014-07-31 Javier Miranda <miranda@adacore.com> |
| |
| * s-vaflop.adb Move the body of function T_To_G before |
| T_To_D. Required for frontend inlining. |
| * inline.adb (Has_Excluded_Contract): New subprogram used to |
| check if a subprogram inlined by the frontend has contracts |
| which cannot be inlined. |
| |
| 2014-07-31 Bob Duff <duff@adacore.com> |
| |
| * s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb: |
| (Call_Chain): Add 1 to number of frames to skip, to account for |
| the fact that there's one more frame on the stack. |
| * gcc-interface/Makefile.in (s-traceb.o): Adjust rules. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Enable_Overflow_Check): More precise setting of |
| Do_Overflow_Check flag for division. |
| |
| 2014-07-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject packed |
| array types with implementation type. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch10.adb (Process_State): Remove local variable Name. Add |
| local variable Decl. Partially declare an abstract state by |
| generating an entity and storing it in the state declaration. |
| * sem_prag.adb (Create_Abstract_State): Fully declare a |
| semi-declared abstract state. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * prj-nmsc.adb: Minor reformatting. |
| |
| 2014-07-31 Bob Duff <duff@adacore.com> |
| |
| * s-tasdeb.adb (System.Tasking.Debug): Remove |
| all usage of the secondary stack from this package. |
| |
| 2014-07-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Expression): Update the loop in charge |
| of finding a proper insertion place for freeze nodes to handle |
| N_Expression_With_Actions nodes. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor |
| reformatting. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * prj-nmsc.adb: Minor reformatting. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Has_Preelaborable_Initialization): Check that |
| type is tagged before checking whether a user-defined Initialize |
| procedure is present. |
| |
| 2014-07-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * a-ngelfu.ads (Sqrt): Augment postcondition. |
| |
| 2014-07-31 Pascal Obry <obry@adacore.com> |
| |
| * prj-nmsc.adb (Check_Library_Attributes): An aggegate library |
| directory and ALI directory must be different than all object |
| and library directories of aggregated projects. |
| |
| 2014-07-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec |
| to package body, as it is not called from outside. Remove argument |
| Project_Tree, no longer used. When runtime cannot be found, |
| call Raise_Invalid_Config instead of failing the program. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress |
| (Overflow_Check). |
| * gnatlink.adb (Process_Args): Remove generation of -gnato0, |
| no longer needed. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Document new switch -gnato0. |
| * sem_ch3.ads: Minor reformatting. |
| * gnatlink.adb (Process_Args): Compile bind file with -gnato0 |
| (we do not want overflow checks when incrementing elaboration |
| counters). |
| * einfo.ads: Minor reformatting. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, freeze.adb, exp_ch3.adb: Minor comment correction. |
| * s-arit64.adb: Minor reformatting. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Default for overflow |
| checking is enabled except in GNAT_Mode. |
| * switch-c.adb (Scan_Front_End_Switches): Implement -gnato0 |
| (suppress overflow checks). |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_Freeze_Record_Type): Do not build an |
| invariant procedure for an internally generated subtype that is |
| created for an object of a class-wide type. |
| |
| 2014-07-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-nmsc.adb, errutil.adb: Make code similar to Errout. |
| |
| 2014-07-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat_rm.texi, sem_aux.ads, einfo.ads, sem_util.ads, sem_ch6.adb, |
| exp_disp.adb: Minor reformatting. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, exp_ch9.adb, |
| sem_ch7.adb, checks.adb, s-exctra.adb, exp_ch6.adb, exp_disp.adb, |
| exp_dist.adb, sem_ch13.adb, exp_strm.adb, exp_ch3.adb: Minor |
| reformatting. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Build_Invariant_Checks): If the enclosing record |
| is an unchecked_union, warn that invariants will not be checked |
| on components that have them. |
| |
| 2014-07-31 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Check for error of |
| Type_Invariant'Class applied to a untagged type. |
| * sem_ch6.adb (Analyze_Null_Procedure): Unconditionally rewrite |
| as null body, so that we perform error checks even if expansion |
| is off. |
| |
| 2014-07-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Build_Invariant_Procedure): If body of procedure |
| is already present, nothing to do. |
| * exp_ch3.adb (Build_Component_Invariant_Call): For an access |
| component, check whether the access type has an invariant before |
| checking the designated type. |
| (Build_Record_Invariant_Proc): Change suffix of generated |
| name to prevent ambiguity when record type has invariants |
| in addition to those of components, and two subprograms are |
| constructed. Consistent with handling of array types. |
| (Insert_Component_Invariant_Checks): Build invariant procedure |
| body when one has not been created yet, in the case of composite |
| types that are completions and whose full declarations carry |
| invariants. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * gnat_rm.texi: Minor doc fixes. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * a-rbtgbo.adb, sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing |
| of error message. |
| * prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the |
| message to report that a directory cannot be created, to avoid |
| processing of the directory path that may contains special |
| insertion characters. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-crdlli.ads: Place declaration of Empty_List after full type |
| declaration for Curosr, to prevent freezing error. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * get_targ.adb: Minor code reorganization. |
| * prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor |
| reformatting. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error, |
| not Program_Error, when attempting to remove an element not in |
| the set. This is the given semantics for all set containers. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-rbtgbo.adb (Delete_Node_Sans_Free): If |
| element is not present in tree return rather than violating |
| an assertion. Constraint_Error will be raised in the caller if |
| element is not in the container. |
| |
| 2014-07-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * set_targ.adb (Read_Target_Dependent_Values): New subprogram. |
| (elab body): Add provision for default target config file. |
| * get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error, |
| when attempting to remove an element not in the set. This is |
| the given semantics for all set containers. |
| * a-cborse.adb (Delete): Attempt removal first, to check for |
| tampering, before checking whether this is an attempt to |
| delete a non-existing element, and in fthe latter case raise |
| Constraint_Error. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Recursive_Process): Do not create a new |
| Project_Id if the project is already in the list of projects of |
| the tree. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Function_Return): Reject a return expression |
| whose type is an incomplete formal type. |
| (Analyze_Return_Type): Reject a return type that is an untagged |
| imcomplete formal type. |
| (Process_Formals): Reject a formal parameter whose type is an |
| untagged formal incomplete type. |
| * sem_res.adb (Resolve_Actuals): Reject an actual whose type is |
| an untagged formal incomplete type. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Minor spelling correction. |
| * makeutl.adb: Minor code reorganization. |
| * exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads (Has_Unchecked_Union): Document that this is used |
| to check for illegal Valid_Scalars attribute references. |
| * exp_attr.adb (Build_Record_VS_Func): New function |
| (Expand_N_Attribute_Reference, case Valid_Scalars): Call this |
| function. |
| * gnat_rm.texi: Document 'Valid_Scalars cannot be applied to |
| Unchecked_Union Add note on 'Valid_Scalars generating a lot |
| of code. |
| * sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give |
| error on attempt to apply Valid_Scalars to Unchecked_Union type. |
| |
| 2014-07-30 Steve Baird <baird@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Indexed_Component): Disable optimized handling |
| of A(I..J)(K) in CodePeer_Mode. |
| |
| 2014-07-30 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi: Fix typo. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * lib-writ.ads: document format change. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * prj-util.adb (For_Interface_Sources): Do not |
| include sources from withed externally built projects. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * lib.adb: Minor reformatting. |
| * prj-util.adb: Minor reformatting. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Build_Record_Aggr_Code): For an array component |
| that depends on discriminants, and which is given by an others |
| clause, create an explicit subtype with the discriminant values |
| of the enclosing aggregate, because the backend cannot otherwise |
| retrieve the actual bounds of the array. |
| |
| 2014-07-30 Fedor Rybin <frybin@adacore.com> |
| |
| * gnat_ugn.texi: Improve gnattest documentation. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * makeutl.adb (Insert_Project_Sources): Properly handle sources |
| that are aggregated. We want to include sources not only part |
| of libraries but also if part of an aggregated project from an |
| aggregate library. |
| * prj.adb (For_Project_And_Aggregated_Context): Properly check |
| state of root project. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * lib-load.ads: Minor reformatting. |
| * sinfo.ads (Library_Unit): Update comment. |
| * lib.ads (Notes): Simplify. The Unit component in Notes_Entry |
| is redundant. Instead used the pragma Node_Id directly as the |
| element type. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * lib.adb (Store_Note): Store only notes that do not come from |
| an instance, and that are in the extended main source unit. |
| * lib-writ (Write_Unit_Information): Annotations from subunits |
| must be emitted along with those for the main unit, and they |
| must carry a specific file name. |
| * ali.ads (Notes_Record): Use a File_Name_Type instead of a |
| Unit_Id for the source file containing the pragma, as in the |
| case of annotations from subunits we might not have a readily |
| available unit id. |
| * ali.adb (Scan_ALI): Account for above change in data structure. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Insert_Project_Sources): When the library project |
| is an aggregate Stand-Alone Library, insert in the queue the |
| Ada interface units, with Closure set to True; |
| |
| 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_util.adb: Fix minor typo. |
| * makeutl.adb: Minor reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * checks.ads: Fix typo in comment. |
| |
| 2014-07-30 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * sem_util.adb (Set_Debug_Info_Needed): For scalar types, recurse on |
| entities that materialize range bounds, if any. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Minor spelling fix. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (Make_Bignum_Block): Use the new secondary stack |
| build routines to manage the mark. |
| * exp_ch7.adb (Create_Finalizer, Expand_Cleanup_Actions): |
| Use the new secodary stack build routines to manage the mark. |
| (Insert_Actions_In_Scope_Around): Add new formal parameter |
| Manage_SS along with comment on its usage. Code and comment |
| reformatting. Mark and release the secondary stack when the |
| context warrants it. |
| (Make_Transient_Block): Update the call |
| to Insert_Actions_In_Scope_Around to account for parameter Manage_SS. |
| (Wrap_Transient_Declaration): Remove local variable |
| Uses_SS. Ensure that the secondary stack is marked and released |
| when the related object declaration appears in a library level |
| package or package body. Code and comment reformatting. |
| * exp_util.ads, exp_util.adb (Build_SS_Mark_Call): New routine. |
| (Build_SS_Release_Call): New routine. |
| |
| 2014-07-30 Steve Baird <baird@adacore.com> |
| |
| * exp_attr.adb: Revert previous change, not needed after all. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Queue.Insert_Project_Sources): Insert with |
| Closure => True for interfaces of Stand-Alone Libraries. |
| * makeutl.ads (Source_Info (Format => Gprbuild)): Add new |
| Boolean component Closure, defaulted to False. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_res.adb: Fix typo in error message. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Process_Range_Expr_In_Decl): Use _FIRST/_LAST |
| as name suffixes rather than L/H for subtype bounds. |
| * tbuild.ads: Minor comment improvements and fixes |
| (Make_External_Name): Document that suffix can start with an |
| underscore. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Document --rep-clauses switch. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Default_Value and |
| Default_Component_Value can only be specified for scalar type or |
| arrays of scalar types respectively. This legality check must |
| be performed at the point the aspect is analyzed, in order to |
| reject aspect specifications that apply to a partial view. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb: Minor reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_Attribute, case First/Last): Don't expand in |
| codepeer mode. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Check_Expression_Function): At the freeze point |
| of an expression function, verify that the expression in the |
| function does not contain references to any deferred constants |
| that have no completion yet. |
| (Freeze_Expression, Freeze_Before): call |
| Check_Expression_Function. |
| * a-ciorse.ads: Add Reference_Control_Type to detect tampering. |
| * a-ciorse.adb: Add Adjust and Finalize routines for |
| Reference_Control_Type. Use it in the construction of Reference |
| and Constant_Reference values. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_aggr.adb: Update comments. |
| * a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor |
| reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * cstand.adb (New_Standard_Entity): New version takes name |
| string to call Make_Name. |
| (Create_Standard): Use this routine to set name before setting other |
| fields. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_Attribute, case First): Rewrite simple |
| entity reference. |
| (Expand_Attribute, case Last): Ditto. |
| * exp_ch3.adb (Constrain_Index): New calling sequence for |
| Process_Range_Expr_In_Decl. |
| (Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one |
| problematical case. |
| * sem_ch3.adb (Constrain_Index): New calling sequence for |
| Process_Range_Expr_In_Decl. |
| (Set_Scalar_Range_For_Subtype): ditto. |
| (Process_Range_Expr_In_Decl): Create constants to hold bounds for |
| subtype. |
| * sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter. |
| * sem_eval.adb (Compile_Time_Compare): Make sure we use base |
| types if we are not assuming no invalid values. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * clean.adb: Minor reformatting. |
| * opt.ads: Minor fix to incorrect comment. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-chtgbo.ads, a-chtgbo.adb (Delete_Node_At_Index): New |
| subprogram, used by bounded hashed sets, to delete a node at |
| a given index, whose element may have been improperly updated |
| through a Reference_Preserving key. |
| * a-cbhase.ads: Add Reference_Control_Type to package Generic_Keys. |
| * a-cbhase.adb: Add Adjust and Finalize routines for |
| Reference_Control_Type. |
| (Delete, Insert): Raise Program_Error, not Constraint_Error, |
| when operation is illegal. |
| (Reference_Preserving_Key): Build aggregate for Reference_Control_Type |
| * a-cmbutr.ads: Add Reference_Control_Type to detect tampering. Add |
| private with_clause for Ada.Finalization. |
| * a-cbmutr.adb: Add Adjust and Finalize routines for |
| Reference_Control_Type. Use it in the construction of Reference |
| and Constant_Reference values. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_ch3.ads: Minor code reorganization. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * clean.adb (Clean_Project): Properly check for directory |
| existence before trying to enter it. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch5.adb (P_Sequence_Of_Statements): Properly handle |
| missing semicolon after name. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * prj.ads (Gprinstall_Flags): New constant. |
| * prj-nmsc.adb (Check_Library_Attributes): Do not fails for |
| missing library dir if Directories_Must_Exist_In_Projects |
| is false. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * a-except-2005.adb, a-except.adb: Remove obsolete comments. |
| * s-traceb.ads: Updagte comments. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads, |
| a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads, |
| a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor |
| reformatting. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New |
| subprogram, used by all versions of hashed sets, to delete a node |
| whose element has been improperly updated through a Reference_ |
| Preserving key. |
| * a-cohase.adb: Remove Delete_Node, use new common procedure |
| Delete_Node_At_Index. |
| * a-cihase.ads: Add Reference_Control_Type to package Generic_Keys. |
| * a-cihase.adb: Add Adjust and Finalize routines for |
| Reference_Control_Type. |
| (Reference_Preserving_Key): Build aggregate for |
| Reference_Control_Type |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * checks.adb, checks.ads (Determine_Range_R): New procedure to |
| determine the possible range of a floating-point expression. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cborse.ads: Add Reference_Control_Type to package Generic_Keys. |
| * a-cborse.adb: Add Adjust and Finalize routines for |
| Reference_Control_Type. |
| (Reference_Preserving_Key): Build aggregate for |
| Reference_Control_Type. |
| (Delete): Check for tampering, and raise Program_Error (not |
| Constraint_Error) when attempting to delete an element not in |
| the set. |
| (Insert): Ditto. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb, |
| * a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb: |
| Exception_Information is used to produce useful debugging |
| information for the programmer. However, it was also used to |
| implement the stream attributes for type Exception_Occurrence. The |
| latter requires a stable and portable interface, which meant |
| that we couldn't include a symbolic traceback. A separate set of |
| routines was used to provide symbolic tracebacks under program |
| control (i.e. not automatically). The goal of this ticket is |
| to provide such automatic tracebacks, so the change here is to |
| split the two functionalities: Exception_Information gives the |
| maximally useful information for debugging (i.e. it now includes |
| a symbolic traceback when a decorator is set, and it can be |
| improved freely in the future without disturbing streaming). |
| Untailored_Exception_Information always uses hexadecimal addresses |
| in the traceback, has a stable and portable output, and is now |
| used for streaming. |
| |
| 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Expand_Array_Aggregate): Add missing test |
| on the target of the assignment to find out whether it |
| can be directly done by the back-end. |
| * exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads, |
| a-tasatt.adb: Minor reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb: Minor reformatting. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-coorse.adb, a-coorse.ads (Generic_Keys): Add a |
| Reference_Control_Type to generic package, to keep additional |
| information for Reference_Types that manipulate keys. Add Adjust and |
| Finalize procedures for this type. |
| (Finalize): When finalizing a reference_preserving_key, verify |
| that the key of the new value is equivalent to the key of the |
| original element, raise Program_Error otherwise. |
| (Insert): Detect tampering. |
| (Reference_Preserving_Key): Build proper Reference_Control_Type, |
| and update Busy and Lock bits to detect tampering. |
| * a-cohase.ads: Keep with-clause private. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands |
| of an equality are of an Unchecked_Union type and lack inferable |
| discriminants. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl, |
| g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move |
| GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System |
| hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so |
| we can call them from the runtimes. Leave renamings in place under GNAT. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Check_And_Build_Body_To_Inline): Include code for |
| inlining in GNATprove mode. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cohase.adb, a-cohase.ads (Generic_Keys): Add a |
| Reference_Control_Type to generic package, to keep additional |
| information for Reference_Types that manipulate keys. Add Adjust and |
| Finalize procedures for this type. |
| (Delete_Node): New procedure called when finalizing a |
| Reference_Control_Type, to remove a node whose element has been |
| improperly updated through a Reference. |
| (Insert): Detect tampering. |
| (Reference_Preserving_Key): Build proper Reference_Control_Type, |
| and update Busy and Lock bits to detect tampering. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * exp_intr.ads: Minor comment fix. |
| |
| 2014-07-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_prag.adb, a-tags.ads: Minor typo fixes. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * a-excach.adb, a-excach-cert.adb, a-except-2005.ads, |
| a-except.ads, g-traceb.adb, memtrack.adb, |
| s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb: |
| Cleanup: Make the three versions of System.Traceback.Call_Chain |
| have the same interface. Use an array for the Traceback parameter |
| instead of an Address. This will enable reduction in code |
| duplication. |
| |
| 2014-07-30 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_ugn.texi: Corrected minor textual error in description |
| of switch -gnatwl. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * Makefile.rtl: Sort file names. |
| |
| 2014-07-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-tasatt.adb: Complete previous change: kill spurious warning |
| on e.g. sparc, and make sure we only use the fast path when the |
| alignment is compatible. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as |
| coming from source. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Build_Body_To_Inline): Issue more precise messages |
| for declarations that prevent inlining. |
| (Cannot_Inline): Change usual start of message to refer to contextual |
| analysis in GNATprove mode. |
| * sem_res.adb (Resolve_Call): Change usual start of message to |
| refer to contextual analysis in GNATprove mode, when inlining |
| not possible. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb, sem_ch6.adb: Minor code reorganization. |
| * inline.adb: Minor reformatting. |
| |
| 2014-07-30 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads: Add comments. |
| |
| 2014-07-30 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_rm.texi: Minor word error. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_prag.adb (Expand_Old): Insert declarationss of temporaries |
| created to capture the value of the prefix of 'Old at the |
| beginning of the current declarative part, to prevent data flow |
| anomalies in the postcondition procedure that will follow. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * debug.adb: Retire debug flag -gnatdQ. |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode |
| on decl, not on body. Ignore predicate functions. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of |
| debug flag -gnatdQ. Correctly analyze SPARK_Mode on decl and |
| body when generating a decl for a body on which SPARK_Mode aspect |
| is given. |
| * sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for |
| attaching pragma to entity, to account for declaration not coming |
| from source. |
| * sem_res.adb (Resolve_Call): Issue warning and flag subprogram |
| as not always inlined in GNATprove mode, when called in an |
| assertion context. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Minor comment update. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * s-tasuti.adb, s-tassta.adb: Minor reformatting. |
| * sprint.adb (Sprint_Node): Handle N_Contract case. |
| * exp_prag.adb: Minor reformatting. |
| * freeze.adb (Freeze_Entity): Check useless postcondition for |
| No_Return subprogram. |
| * sem_prag.adb: Minor reformatting. |
| |
| 2014-07-30 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads: Complete comments about performance. |
| |
| 2014-07-30 Fedor Rybin <frybin@adacore.com> |
| |
| * gnat_ugn.texi: Adding description for --exit-status option to |
| gnattest section. Fixing index entry of --passed-tests option |
| in gnattest section. |
| |
| 2014-07-30 Javier Miranda <miranda@adacore.com> |
| |
| * Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb, |
| rtsfind.ads: Remove references to package Interfaces.CPP since this |
| package is no longer needed. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * s-taasde.adb (Timer_Queue): Don't use a |
| build-in-place function call to initialize the Timer_Queue. |
| * s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads: |
| Turn off polling in these units, because otherwise we get |
| elaboration circularities with Ada.Exceptions when the -gnatP |
| switch is used. |
| * s-tassta.adb (Create_Task): Make sure independent tasks |
| are created with Parent = Environment_Task. This was not true, |
| for example, in s-interr.adb, when Interrupt_Manager does "new |
| Server_Task"; the Server_Task had Parent = Interrupt_Manager, |
| which is wrong because the master is determined by the access |
| type, which is at library level. |
| * s-tasuti.adb (Make_Independent): Avoid setting Parent; it is |
| now set correctly by Create_Task. |
| (Make_Passive): Remove the workaround for the race condition in |
| Make_Independent. |
| * frontend.adb (Frontend): Revert to previous method of detecting |
| temporary configuration pragma files, recognizing such files by |
| ".tmp" in the name. This is more general than detecting pragmas |
| Source_File_Name_Project, because it allows any tool to use |
| this naming convention, no matter the content of the file. |
| * gnat_ugn.texi: Document this naming convention. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads, |
| inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb, |
| s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads, |
| s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting. |
| * a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8 |
| conversion. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb: Improve error recovery. |
| * inline.adb (Build_Body_To_Inline): Set Full_Analysis to false |
| before analyzing the body, so that in GNATprove mode there is |
| no light expansion. Whatever expansion is required by SPARK will |
| be performed when analysing the inlined code. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Statement): If loop has a label, |
| verify that it is not hidden by an inner implicit declaration. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects. |
| * sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects. |
| * exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where |
| the call returns an unconstrained type: in this case there is |
| already a transient scope, and we should not establish a new one. |
| * exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If |
| True, also insert cleanup actions in the tree. |
| (Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around |
| with Clean set True. |
| |
| 2014-07-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-taskin.ads (Direct_Index, Direct_Index_Range, |
| Direct_Attribute_Element, Direct_Attribute_Array, |
| Direct_Index_Vector, Direct_Attributes, Is_Defined, |
| Indirect_Attributes): Removed. (Atomic_Address, |
| Attribute_Array, Attributes): New. |
| * s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes, |
| Finalize_Attributes_Link, Initialize_Attributes_Link): Removed. |
| (Finalize_Attributes): Reimplement. |
| * s-tassta.adb (Create_Task): Remove call to |
| Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task): |
| Replace Finalize_Attributes_Link by Finalize_Attributes. |
| * a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb: |
| Reimplement from scratch, using a simpler and more efficient |
| implementation. |
| * s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment. |
| * s-parame.ads, s-parame-hpux.ads, |
| * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, |
| * s-parame-vxworks.ads (Max_Attribute_Count): New, replace |
| Default_Attribute_Count. |
| |
| 2014-07-30 Olivier Hainque <hainque@adacore.com> |
| |
| * vxworks-ppc-link.spec: New file. Extra link |
| instructions for ppc-vxworks. |
| * vxworks-crtbe-link.spec: Likewise, for ZCX related support. |
| * system-vxworks-ppc.ads: Adjust linker options to use spec files. |
| * system-vxworks-arm.ads: Likewise. |
| * gcc-interface/Makefile.in: Enable .spec files. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb: Minor comment reformatting. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Is_Junk_Name): Removed. |
| * sem_warn.adb (Has_Junk_Name): New function |
| (Check_References): Use Has_Junk_Name to delete junk warnings |
| (Check_Unset_Reference): ditto. |
| (Warn_On_Unreferenced_Entity): ditto. |
| (Warn_On_Useless_Assignment): ditto. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.adb (Insert_Valid_Check): Do not check for the packed |
| array type of a prefix that is an access type. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute |
| Unconstrained_Array even if prefix is not frozen yet, as can |
| occur with a private subtype used as a generic actual. |
| |
| 2014-07-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_attr.adb: Minor reformatting. |
| |
| 2014-07-30 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_rm.texi: Corrected minor wording error in description |
| of No_Exception_Registration. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove |
| mode. Realphabetize two subprograms. |
| * inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode. |
| (Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id. |
| (Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove |
| mode. |
| (Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use |
| Is_Inline in GNATprove mode. |
| (Analyze_Subprogram_Specification): |
| Set Is_Inlined_Always at subprogram entity creation. |
| * sem_res.adb (Resolve_Call): Do not deal with inlining during |
| pre-analysis. Issue warning on call to possibly inlined |
| subprogram when body not seen. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * lib-xref.adb (Generate_Reference): Add special |
| case for compiler-generated formals in GNATprove mode. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb: Add comments. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * s-os_lib.ads (GM_Time_Of): Clarify documentation. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, sem_res.adb: Minor reformatting. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case |
| Bit_Order): Set Reverse_Bit_Order on the base type of the |
| specified first subtype. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb (Expand_Inlined_Call): Use a renaming declaration |
| to capture the value of actuals of a limited type rather than |
| an object declaration, to prevent spurious errors when analyzing |
| the inlined body. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body |
| as an instance, and inhibit semantic checks on already analyzed |
| code to prevent spurious errors. |
| |
| 2014-07-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-exctra.ads ("="): New function, to restore compatibility. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime |
| routine to use the OS dst setting. |
| |
| 2014-07-30 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_ugn.texi: Minor correction to description of -gnatw.K. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Wrong_Type): Disable some checks equally within |
| instances and within inlined bodies, to suppress spurious type |
| errors on already analyzed code. |
| * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression |
| is legal in an inlined body, juts as it is in an instance body. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined |
| body the operand of an unchecked conversion may be a literal, in |
| which case its type is the target type of the conversion. This |
| is in contrast to conversions in other contexts, where the |
| operand cannot be a literal and must be resolvable independent |
| of the context. |
| |
| 2014-07-30 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a |
| mere scalar constant instead of a reference for a renaming of |
| scalar literal. |
| * gcc-interface/utils.c (renaming_from_generic_instantiation_p): New. |
| * gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb, |
| g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb, |
| g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb, |
| s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb, |
| g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb, |
| s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting |
| & code reorganization. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * s-tassta.adb, sem_util.ads: Minor reformatting. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Build_Body_To_Inline): Detect when |
| subprogram has multiple returns, or not a single last return |
| statement, in GNATprove mode. |
| (Cannot_Inline): Simplify logic to handle case of GNATprove |
| inlining first. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb: Stubs are not subject to inlining. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this |
| from a procedure to a function, so that it can more easily be |
| called before the "begin" of a task. |
| * s-taasde.ads (Delay_Block): Make this type immutably limited, |
| so we can use a build-in-place function call to initialize |
| Timer_Queue in the body. |
| * a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, |
| * s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb, |
| * s-interr-vms.adb, s-taasde.adb: Each independent task now calls |
| Make_Independent before reaching its "begin", to avoid race |
| conditions. This causes the activating task to wait until after |
| Make_Independent is complete before proceeding. In addition, |
| we initialize data structures used by independent tasks before |
| activating those tasks, to avoid possible use of uninitialized data. |
| * s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads: |
| Minor comment fixes. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move |
| the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to |
| System.Traceback_Entries (s-traent.ads and s-traent-vms.ads). Add |
| subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback. |
| * g-debpoo.adb: Refer to Tracebacks_Array in its new home. |
| |
| 2014-07-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-tasatt.adb: Remove old comments. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * einfo.ads (Is_Inlined): Document new use in GNATprove mode. |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add comments |
| to explain rationale for inlining or not in GNATprove mode. |
| (Expand_Inlined_Call): In GNATprove mode, set Is_Inlined flag |
| to False when inlining is not possible. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Is_Inlined |
| flag to indicate that subprogram is fully inlined. To be reversed |
| if inlining problem is found. |
| * sem_res.adb (Resolve_Call): Set Is_Inlined flag to False when |
| call in potentially unevaluated context. |
| |
| 2014-07-30 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-tarest.adb, s-tarest.ads: Fix comments. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb, checks.adb, sem_util.adb, sem_util.ads, sem_attr.adb: |
| Change No_Scalar_Parts predicate to Scalar_Part_Present and |
| invert sense of test. This avoids the "not No_xxx" situation |
| which is always ugly. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb (Expand_Inlined_Call): When generating code for |
| an internal subprogram the expansion uses the location of the |
| call, so that gdb can skip over it. In GNATprove mode we want to |
| preserve slocs of original subprogram when expanding an inlined |
| call, to obtain better warnings, even though subprogram appears |
| not to come from source if it is the inlining of a subprogram |
| body without a previous spec. |
| |
| 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array |
| types with atomic components. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * Make-generated.in: Remove now unnecessary targets after s-oscons |
| reorg. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_res.adb (Resolve_Call): Use ultimate alias |
| of callee when available. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): To check whether |
| an expression function is a completion, use the specification of |
| the previous declaration, not its entity, which may be internally |
| generated in an inlined context. |
| |
| 2014-07-30 Doug Rupp <rupp@adacore.com> |
| |
| * adaint.c (__gnat_tmp_name) [__ANDROID__]: Default to putting |
| temp files in /cache directory unless overridden by TMPDIR. |
| |
| 2014-07-30 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-tassta.adb, s-tarest.adb (Initialize, Create_Task, |
| Create_Restricted_Task): Remove redundant check. Number_Of_CPUs returns |
| type CPU, so it can never be greater than CPU_Range'Last. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.ads: Minor comment fix. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * g-socket.adb: Remove now useless WITH, USE, and USE TYPE |
| clauses. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * debug.adb: Free debug flag dQ used for frontend inlining in |
| GNATprove mode.. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove test of |
| debug flag.. |
| |
| 2014-07-30 Thomas Quinot <quinot@adacore.com> |
| |
| * Make-generated.in: Remove generation of s-oscons.ads, only |
| generate the xoscons utility, in runtime-agnostic rules. |
| * gcc-interface/Makefile.in: Clean up rules. Remove VMS parts, |
| no longer supported. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New |
| parameter Chain to be used in the allocator case. |
| (Make_Build_In_Place_Call_In_Allocator): If the allocated object |
| has tasks, wrap the code in a block that will activate them, |
| including the usual finalization code to kill them off in case |
| of exception or abort. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * treepr.adb, treepr.ads; Reorganize documentation for new pp routines |
| Remove renamings (don't work for gdb). |
| (par): New synonym for p (avoid gdb ambiguities). |
| * inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-30 Bob Duff <duff@adacore.com> |
| |
| * exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment |
| fixes. |
| * treepr.ads, treepr.adb (ppp): Make this debugging routine |
| accept any type covered by Union_Id. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb (Analyze_If_Expression): Resolve condition before |
| analyzing branches. |
| * sem_eval.adb (Out_Of_Range): Check for statically unevaluated |
| expression case. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use |
| of predicate aspect on entity other than a type. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Body_Has_Contract): New predicate to determine |
| when a subprogram body without a previous spec cannot be inlined |
| in GNATprove mode, because it includes aspects or pragmas that |
| generate a SPARK contract clause. |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram |
| instance cannot be inlined. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document that d7 suppresses compilation time output. |
| * errout.adb (Write_Header): Include compilation time in |
| header output. |
| * exp_intr.adb (Expand_Intrinsic_Call): Add |
| Compilation_Date/Compilation_Time (Expand_Source_Info): Expand |
| Compilation_Date/Compilation_Time. |
| * g-souinf.ads (Compilation_Date): New function |
| (Compilation_Time): New function. |
| * gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time. |
| * gnat_rm.texi (Compilation_Date): New function |
| (Compilation_Time): New function. |
| * opt.ads (Compilation_Time): New variable. |
| * s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function. |
| * sem_intr.adb (Compilation_Date): New function. |
| (Compilation_Time): New function. |
| * snames.ads-tmpl (Name_Compilation_Date): New entry. |
| (Name_Compilation_Time): New entry. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb: Add comment. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch4.adb (Is_Parameterless_Attribute): 'Result is a |
| parameterless attribute, and a postondition can mention an |
| indexed component or a slice whose prefix is an attribute |
| reference F'Result. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb (Sprint_Node_Actual, case Object_Declaration): |
| Avoid bomb when printing package Standard. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_elab.adb (Check_Internal_Call_Continue): If an elaboration |
| entity is created at this point, ensure that the name of the |
| flag is unique, because the subprogram may be overloaded and |
| other homonyms may also have elaboration flags created on the fly. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Array_Component_Update): New routine. |
| (Analyze_Attribute): Major cleanup of attribute |
| 'Update. The logic is now split into two distinct routines |
| depending on the type of the prefix. The use of <> is now illegal |
| in attribute 'Update. |
| (Analyze_Record_Component_Update): New routine. |
| (Check_Component_Reference): Removed. |
| (Resolve_Attribute): Remove the return statement and ??? comment |
| following the processing for attribute 'Update. As a result, |
| the attribute now freezes its prefix. |
| |
| 2014-07-30 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch4.adb (Apply_Accessibility_Check): Do |
| not call Base_Address() in VM targets. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Set |
| Ineffective_Inline_Warnings to True in GNATprove mode. |
| * inline.adb (Cannot_Inline): Prepare new semantics for GNATprove |
| mode of inlining. |
| * opt.ads (Ineffective_Inline_Warnings): Add comment that |
| describes use in GNATprove mode. |
| * sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore |
| pragma when applied to the special body created for inlining. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb: |
| Minor reformatting. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.ads Add a comment explaining why SPARK 2014 aspects are |
| not delayed. Update the delay status of most SPARK 2014 aspects. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls |
| to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert |
| to Decorate and Insert_Pragma. Add various comments concerning |
| the delay status of several SPARK 2014 aspects. The insertion |
| of Refined_State now uses routine Insert_After_SPARK_Mode. |
| (Decorate): New routine. |
| (Decorate_Aspect_And_Pragma): Removed. |
| (Insert_Delayed_Pragma): Removed. |
| (Insert_Pragma): New routine. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb (Expand_Inlined_Call): In GNATprove mode, emit |
| only a warning, not an error on an attempt to inline a recursive |
| subprogram. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * g-forstr.adb: Minor code reorganization (use J rather than I |
| as a variable name). |
| * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb, |
| g-forstr.ads: Minor reformatting. |
| |
| 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sprint.adb (Set_Debug_Sloc): Also reset the end location if |
| we are debugging the generated code. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that |
| returns True for source pointer for an inlined body. |
| |
| 2014-07-30 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch4.adb (Apply_Accessibility_Check): Add |
| missing calls to Base_Address(). |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove |
| mode, subprogram bodies without a previous declaration are also |
| candidates for front-end inlining. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.ads Aspects Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes do not need to be delayed. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the |
| optional Boolean expression when generating the corresponding |
| pragma for an external property aspect. |
| * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove |
| local constant Obj. Add local constant Obj_Id. Reimplement the |
| check which ensures that the related variable is in fact volatile. |
| (Analyze_Pragma): Reimplement the analysis of external property pragmas. |
| * sem_util.adb (Is_Enabled): New routine. |
| (Variable_Has_Enabled_Property): Reimplement the detection of |
| an enabled external property. |
| |
| 2014-07-30 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits |
| for body stubs. |
| |
| 2014-07-30 Pascal Obry <obry@adacore.com> |
| |
| * g-forstr.adb, g-forstr.ads: New. |
| * gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit |
| GNAT.Formatted_String. |
| |
| 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate. |
| (Expand_Array_Aggregate): Also enable in-place expansion for |
| code generated by the compiler. For an object declaration, |
| set the kind of the object in addition to its type. If an |
| in-place assignment is to be generated and it can be directly |
| done by the back-end, do not expand the aggregate. |
| * fe.h (Is_Others_Aggregate): Declare. |
| * gcc-interface/trans.c |
| (gnat_to_gnu) <N_Assignment_Statement>: Add support for an |
| aggregate with a single Others choice on the RHS by means of |
| __builtin_memset. Tidy up. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * gnat_rm.texi: minor reformatting. |
| |
| 2014-07-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline |
| in SPARK_Mode Off. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document additional implementation-defined use |
| of Constrained. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * prj-proc.adb, prj-strt.adb: Update comments. |
| |
| 2014-07-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting. |
| |
| 2014-07-30 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean |
| parameter No_Extending, defaulted to False. When No_Extending |
| is True, do not look for an extending project. |
| (Expression): For a variable reference that is not for the current |
| project, get its Id calling Imported_Or_Extended_Project_From |
| with No_Extending set to True. |
| * prj-strt.adb (Parse_Variable_Reference): If a referenced |
| variable is not found in the current project, check if it is |
| defined in one of the projects it extends. |
| |
| 2014-07-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for |
| some additional cases of internally generated routines. |
| |
| 2014-07-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS, |
| if the compilation unit is a subunit, extend optional processing |
| to all subunits of the current one. This allows gnatstub to |
| supress generation of spurious bodies. |
| |
| 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cbmutr.adb (Insert_Child): Use local variable First to keep |
| track of the initial element's index within the tree. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cbmutr.adb (Allocate_Node): Remove the two parameter version. |
| (Insert_Child): Add local variable First. Capture the index of the |
| first node being created to ensure correct cursor construction |
| later on. Use the three parameter version of Allocate_Node |
| when creating multiple children as this method allows aspect |
| Default_Value to take effect (if applicable). |
| |
| 2014-07-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb (Safe_Slice_Assignment): Remove. |
| (Expand_Array_Aggregate): For a safe slice assignment, just set |
| the target and use the common code path. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert |
| predicate No_Predicate_Test_On_Arguments, new name is |
| Predicate_Tests_On_Arguments (with the opposite sense). |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute): Clean up the code for |
| attribute 'Access. Do not generate an elaboration flag for a |
| stand alone expression function. The expression of an expression |
| function is now frozen when the expression function appears as |
| the prefix of attribute 'Access. |
| * sem_ch6.adb (Analyze_Expression_Function): Remove local |
| variable New_Decl and update all references to it after the |
| rewriting has taken place. Establish the linkages between the |
| generated spec and body. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (ip, rv): Prevent from being optimized away. |
| * gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found. |
| * s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor |
| reformatting. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * prj-pp.adb: Minor comment update. |
| * frontend.adb: If a target dependency info file has been read |
| through switch -gnateT= add it to the dependencies of the source |
| being compiled. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, prj.adb: Minor reformatting. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * prj-pp.adb (Pretty_Print.Output_Project_File): New |
| procedure to output project file names between quotes without |
| concatenation, even if the line is too long. |
| (Pretty_Print): Use Output_Project_File for project being extended and |
| project imported. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * gnat_ugn.texi: Document that configuration pragmas files are |
| added to the dependencies, unless they contain only pragmas |
| Source_File_Name_Project. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * frontend.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting |
| (Expand_Actuals): Make sure predicate checks are properly applied |
| for the case of OUT or IN OUT parameters. |
| * sem_res.adb: Minor reformatting (Resolve_Actuals): Skip |
| predicate tests on arguments for Finalize |
| * sem_util.adb (No_Predicate_Test_On_Arguments): Returns True |
| if predicate tests on subprogram arguments should be skipped. |
| * sem_util.ads (No_Predicate_Test_On_Arguments): New function |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): If there is an address |
| clause for the object and the expression is an aggregate, defer |
| resolution and expansion of the aggregate until the freeze point |
| of the entity. |
| * sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if |
| the parent node is an N_Reference generated during expansion. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb (Add_To_Buffer): Effectively double the size of the buffer. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * frontend.adb, inline.adb, sem_util.adb, sem_res.adb, |
| prepcomp.ads: Minor reformatting and code clean up. |
| * exp_ch6.adb (Expand_Actuals): Generate predicate test |
| unconditionally for case of OUT or IN OUT actual (before this |
| was generated only for certain subcases, which is wrong, the |
| test is always needed). |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util. |
| * sem_ch4.adb (Analyze_Allocator): Defer resolution of expression |
| until context type is available. |
| * sem_res.adb (Resolve_Allocator): In the case of a qualified |
| expression, complete resolution of expression. |
| (Check_Aliased_Parameter): New procedure within Resolve_Actuals, |
| to apply Ada2012 checks on aliased formals, as well as |
| accesibility checks when the context of the call is an allocator |
| or a qualified expression. |
| * sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants): |
| Moved here from sem_ch3. |
| (Object_Access_Level): Handle properly aliased formals and |
| aggregates. |
| * exp_ch6.adb (Expand_Call): Remove check on aliased parameters, |
| now properly performed in sem_res (Resolve_Actuals, |
| Check_Aliased_Parameter). |
| |
| 2014-07-29 Yannick Moy <moy@adacore.com> |
| |
| * debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now. |
| * inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New |
| function to decide when a subprogram can be inlined in GNATprove mode. |
| (Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a |
| condition for possible inlining. |
| * sem_ch10.adb (Analyze_Compilation_Unit): Remove special case |
| for Inline_Always in GNATprove mode. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined |
| body for subprograms in GNATprove mode, under debug flag -gnatdQ. |
| * sem_prag.adb Minor change in comments. |
| * sem_res.adb (Resolve_Call): Only perform GNATprove inlining |
| inside subprograms marked as SPARK_Mode On. |
| * sinfo.ads: Minor typo fix. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * frontend.adb: Add dependency on gnat.adc when taken into account |
| and on non-temporary configuration pragmas files specified in |
| switches -gnatec. |
| * prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add |
| dependencies on configuration pragmas files. |
| |
| 2014-07-29 Pat Rogers <rogers@adacore.com> |
| |
| * gnat_ugn.texi: Minor clarification to the explanation for the |
| GNATtest -v switch. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with |
| documentation that explains the need for this extended range |
| (use by C_Pass_By_Copy). |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, sem_prag.adb: Minor reformatting. |
| |
| 2014-07-29 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic |
| complexity metrics. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| PR ada/60652 |
| * s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for |
| CRTSCTS to be visible. |
| |
| 2014-07-29 Bob Duff <duff@adacore.com> |
| |
| * g-trasym.adb, g-trasym.ads: Code cleanup. |
| |
| 2014-07-29 Doug Rupp <rupp@adacore.com> |
| |
| * sigtramp-vxworks.c: Minor reformatting. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * gnat_rm.texi: No doc needed for Ada2012 aspect |
| Implicit_dereference. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Attribute_12): New array |
| (Analyze_Attribute): Check impl-defined Ada 2012 attributes. |
| (Check_Ada_2012_Attribute): Removed. |
| |
| 2014-07-29 Doug Rupp <rupp@adacore.com> |
| |
| * init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM, |
| PPC, and e500. |
| * sigtramp-vxworks.c: New file. |
| * sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * lib-xref.adb (Output_Refs, Check_Type_Reference): For a |
| derived array type, add information about component type, which |
| was previously missing in ali file. |
| * gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch3.adb (Constrain_Corresponding_Record): For the case |
| of the subtype created for a record component, do not mark |
| the subtype as frozen. For one thing, this is anomalous (in |
| particular, the base type might not itself be frozen yet); |
| furthermore, proper freezing of the subtype must happen in any |
| case. So, we just mark the subtype as requiring delayed freezing |
| (and we'll actually freeze it when generating the init_proc of |
| the enclosing record). |
| Also change the name of the constrained record subtype (append a |
| 'C' so that it is clearly different from the unconstrained record |
| type, "related_idV") to make debugging easier. |
| (Process_Full_View): When creating a full subtype for a pending |
| private subtype, re-establish the scope of the private subtype |
| so that we get proper visibility on outer discriminants. |
| * exp_ch3.adb (Build_Init_Statements): Freeze any component |
| subtype that is not frozen yet. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Recursive_Process): Always initialize the |
| environment when the project is an aggregate project, even when |
| it is not the root tree. |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, exp_ch9.adb: Minor comment additions. |
| * gnat_rm.texi: Complete list of implementation aspects. |
| * aspects.ads: Minor comment clarification. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_N_Assignment_Statement): If the target type |
| is a null-excluding access type, do not generate a constraint |
| check if Suppress_Assignment_Checks is set on assignment node. |
| * exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out |
| parameter of a null-excluding access type, there is access check |
| on entry, so set Suppress_Assignment_Checks on generated statement |
| that assigns actual to parameter block. |
| * sinfo.ads: Document additional use of Suppress_Assignment_Checks. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Change theta to @ in documentation of aspect |
| Dimension_System. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn |
| are now on pragma. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting |
| of Uneval_Old_* |
| * sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags |
| * sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node. |
| |
| 2014-07-29 Javier Miranda <miranda@adacore.com> |
| |
| * types.ads Update documentation on how to add new reason codes |
| for exceptions. |
| (RT_Exception_Code): Keep values ordered by their |
| reason code. Required by the .NET backend. |
| (RT_CE_Exceptions): Subtype declaration removed. |
| (RT_PE_Exceptions): Subtype declaration removed. |
| (RT_SE_Exceptions): Subtype declaration removed. |
| (Kind): New mapping table of RT_Exception_Codes. |
| * exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the |
| new mapping table. |
| * tbuild.adb (Make_Raise_Storage_Error): Updated to use the new |
| mapping table. (Make_Raise_Program_Error): Updated to use the |
| new mapping table. |
| (Make_Raise_Storage_Error): Updated to use the new mapping table. |
| * a-except.adb Keep Rcheck_CE_xxx entities ordered according to |
| their reason code. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| * gnat_rm.texi: Document internal attributes used for PolyORB/DSA |
| distributed stubs generation. |
| * exp_ch3.adb: Minor reformatting. |
| |
| 2014-07-29 Yannick Moy <moy@adacore.com> |
| |
| * sinfo.ads: Document constraint between frontend and GNATprove. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * a-except.adb: Minor comment clarification. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Complete list of implementation attributes. |
| * snames.ads-tmpl: Clean up list of impl-defined attributes. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Perform various |
| volatility-related checks. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_eval.adb: Minor reformatting. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb: sem_attr.adb (Access_Attribute): Handle properly |
| the case where the attribute reference appears in a nested scope |
| from that of the subprogram prefix. |
| * sem_attr.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Clarify documentation of Initialize_Scalar |
| initialization options. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads: Minor comment addition. |
| |
| 2014-07-29 Bob Duff <duff@adacore.com> |
| |
| * sem_eval.adb, sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-29 Doug Rupp <rupp@adacore.com> |
| |
| * init.c: Complete previous change. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_If_Expression): Deal with unconstrained |
| array case. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Access_Attribute): If the prefix is a subprogram |
| and the completion will appear in the same declarative part, |
| create elaboration flag. |
| * exp_util.adb (Set_Elaboration_Flag): If the subprogram body |
| is a completion of a declaration in the same declarative part, |
| and the subprogram has had its address taken, add elaboration |
| check inside the subprogram body, to detect elaboration errors |
| that may occur through indirect calls. |
| |
| 2014-07-29 Doug Rupp <rupp@adacore.com> |
| |
| * sigtramp-armvxw.c: Enhance to handle RTP trampolining. |
| * init.c: Remove guard on sigtramp for ARM VxWorks RTP. |
| |
| 2014-07-29 Vincent Celier <celier@adacore.com> |
| |
| * switch-c.adb (Scan_Front_End_Switches): Do not fail when two |
| runtime directorie specified with two switches --RTS= designate |
| the same directory, even when there are no literarily the same. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Minor documentation clarification. |
| * switch-c.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): |
| Fix incorrect RTE call which caused bomb if pragma was in |
| configuration pragma file. |
| |
| 2014-07-29 Jerome Lambourg <lambourg@adacore.com> |
| |
| * expect.c (__gnat_expect_poll): Fix typo in previous change. |
| * g-expect.adb: Update comments. |
| |
| 2014-07-29 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads |
| (Default_Attribute_Count): Bump to 16 on native platforms. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb: Add guard to front-end inlining for SPARK. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb: |
| Minor reformatting. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to |
| inline in GNATprove mode when subprogran is marked Inline_Always. |
| * sem_res.adb (Resolve_Call): Expand call in place in GNATProve |
| mode if body to inline is available. |
| * sem_prag.adb (Analyze_Pragma, case Inline_Always): Make pragma |
| effective in GNATprove mode. |
| * sem_ch10.adb (Analyze_Compilation_Unit): Call |
| Check_Package_Body_For_Inlining in GNATprove mode, so that body |
| containing subprograms with Inline_Always can be available before |
| calls to them. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.ads, inline.adb, sem_ch10.adb: Rename Check_Body_For_Inlining |
| to Check_Package_Body_For_Inlining, to prevent confusion with other |
| inlining subprograms. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * opt.ads: Minor comment update. |
| * sem_attr.adb (Uneval_Old_Msg): Deal with case of aspect, where |
| we want setting of Uneval_Old at time of encountering the aspect. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Capture setting |
| of Opt.Uneval_Old. |
| * sinfo.adb (Uneval_Old_Accept): New function (Uneval_Old_Warn): |
| New function (Set_Uneval_Old_Accept): New procedure. |
| (Set_Uneval_Old_Warn): New procedure. |
| * sinfo.ads: Uneval_Old_Accept: New flag Uneval_Old_Warn: New flag. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, inline.adb, inline.ads, sem_ch6.adb: Minor reformatting. |
| * snames.ads-tmpl: Minor reformatting. |
| * xsnamest.adb (XSnamesT): Remove special casing of Name_Error |
| to give <Error>. Not clear why this was there, but the compiler |
| sources do not reference Name_Error, and this interfered with |
| the circuits for pragma Unevaluated_Use_Of_Old. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Process_Atomic_Shared_Volatile): Allow volatile |
| types in SPARK 2014 (again). |
| * sem_res.adb (Is_OK_Volatile_Context): New routine. |
| (Resolve_Entity_Name): Ensure that a volatile object with |
| enabled properties Async_Writers or Effectire_Reads appears in |
| a non-interfering context. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb: Move Build_Body_To_Inline, |
| Check_And_Buid_Body_To_Inline, and Cannot_Inline to package Inline. |
| * exp_ch6.adb: Mode Expand_Inlined_Body to package Inline. |
| * inline.ads, inline.adb: Package now contains subprograms that |
| implement front-end inlining. No functional changes, no test |
| needed. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_dbug.adb, g-expect.adb, sem_elab.adb: Minor typo fix. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Return_Type): Reject a return type that |
| is a limited view when the context is a package body, because |
| there is no subsequent place at which the non-limited view may |
| become visible. |
| (Process_Formals): Ditto. |
| * sinfo.ads, par-ch3.adb: Minor reformatting. |
| |
| 2014-07-29 Jerome Lambourg <lambourg@adacore.com> |
| |
| * expect.c (__gnat_expect_poll): New parameter dead_process |
| used to return the dead process among the array of file |
| descriptors. The Windows, VMS and HPUX implementations now |
| properly report the dead process via this parameter. Other unixes |
| don't need it. |
| * g-expect.adb (Poll): Adapt to the C profile. |
| (Expect_Internal): Use the new parameter to properly close the |
| File Descriptor. This then can be properly reported by the |
| function First_Dead_Process as is expected. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Minor clarification of -gnatQ switch. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Derived_Type_Link): New function |
| (Set_Derived_Type_Link): New procedure. |
| (Write_Field31_Name): Output Derived_Type_Link. |
| * einfo.ads: New field Derived_Type_Link. |
| * exp_ch6.adb (Expand_Call): Warn if change of representation |
| needed on call. |
| * sem_ch13.adb: Minor addition of ??? comment. |
| (Rep_Item_Too_Late): Warn on case that is legal but could cause an |
| expensive implicit conversion. |
| * sem_ch3.adb (Build_Derived_Type): Set Derived_Type_Link if needed. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): Renamed Local_DF_Id |
| to DF_Id. Add new local variable DF_Call. Do not perform any |
| elaboration-related checks on the call to the partial finalization |
| routine within an init proc to avoid generating bogus elaboration |
| warnings on expansion-related code. |
| * sem_elab.adb (Check_A_Call): Move constant Access_Case to |
| the top level of the routine. Ensure that Output_Calls takes |
| into account flags -gnatel and -gnatwl when emitting warnings |
| or info messages. |
| (Check_Internal_Call_Continue): Update the call to Output_Calls. |
| (Elab_Warning): Moved to the top level of routine Check_A_Call. |
| (Emit): New routines. |
| (Output_Calls): Add new formal parameter Check_Elab_Flag along with a |
| comment on usage. Output all warnings or info messages only when the |
| caller context demands it and the proper elaboration flag is set. |
| |
| 2014-07-29 Yannick Moy <moy@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute/Attribute_Old): |
| Check rule about Old appearing in potentially unevaluated |
| expression everywhere, not only in Post. |
| |
| 2014-07-29 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_prag.adb: Update comment. |
| * a-except.adb, a-except-2005.adb: Minor editing. |
| |
| 2014-07-29 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * exp_dbug.adb (Debug_Renaming_Declaration): |
| Do not create renaming entities for renamings of non-packed |
| objects and for exceptions. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb, |
| sem_ch6.adb, par-ch3.adb: Minor reformatting. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Check_Return_Subtype_Indication): Reject a return |
| subtype indication in an extended return statement when the |
| return value is an ancestor of the return type of the function, |
| and that return type is a null record extension. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb (Rep_Item_Too_Late): Specialize/clarify error |
| message produced for the case of a type-related representation |
| item that is made illegal by 13.10(1). |
| * gnat_rm.texi (Scalar_Storage_Order): Minor change in |
| documentation. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Add section on Wide_Wide_Character encodings. |
| * erroutc.adb (Output_Error_Msgs): Take wide characters into |
| account in computing position of error flags. |
| * sinput.adb (Get_Column_Number): Take wide characters into |
| account. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch3.adb (P_Access_Type_Definition): The subtype indication |
| in an access type definition can carry a null_exclusion indicator. |
| * sem_ch3.adb (Access_Type_Declaration): If the subtype indication |
| carries a null_exclusion indicator, verify that the subtype |
| indication denotes an access type, and create a null-excluding |
| subtype for it. |
| * sinfo.ads, sinfo.adb: New attribute Null_Excluding_Subtype, |
| defined on N_Access_To_Object_Definition to indicate that the |
| subtype indication carries a null_exclusion indicator. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Add_Extra_Actual): Do not construct |
| the extra actual by name, generate a reference instead. |
| |
| 2014-07-29 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Do not crash analyzing |
| Allow_Integer_Address if already set. |
| * a-except-2005.adb (Rcheck_PE_Stream_Operation_Not_Allowed): |
| Fix order, for consistency with Rmsg_xx declarations. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Complete_Object_Operation): If the type of the |
| candidate subprogram is a limited view, use non-limited view |
| when available. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor change in RM reference. |
| * sem_mech.ads: Minor reformatting. |
| * einfo.ads: Minor comment fix. |
| * types.ads: Minor correction to range given for Mechanism_Type. |
| * exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not |
| check predicate on way out for OUT or IN OUT parameters. |
| * par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword |
| better (P_Range_Constraint): Corresponding fix. |
| * checks.ads: Minor comment clarification. |
| |
| 2014-07-29 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile |
| and Treat_As_Volatile flags based on whether the renamed object |
| is a volatile object. |
| |
| 2014-07-29 Olivier Hainque <hainque@adacore.com> |
| |
| * g-debpoo.adb |
| (Default_Alignment): Rename as Storage_Alignment. This is not |
| a "default" that can be overriden. Augment comment to clarify |
| intent and document why we need to manage alignment padding. |
| (Header_Offset): Set to Header'Object_Size instead of 'Size |
| rounded up to Storage_Alignment. Storage_Alignment on the |
| allocation header is not required by our internals so was |
| overkill. 'Object_Size is enough to ensure proper alignment |
| of the header address when substracted from a storage address |
| aligned on Storage_Alignment. |
| (Minimum_Allocation): Rename as Extra_Allocation, conveying that |
| this is always added on top of the incoming allocation requests. |
| (Align): New function, to perform alignment rounding operations. |
| (Allocate): Add comments on the Storage_Address computation |
| scheme and adjust so that the alignment padding applies to that |
| (Storage_Address) only. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch3.adb (Default_Initialize_Object): Remove incorrect |
| pragma Unreferenced. |
| * cstand.adb (Create_Standard): Use E_Array_Type for standard |
| string types. Make sure index of Any_String/Any_Array is in a list. |
| * errout.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Clean up and correct documentation of warnings. |
| * usage.adb: Minor corrections to make sure warnings are properly |
| documented. |
| * warnsw.adb (Set_Warning_Switch): Remove redundant return statement. |
| (WA_Warnings): Add Warn_On_Suspicious_Modulus_Value. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): The dummy block |
| created to match internal sequence numbers between compilations |
| with/without abort must have its type properly set. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * ali.adb (Initialize_ALI): Initialize SSO_Default_Specified |
| (Scan_ALI): Set SSO_Default in ALIs_Record (Scan_ALI): Set |
| SSO_Default_Specified. |
| * ali.ads (ALIs_Record): Add field SSO_Default |
| (SSO_Default_Specified): New global switch. |
| * bcheck.adb (Check_Consistent_SSO_Default): New procedure |
| (Check_Configuration_Consistency): Call this procedure |
| * einfo.adb (SSO_Set_High_By_Default): New |
| function (SSO_Set_Low_By_Default): New function |
| (Set_SSO_Set_High_By_Default): New procedure |
| (Set_SSO_Set_Low_By_Default): New procedure (Write_Entity_Flags): |
| List new flags |
| * einfo.ads (SSO_Set_Low_By_Default): New flag |
| (SSO_Set_High_By_Default): New flag |
| * freeze.adb (Set_SSO_From_Default): New procedure |
| (Freeze_Array_Type): Call Set_SSO_From_Default |
| (Freeze_Record_Type): Call Set_SSO_From_Default |
| * gnat_rm.texi: Document pragma Default_Scalar_Storage_Order |
| * lib-writ.adb (Write_ALI): Set OL/OH in P line as needed |
| * lib-writ.ads: Add OL/OH parameters to P line |
| * opt.adb: Set Default_SSO, Default_SSO_Config as appropriate |
| * opt.ads (Default_SSO): New global switch (Default_SSO_Config): |
| New global switch |
| * repinfo.adb (List_Scalar_Storage_Order): List SSO when it is |
| set by default using pragma Default_Scalar_Storage_Order. |
| * sem.ads (Scope_Stack_Entry): Add component Save_Default_SSO |
| * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): |
| Clear SSO defaults when explicit SSO is inherited. |
| (Analyze_Attribute_Definition_Clause): Clear SSO defaults when |
| explicit SSO is specified. |
| (Inherit_Aspects_At_Freeze_Point): |
| Clear SSO default when inheriting SSO. |
| * sem_ch3.adb (Set_Default_SSO): New procedure |
| (Analyze_Private_Extension_Declaration): Set defualt SSO |
| (Array_Type_Declaration): ditto (Build_Derived_Array_Type): ditto |
| (Build_Derived_Private_Type): ditto (Build_Derived_Record_Type): |
| ditto (Build_Derived_Type): ditto (Make_Class_Wide_Type): ditto |
| (Record_Type_Declaration): ditto |
| * sem_ch8.adb (Pop_Scope): Restore Default_SSO (Push_Scope): |
| Save Default_SSO |
| * sem_prag.adb (Analyze_Pragma, case |
| Default_Scalar_Storage_Order): Set Default_SSO |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Valid_Operator_Definition): Verify that |
| all parameter have mode IN. This check must be done here for |
| subprogram instantiations that have operator names, because their |
| analysis does not follow the same path as that for subprogram |
| declarations. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Freeze_Entity, Concurrent_Type case): Add a guard |
| to make sure that the Etype of a component of the corresponding |
| record type is present before trying to freeze it. |
| * sem_ch5.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb, |
| a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed, |
| and then use it when a stream operation is used from a library generic |
| when the restriction (No_Streams) is active. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| * projects.texi: Fix minor typo. |
| |
| 2014-07-29 Yannick Moy <moy@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Fix generation of warning. |
| |
| 2014-07-29 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_ch5.adb (Check_Unreachable_Code): Do not remove code in |
| CodePeer mode. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Find_Last_Init): Add local variable |
| Deep_Init_Found. Check the statement immediately following the |
| declaration if [Deep_]Initialization was not found. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Is_Aliased): It appears that |
| 'reference-d and renamed objects still play some role in Boolean |
| expression with actions and cannot be finalized immediately. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_dbug.adb (Qualify_Needed): For debugging purposes, |
| Loop names are not part of the full qualification of entity names. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Has_Protected): Test base type. |
| * sem_ch4.adb (Analyze_Allocator): Reorganize code to make sure |
| that we always properly check No_Protected_Type_Allocators. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Defining_Entity): Now applies to |
| loop declarations as well. |
| * exp_ch5.adb (Expand_Loop_Statement): Apply Qualify_Entity_Names |
| to an iterator loop, because it may contain local renaming |
| declarations that require debugging information. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, exp_util.adb, sem_attr.adb: Minor reformatting. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function |
| (Set_Static_Real_Or_String_Predicate): New procedure |
| * sem_ch13.adb (Build_Predicate_Functions): Accomodate static |
| string predicates (Is_Predicate_Static): Handle static string |
| predicates. |
| * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): |
| New procedure (Check_Expression_Against_Static_Predicate): |
| Deal with static string predicates, now fully implemented |
| (Eval_Relational_Op): Allow string equality/inequality as static |
| if not comes from source. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb, |
| einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb, |
| sem_eval.ads, sem_ch13.adb: General cleanup of static predicate |
| handling. Change name of Discrete_Predicate to |
| Discrete_Static_Predicate, and replace testing of the presence of this |
| field by testing the flag Has_Static_Expression. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old. |
| * opt.adb: Handle Uneval_Old. |
| * opt.ads (Uneval_Old, Uneval_Old_Config): New variables. |
| * par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old. |
| * sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry. |
| * sem_attr.adb (Uneval_Old_Msg): New procedure. |
| * sem_ch8.adb (Push_Scope): Save Uneval_Old. |
| (Pop_Scope): Restore Uneval_Old. |
| * sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old): |
| Implemented. |
| * snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old |
| Add entries for Name_Warn, Name_Allow. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range |
| to Is_OK_Static_Range. |
| * sem_attr.adb (Eval_Attribute): Make sure we properly flag |
| static attributes (Eval_Attribute, case Size): Handle size of |
| zero properly (Eval_Attribute, case Value_Size): Handle size of |
| zero properly. |
| * sem_ch13.adb: Minor reformatting. |
| * sem_ch3.adb (Process_Range_Expr_In_Decl): Change |
| Is_Static_Range to Is_OK_Static_Range. |
| * sem_eval.adb (Eval_Case_Expression): Total rewrite, was |
| wrong in several ways (Is_Static_Range): Moved here from spec |
| (Is_Static_Subtype): Moved here from spec Change some incorrect |
| Is_Static_Subtype calls to Is_OK_Static_Subtype. |
| * sem_eval.ads: Add comments to section on |
| Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range): |
| Add clarifying comments (Is_Static_Range): Moved to body |
| (Is_Statically_Unevaluated): New function. |
| * sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change |
| Is_Static_Range to Is_OK_Static_Range. |
| * sinfo.ads: Additional commments for Is_Static_Expression noting |
| that clients should almost always use Is_OK_Static_Expression |
| instead. Many other changes throughout front end units to obey |
| this rule. |
| * tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression |
| for enumeration literal. |
| * exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb, |
| lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads, |
| sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb, |
| exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb: |
| Replace all occurrences of Is_Static_Expression by |
| Is_OK_Static_Expression. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Process_Transient_Object): Remove constant |
| In_Cond_Expr, use its initialization expression in place. |
| * exp_ch7.adb (Process_Declarations): There is no need to check |
| that a transient object being hooked is controlled as it would |
| not have been hooked in the first place. |
| * exp_util.adb (Is_Aliased): 'Reference-d or renamed transient |
| objects are not considered aliased when the related context is |
| a Boolean expression_with_actions. |
| (Requires_Cleanup_Actions): There is no need to check that a transient |
| object being hooked is controlled as it would not have been hooked in |
| the first place. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb: Minor reformatting. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Default_Initialize_Object): Add new variables |
| Abrt_Blk and Dummy. Generate a dummy temporary when aborts are |
| not allowed to ensure the symmetrical generation of symbols. |
| * exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr |
| and E_Decl. Add new variables Decl and Dummy. Generate a dummy |
| temporary when aborts are not allowed to ensure symmertrical |
| generation of symbols. |
| * exp_intr.adb (Expand_Unc_Deallocation): Add new variable |
| Dummy. Generate a dummy temporary when aborts are not allowed |
| to ensure symmertrical generation of symbols. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_dbug.adb (Debug_Renaming_Declaration): For an object |
| renaming, indicate that the renamed entity itself needs debug |
| information. This is necessary if that entity is a temporary, |
| e.g. part of the expansion of an explicit dereference in an |
| iterator. |
| |
| 2014-07-29 Thomas Quinot <quinot@adacore.com> |
| |
| * errout.adb (Set_Error_Posted): When propagating flag to |
| an enclosing named association, also propagate to the parent |
| of that node, so that named and positional associations are |
| treated consistently. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute, case 'Update): Set |
| Do_Range_Check properly on array component expressions that |
| have a scalar type. In GNATprove mode, only checks on scalar |
| components must be marked by the front-end. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Type_Conversion): If the type of the |
| expression is a limited view, use the non-limited view when |
| available. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Case_Expression): Mark the generated |
| case statement as coming from a conditional expression. |
| (Expand_N_If_Expression): Mark the generated if statement as |
| coming from a conditional expression. |
| * exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled |
| objects found in case statement alternatives when the case |
| statement is actually a case expression. |
| (Expand_N_If_Statement): |
| Do not process controlled objects found in an if statement when |
| the if statement is actually an if expression. |
| * sinfo.adb (From_Conditional_Expression): New routine. |
| (Set_From_Conditional_Expression): New routine. |
| * sinfo.ads Add new semantic flag From_Conditional_Expression and |
| update related nodes. |
| (From_Conditional_Expression): New routine along with pragma Inline. |
| (Set_From_Conditional_Expression): New routine along with pragma Inline. |
| |
| 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove |
| formal parameter Obj_Id and update the comment on usage. Renamed |
| Obj_Typ to Func_Typ and update all occurrences. |
| (Find_Last_Init): Remove formal parameter Decl and update the comment |
| on usage. |
| Remove local constants Obj_Id and Obj_Typ. Remove local variables |
| Init_Typ and Is_Conc. Remove the extraction of the initialization type. |
| (Find_Last_Init_In_Block): Remove formal parameter |
| Init_Typ and update the comment on usage. |
| (Is_Init_Call): Remove formal parameter Init_Typ and update the comment |
| on usage. Check whether the procedure call is an initialization |
| procedure of either the object type or the initialization type. |
| (Is_Init_Proc_Of): New routine. |
| (Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this |
| routine. Add new variable Init_Typ. Add circuitry to extract the object |
| type as well as the initialization type. |
| |
| 2014-07-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_case.adb: Minor reformatting. |
| * sem_aux.ads: Minor reformatting. |
| |
| 2014-07-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent |
| pointer on these fields, even though they are semantic, because |
| subsequent analysis and expansion of action nades may require |
| exploring the tree, for example to locate a node to be wrapped |
| when a function with controlled result is called. |
| |
| 2014-07-29 Claire Dross <dross@adacore.com> |
| |
| * sem_aux.adb (Get_Binary_Nkind): Use case on |
| Name_Id instead of an intermediate string. |
| (Get_Unary_Nkind): Use case on Name_Id instead of an intermediate |
| string. |
| |
| 2014-07-29 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note |
| about processing sources with preprocessor directives. |
| |
| 2014-07-24 Martin Liska <mliska@suse.cz> |
| |
| * gcc-interface/trans.c (finalize_nrv): Adjust function call. |
| * gcc-interface/utils.c (rest_of_subprog_body_compilation): Likewise. |
| (gnat_write_global_declarations): Likewise. |
| |
| 2014-07-19 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| * gnat_rm.texi: Clean up for makeinfo 5.2. |
| |
| 2014-07-19 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| * gnat_rm.texi (Machine Code Insertions): Clean up. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb: Minor reformatting. |
| |
| 2014-07-18 Claire Dross <dross@adacore.com> |
| |
| * sem_aux.ads (Get_Binary_Nkind): New function that returns |
| the Node_Kind value of an entity defining a binary operator. |
| (Get_Unary_Nkind): New function that returns the Node_Kind value |
| of an entity defining a unary operator. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * sysdep.c: comment update. |
| * adaint.c (__gnat_fputwc): Use wchar_t on a limited set of |
| platforms where it is known to be supported. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_dist.adb (Process_Remote_AST_Declaration): Need |
| to set Fat_Type's Ekind in order to be able to use its |
| Corresponding_Remote_Type attribute. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb Last_Aggregate_Assignment is now Node 30. |
| (Last_Aggregate_Assignment): Include |
| constants in the assertion. Update the underlying node. |
| (Set_Last_Aggregate_Assignment): Include constants in the |
| assertion. Update the underlying node. (Write_Field11_Name): |
| Remove the entry for Last_Aggregate_Assignment. |
| (Write_Field30_Name): Add an entry for Last_Aggregate_Assignment. |
| * einfo.ads Update the node designation and usage of attribute |
| Last_Aggregate_Assignment. |
| * exp_aggr.adb (Expand_Array_Aggregate): Store the last |
| assignment statement used to initialize a controlled object. |
| (Late_Expansion): Store the last assignment statement used to |
| initialize a controlled record or an array of controlled objects. |
| * exp_ch3.adb (Expand_N_Object_Declaration): Default |
| initialization of objects is now performed in a separate routine. |
| (Default_Initialize_Object): New routine. |
| * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Add formal parameter |
| Obj_Id. Update the comment on usage. |
| (Find_Last_Init): Remove formal parameter Typ. Update comment on usage. |
| Reimplement the logic. (Find_Last_Init_In_Block): New routine. |
| (Is_Init_Call): Add formal parameter Init_Typ. Update the |
| comment on usage. Account for the type init proc when trying |
| to determine whether a statement is an initialization call. |
| (Make_Adjust_Call): Rename formal parameter For_Parent to |
| Skip_Self. Update all occurrences of For_Parent. Account for |
| non-tagged types. Update the call to Make_Call. |
| (Make_Call): Rename formal parameter For_Parent to Skip_Self. Update |
| comment on usage. Update all occurrences of For_Parent. |
| (Make_Final_Call): Rename formal parameter For_Parent to |
| Skip_Self. Update all occurrences of For_Parent. Account |
| for non-tagged types. Update the call to Make_Call. |
| (Process_Object_Declaration): Most variables and constants are |
| now local to the routine. |
| * exp_ch7.ads (Make_Adjust_Call): Rename formal parameter |
| For_Parent to Skip_Self. Update the comment on usage. |
| (Make_Final_Call): Rename formal parameter For_Parent to |
| Skip_Self. Update the comment on usage. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Requeue): The entry being referenced |
| can be a procedure that is implemented by entry, and have a |
| formal that is a synchronized interface. It does not have to |
| be declared as a protected operation. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Remove mention of obsolete attributes |
| Max[_Interrupt]_Priority, which have never been implemented |
| (or at the very least were removed long ago if they ever were |
| implemented. Add documentation of Max[_Interrupt]_Priority |
| constants in package System. |
| * ttypes.ads: Document actual handling of package System, |
| rather than a historical fantasy version. Remove mention of |
| non-existent attributes Max[_Interrupt]_Priority. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * a-witeio.adb (Put): No 16-bit character output when text |
| translation is disabled. |
| * i-cstrea.ads: Code clean up. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that Wchar_T_Size and Word_Size are |
| static attributes. |
| |
| 2014-07-18 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-witeio.adb, initialize.c: Update comments. Minor clean ups. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c: Do not include wchar.h on VxWorks. |
| * mingw32.h: Remove obsolete definition. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * a-textio.adb, a-witeio.adb, a-ztexio.adb: Use C_Streams Default_Text. |
| * i-cstrea.ads (Content_Encoding): Moved here, add convention C. |
| * s-ficobl.ads (Content_Encoding): Moved to C_Streams. |
| * s-fileio.adb (Open): Adjust to use Content_Encoding from C_Streams. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * a-textio.adb: Rename Is_Text_File to Text_Encoding. |
| * a-ztexio.adb: Likewise. |
| * a-witeio.adb: Likewise. |
| (Open): Pass file's translation mode to set_text_mode. |
| * s-ficobl.ads (Content_Encoding): New type. |
| (Text_Content_Encoding): New subtype. |
| (AFCB): Rename Is_Text_File to Text_Encoding. |
| * s-fileio.adb (Open): Handles new text_translation |
| values. Remove Is_Text_File which is equivalent to Text_Encoding |
| in Text_Content_Encoding. |
| * adaint.h (__gnat_set_mode): New routine. |
| * sysdep.c (__gnat_set_wide_text_mode): Removed. |
| (__gnat_set_mode): New routine. |
| |
| 2014-07-18 Arnaud Charlet <charlet@adacore.com> |
| |
| * gcc-interface/decl.c, gcc-interface/trans.c, |
| gcc-interface/utils.c (Is_Packed_Array_Type): Renamed |
| Is_Packed_Array_Impl_Type. |
| |
| 2014-07-18 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_util.adb: Minor typo correction. |
| |
| 2014-07-18 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Complete previous change. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * s-fileio.adb: Minor style fix. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Detect improper |
| specification of stream attributes for subtypes that are not |
| first subtypes, to prevent malformed rep_item chains in the case |
| of such illegal specifications for discriminated private subtypes. |
| (Check_Overloaded_Name): Verify that the name is an entity name |
| before other checks. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (__gnat_fputwc) Do not disable on cross-build. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb, sem_attr.adb, |
| sem_aggr.adb, sinfo.ads, sem_eval.ads: Minor reformatting. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * sysdep.c (__gnat_wide_text_translation_required): Removed from here. |
| * initialize.c (__gnat_wide_text_translation_required): Defined here. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (__gnat_fputwc): New routine. |
| * s-crtl.ads (fputwc): Now imported as __gnat_fputwc. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb: Flag 270 is now used as Stores_Attribute_Old_Prefix. |
| (Set_Stores_Attribute_Old_Prefix): New routine. |
| (Stores_Attribute_Old_Prefix): New routine. |
| (Write_Entity_Flags): |
| Output flag Stores_Attribute_Old_Prefix. |
| * einfo.ads Add new flag Stores_Attribute_Old_Prefix along with |
| comment on usage. |
| (Set_Stores_Attribute_Old_Prefix): New routine |
| along with pragma Inline. |
| (Stores_Attribute_Old_Prefix): New |
| routine along with pragma Inline. |
| * exp_attr.adb (Expand_N_Attribute_Reference): Mark the generated |
| constant which captures the result of attribute 'Old's prefix. |
| * sem_util.adb (In_Assertion_Expression_Pragma): Recognize a |
| relocated expression which acted as a prefix of attribute 'Old. |
| |
| 2014-07-18 Bob Duff <duff@adacore.com> |
| |
| * s-spsufi.adb (Finalize_And_Deallocate): Set Subpool.Owner to |
| null before dispatching to Deallocate_Subpool. |
| * s-stposu.ads (Default_Subpool_For_Pool): Change mode of |
| parameter of Default_Subpool_For_Pool to 'in out'. |
| * s-stposu.adb (Set_Pool_Of_Subpool): Use raise expression. Add |
| a message to the raise. |
| * sem_util.adb: Minor reformatting. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb (Check_Expression_Against_Static_Predicate): |
| Mark expression as non-static if it fails static predicate check, |
| and issue additional warning. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * a-witeio.adb (Put): Control translation based on |
| wide_text_translation_required. |
| * adaint.c (CurrentCCSEncoding): New variable. |
| * initialize.c (__gnat_initialize): On Windows initialize |
| CurrentCCSEncoding based on values in GNAT_CCS_ENCODING |
| environment variable. |
| * mingw32.h (CurrentCCSEncoding): New external. |
| (__gnat_wide_text_translation_required): Likewise. |
| * sysdep.c (wide_text_translation_required): New variable. |
| (__gnat_set_wide_text_mode): Set mode based on CurrentCCSEncoding. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global |
| variable Refined_States. Add global variable Matched_Items. |
| (Check_Dependency_Clause): Account for dependency |
| clauses utilizing states with visible null refinements. |
| (Is_Null_Refined_State): New routine. |
| (Match_Items): Record each successfully matched item of pragma Depends. |
| (Record_Item): New routine. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Set |
| Do_Range_Check flag on a dynamic index expression used in a |
| component association in the argument of Update. |
| |
| 2014-07-18 Gary Dismukes <dismukes@adacore.com> |
| |
| * einfo.ads, sem_eval.ads, sem_ch13.adb: Minor reformatting. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Expand_Simple_Function_Return): Redo the marking |
| of enclosing blocks, loops and the enclosing function using a |
| parent-based traversal. |
| * exp_util.adb (Wrap_Statements_In_Block): Suppress the secondary |
| stack reclamation if the iterator loop contains a return statement |
| that uses the stack. |
| * sem_ch5.adb (Analyze_Loop_Statement): There is no need to |
| patch up the scope stack as the secondary stack management now |
| takes into account the enclosing function of the iterator loop. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, g-memdum.ads, i-cstrea.ads: Minor reformatting. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Has_Static_Predicate): New function. |
| (Set_Has_Static_Predicate): New procedure. |
| * einfo.ads (Has_Static_Predicate): New flag. |
| * sem_ch13.adb (Is_Predicate_Static): New function |
| (Build_Predicate_Functions): Use Is_Predicate_Static to reorganize |
| (Add_Call): Minor change in Sloc of generated expression |
| (Add_Predicates): Remove setting of Static_Pred, no longer used. |
| * sem_ch4.adb (Has_Static_Predicate): Removed this function, |
| replace by use of the entity flag Has_Static_Predicate_Aspect. |
| * sem_eval.adb (Eval_Static_Predicate_Check): Check real case |
| and issue warning that predicate is not checked for now. |
| * sem_eval.ads (Eval_Static_Predicate_Check): Fix comments in |
| spec. |
| * sem_util.adb (Check_Expression_Against_Static_Predicate): |
| Carry out check for any case where there is a static predicate, |
| and output appropriate message. |
| * sinfo.ads: Minor comment corrections. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_Freeze_Record_Type): If the type is derived |
| from an untagged private type whose full view is tagged, the type |
| is marked tagged for layout reasons, but it has no dispatch table, |
| so Set_All_DT_Position must not be called. |
| * exp_ch13.adb: If the freeze node is for a type internal to a |
| record declaration, as is the case for a class-wide subtype |
| of a parent component, the relevant scope is the scope of the |
| enclosing record. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * g-memdum.adb, g-memdum.ads: Code clean ups. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Dependency_Clause): |
| Update the comment on usage. Reimplement the mechanism which |
| attempts to match a single clause of Depends against one or |
| more clauses of Refined_Depends. |
| (Input_Match): Removed. |
| (Inputs_Match): Removed. |
| (Is_Self_Referential): Removed. |
| (Normalize_Clause): Update the call to Split_Multiple_Outputs. |
| (Normalize_Outputs): Rename variable Split to New_Claue and update |
| all its occurrences. |
| (Report_Extra_Clauses): Update the comment on usage. |
| (Split_Multiple_Outputs): Renamed to Normalize_Outputs. |
| |
| 2014-07-18 Gary Dismukes <dismukes@adacore.com> |
| |
| * i-cstrea.ads: Minor reformatting. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Wrap_Statements_In_Block): Propagate both |
| secondary stack-related flags to the generated block. |
| * sem_ch5.adb (Analyze_Loop_Statement): Update the scope chain |
| once the loop is relocated in a block. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * repinfo.ads: Add documentation on handling of back annotation |
| for dynamic case. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.ads, sinfo.adb (Incomplete_View): New semantic attribute |
| of full type declaration, denotes previous declaration for |
| incomplete view of the type. |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): Set Incomplete_View |
| of declaration if one is present. |
| (Replace_Type): When constructing the signature of an inherited |
| operation, handle properly the case where the operation has a |
| formal whose type is an incomplete view. |
| * sem_util.adb (Collect_Primitive_Operations): Handle properly |
| the case of an operation declared after an incomplete declaration |
| for a type T and before the full declaration of T. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * i-cstrea.ads: Add documentation for set_wide_text_mode. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * a-witeio.adb: Minor code reorganization. |
| * i-cstrea.ads: Add comment. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * s-oscons-tmplt.c (NAME_MAX): Minor cleaup and comment |
| clarifications. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * g-memdum.adb, g-memdum.ads, exp_strm.adb: Minor reformatting. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * s-crtl.ads, i-cstrea.ads (fputwc): New routine. |
| * a-witeio.adb (Put): On platforms where there is translation |
| done by the OS output the raw text. |
| (New_Line): Use Put above to properly handle the LM wide characters. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * g-memdum.adb, g-memdum.ads (Dump): New parameter Prefix, defaulted |
| to Absolute_Address. |
| |
| 2014-07-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * opt.ads (Suppress_Back_Annotation): Remove as unused. |
| * fe.h (Back_Annotate_Rep_Info): Likewise. |
| (Global_Discard_Names): Likewise. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Is_Type_Ref): Check that type name is not |
| parenthesized. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * s-osinte-vms.ads: Fix style errors. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * s-oscons-tmplt.c (_POSIX_SOURCE): Define in order to get |
| NAME_MAX and PATH_MAX. |
| |
| 2014-07-18 Bob Duff <duff@adacore.com> |
| |
| * exp_strm.adb (Build_Record_Or_Elementary_Input_Function, |
| Build_Record_Or_Elementary_Output_Procedure): For Input and |
| Output attributes, do not read/write the discriminants if they |
| have default values; that will be done by Read/Write. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, layout.adb, sem_type.adb, |
| exp_util.adb, exp_attr.adb, einfo.adb, einfo.ads, exp_pakd.adb, |
| checks.adb, exp_pakd.ads, freeze.adb, sem_util.adb, exp_dbug.adb, |
| exp_dbug.ads, exp_ch4.adb, sem_ch8.adb, exp_aggr.adb, sem_eval.adb, |
| sem_ch13.adb: Change name Packed_Array_Type to Packed_Array_Impl_Type. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * lib-writ.adb, makeutl.adb, ali.ads: Minor reformatting. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * lib-writ.ads: Update documentation about the D lines. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Replace_Type_References_Generic): Use type entity |
| as a parameter, rather than its Chars field, in order to locate |
| freeze node of type. If the predicate or invariant has references |
| to types other than the one to which the contract applies, these |
| types must be frozen, and the corresponding predicate functions |
| created, before that freeze node. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb, einfo.ads, einfo.adb: Minor code reorganization. |
| * par_sco.adb: Minor reformatting. |
| |
| 2014-07-18 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch4.adb (Real_Range_Check): Turn off |
| the Do_Range_Check flag on the conversion's current Expression |
| argument rather than on the originally captured Operand node, |
| as Expression may reflect a rewriting (as in conversions to a |
| fixed-point type). |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * ali.adb (Scan_ALI): Set Sdep_Record.Unit_Name, when the unit |
| is not a subunit. |
| * ali.ads (Sdep_Record): New component Unit_Name. |
| * lib-writ.adb (Write_ALI): Write the unit name in D lines. |
| * makeutl.adb (Check_Source_Info_In_ALI): Return False if a |
| dependent unit is in a project and the source file name is not |
| one of its sources. |
| |
| 2014-07-18 Bob Duff <duff@adacore.com> |
| |
| * s-addima.ads: Minor: add comment. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Check_Component_Storage_Order): Fix enforcement |
| of nesting rules for composites with different SSOs. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * par_sco.adb (Is_Logical_Operator): An If_Expression is not |
| a proper logical operator. |
| (Has_Decision): An If_Expression indicates the presence of a decision |
| although it is not a logical operator. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Remove note that -gnatR not allowed with -gnatc. |
| * switch-c.adb: Remove prohibition of -gnatR and -gnatc together. |
| |
| 2014-07-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch13.adb (Kill_Rep_Clause): Clear Comes_From_Source flag |
| on the null statement. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * adaint.c: Minor comment rewording. |
| * socket.c: Define macros _REENTRANT and _THREAD_SAFE so that |
| use of errno in this file is thread safe. |
| |
| 2014-07-18 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat_ugn.texi: Doc clarification. |
| * sem_ch13.adb (Kill_Rep_Clause): Use Replace not Rewrite. |
| * sem_ch13.ads: Minor comment update. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * repinfo.ads: Minor comment fix. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * par-prag.adb: Add dummy entry for Default_Scalar_Storage_Order. |
| * sem_prag.adb: Add dummy implementation of |
| Default_Scalar_Storage_Order. |
| * snames.ads-tmpl: Add dummy entry for |
| Default_Scalar_Storage_Order pragma. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * opt.adb (Tree_Read): Read Address_Is_Private, |
| Ignore_Rep_Clauses, Ignore_Style_Check_Pragmas, Multiple_Unit_Index. |
| (Tree_Write): Corresponding writes |
| * opt.ads: Minor comment reformatting and fixes. |
| * tree_io.ads: Increment ASIS_Version_Number. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb, s-os_lib.ads, prj-tree.adb: Minor reformatting. |
| * types.h: Fix typo. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Check_Address_Clause): Use Kill_Rep_Clause (no |
| functional change). |
| * gnat_ugn.texi: Document that -gnatI removes rep clauses from |
| ASIS trees. |
| * sem_ch13.adb (Kill_Rep_Clause): New procedure |
| (Analyze_Attribute_Definition_Clause): Use |
| Kill_Rep_Clause. This is just a cleanup, no functional effect. |
| (Analyze_Enumeration_Representation_Clause): |
| Use Kill_Rep_Clause. This means that enum rep |
| clauses are now properly removed from -gnatct trees. |
| (Analyze_Record_Representation_Clause): Same change. |
| * sem_ch13.ads (Kill_Rep_Clause): New procedure. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an |
| OS_Time from time parts. |
| * adaint.h, adaint.c (__gnat_to_os_time): New routine. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Try_Container_Indexing): Refine previous patch for |
| indexing over containers that are derived types: check whether |
| signature of found operation has the correct first parameter |
| before retrieving directly a primitive operation. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Set |
| Do_Range_Check flag on dynamic bounds of a range used in a |
| component association in the argument of Update. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * adaint.c: #define _REENTRANT and _THREAD_SAFE in order for |
| accesses to errno(3) to be thread safe. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * prj-tree.adb (Imported_Or_Extended_Project_Of): For each non |
| limited imported project that is an extending project, return |
| a project being extended if it has the expected name. |
| |
| 2014-07-18 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.ads, s-os_lib.adb (Set_File_Last_Modify_Time_Stamp): New |
| routine to set the last modification time stamp for the given file. |
| * gnatchop.adb (File_Time_Stamp): Removed. |
| (Write_Unit): Use |
| Set_File_Last_Modify_Time_Stamp instead of ad-hoc implementation. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Aggregate_Constraint_Checks): Moved to sem_util. |
| * sem_util.ads, sem_util.adb (Aggregate_Constraint_Checks): |
| Moved here, so it can be shared with the resolution of 'Update, |
| whose argument shares some features with aggregates. |
| * sem_attr.adb (Resolve_Attribute, case 'Update): Apply |
| Aggregate_Constraint_Checks with the expression of each |
| association, so that the Do_Range_Check flag is set when needed. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Try_Container_Indexing): If the container |
| type is a derived type, the value of the inherited aspect is |
| the Reference operation declared for the parent type. However, |
| Reference is also a primitive operation of the new type, and |
| the inherited operation has a different signature. We retrieve |
| the right one from the list of primitive operations of the |
| derived type. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Update comment. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Needs_Finalization): There is no reason why a |
| C type should not benefit from finalization actions. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * s-oscons-tmplt.c (NAME_MAX): Fix definition for Solaris |
| (FILENAME_MAX): Remove unneeded definition. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb, debug.adb: Update comments. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * par-ch4.adb (Simple_Expression): Add missing style check |
| for binary adding operators. |
| (Term): Add missing style check for multiplying operators. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * impunit.adb: Minor comment correction. |
| * widechar.adb, s-wchcon.ads: Minor comment corrections. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Build_Discrete_Static_Predicate): New name |
| for Build_Static_Predicate (Build_Predicate_Functions): |
| Don't try to build discrete predicate for real type. |
| (Build_Predicate_Functions): Report attempt to use |
| Static_Predicate function on real type as unimplemented. |
| * sem_util.adb (Check_Expression_Against_Static_Predicate): |
| Add guard to prevent blow up on predicate for real type. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.adb (Set_Static_Predicate): Simplify assertion to handle |
| properly static predicate on enumeration types and modular types |
| (not subtypes). |
| |
| 2014-07-18 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * scos.ads (SCO_Unit_Table_Entry): Add a field to keep track of |
| the corresponding source file index. |
| * get_scos.ads (Get_SCOs): Add a default value for it. |
| * par_sco.adb (SCO_Record): Fill the corresponding value. |
| * scos.h: New. |
| |
| 2014-07-18 Vincent Celier <celier@adacore.com> |
| |
| * a-strunb-shared.adb, s-auxdec.ads, s-rannum.adb, atree.ads, |
| urealp.adb, vms_data.ads, lib.ads, s-auxdec-vms_64.ads: Minor |
| reformatting. |
| * gnat_ugn.texi: Add documentation for new gnatmem switch -t. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * g-sercom.ads (Set): document possible data loss. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, cases Input, |
| Output, Read, Write): If the restriction No_Streams is active, |
| replace each occurrence of a stream attribute by an explicit |
| Raise statement. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * par_sco.adb, a-reatim.ads, exp_attr.adb, sem_util.adb: Minor |
| reformatting. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): New flag and |
| function. |
| (Set_Has_Out_Or_In_Out_Parameter): New procedure. |
| * sem_ch6.adb (Set_Formal_Mode): Set Has_Out_Or_In_Out_Parameter flag. |
| * sem_res.adb (Resolve_Call): Error if call of Ada 2012 function |
| with OUT or IN OUT from earlier Ada mode (e.g. Ada 2005) |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * bcheck.adb (Check_Consistent_Restrictions): |
| Remove obsolete code checking for violation of |
| No_Standard_Allocators_After_Elaboration (main program) |
| * bindgen.adb (Gen_Adainit): Handle |
| No_Standard_Allocators_After_Elaboration |
| (Gen_Output_File_Ada): ditto. |
| * exp_ch4.adb (Expand_N_Allocator): Handle |
| No_Standard_Allocators_After_Elaboration. |
| * Makefile.rtl: Add entry for s-elaall |
| * rtsfind.ads: Add entry for Check_Standard_Allocator. |
| * s-elaall.ads, s-elaall.adb: New files. |
| * sem_ch4.adb (Analyze_Allocator): Handle |
| No_Standard_Allocators_After_Elaboration. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb, |
| ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses. |
| Remove AB parameter from ali files and all uses. |
| Remove Allocator_In_Body and all uses. |
| |
| 2014-07-18 Robert Dewar <dewar@adacore.com> |
| |
| * g-expect-vms.adb: Add comment. |
| |
| 2014-07-18 Thomas Quinot <quinot@adacore.com> |
| |
| * par_sco.adb (Is_Logical_Operation): return True for |
| N_If_Expression. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute, case 'Update): Do full |
| analysis and resolution of each choice in the associations within |
| the argument of Update, because they may be variable names. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition |
| actions before the generated if statement. |
| |
| 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * gnat_ugn.texi Enhance the documentation of |
| switches -gnateA and -gnateV. |
| |
| 2014-07-18 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Build_Default_Subtype): Add missing condition |
| so that code matches description: use the full view of the base |
| only if the base is private and the subtype is not. |
| |
| 2014-07-17 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_disp.adb: Minor reformatting. |
| * exp_disp.adb: Minor code reorganization. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not |
| require an explicit SSO attribute definition clause on a composite type |
| just because one of its components has one. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite |
| attribute out of existence if the enclosing pragma is ignored. |
| * sem_util.adb: Minor reformatting. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Expand_Array_Aggregate): Handle properly an |
| array aggregate expanded into assignments when it appears as a |
| local declaration in an inlined body. |
| |
| 2014-07-17 Doug Rupp <rupp@adacore.com> |
| |
| * init.c [__ANDROID__]: Modify for ZCX. |
| * exp_aggr.adb: Minor reformatting |
| * sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads, |
| exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi, |
| scng.adb: Remove incorrect usage "allow to" and "allows to". |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_dist.adb: Minor reformatting. |
| |
| 2014-07-17 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Improve documentation of Unrestricted_Access. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam |
| (Add_Invariants): Set Nam to Name_Type_Invariant if from aspect. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a |
| non-bit-packed array, propagate Reverse_Storage_Order to the |
| packed array type. |
| |
| 2014-07-17 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.adb: Fix comment. |
| * exp_pakd.adb: Minor reformatting. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * bindgen.adb (Gen_Elab_Calls): Skip reference to elab |
| entity if none exists (Gen_Elab_Calls): Complain if clash with |
| No_Multiple_Elaboration. |
| * s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration. |
| * sem_util.adb (Build_Elaboration_Entity): Skip building entity |
| if not needed. |
| * gnat_rm.texi: Document restriction No_Multiple_Elaboration. |
| * sem_ch4.adb: Minor comment updates. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type |
| of function call for later use when shared passive objects |
| are involved. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * par-ch13.adb (Get_Aspect_Specifications): |
| Catch a case where the argument of SPARK aspect Refined_State |
| is not properly parenthesized. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend |
| the lifetime of a reference to an Ada 2012 container element. |
| (Is_Element_Reference): New routine. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * ali.ads: Minor comment fix. |
| * lib-writ.adb: Minor reformatting. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit |
| in ASIS mode, load another subunit only if it a subunit of the |
| current one, not a sibling that has been reached through the |
| analysis of an ancestor. This allows the construction of the |
| ASIS tree for the subunit even when sibling subunits have errors. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): Remove the guard which |
| prevents the analysis of various contracts when the associated |
| construct is erroneous. |
| * sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the |
| SPARK_Pragma of an illegal or a partially decorated construct. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * s-imguns.ads: Minor reformatting. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Build_Finalization_Master): Move all local |
| variables to the proper code section. When looking for an existing |
| finalization master, inspect the ultimate ancestor type of the |
| full view. |
| * sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add entries for aspect Annotate. |
| * gnat_rm.texi: Document Entity argument for pragma Annotate and |
| Annotate aspect. |
| * sem_ch13.adb (Analyze_Aspect_Specification): Add processing |
| for Annotate aspect. |
| * sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional |
| Entity argument at end. |
| * sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect. |
| |
| 2014-07-17 Tristan Gingold <gingold@adacore.com> |
| |
| * s-imguns.ads: Fix minor typo. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * sprint.adb: Minor reformatting. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb (Write_Itype): Print proper header for string |
| literal subtype. |
| |
| 2014-07-17 Steve Baird <baird@adacore.com> |
| |
| * sinfo.ads, sem_scil.ads: Improve comments, minor reformatting. |
| |
| 2014-07-17 Vincent Celier <celier@adacore.com> |
| |
| * gnatbind.adb: Change in message "try ... for more information". |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb: Code clean up. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Find_Last_Init): Relocate local variables to |
| the relevant code section. Add new local constant Obj_Id. When |
| a limited controlled object is initialized by a function call, |
| the build-in-place object access function call acts as the last |
| initialization statement. |
| * exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine. |
| (Is_Secondary_Stack_BIP_Func_Call): Code reformatting. |
| * exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms, |
| propagate intrinsic flag to renamed entity, to allow e.g. renaming |
| of Unchecked_Conversion. |
| * sem_ch3.adb (Analyze_Declarations): Do not analyze contracts |
| if the declaration has errors. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether |
| container is busy before checking whether capacity allows for |
| a further insertion. Insertion in a busy container that is full |
| raises Program_Error rather than Capacity_Error. Previous to that |
| patch which exception was raised varied among container types. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * g-comlin.ads, g-comlin.adb: Minor clean up. |
| |
| 2014-07-17 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Update gnatpp doc. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document new restriction No_Long_Long_Integers. |
| * exp_ch4.adb (Make_Array_Comparison_Op): Add note that we |
| could do this by actually expanding a real generic. |
| * a-tags.ads: Add comments about performance. |
| * sprint.adb (Sprint_Node_Actual, case N_Object_Declaration): |
| Print Etype of defining identifier, rather than the object |
| definition. More information. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_dist.adb: Minor documentation clarification. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Is_Aliased): Revert previous change. |
| |
| 2014-07-17 Vincent Celier <celier@adacore.com> |
| |
| * g-comlin.adb (Try_Help): New procedure. |
| (Getopt): Use new procedure Try_Help. |
| * g-comlin.ads (Try_Help): New procedure. |
| |
| 2014-07-17 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Minor update. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Improve documentation of Unrestricted_Access. |
| * sinfo.ads: Document restriction on aggregates (must expand to |
| assignments if one or more assignments needs expansion, e.g. for |
| controlled types). |
| * sem_ch13.adb: All warning messages regarding bit order should |
| be info: messages. |
| * gnat_ugn.texi: Minor correction of missing @ on @code |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer. |
| * s-rident.ads (Partition_Boolean_Restrictions): Add |
| No_Long_Long_Integer. |
| * sem_ch3.adb (Modular_Type_Declaration): Size must be <= |
| Long_Integer'Size if restriction No_Long_Long_Integer is active. |
| (Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer |
| as the implicit base type for a signed integer type declaration |
| if restriction No_Long_Long_Integer is active. |
| * sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for |
| No_Long_Long_Integer. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads, |
| einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb, |
| repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb, |
| sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb, |
| treepr.adb, lib-xref.adb: Remove the word kludge from ada sources. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Remove -gnatdQ. |
| * exp_disp.adb: Remove -gnatdQ. |
| * a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads, |
| a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads, |
| rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads, |
| a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads, |
| sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads, |
| a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.adb: Minor reformatting and comment additions. |
| * checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New |
| function. |
| * exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed. |
| (Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed. |
| * gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed. |
| * gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check. |
| * snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check. |
| * types.ads (Duplicated_Tag_Checks_Suppressed): New check. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Minor comment updates. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Make_Explicit_Dereference): If the expression |
| being dereferenced is a generalized indexing, reset the overloaded |
| flag on the generalized indexing call, consistent with the |
| resetting of the flag on the original indexed component. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Document advise not to mix -gnatV? and |
| optimization. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Insert_Valid_Check): Don't insist on a name |
| for the prefix when we make calls to Force_Evaluation and |
| Duplicate_Subexpr_No_Checks. |
| * exp_util.adb (Is_Volatile_Reference): Handle all cases properly |
| (Remove_Side_Effects): Handle all volatile references right |
| (Side_Effect_Free): Volatile reference is never side effect free |
| * sinfo.ads (N_Attribute_Reference): Add comments explaining |
| that in the tree, the prefix can be a general expression. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract, |
| Analyze_Subprogram_Contract): Add comments on SPARK_Mode save/restore. |
| * sem_ch7.adb (Analyze_Package_Body_Contract, |
| Analyze_Package_Contract): Add comments on SPARK_Mode save/restore. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.ads, exp_util.ads: Document Insert_Action_After, |
| Store_After_Actions_In_Scope. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aux.ads: Minor comment addition. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Make_Call_Into_Operator): If the call is already |
| a rewriting of an operator node, there are no actuals to be |
| propagated from original node to rewritten node when in ASIS mode. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract, |
| Analyze_Subprogram_Contract): Add new local variable Mode. Save |
| and restore the SPARK mode of the related construct in a |
| stack-like fashion. |
| * sem_ch7.adb (Analyze_Package_Body_Contract, |
| Analyze_Package_Contract): Add new local variable Mode. Save and |
| restore the SPARK mode of the related construct in a stack-like fashion. |
| * sem_util.adb Remove with and use clause for Opt. |
| (Restore_SPARK_Mode): New routine. |
| (Save_SPARK_Mode_And_Set): New routine. |
| * sem_util.ads Add with and use clause for Opt. |
| (Restore_SPARK_Mode): New routine. |
| (Save_SPARK_Mode_And_Set): New routine. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Is_Aliased): Transient objects |
| within an expression with actions cannot be considered aliased. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * sem.ads (Scope_Stack_Entry): Reorganize storage of action lists; |
| introduce a new list (cleanup actions) for each (transient) scope. |
| * sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for |
| N_Block_Statement |
| * exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram. |
| * exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common |
| processing for Store_xxx_Actions_In_Scope. |
| (Build_Cleanup_Statements): Allow for a list of additional |
| cleanup statements to be passed by the caller. |
| (Expand_Cleanup_Actions): Take custom cleanup actions associated |
| with an N_Block_Statement into account. |
| (Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry |
| reorganization (refactoring only, no behaviour change). |
| (Make_Transient_Block): Add assertion to ensure that the current |
| scope is indeed a block (namely, the entity for the transient |
| block being constructed syntactically, which has already been |
| established as a scope). If cleanup actions are present in the |
| transient scope, transfer them now to the transient block. |
| * exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the |
| called function while it is still present as the name in a call |
| in the tree. This may not be the case later on if the call is |
| rewritten into a transient block. |
| * exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions |
| inserted after calling a protected operation on a shared passive |
| protected must be performed in a block finalizer, not just |
| inserted in the tree, so that they are executed even in case of |
| a normal (RETURN) or abnormal (exception) transfer of control |
| outside of the current scope. |
| * exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation |
| * sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for |
| Scope_Stack_Entry reorganization. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD |
| call for types that do not have an explicit attribute definition |
| clause for External_Tag, as their default tag may clash with an |
| explicit tag defined for some other type. |
| |
| 2014-07-17 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Is_Controlled_Function_Call): Recognize a |
| controlled function call with multiple actual parameters that |
| appears in Object.Operation form. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove |
| entity flag. |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case |
| External_Tag): No need to set entity flag. |
| * sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause): |
| Reimplement correctly in terms of Has_Rep_Item. |
| |
| 2014-07-17 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped): |
| Start examining the tree at the node passed to |
| Establish_Transient_Scope (not its parent). |
| * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): |
| The access type for the variable storing the reference to |
| the call must be declared and frozen prior to establishing a |
| transient scope. |
| * exp_ch9.adb: Minor reformatting. |
| |
| 2014-07-17 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.ads: Minor comment update. |
| |
| 2014-07-17 Tristan Gingold <gingold@adacore.com> |
| |
| * sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings. Fix some |
| indentation. |
| * socket.c: Remove #warning to avoid warning. |
| * expect.c: Indent some preprocessor directives to clarify |
| nested if. Do not use wait.h on PikeOS. Add ATTRIBUTE_UNUSED |
| to remove warnings. |
| * env.c: Fix indentation. Port to PikeOS. |
| * gsocket.h: Port to PikeOS. Remove #warning. |
| * terminals.c: Port to PikeOS. Fix indentation of the stubs. |
| Add ATTRIBUTE_UNUSED to stubs arguments. Fix return statement |
| of stubbed __gnat_setup_parent_communication. |
| * adaint.c: Port to PikeOS. Reindent some preprocessor |
| directives to clarify nested if. Fix indentation. Add missing |
| ATTRIBUTE_UNUSED. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb: Minor reformatting. |
| |
| 2014-07-17 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting. |
| |
| 2014-07-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_case.adb (Check_Choice_Set): If the case expression is the |
| expression in a predicate, do not recheck coverage against itself, |
| to prevent spurious errors. |
| * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that |
| expression comes from an aspect specification, to prevent spurious |
| errors when expression is a case expression in a predicate. |
| |
| 2014-07-17 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c, adaint.h (__gnat_set_executable): Add mode parameter. |
| * s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter. |
| |
| 2014-07-17 Vincent Celier <celier@adacore.com> |
| |
| * gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb, |
| gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output |
| the usage for an erroneous invocation of a gnat tool. |
| |
| 2014-07-16 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: Get the target parameters only if -nostdinc was |
| not specified. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.adb (Insert_Valid_Check): If the expression is a packed |
| component of a modular type of the right size the data is always |
| valid. This os particularly useful if the component is part of |
| a volatile variable. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.ads: Minor documentation fix. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Find_Type_Name): Diagnose properly |
| a private extension completion that is an interface definition |
| with an interface list. |
| |
| 2014-07-16 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnatls.adb (Gnatls): Code clean ups. |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * sinfo.ads, sinfo.adb (N_Compound_Statement): New node kind. |
| * sem.adb (Analyze): Handle N_Compound_Statement. |
| * sprint.adb (Sprint_Node_Actual): Ditto. |
| * sem_ch5.ads, sem_ch5.adb (Analyze_Compound_Statement): New |
| procedure to handle N_Compound_Statement. |
| * exp_aggr.adb (Collect_Initialization_Statements): |
| Use a proper compound statement node, instead of a bogus |
| expression-with-actions with a NULL statement as its expression, |
| to wrap collected initialization statements. |
| * freeze.ads, freeze.adb |
| (Explode_Initialization_Compound_Statement): New public procedure, |
| lifted from Freeze_Entity. |
| (Freeze_Entity): When freezing |
| an object with captured initialization statements and without |
| delayed freezing, explode compount statement. |
| * sem_ch4.adb (Analyze_Expression_With_Actions): Remove special |
| case that used to handle bogus EWAs with NULL statement as |
| the expression. |
| * exp_ch13.adb (Expand_N_Freeze_Entity): For an object with |
| delayed freezing and captured initialization statements, explode |
| compound statement. |
| |
| 2014-07-16 Gary Dismukes <dismukes@adacore.com> |
| |
| * g-rewdat.adb, g-rewdat.ads: Minor reformatting. |
| |
| 2014-07-16 Doug Rupp <rupp@adacore.com> |
| |
| * s-interr-hwint.adb: Casing error on parameter. |
| |
| 2014-07-16 Pascal Obry <obry@adacore.com> |
| |
| * Makefile.rtl: Add g-rewdat.o dependencies in |
| GNATRTL_NONTASKING_OBJS. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_case.adb: Code clean up. |
| |
| 2014-07-16 Vincent Celier <celier@adacore.com> |
| |
| * make.adb: Do not read gnat.adc when gnatmake is invoked |
| with -gnatA. |
| |
| 2014-07-16 Pascal Obry <obry@adacore.com> |
| |
| * gnat_rm.texi, impunit.adb, g-rewdat.adb, g-rewdat.ads: Initial |
| implementation of GNAT.Rewrite_Data. |
| |
| 2014-07-16 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb (Normalize): New function. |
| (Gnatls): Get the target parameters. On targets other than VMS, |
| normalize the path names in the source search path, the object search |
| path and the project search path. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_case.adb: Avoid self-checking of case expressions in |
| dynamic predicates. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document effect of Suppress_Initialization on tags and |
| discriminants. |
| |
| 2014-07-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * switch-b.adb (Scan_Binder_Switches): Add missing guard. |
| |
| 2014-07-16 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi: Fix typo. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Case_Expression): Do not expand case |
| expression if it is the specification of a subtype predicate: |
| it will be expanded when the return statement is analyzed, or |
| when a static predicate is transformed into a static expression |
| for evaluation by the front-end. |
| * sem_ch13.adb (Get_RList): If the expression for a static |
| predicate is a case expression, extract the alternatives of the |
| branches with a True value to create the required statically |
| evaluable expression. |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_prag.adb (Expand_Pragma_Check): Use the location of the |
| expression, not the location of the aspect, for all generated |
| code, so that in particular the call to raise_assert_failure |
| gets the sloc of the associated condition. |
| * exp_ch6.adb |
| (Expand_Subprogram_Contract.Build_Postconditions_Procedure): |
| Set an explicit End_Label on the handled sequence of statements |
| for the _Postconditions procedure so that the implicit return |
| statement does not erroneously get associated with code generated |
| for the last condition in postconditions. |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * ug_words: Fix name of VMS synonym for -gnatw.z (SIZE_ALIGNMENT, |
| not SIZE_ALIGN) and -gnatw.Z (NOSIZE_ALIGNMENT, not NOSIZE_ALIGN). |
| * vms_data.ads: Add missing spaces in VMS synonyms for -gnatw.z / |
| -gnatw.Z. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_prag.adb, sem_util.adb, sem_res.adb, sem_ch13.adb: |
| Minor code reorganization (use Is_Access_Type, not in Access_Kind). |
| * exp_ch3.adb: Minor code reorganization, use Is_Access_Type, |
| not in Access_Kind. |
| * par-ch4.adb (At_Start_Of_Attribute): New function |
| (P_Simple_Expression): Better msg for bad attribute prefix. |
| * scans.ads: Minor reformatting. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute, case 'Update): If choice is a |
| static constant, check that in belongs to the corresponding index |
| subtype, to produce the proer warning when expansion is disabled. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Warn on incompatible size/alignment. |
| * gnat_ugn.texi: Document -gnatw.z and -gnatw.Z. |
| * ug_words: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for -gnatw.z/-gnatw.Z |
| * usage.adb: Add lines for -gnatw.z/-gnatw.Z. |
| * vms_data.ads: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for |
| -gnatw.z/-gnatw.Z |
| * warnsw.adb: Set Warn_On_Size_Alignment appropriately. |
| * warnsw.ads (Warn_On_Size_Alignment): New flag Minor |
| reformatting. |
| |
| 2014-07-16 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Process_Declarations): Reinstate the check on |
| a hook object to ensure that the related transient declaration |
| is finalizable. |
| * exp_util.adb (Is_Aliased): Do not consider expresison with |
| actions as a special context. |
| (Requires_Cleanup_Actions): Reinstate the check on a hook object to |
| ensure that the related transient declaration is finalizable. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * checks.ads, checks.adb (Allocation_Checks_Suppressed): New function. |
| * snames.ads-tmpl: Add Allocation_Check to list of check names. |
| * types.ads: Add Allocation_Check to list of check names. |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_util.adb (Enter_Name): replace bogus test for presence of |
| Corresponding_Remote_Type with correct test on Ekind. |
| * sem_res.adb (Valid_Conversion): ditto; also clarify validity |
| of calls to Corresponding_ Remote_Type (documentation fix). |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document illegal case of Unrestricted_Access. |
| * sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix |
| where it applies. |
| (Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use. |
| * sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Document binder switch -Ra. |
| * gnatbind.adb (List_Closure_Display): Implement -Ra switch |
| (List_Closure_All). |
| * opt.ads (List_Closure_All): New switch. |
| * switch-b.adb (Scan_Binder_Switches): Recognize -Ra to set |
| List_Closure_All. |
| |
| 2014-07-16 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Minor edits, to make case consistent in names |
| of types and fields. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document erroneous mixing of thin pointers and |
| unrestricted access |
| * gnat_ugn.texi: Add note on size of access types about thin |
| pointers and the use of attribute Unrestricted_Access. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cbdlli.ads, a-cbdlli.adb, a-cbhama.ads, a-cbhama.adb, |
| * a-cbhase.ads, a-cbhase.adb, a-cborma.ads, a-cborma.adb, |
| * a-cborse.ads, a-cborse.adb, a-cobove.ads a-cobove.adb: Add Control |
| machinery to detect tampering on bounded vectors. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that leading/trailing asterisks are |
| now implied for the pattern match string for pragma Warnings |
| and Warning_As_Error. |
| * sem_prag.adb (Acquire_Warning_Match_String): New procedure. |
| (Analyze_Pragma, case Warning_As_Error): Call |
| Acquire_Warning_Match_String. |
| (Analyze_Pragma, case Warnings): Call Acquire_Warning_Match_String. |
| |
| 2014-07-16 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Document need for project file |
| for --incremental switch for gnat2xml. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Fix example of non-packable components in packed |
| records section. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * s-tpoben.adb, s-tasren.adb, s-interr.adb, s-interr-hwint.adb, |
| s-shasto.adb, s-interr-vms.adb, s-interr-sigaction.adb: Avoid use of |
| upper case in exception messages. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * snames.ads-tmpl, sem_attr.adb, exp_attr.adb: Same_Storage attribute |
| is renamed Has_Same_Storage. |
| * gnat_rm.texi: Document missing SPARK pragmas and attributes. |
| * sem_prag.adb: Minor comment fix (use LOCAL_NAME in syntax |
| descriptions). |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb, sem_attr.adb, exp_ch4.adb, a-cohase.ads, |
| a-coinho-shared.adb, a-coinho-shared.ads: Minor reformatting. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Add note that integrated |
| preprocessing cannot be applied to configuration pragma files. |
| |
| 2014-07-16 Yannick Moy <moy@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute/cases Pred |
| and Succ): Always enable range check on fixed-point types if |
| not suppressed for the type. |
| |
| 2014-07-16 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (State_Has_Enabled_Property): |
| Account for an external property denoted by an others choice. |
| |
| 2014-07-16 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.ads, exp_ch4.adb (Find_Hook_Context): Relocated to Exp_Util. |
| * exp_ch7.adb (Process_Declarations): There is no need to check |
| that a transient object being hooked is controlled as it would |
| not have been hooked in the first place. |
| * exp_ch9.adb Remove with and use clause for Exp_Ch4. |
| * exp_util.adb (Find_Hook_Context): Relocated from Exp_Ch4. |
| (Is_Aliased): A renaming of a transient controlled object is |
| not considered aliasing when it occurs within an expression |
| with actions. |
| (Requires_Cleanup_Actions): There is no need to |
| check that a transient object being hooked is controlled as it |
| would not have been hooked in the first place. |
| * exp_util.ads (Find_Hook_Context): Relocated from Exp_Ch4. |
| |
| 2014-07-16 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch13.adb (Insert_After_SPARK_Mode): Moved to |
| the outer level of routine Analyze_Aspect_Specifications. Ensure |
| that the corresponding pragmas of aspects Initial_Condition and |
| Initializes are inserted after pragma SPARK_Mode. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Handle |
| properly a choice list with more than one choice, where each |
| is an aggregate denoting a sequence of array indices for a |
| multidimentional array. For SPARK use. |
| |
| 2014-07-16 Vadim Godunko <godunko@adacore.com> |
| |
| * a-coinho-shared.adb (Adjust): Create |
| copy of internal shared object and element when source container |
| is locked. |
| (Copy): Likewise. |
| (Query_Element): Likewise. |
| (Update_Element): Likewise. |
| (Constant_Reference): Likewise. Raise Constraint_Error on attempt |
| to get reference for empty holder. |
| (Reference): Likewise. |
| |
| 2014-07-16 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch4.adb (Find_Hook_Context): New subprogram, extracted |
| from Process_Transient_Oject. |
| * exp_ch4.ads: Ditto. |
| * exp_ch9.adb (Build_Class_Wide_Master): Insert the _master |
| declaration as an action on the topmost enclosing expression, |
| not on a possibly conditional subexpreession. |
| |
| 2014-07-16 Vadim Godunko <godunko@adacore.com> |
| |
| * a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads: |
| Fix parameter mode of Update_Element. |
| |
| 2014-07-16 Robert Dewar <dewar@adacore.com> |
| |
| * a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor |
| reformatting. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cohase.ads: Type Iterator must be controlled, so that the |
| tampering bit is properly set through an iteration. |
| * a-cohase.adb: Add Finalize operation for type Iterator. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for |
| tampering checks. |
| |
| 2014-07-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-coinho-shared.adb: Fix spurious accessibility check. |
| |
| 2014-06-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gcc-interface/utils.c (process_attributes): Use set_decl_tls_model. |
| |
| 2014-06-14 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR ada/61505 |
| * gnat_rm.texi: Fix errors with makeinfo 5.1. |
| |
| 2014-06-14 Arnaud Charlet <charlet@adacore.com> |
| |
| PR ada/61505 |
| * gnat_rm.texi: Attempt to fix error with makeinfo 5.1. |
| |
| 2014-06-13 Yannick Moy <moy@adacore.com> |
| |
| * exp_attr.adb: Fix typo in comment. |
| * gnat1drv.adb (Adjust_Global_Switches): Force float overflow |
| checking in GNATprove_Mode. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-coinho-shared.adb, a-coinho-shared.ads: Update shared version. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor |
| reformatting. |
| |
| 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Add local |
| variable Missing_Parentheses. Emit an error when a state |
| declaration with options appears without parentheses. Add a |
| guard to prevent a bogus error when a state declaration may be |
| interpreted as an option if a previous declaration with options |
| was not parenthesized. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Validate_Alignment_Check_Warnings: New procedure |
| (Apply_Address_Clause_Check): Make Aligment_Warnings table entry. |
| * checks.ads (Alignment_Warnings_Record): New type. |
| (Alignment_Warnings): New table |
| (Validate_Alignment_Check_Warnings): New procedure. |
| * errout.adb (Delete_Warning_And_Continuations): New procedure |
| (Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle |
| Warnings_Treated_As_Errors (Finalize): Minor reformatting |
| * errout.ads (Warning_Msg): New variable |
| (Delete_Warning_And_Continuations): New procedure |
| * erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count. |
| * gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-coinho.adb, a-coinho.ads: Add Reference machinery. |
| |
| 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * errout.adb (SPARK_Msg_N): New routine. |
| (SPARK_Msg_NE): New routine. |
| * errout.ads Add a section on SPARK-related error routines. |
| (SPARK_Msg_N): New routine. |
| (SPARK_Msg_NE): New routine. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that |
| pragma Abstract_State is always inserted after SPARK_Mode. |
| (Insert_After_SPARK_Mode): New routine. |
| * sem_prag.adb (Analyze_Abstract_State, |
| Analyze_Constituent, Analyze_External_Property, |
| Analyze_External_Property_In_Decl_Part, Analyze_Global_Item, |
| Analyze_Global_List, Analyze_Initialization_Item, |
| Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item, |
| Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of, |
| Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part, |
| Analyze_Refined_Global_In_Decl_Part, |
| Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause, |
| Check_Aspect_Specification_Order, Check_Constituent_Usage, |
| Check_Declaration_Order, Check_Dependency_Clause, |
| Check_Duplicate_Mode, Check_Duplicate_Option, |
| Check_Duplicate_Property, Check_External_Properties, |
| Check_External_Property, Check_Function_Return, |
| Check_Matching_Constituent, Check_Matching_State, |
| Check_Mode_Restriction_In_Enclosing_Context, |
| Check_Mode_Restriction_In_Function, Check_Refined_Global_Item, |
| Check_State_And_Constituent_Use, Create_Or_Modify_Clause, |
| Has_Extra_Parentheses, Inconsistent_Mode_Error, |
| Match_Error, Propagate_Part_Of, Report_Extra_Clauses, |
| Report_Extra_Constituents_In_List, Report_Extra_Inputs, |
| Report_Unrefined_States, Report_Unused_Constituents, |
| Report_Unused_States, Role_Error, Usage_Error): |
| Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls |
| to report semantic errors only when SPARK_Mode is on. |
| (Analyze_Depends_In_Decl_Part): Do not check the syntax of |
| pragma Depends explicitly, this is now done by the analysis. |
| (Analyze_Global_In_Decl_List): Do not check the syntax of |
| pragma Global explicitly, this is now done by the analysis. |
| (Analyze_Initializes_In_Decl_Part): Do not check the syntax of |
| pragma Initializes explicitly, this is now done by the analysis. |
| (Analyze_Part_Of): Do not check the syntax of the encapsulating |
| state, this is now done by the analysis. |
| (Analyze_Pragma): Do |
| not check the syntax of a state declaration, this is now done |
| by the analysis. |
| (Analyze_Refined_Depends_In_Decl_Part): Do not |
| check the syntax of pragma Refined_Depends explicitly, this is now |
| done by the analysis. |
| (Analyze_Refined_Global_In_Decl_Part): Do |
| not check the syntax of pragma Refined_Global explicitly, this is |
| now done by the analysis. |
| (Analyze_Refined_State_In_Decl_Part): |
| Do not check the syntax of pragma Refined_State explicitly, this |
| is now done by the analysis. |
| (Check_Dependence_List_Syntax): Removed. |
| (Check_Global_List_Syntax): Removed. |
| (Check_Initialization_List_Syntax): Removed. |
| (Check_Item_Syntax): Removed. |
| (Check_Missing_Part_Of): Do not consider items from an instance. |
| (Check_Refinement_List_Syntax): Removed. |
| (Check_State_Declaration_Syntax): Removed. |
| (Collect_Global_List): Do not raise Program_Error when the input is |
| malformed. |
| (Process_Global_List): Do not raise Program_Error when the input |
| is malformed. |
| * sem_ch13.adb: Minor reformatting. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Find_Type_Name): Diagnose a private type completion |
| that is an interface definition with an interface list. |
| (Process_Full_View): Move error message on missmatched interfaces |
| between views to the declaration of full view, for clarity. |
| * sem_ch9.adb (Check_Interfaces): Move error message to full view, |
| for clarity. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change |
| reason to Overflow. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * makeutl.adb: Minor reformatting. |
| |
| 2014-06-13 Gail Schenker <schenker@adacore.com> |
| |
| * debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and |
| associated flag (d.z), no longer needed. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): For Import and |
| Export aspects, do not check whether a corresponding Convention |
| aspect has been specified. Convention is optional in Ada2012, |
| and defaults to Convention_Ada. |
| |
| 2014-06-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * checks.adb (Apply_Address_Clause_Check): Only issue the new |
| warning if the propagation warning is issued. |
| |
| 2014-06-13 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch4.adb: Minor reformatting. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Pred): |
| Handle float range check case (Expand_N_Attribute_Reference, |
| case Succ): Handle float range check case. |
| * sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float |
| range check case. |
| |
| 2014-06-13 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.ads (Compute_Builder_Switches): Change name of |
| parameter Root_Environment to Env. |
| * prj-conf.adb (Check_Switches): Call Locate_Runtime with the |
| Env parameter of procedure Get_Or_Create_Configuration_File. |
| (Locate_Runtime): Call Find_Rts_In_Path with the Project_Path |
| of new parameter Env. |
| * prj-conf.ads (Locate_Runtime): New parameter Env of type |
| Prj.Tree.Environment. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Minor comment clarification for Check_Float_Overflow. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor |
| reformatting. |
| * sem_attr.adb: Minor code reformatting and simplification. |
| * checks.adb: Fix minor typo. |
| |
| 2014-06-13 Emmanuel Briot <briot@adacore.com> |
| |
| * g-comlin.adb (Get_Argument): fix expansion |
| of command line arguments (e.g. "*.adb") when using a custom |
| parser. The parser was not passed to the recursive call, and |
| thus we were trying to do the expansion on the default command |
| line parser. |
| |
| 2014-06-13 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch9.adb: Minor reformatting. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case 'Old): |
| To determine whether the attribute should be expanded, examine |
| whether the enclosing postcondition pragma is to be checked, |
| rather than using the internal flag Assertions_Enabled. |
| |
| 2014-06-13 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Minor fixes. |
| * gnat_ugn.texi: Added a missing "@itemize". |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Remove -gnatd.1 flag documentation. |
| * layout.adb (Layout_Type): Remove special handling of size |
| for anonymous access type. |
| * sem_ch3.adb (Replace_Type): Remove special handling of size |
| for anonymous access type. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document debug flag -gnatd.1. |
| * layout.adb (Layout_Type): Size change for anonymous access |
| types under -gnatd.1. |
| * sem_ch3.adb (Replace_Type): Size change for anonymous access |
| types under -gnatd.1. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * layout.adb (Layout_Type): Anonymous access types designating |
| unconstrained arrays are always thin pointers. |
| * sem_ch3.adb (Replace_Type): Anonymous access types designating |
| unconstrained arrays are always thin pointers. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call |
| to resolve the prefix of an attribute that is an entity name |
| and may be a parameterless call. Minor code reorganization. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit): |
| Removed. |
| * opt.ads (Compiler_Unit): New flag. |
| * par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit |
| for null statement sequence (not allowed in compiler unit). |
| * par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during |
| parsing. |
| * restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new |
| calling sequence. |
| * sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for |
| Check_Compiler_Unit. |
| * sem_ch6.adb (Analyze_Extended_Return_Statement): Call |
| Check_Compiler_Unit (this construct is not allowed in compiler |
| units). |
| * sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]): |
| Set Opt.Compiler_Unit. |
| |
| 2014-06-13 Geert Bosch <bosch@adacore.com> |
| |
| * gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi, |
| s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads, |
| s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting. |
| |
| 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Remove the check concerning volatile |
| types in SPARK as it is poorly placed and poorly formulated. The |
| check was flagging ALL volatile entities as illegal in SPARK. |
| * sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile |
| types as illegal in SPARK. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * sem_cat.adb: Minor reformatting. |
| |
| 2014-06-13 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo. |
| |
| 2014-06-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat_rm.texi: Add detail on SPARK_05 restriction. |
| |
| 2014-06-13 Bob Duff <duff@adacore.com> |
| |
| * s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links): |
| Add assertions requiring the secondary stack to be initialized. |
| * s-solita.ads (Init_Tasking_Soft_Links): Comment. |
| * s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the |
| secondary stack is initialized before calling Init_Tasking_Soft_Links, |
| by adding pragmas Elaborate_Body. |
| |
| 2014-06-13 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary |
| kludge disabling new legality check. |
| |
| 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Remove checks related to SPARK |
| volatile types. |
| (Freeze_Type): Volatile types are now illegal in SPARK. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add aspect Thread_Local_Storage. |
| * gnat_rm.texi: Document aspect Thread_Local_Storage. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_cat.adb (Validate_Static_Object_Name): A constant whose |
| value is a temporary that renames an aggregate is legal in a |
| preelaborated unit. Illegalities, if any will be detected in |
| the aggregate components. |
| |
| 2014-06-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads: Minor reformatting an comment expansion. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to |
| Tbuild. |
| * tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from |
| Back_End. |
| * gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild |
| * sem_warn.adb: Minor reformatting. |
| |
| 2014-06-13 Doug Rupp <rupp@adacore.com> |
| |
| * adaint.c (__gnat_open_new_temp) [VMS]: Open binary |
| files with rfm=udf. |
| |
| 2014-06-13 Yannick Moy <moy@adacore.com> |
| |
| * sem_warn.adb (Check_Unset_References): Take |
| case of Refined_Post into account in Within_Postcondition check. |
| |
| 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Volatile types are not allowed in |
| SPARK. |
| |
| 2014-06-13 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import, |
| Aspect_Export): Consider that variables may be set outside the program. |
| |
| 2014-06-13 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.adb (Make_Id): New function. |
| (Make_SC): New function. |
| (Set_RND): New procedure. |
| * back_end.ads (Make_Id): New function. |
| (Make_SC): New function. |
| (Set_RND): New procedure. |
| * einfo.ads: Minor comment updates. |
| * frontend.adb: Move Atree.Initialize call to Gnat1drv. |
| * gnat1drv.adb (Gnat1drv): New calling sequence for |
| Get_Target_Parameters. |
| (Gnat1drv): Move Atree.Initialize here from Frontend. |
| * targparm.adb (Get_Target_Parameters): New calling |
| sequence (Get_Target_Parameters): Handle pragma Restriction |
| (No_Dependence,..) |
| * targparm.ads (Get_Target_Parameters): New calling sequence. |
| |
| 2014-06-13 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_prag.adb (Process_Import_Or_Interface): Exit the homonym |
| loop if the pragma does not come from source, so that an implicit |
| pragma Import only applies to the first declaration, avoiding |
| possible conflicts with earlier explicit and implicit declarations |
| due to multiple Provide_Shift_Operators pragmas. |
| (Set_Imported): Remove previous fix that bypassed pragma duplication |
| error. |
| * gnat_rm.texi: Change 'equivalent' to 'similar' in description |
| of Provide_Shift_Operators. |
| |
| 2014-06-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Pass |
| string pointer directly to set_decl_section_name. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor reformatting. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Clause_Syntax): Add new |
| local variable Outputs. Account for the case where multiple |
| output items appear as an aggregate. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning |
| with ?j? not ??. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads: Minor reformatting. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add |
| new variable First_Node. Update the position after all insertions have |
| taken place to First_Node. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Remove debug flag -gnatd.1, no longer needed. |
| * layout.adb (Layout_Type): Remove test of -gnatd.1. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor reformatting. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Clause_Syntax): Add new |
| local variable Outputs. Account for the case where multiple |
| output items appear as an aggregate. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning |
| with ?j? not ??. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads: Minor reformatting. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add |
| new variable First_Node. Update the position after all insertions have |
| taken place to First_Node. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Remove debug flag -gnatd.1, no longer needed. |
| * layout.adb (Layout_Type): Remove test of -gnatd.1. |
| |
| 2014-06-11 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.ads: Minor reformatting. |
| * checks.adb (Determine_Range): Do not attempt to determine |
| the range of a deferred constant whose full view has not been |
| seen yet. |
| * sem_res.adb (Resolve): Remove undesirable guard against |
| resolving expressions from expression functions. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous |
| access types. |
| * layout.adb (Layout_Type): Make anonymous access types for |
| subprogram formal types and return types always thin. For now |
| only enabled if -gnatd.1 set. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality |
| rule for stream attributes of interface types (RM 13.13.2 (38/3)): |
| subprogram must be a null procedure. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Input_Item): Allow formal |
| parameters to appear as input_items in an initialization_list |
| of pragma Initializes. Encapsulation now applies to states and |
| variables only (as it should). Add RM references to key errors. |
| * sem_prag.adb (Set_Imported): Suppress errors |
| about preceding Imports when the pragma does not come from source, |
| which can happen through use of pragma Provide_Shift_Operators. |
| |
| 2014-06-11 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch3.adb: Minor reformatting. |
| * einfo.ads (Full_View): Minor comment update. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Is_Independent): New flag. |
| * einfo.ads (Is_Independent): New flag. |
| (Has_Independent_Components): Clean up and fix comments. |
| * sem_prag.adb (Fix_Error): Deal with changing argument |
| [of] to entity [for]. |
| (Analyze_Pragma, case Independent): Set Is_Independent flag |
| (Analyze_Pragma, case Independent_Components): Set Is_Independent flag |
| in all components of specified record. |
| |
| 2014-06-11 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Formal_Decimal_Fixed_Point_Type): |
| Set proper Etype on bounds of dummy type created for analysis |
| of the generic. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Minor comment fix (add missing section of dot |
| numeric flags). |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, switch-c.adb, sem_prag.adb, a-tgdico.ads, par-prag.adb, |
| opt.ads, a-finali.ads, snames.ads-tmpl: Remove all traces of |
| pragma/aspects Pure_05 Pure_12 Preelaborate_05. |
| * errout.adb (Output_Messages): Avoid duplicate output for |
| library level instance. |
| * sem_elab.adb (Is_Call_Of_Generic_Formal): Moved to outer level |
| (Check_Elab_Call): Add call to Is_Call_Of_Generic_Formal |
| * exp_ch4.adb (Expand_N_Op_Expon): New interface for Exp_Modular. |
| * s-expmod.ads, s-expmod.adb (Exp_Modular): Change interface to |
| accomodate largest modulus value. |
| * gnat_ugn.texi: Minor updates. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Package_Body): Do not attempt to |
| load body of generic package or its parent, if body is optional |
| and the unit does not require a body. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document System.Unsigned_Types. |
| * impunit.adb: System.Unsigned_Types (s-unstyp.ads) is user accessible. |
| * s-unstyp.ads: Update comments (this is now user available unit). |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * make.adb, sem_res.adb: Minor reformatting. |
| |
| 2014-06-11 Thomas Quinot <quinot@adacore.com> |
| |
| * a-astaco.ads, a-tags.ads, s-excdeb.ads, a-tgdico.ads, a-stmaco.ads, |
| a-except-2005.ads, s-except.ads, a-taside.ads, a-dynpri.ads, |
| a-chahan.ads, a-sytaco.ads, s-stalib.ads, a-strmap.ads: Change pragmas |
| Preelaborate_05 to just Preelaborate in runtime units, and similarly |
| change Pure_05 to just Pure. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not attempt |
| analysis if error has been posted on subprogram body. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality |
| rule given in RM 13.1 (8/1) for operational attributes to stream |
| attributes: the attribute must apply to a first subtype. Fixes |
| missing errors in ACATS test bdd2004. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch3.adb (Build_Record_Init_Proc): Don't build for variant |
| record type if restriction No_Implicit_Conditionals is active. |
| (Expand_N_Object_Declaration): Don't allow default initialization |
| for variant record type if restriction No_Implicit_Condition is active. |
| (Build_Variant_Record_Equality): Don't build for variant |
| record type if restriction No_Implicit_Conditionals is active. |
| * exp_ch4.adb (Expand_N_Op_Eq): Error if variant records with |
| No_Implicit_Conditionals. |
| * sem_aux.ads, sem_aux.adb (Has_Variant_Part): New function. |
| |
| 2014-06-11 Ramon Fernandez <fernandez@adacore.com> |
| |
| * i-cstrin.ads: Update comments. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Selected_Component): Handle properly a |
| selected component whose prefix is overloaded, when none of the |
| interpretations matches the expected type. |
| |
| 2014-06-11 Bob Duff <duff@adacore.com> |
| |
| * make.adb (Wait_For_Available_Slot): Give a more |
| informative error message; if the ALI file is not found, print |
| the full path of what it's looking for. |
| |
| 2014-06-11 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par> |
| option to specify the result file encoding. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads, sem_ch12.adb: Minor reformatting. |
| * debug.adb, erroutc.adb: Remove -gnatd.q debug switch. |
| * lib-xref.adb: Minor reformatting. |
| * restrict.adb: Minor code reorganization (put routines in |
| alpha order). |
| |
| 2014-06-11 Yannick Moy <moy@adacore.com> |
| |
| * einfo.ads: Minor typo in comment |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.ads, sinfo.adb: New attribute Uninitialized_Variable, for |
| formal private types and private type extensions, to indicate |
| variable in a generic unit whose uninitialized use suggest that |
| actual type should be fully initialized. |
| Needs_Initialized_Actual: removed, functionaity replaced by |
| the above. |
| * lib-xref.adb (Generate_Reference): Generate a reference for |
| variables of a formal type when the unit is not the main unit, |
| to enable appropriate warnings in an instance. |
| * sem_ch12.adb (Check_Ininialized_Type): Improve warning on use |
| of variable in a generic unit that suggests that actual type |
| should be full initialized. |
| * sem_warn.adb; (May_Need_Initialized_Actual): Make into procedure |
| and do not emot warning, which now only appears in an instance. |
| |
| 2014-06-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_ugn.texi: Fix minor typo. |
| |
| 2014-06-11 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb Add with and use clause for Sem_Ch10. |
| (Analyze_Declarations): Code reformatting. Analyze the contract |
| of a subprogram body stub at the end of the declarative region. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Spec_Id is |
| now a variable. Do not process the body if its contract is not |
| available. Account for subprogram body stubs when extracting |
| the corresponding spec. |
| * sem_ch6.ads (Analyze_Subprogram_Contract): Update the comment |
| on usage. |
| * sem_ch10.ads, sem_ch10.adb (Analyze_Subprogram_Body_Stub_Contract): |
| New routine. |
| * sem_prag.adb (Analyze_Depends_In_Decl_Part): |
| Account for subprogram body stubs when extracting the |
| corresponding spec. |
| (Analyze_Global_In_Decl_List): |
| Account for subprogram body stubs when extracting the |
| corresponding spec. |
| (Analyze_Refined_Depends_In_Decl_Part): |
| Use Find_Related_Subprogram_Or_Body to retrieve the declaration |
| of the related body. Spec_Is now a variable. Account for |
| subprogram body stubs when extracting the corresponding spec. |
| (Analyze_Refined_Global_In_Decl_Part): Use |
| Find_Related_Subprogram_Or_Body to retrieve the declaration |
| of the related body. Spec_Is now a variable. Account for |
| subprogram body stubs when extracting the corresponding spec. |
| (Collect_Subprogram_Inputs_Output): Account for subprogram body |
| stubs when extracting the corresponding spec. |
| |
| 2014-06-11 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (Process_Link): Do not invoke gnatlink with |
| -lgnarl or -lgnat. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Add debug flag -gnatd.q. |
| * erroutc.adb (Prescan_Message): Bomb if untagged warning with |
| -gnatd.q set. |
| * styleg.adb (Check_Xtra_Parens): Message should be a style |
| message. |
| * sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb, |
| par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb, |
| sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb, |
| sem_ch13.adb, lib-xref.adb: Add remaining warning tags. |
| |
| 2014-06-11 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Revised chapter on Implementation Defined |
| Characteristics. |
| |
| 2014-06-11 Geert Bosch <bosch@adacore.com> |
| |
| * s-exctab.adb: avoid race conditions in exception registration. |
| |
| 2014-06-11 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Warn_Insertion): New function. |
| (Error_Msg): Use Warn_Insertion and Prescan_Message. |
| (Error_Msg_Internal): Set Info field of error object. |
| (Error_Msg_NEL): Use Prescan_Message. |
| (Set_Msg_Text): Don't store info: at start of message. |
| (Skip_Msg_Insertion_Warning): New name for Set_Msg_Insertion_Warning. |
| (Skip_Msg_Insertion_Warning): Now just skips warning insertion. |
| * errout.ads: Document new ?$? and >$> insertion sequences |
| Document use of "(style)" and "info: " |
| * erroutc.adb (dmsg): Print several missing fields |
| (Get_Warning_Tag): Handle -gnatel case (?$?) (Output_Msg_Text): |
| Deal with new tagging of info messages |
| * erroutc.ads: Is_Info_Msg: New global (Error_Msg_Object): |
| Add field Info (Prescan_Message): New procedure, this procedure |
| replaces the old Test_Style_Warning_Serious_Unconditional_Msg |
| * errutil.adb, exp_util.adb, par-ch7.adb, sem_ch13.adb, sem_ch7.adb, |
| sem_elab.adb: Follow new rules for info message (info belongs |
| only at the start of a message, and only in the first message, |
| not in any of the continuations). |
| * gnat_ugn.texi: Document full set of warning tags. |
| |
| 2014-06-11 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_util.adb: Minor typo fix. |
| |
| 2014-06-11 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_warn.adb (Check_References): Do not emit spurious warnings |
| on uninitialzed variable of a formal private type if variable |
| is not read. |
| |
| 2014-06-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Use |
| set_decl_section_name accessor. |
| |
| 2014-05-22 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gcc-interface/utils.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6) |
| (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8) |
| (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * layout.adb: Minor reformatting. |
| * sem_prag.adb (Analyze_Pragma, case Inspection_Point): Call |
| dummy procedure ip. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * restrict.ads (Implementation_Restriction): Add entry for |
| No_Fixed_IO. |
| * rtsfind.ads: Add entries for Fixed_IO and Decimal_IO in |
| Ada.[Wide_[Wide_]Text_IO. |
| * s-rident.ads (Restriction_Id): Add entry for No_Fixed_IO. |
| * sem_attr.adb (Analyze_Attribute): Disallow fixed point types |
| for Img, Image, Value, Wide_Image, Wide_Value, Wide_Wide_Image, |
| Wide_Wide_Value if restriction No_Fixed_IO is set. |
| * sem_util.adb (Set_Entity_Checks): Check restriction No_Fixed_IO. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * gnatcmd.adb: Minor error msg changes (no upper case letter |
| at start). |
| * sem_ch12.adb, sem_ch5.adb, sem_res.adb, sem_util.adb: Minor |
| reformatting. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Debug flag -gnatd.G inhibits static elab tracing |
| via generic formals. |
| * sem_elab.adb (Is_Call_Of_Generic_Formal): Return False if |
| -gnatd.G is set. |
| |
| 2014-05-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb (Revert_Storage_Order): Renamed from Byte_Swap to |
| more accurately describe that this subprogram needs to come into |
| play also in cases where no byte swapping is involved, because |
| it also takes care of some required shifts (left-justification |
| of values). |
| |
| 2014-05-21 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Check_Component_Storage_Order): Indicate whether |
| a Scalar_Storage_Order attribute definition is present for the |
| component's type. |
| (Freeze_Record_Type): Suppress junk warnings |
| about purportedly junk Bit_Order / Scalar_Storage_Order attribute |
| definitions. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Put back call |
| to Kill_Elaboration_Checks. |
| |
| 2014-05-21 Gary Dismukes <dismukes@adacore.com> |
| |
| * layout.adb (Assoc_Add): Suppress the optimization of the (E |
| - C1) + C2 case, when the expression type is unsigned and C1 < |
| C2, to avoid creating a negative literal when folding. |
| |
| 2014-05-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Update the use of |
| Is_SPARK_Volatile. |
| * sem_ch3.adb (Analyze_Object_Contract): Update the use of |
| Is_SPARK_Volatile. |
| (Process_Discriminants): Update the use of Is_SPARK_Volatile. |
| * sem_ch5.adb (Analyze_Iterator_Specification): Update the use |
| of Is_SPARK_Volatile. |
| (Analyze_Loop_Parameter_Specification): |
| Update the use of Is_SPARK_Volatile. |
| * sem_ch6.adb (Process_Formals): Catch an illegal use of an IN |
| formal parameter when its type is volatile. |
| * sem_prag.adb (Analyze_Global_Item): Update the use of |
| Is_SPARK_Volatile. |
| * sem_res.adb (Resolve_Entity_Name): Correct the guard which |
| determines whether an entity is a volatile source SPARK object. |
| * sem_util.adb (Has_Enabled_Property): Accout for external |
| properties being set on objects other than abstract states |
| and variables. An example would be a formal parameter. |
| (Is_SPARK_Volatile): New routine. |
| (Is_SPARK_Volatile_Object): |
| Remove the entity-specific tests. Call routine Is_SPARK_Volatile |
| when checking entities and/or types. |
| * sem_util.ads (Is_SPARK_Volatile): New routine. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb: Minor fix to warning messages (use ?? instead |
| of ?). |
| |
| 2014-05-21 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): For platforms other than VMS, recognize |
| switch --version and --help. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Is_Call_Of_Generic_Formal): New function. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): Set type of |
| iterator variable when the domain of iteration is a formal |
| container and this is an element iterator. |
| |
| 2014-05-21 Bob Duff <duff@adacore.com> |
| |
| * sem_ch12.adb: Minor reformatting. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb: Minor reformatting. |
| * s-taprop.ads: Minor comment fix. |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to |
| Kill_Elaboration_Checks. |
| * errout.adb, erroutc.adb: Minor reformatting. |
| |
| 2014-05-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte |
| component. No byte swapping occurs, but this procedure also takes |
| care of appropriately justifying the argument. |
| |
| 2014-05-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): |
| New routine. |
| (Analyze_Subprogram_Body_Helper): Move the |
| analysis of aspect specifications and the processing of the |
| subprogram body contract after inlining has taken place. |
| (Diagnose_Misplaced_Aspect_Specifications): Removed. |
| |
| 2014-05-21 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Record_Type): Revert previous change. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not |
| continuations any more. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual, |
| present in formal_Private_Definitions and on private extension |
| declarations of a formal derived type. Set when the use of the |
| formal type in a generic suggests that the actual should be a |
| fully initialized type. |
| * sem_warn.adb (May_Need_Initialized_Actual): new subprogram |
| to indicate that an entity of a generic type has default |
| initialization, and that the corresponing actual type in any |
| subsequent instantiation should be fully initialized. |
| * sem_ch12.adb (Check_Initialized_Type): new subprogram, |
| to emit a warning if the actual for a generic type on which |
| Needs_Initialized_Actual is set is not a fully initialized type. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb, prj-dect.adb: Minor reformatting. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.ads: Minor comment addition. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads: Add documentation for use of >*> tag. |
| * restrict.adb: Make sure we use >*> tag for restriction warnings. |
| |
| 2014-05-21 Gary Dismukes <dismukes@adacore.com> |
| |
| * debug.adb: Add case of illegal overriding_indicator for a |
| protected subprogram body to description of -gnatd.E switch. |
| * sem_ch6.adb (Verify_Overriding_Indicator): Issue error message |
| for cases of giving overriding_indicators on protected subprogram |
| bodies, but change this to a warning if -gnatd.E is enabled. No |
| longer give a style warning about missing indicators on protected |
| subprogram bodies. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb, |
| sem_elab.ads: Minor reformatting. |
| * erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag |
| parameter optional. |
| |
| 2014-05-21 Pascal Obry <obry@adacore.com> |
| |
| * prj-dect.adb: Allow package Install in aggregate project. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): |
| Insert_Delayed_Pragma is now used for the case of Attach_Handler. |
| * sem_prag.adb: Minor comment improvements. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Install_Body): When checking whether freezing of |
| instantiation must be delayed, verify that the common enclosing |
| subprogram to generic and instance is in fact an overloadable |
| entity. |
| |
| 2014-05-21 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all |
| mains with the same name and fail if there is more than one. |
| * prj.ads, prj.adb (Find_All_Sources): New function |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb: Minor reformatting. |
| * lib-xref-spark_specific.adb, sem_util.adb: Minor reformatting. |
| * sem_prag.adb: Minor error message improvement. |
| |
| 2014-05-21 Yannick Moy <moy@adacore.com> |
| |
| * lib-xref-spark_specific.adb, lib-xref.ads, lib-xref.adb |
| (Enclosing_Subprogram_Or_Package): Only return a library-level |
| package. |
| |
| 2014-05-21 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base |
| to the full view of the parent type when processing a derived type |
| which is the full view of a private type not defined in a generic |
| unit which is derived from a private type with discriminants |
| whose full view is a non-tagged record type. |
| |
| 2014-05-21 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch4.adb (Expand_Allocator_Expression.Apply_Accessibility_Check): |
| Complete previous patch. |
| |
| 2014-05-21 Thomas Quinot <quinot@adacore.com> |
| |
| PR ada/9535 |
| * g-socket.adb (Read and Write for Datagram_Socket_Stream_Type): |
| Provide a behaviour more consistent with underlying datagram |
| socket: do not attempt to loop over Send_Socket/Receive_Socket |
| iterating along the buffer. |
| |
| 2014-05-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Ensure that a discriminated |
| or a tagged type is not labelled as volatile. Ensure that a |
| non-volatile type has no volatile components. |
| * sem_ch3.adb (Analyze_Object_Contract): Add local constant |
| Obj_Typ. Code reformatting. Ensure that a discriminated or |
| tagged object is not labelled as volatile. |
| * sem_prag.adb (Process_Atomic_Shared_Volatile): Ensure that |
| pragma Volatile applies to a full type declaration or an object |
| declaration when SPARK mode is on. |
| |
| 2014-05-21 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: For ASIS tools, reword the paragraph about |
| providing options needed for compiling the argument source for |
| the situation when a project file can be used as a tool parameter. |
| |
| 2014-05-21 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat_rm.texi: Minor typo fix. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * stand.adb (Tree_Read): Read missing entities. |
| (Tree_Write): Write missing entities. |
| |
| 2014-05-21 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi: Wordsmithing edits to Coupling Metrics Control |
| section in gnatmetric chapter. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch6.adb (Expand_Actuals): Spec moved here, since not used |
| outside Exp_Ch6 (Expand_Actuals): Deal with proper insertion of |
| post-call copy write back (see detailed comment in code). |
| * exp_ch6.ads (Expand_Actuals): Moved to body, not used outside |
| Exp_Ch6. |
| * tbuild.ads: Minor reformatting. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * stand.ads: Add warning about adding new entities and |
| Tree_Read/Tree_Write. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb (Set_Entity_With_Checks): Don't complain about |
| references to restricted entities within the units in which they |
| are declared. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb (Check_Bad_Body): Use Source_File_Is_Body to |
| simplify the needed test, and also deal with failure to catch |
| situations with non-standard names. |
| * sinput-l.ads, sinput-l.adb (Source_File_Is_No_Body): New function |
| (Source_File_Is_Subunit): Removed, no longer used. |
| |
| 2014-05-21 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch4.adb |
| (Expand_Allocator_Expression.Apply_Accessibility_Check): for a |
| renaming of an access to interface object there is no need to |
| generate extra code to reference the tag. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb, erroutc.adb, erroutc.ads: Allow warning tag in pragma |
| Warnings (Off, string). |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * osint.adb: Fix three error messages to say invalid instead |
| of erroneous. |
| * par-ch4.adb, exp_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb, |
| sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_dim.adb, sem_res.adb, |
| sem_util.adb, sem_util.ads: Fix incorrect use of erroneous in comments. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb, sem_ch13.adb, sem_ch13.ads, sem_ch9.adb, |
| sem_ch9.ads: Move discriminant manipulation routines for analysis of |
| aspect specifications from sem_ch9 to sem_ch13, where they belong. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings). |
| Clearly document -gnatyg (GNAT style switches). |
| * usage.adb: Add line line for -gnatw.g (GNAT warnings) More |
| detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is |
| available for VMS after all. |
| * warnsw.adb: Reorganize to eliminate duplicated code |
| (Restore_Warnings): Add a couple of missing entries |
| (Save_Warnings): Add a couple of missing entries. |
| * warnsw.ads: Add missing entries to Warning_Record (not clear |
| what the impact is). |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction |
| warning) case. |
| * errout.ads: Document ?*? (restriction warning) insertion. |
| * erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction |
| warning) case. |
| * erroutc.ads: Document use of * for restriction warning tag. |
| * restrict.adb (Restriction_Msg): Tag with ?*? instead of ??. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not |
| make discriminants immediately visible when analyzing an aspect |
| of a subtype declaration. |
| (Uninstall_Discriminants): Do not apply to the entity in a |
| subtype declaration. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb: Code clean up. |
| |
| 2014-05-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_ugn.texi: Document -Werror. |
| |
| 2014-05-21 Bob Duff <duff@adacore.com> |
| |
| * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): |
| This was returning False if the Object is a constant view. Fix |
| it to return True in that case, because it might be a view of |
| a variable. |
| (Has_Discriminant_Dependent_Constraint): Fix latent |
| bug; this function was crashing when passed a discriminant. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Remove misplaced section that is now obsolete. |
| * s-arit64.adb: Minor code reorganization. |
| * sem_prag.adb: Minor comment fix (remove erroneous use of the |
| term erroneous). |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * g-table.adb, g-dyntab.adb (Reallocate): Fix possible overflow in |
| computing new table size. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads: Minor reformatting. |
| * ceinfo.adb: Deal with slight format change of einfo.ads. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Part_Of): Further work on the proper |
| implementation of the SPARK 2014 rule concerning private child |
| units (LRM 7.2.6). |
| |
| 2014-05-21 Vincent Celier <celier@adacore.com> |
| |
| * makeusg.adb: Add switch -d to usage. |
| |
| 2014-05-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Find_Actual): If an actual that is the prefix |
| of an enclosing prefixed call has been rewritten, use Nkind |
| and Sloc to identify the corresponding formal, when handling |
| deferred references. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document -gnatd.z switch. |
| * sem_eval.adb (Why_Non_Static): Test -gnatd.z switch. |
| |
| 2014-05-21 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads (Can_Never_Be_Null): Minor comment update. |
| * sem_prag.adb (Check_Arg_Is_Task_Dispatching_Policy): Minor |
| error message change. |
| * s-arit64.adb ("abs"): New function. Use expression functions |
| for the simple conversions and arithmetic. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and |
| set function_start_locus. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils.c (gnat_write_global_declarations): Adjust the flags put on |
| dummy_global. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (change_qualified_type): New static function. |
| (gnat_to_gnu_entity): Use it throughout to add qualifiers on types. |
| <E_Array_Type>: Set TYPE_VOLATILE on the array type directly. |
| <E_Array_Subtype>: Likewise. |
| Do not set flags on an UNCONSTRAINED_ARRAY_TYPE directly. |
| (gnat_to_gnu_component_type): Likewise. |
| (gnat_to_gnu_param): Likewise. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fe.h (Set_Present_Expr): Move around. |
| (End_Location): New macro. |
| * gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in |
| lieu of more verbose construct. |
| * gcc-interface/trans.c (Call_to_gnu): Likewise. |
| (gnat_to_gnu): Likewise. Remove obsolete code. |
| |
| 2014-05-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Do not |
| consider that regular packed arrays can never be superflat. |
| |
| 2014-05-17 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * gcc-interface/ada-tree.h: Remove usage of variable_size gty |
| annotation. |
| * gcc-interface/decl.c (annotate_value): Adjust. |
| * gcc-interface/trans.c (Attribute_to_gnu): Likewise. |
| (push_range_check_info): Likewise. |
| (Loop_Statement_to_gnu): Likewise. |
| (Subprogram_Body_to_gnu): Likewise. |
| (Compilation_Unit_to_gnu): Likewise. |
| (start_stmt_group): Likewise. |
| * gcc-interface/utils.c (init_gnat_utils): Likewise. |
| (gnat_pushlevel): Likewise. |
| (maybe_pad_type): Likewise. |
| |
| 2014-05-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * seh_init.c: Fix copyright year. |
| |
| 2014-05-14 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__ |
| are defined. Move include windows.h before system.h. |
| * s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile |
| also when __CYGWIN__ is defined. Include windef.h before winbase.h. |
| |
| 2014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Convert integer_one_node |
| to the appropriate type. |
| * gcc-interface/trans.c (gnat_to_gnu): Likewise. |
| (pos_to_constructor): Likewise. |
| |
| 2014-05-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (annotate_value): Fix thinko in latest change. |
| |
| 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> |
| Mike Stump <mikestump@comcast.net> |
| Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * gcc-interface/cuintp.c (UI_From_gnu): Use wide-int interfaces. |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_SIGN. |
| (annotate_value): Use wide-int interfaces. |
| * gcc-interface/utils.c (get_nonnull_operand): Use tree_fits_uhwi_p. |
| |
| 2014-04-28 Richard Henderson <rth@redhat.com> |
| |
| * gcc-interface/Makefile.in: Support aarch64-linux. |
| |
| 2014-04-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix, |
| add 'Suffix' parameter and adjust comment. |
| (Get_External_Name_With_Suffix): Delete. |
| * exp_dbug.adb (Get_External_Name_With_Suffix): Merge into... |
| (Get_External_Name): ...here. Add 'False' default to Has_Suffix, add |
| 'Suffix' parameter. |
| (Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name. |
| Call Get_External_Name instead of Get_External_Name_With_Suffix. |
| (Get_Secondary_DT_External_Name): Likewise. |
| * exp_cg.adb (Write_Call_Info): Likewise. |
| * exp_disp.adb (Export_DT): Likewise. |
| (Import_DT): Likewise. |
| * comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC |
| parameter with False default. |
| * comperr.adb (Compiler_Abort): Likewise. Adjust accordingly. |
| * types.h (Fat_Pointer): Rename into... |
| (String_Pointer): ...this. Add comment on interfacing rules. |
| * fe.h (Compiler_Abort): Adjust for above renaming. |
| (Error_Msg_N): Likewise. |
| (Error_Msg_NE): Likewise. |
| (Get_External_Name): Likewise. Add third parameter. |
| (Get_External_Name_With_Suffix): Delete. |
| * gcc-interface/decl.c (STDCALL_PREFIX): Define. |
| (create_concat_name): Adjust call to Get_External_Name, remove call to |
| Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming. |
| * gcc-interface/trans.c (post_error): Likewise. |
| (post_error_ne): Likewise. |
| * gcc-interface/misc.c (internal_error_function): Likewise. |
| |
| 2014-04-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * gcc-interface/utils.c: Define flag_isoc11. |
| |
| 2014-04-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnatvsn.ads (Library_Version): Bump to 4.10. |
| |
| 2014-04-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Revert |
| 2014-04-22 Richard Henderson <rth@redhat.com> |
| |
| * gcc-interface/Makefile.in: Support aarch64-linux. |
| |
| 2014-04-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer. |
| (Error_Msg_N): Likewise. |
| (Error_Msg_NE): Likewise. |
| (Get_External_Name_With_Suffix): Likewise. |
| * types.h (Fat_Pointer): Delete. |
| (String_Pointer): New type. |
| (DECLARE_STRING_POINTER): New macro. |
| * gcc-interface/decl.c (create_concat_name): Adjust. |
| * gcc-interface/trans.c (post_error): Likewise. |
| (post_error_ne): Likewise. |
| * gcc-interface/misc.c (internal_error_function): Likewise. |
| |
| 2014-04-22 Richard Henderson <rth@redhat.com> |
| |
| * gcc-interface/Makefile.in: Support aarch64-linux. |
| |
| * init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define. |
| (__gnat_alternate_stack): Enable for all linux except ia64. |
| |
| 2014-04-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer. |
| (Error_Msg_N): Likewise. |
| (Error_Msg_NE): Likewise. |
| (Get_External_Name_With_Suffix): Likewise. |
| * types.h (Fat_Pointer): Delete. |
| (String_Pointer): New type. |
| (DECLARE_STRING_POINTER): New macro. |
| * gcc-interface/decl.c (create_concat_name): Adjust. |
| * gcc-interface/trans.c (post_error): Likewise. |
| (post_error_ne): Likewise. |
| * gcc-interface/misc.c (internal_error_function): Likewise. |
| |
| 2014-04-15 Eric Botcazou <ebotcazou@adacore.com> |
| Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere |
| scalar constant instead of a reference for renaming of scalar literal. |
| Do not create a new object for constant renaming except for a function |
| call. Make sure a VAR_DECL is created for the renaming pointer. |
| * gcc-interface/trans.c (constant_decl_with_initializer_p): New. |
| (fold_constant_decl_in_expr): New function. |
| (Identifier_to_gnu): Use constant_decl_with_initializer_p. |
| For a constant renaming, try to fold a constant DECL in the result. |
| (lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1. |
| (Identifier_to_gnu): Reference the renamed object of constant renaming |
| pointers directly. |
| * gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not |
| invalidate constant renaming pointers. |
| |
| 2014-04-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (type_for_vector_element_p): New predicate. |
| (build_vector_type_for_size): New function. |
| (build_vector_type_for_array): Likewise. |
| (unchecked_convert): Build an intermediate vector type to convert |
| from a generic array type to a vector type. |
| (handle_vector_size_attribute): Reimplement. |
| (handle_vector_type_attribute): Likewise. |
| |
| 2014-04-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (prepend_one_attribute_pragma): Call |
| Is_OK_Static_Expression in lieu of Is_Static_Expression to |
| detect valid arguments. |
| |
| 2014-04-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints. |
| |
| 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_IDENTIFIER. |
| (components_to_record): Likewise. |
| * gcc-interface/utils.c (make_aligning_type): Likewise. |
| (maybe_pad_type): Likewise. |
| (finish_record_type): Likewise. |
| (rest_of_record_type_compilation): Likewise. |
| |
| 2014-04-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * snames.ads-tmpl (Name_Ivdep): New pragma-related name. |
| * sem_prag.adb (Analyze_Pragma) <Pragma_Loop_Optimize>: Add support |
| for Ivdep hint. |
| * gnat_rm.texi (Implementation Defined Pragmas): Document new Ivdep |
| hint for Loop_Optimize. |
| * gnat_ugn.texi (Vectorization of loops): Mention new Ivdep hint. |
| * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal |
| with new Ivdep hint. |
| * gcc-interface/ada-tree.h (LOOP_STMT_IVDEP): New macro. |
| * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal |
| with new Ivdep hint. |
| (gnat_gimplify_stmt) <LOOP_STMT>: Propagate loop hints. |
| |
| 2014-04-14 Eric Botcazou <ebotcazou@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * opt.ads (Suppress_Back_Annotation): Remove as unused. |
| * fe.h (Back_Annotate_Rep_Info): Likewise. |
| (Global_Discard_Names): Likewise. |
| (List_Representation_Info): Declare. |
| * types.h (Uint_Minus_1): Likewise. |
| * repinfo.ads: Document back-annotation change. |
| * gcc-interface/gigi.h (init_gnat_decl): Declare. |
| (destroy_gnat_decl): Likewise. |
| * gcc-interface/decl.c (annotate_value): Do not create the cache of |
| annotated values here but... |
| <CALL_EXPR>: Only inline the call if -gnatR3 is specified or we are |
| in ASIS mode. |
| (init_gnat_decl): ...here instead. New function. |
| (destroy_gnat_decl): Likewise. |
| * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_decl. |
| * gcc-interface/utils.c (init_gnat_utils): Minor reformatting. |
| |
| 2014-04-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (create_field_decl_from): Finalize non-constant |
| offset for the field, if any. |
| |
| 2014-04-09 Eric Botcazou <ebotcazou@adacore.com> |
| Svante Signell <svante.signell@gmail.com> |
| |
| PR ada/54040 |
| PR ada/59346 |
| * s-osinte-x32.adb: New file. |
| * s-linux.ads (Time): New section. |
| * s-linux-alpha.ads (Time): Likewise. |
| * s-linux-android.ads (Time: Likewise. |
| * s-linux-hppa.ads (Time): Likewise. |
| * s-linux-mipsel.ads (Time): Likewise. |
| * s-linux-sparc.ads (Time): Likewise. |
| * s-linux-x32.ads (Time): Likewise. |
| * s-osprim-x32.ads (timespec): Adjust. |
| (Clock): Likewise. |
| (To_Timespec): Likewise. |
| * s-osinte-linux.ads (Time): Define local subtypes for those defined |
| in System.Linux. |
| * s-taprop-linux.adb (Monotonic_Clock): Do not define timeval. |
| * s-osinte-hpux.ads (timespec): Revert POSIX breakage. |
| * s-osinte-kfreebsd-gnu.ads (timespec): Likewise. |
| * s-osinte-solaris-posix.ads (timespec): Likewise. |
| * s-osinte-posix.adb (To_Timespec): Likewise. |
| * gcc-interface/Makefile.in (x32/Linux): Use s-osinte-x32.adb. |
| |
| 2014-04-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/60411 |
| * gcc-interface/Makefile.in (arm% linux-android): Switch to EHABI. |
| * s-linux-android.ads: New file. |
| * s-intman-android.adb: Likewise. |
| * s-osinte-android.ads: Adjust. |
| * sigtramp-armdroid.c: Likewise. |
| * sigtramp.h: Add Android support. |
| |
| 2014-04-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Makefile.in (alpha-vms): Add missing line. |
| |
| 2014-03-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/60703 |
| * system-linux-alpha.ads: Adjust for Ada 2005. |
| * system-linux-mips.ads: Likewise. |
| * system-linux-mips64el.ads: Likewise. |
| * system-linux-mipsel.ads: Likewise. |
| * system-linux-s390.ads: Likewise. |
| * system-linux-s390x.ads: Likewise. |
| * system-linux-sparc.ads: Likewise. |
| * system-linux-sparcv9.ads: Likewise. |
| * system-rtems.ads: Likewise. |
| * system-vxworks-arm.ads: Likewise. |
| |
| 2014-03-16 Andreas Schwab <schwab@linux-m68k.org> |
| |
| PR ada/39172 |
| * gcc-interface/Makefile.in (target_cpu_default): Revert |
| 2013-10-11 change. |
| |
| 2014-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/51483 |
| * cstand.adb (Register_Float_Type): Add 'precision' parameter and use |
| it to set the RM size. Use directly 'size' for the Esize. |
| (Create_Back_End_Float_Types): Adjust call to above. |
| * get_targ.ads (Register_Type_Proc): Add 'precision' parameter. |
| * set_targ.ads (FPT_Mode_Entry): Add 'precision' component. |
| (Write_Target_Dependent_Values): Adjust comment. |
| * set_targ.adb (Register_Float_Type): Add 'precision' parameter and |
| deal with it. |
| (Write_Target_Dependent_Values): Write the precision in lieu of size. |
| (Initialization): Read the precision in lieu of size and compute the |
| size from the precision and the alignment. |
| * gcc-interface/gigi.h (enumerate_modes): Add integer parameter. |
| * gcc-interface/misc.c (enumerate_modes): Likewise. Do not register |
| types for vector modes, pass the size in addition to the precision. |
| |
| 2014-03-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo. |
| |
| 2014-03-07 Doug Rupp <rupp@adacore.com> |
| |
| PR ada/60411 |
| * system-linux-armel.ads (Backend_Overflow_Checks): Set to True. |
| (Support_64_Bit_Divides): Removed, no longer used. |
| (ZCX_By_Default): Enabled. |
| |
| 2014-02-25 Doug Rupp <rupp@adacore.com> |
| |
| * gcc-interface/Makefile.in (arm-linux): |
| (EH_MECHANISM): Use ARM unwinder (-arm) |
| (LIBGNAT_TARGET_PAIRS: Override defaults with a-exexpr-gcc.adb and |
| s-excmac-arm.ads. |
| (EXTRA_LIBGNAT_OBJS): Add raise-gcc.o |
| (EXTRA_GNATRTL_NONTASKING_OBJS): Add g-cppexc.o s-excmac.o. |
| (arm-wrs-vxworks): Add EH_MECHANISM=-gcc for kernel mode. |
| (EXTRA_LIBGNAT_OBJS): Add sigtramp-armvxw.o |
| Add dependencies for sigtramp-armvxw.o. |
| |
| 2014-02-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Pragma_to_gnu): Deal with Warning_As_Error. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * rtsfind.adb (Is_RTE): Protect against entity with no scope |
| field (previously this call blew up on the Standard entity). |
| * sem_attr.adb (Analyze_Attribute, case Access): Remove |
| test for No_Abort_Statements, this is now handled in |
| Set_Entity_With_Checks. |
| * exp_ch6.adb, sem_ch10.adb, sem_ch4.adb, sem_ch8.adb, sem_res.adb: |
| Change name Set_Entity_With_Style_Check => Set_Entity_With_Checks. |
| * sem_util.ads, sem_util.adb: Change name Set_Entity_With_Style_Check => |
| Set_Entity_With_Checks. |
| (Set_Entity_With_Checks): Add checks for No_Dynamic_Attachment, |
| Add checks for No_Abort_Statements. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb (Expand_Entry_Barrier): Add comment that call to |
| Check_Restriction is OK. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Process_Full_View): Better error message when |
| the full view of a private type without discriminants is an |
| unconstrained type. |
| * sem_ch7.adb (Uninstall_Declarations): Ditto. |
| |
| 2014-02-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sigtramp-armvxw.c: Also restore r0. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Error_Msg_Internal): Warning_Msg_Char set |
| unconditionally (Set_Msg_Insertion_Warning): Warning_Msg_Char |
| set unconditionally. |
| * erroutc.adb (Get_Warning_Tag): Does not give a leading space |
| any more (Output_Msg_Text): Rewritten with new convention on |
| output of warnings that are treated as errors. |
| * erroutc.ads (Error_Msg_Object): Warn_Chr is always set even |
| if Warn is False. |
| * gnat_rm.texi: Updates to documentation on pragma |
| Warning_As_Error. |
| * warnsw.adb (Set_Dot_Warning_Switch): -gnatw.e should not |
| set Warning_Doc_Switch. |
| * lib-writ.ads: Add documentation note on ALI file generation |
| for C. |
| * exp_ch6.adb (Expand_Call): Remove check for No_Abort_Statements |
| (belongs in Sem). |
| * sem_attr.adb (Resolve_Attribute, case Access): |
| Abort_Task'Access violates the No_Abort_Statements restriction. |
| * sem_res.adb (Resolve_Call): Check restriction |
| No_Abort_Statements for call to Abort_Task or a renaming of it. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Array_Type_Declaration): Check for case of using |
| type name as index. |
| * lib.ads: Minor reformatting. |
| * einfo.ads: Minor reformatting. |
| |
| 2014-02-25 Doug Rupp <rupp@adacore.com> |
| |
| * sem_mech.adb (Set_Mechanisms): For convention Fortran on VMS |
| use Short_Descriptor(S) as the argument passing mechanism. |
| |
| 2014-02-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Also include r0. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads (Warnings_Treated_As_Errors): New variable. |
| * errout.adb (Error_Msg_Internal): Set Warn_Err flag in |
| error object (Initialize): Initialize Warnings_As_Errors_Count |
| (Write_Error_Summary): Include count of warnings treated as errors. |
| * erroutc.adb (Warning_Treated_As_Error): New function. |
| (Matches): Function moved to outer level of package. |
| * erroutc.ads (Error_Msg_Object): Add Warn_Err flag. |
| (Warning_Treated_As_Error): New function. |
| * gnat_rm.texi: Document pragma Treat_Warning_As_Error. |
| * opt.adb: Add handling of Warnings_As_Errors_Count[_Config]. |
| * opt.ads (Config_Switches_Type): Add entry for |
| Warnings_As_Errors_Count. |
| (Warnings_As_Errors_Count): New variable. |
| (Warnings_As_Errors): New array. |
| * par-prag.adb: Add dummy entry for Warning_As_Error. |
| * sem_prag.adb (Analyze_Pragma): Implement new pragma |
| Warning_As_Error. |
| * snames.ads-tmpl: Add entries for Warning_As_Error pragma. |
| |
| 2014-02-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sigtramp.h: Fix minor inaccuracy. |
| |
| 2014-02-25 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi: Added description of kill command. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi (Address_Clauses): Add a section discussing the |
| problem of address clauses causing unexpected initialization, |
| including the effect of Initialize_Scalars. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb: Various changes for better msgs for anonmous access |
| subprogram types. |
| * erroutc.ads, erroutc.adb (Buffer_Ends_With): Version with character |
| argument. |
| (Buffer_Remove): Version with character argument. |
| * sem_attr.adb (Resolve_Attribute, case Access): Better handling |
| of mismatching conventions for access-to-subprogram case. |
| * sem_prag.adb (Set_Convention_From_Pragma): Deal with anonymous |
| access types in record. |
| * sem_util.ads, sem_util.adb (Set_Convention): Handle anonymous access |
| types, including in records. |
| |
| 2014-02-25 Doug Rupp <rupp@adacore.com> |
| |
| * sigtramp-ppcvxw.c, sigtramp.h, sigtramp-armvxw.c: Comment |
| enhancements and corrections. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: New section "Conventions and Anonymous Access Types" |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: First set of documentation additions for |
| predefined RM units. |
| * checks.adb: Minor reformatting. |
| * sem_elab.adb (Check_Task_Activation): Minor fix to error |
| message. |
| * sem_util.adb: Minor reformatting. |
| |
| 2014-02-25 Arnaud Charlet <charlet@adacore.com> |
| |
| * usage.adb (Usage): Add help on -gnateC. |
| * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC. |
| * opt.ads (Generate_CodePeer_Messages): New flag. |
| * gnat_ugn.texi: Document new switch -gnateC. |
| |
| 2014-02-25 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Corrected minor typos in Implementation Defined |
| Aspects. |
| * opt.ads: Minor reformatting. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * binde.adb: Change messages to mention -gnatel instead of -gnatwl. |
| * gnat_ugn.texi: Update documentation of -gnatwl Add documentation |
| of -gnatel/-gnateL. |
| * opt.ads (Warn_Info_Messages): New flag. |
| * sem_elab.adb: Use Elab_Warnings, Elab_Info_Messages to control |
| messages. |
| * sem_prag.adb: Use Elab_Warnings, Elab_Info_Messages to control |
| messages. |
| * switch-m.ad, switch-c.adb: Recognize new -gnatel/EL switches. |
| * usage.adb: Add documentation of -gnatel/-gnateL Update |
| documentation of -gnatwl/-gnatwL. |
| * warnsw.adb: New handling of Elab_Warnings, Elab_Info_Messages |
| * warnsw.ads (Elab_Info_Messages): New field in Warning_Record |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads, einfo.adb (Has_Shift_Operator): New flag. |
| * gnat_rm.texi: Document pragma Provide_Shift_Operators. |
| * interfac.ads: Minor code reorganization (add pragma |
| Compiler_Unit_Warning). |
| * par-prag.adb: Add dummy entry for Provide_Shift_Operators. |
| * sem_ch3.adb (Build_Derived_Numeric_Type): Copy |
| Has_Shift_Operator flag. |
| * sem_intr.adb (Check_Intrinsic_Subprogram): Make sure |
| Check_Shift is always called (Check_Shift): Set Has_Shift_Operator. |
| * sem_prag.adb: Implement pragma Provide_Shift_Operators. |
| * snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators |
| Add entry for Name_Amount. |
| * checks.adb (Selected_Range_Checks): When checking for a null |
| range, make sure we use the base type, and not the subtype for |
| deciding a range is null. |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check |
| for suspicious loop bound which is outside the range of the |
| loop subtype. |
| * gnat_ugn.texi: Add documentation section "Determining the |
| Chosen Elaboration Order" |
| * sem_ch13.adb (UC_Entry): Add field Act_Unit |
| (Validate_Unchecked_Conversion): Store Act_Unit |
| (Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit |
| * treepr.adb: Minor reformatting. |
| |
| 2014-02-25 Arnaud Charlet <charlet@adacore.com> |
| |
| * usage.adb: Minor: fix typo. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi, |
| s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads, |
| s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads, |
| s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads, |
| g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb, |
| s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads, |
| a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb, |
| s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, |
| a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb, |
| s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads, |
| a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb, |
| s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads, |
| s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma |
| Compiler_Unit_Warning, change Compiler_Unit everywhere to |
| Compiler_Unit_Warning. |
| |
| 2014-02-25 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize |
| in ASIS mode aggregates that are used as aspect definitions. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor |
| reformatting. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): If the return type of a function |
| is a limited view, and the non-limited view has not been seen yet, |
| defer freezing to some later point. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb: Minor reformatting. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads, |
| s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb, |
| s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb, |
| s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb, |
| s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb, |
| s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb, |
| s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads, |
| s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads, |
| s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb, |
| s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb, |
| s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads, |
| s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads, |
| s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb, |
| s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb, |
| snames.ads-tmpl: Change Compiler_Unit everywhere to |
| Compiler_Unit_Warning. |
| |
| 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Add_Or_Save_Precondition): New routine. |
| (Collect_Body_Postconditions_In_Decls): New routine. |
| (Collect_Body_Postconditions_Of_Kind): Factor out code. Handle |
| postcondition aspects or pragmas that appear on a subprogram |
| body stub. |
| (Collect_Spec_Preconditions): Factor out code. Handle |
| precondition aspects or pragmas that appear on a subprogram |
| body stub. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The analysis of |
| aspects that apply to a subprogram body stub is no longer delayed, |
| the aspects are analyzed on the spot. |
| (SPARK_Aspect_Error): |
| Aspects that apply to a subprogram declaration cannot appear in |
| a subunit. |
| * sem_ch10.adb Remove with and use clause for Sem_Ch13. |
| (Analyze_Proper_Body): Add local variable Comp_Unit. Unum |
| is now a local variable. Code cleanup. Analysis related to |
| the aspects of a subprogram body stub is now carried out by |
| Analyze_Subprogram_Body_Helper. Do not propagate the aspects |
| and/or pragmas of a subprogram body stub to the proper body |
| as this is no longer needed. Do not analyze the aspects of a |
| subprogram stub when the corresponding source unit is missing. |
| (Analyze_Protected_Body_Stub): Flag the illegal use of aspects |
| on a stub. |
| (Analyze_Task_Body_Stub): Flag the illegal use of |
| aspects on a stub. |
| (Optional_Subunit): Add local variable Unum. |
| * sem_ch13.adb (Insert_Delayed_Pragma): Do not analyze a generated |
| pragma when it applies to a subprogram body stub. |
| * sem_prag.adb (Analyze_Pragma): Pragmas Contract_Cases, |
| Depends and Global can now apply to a subprogram body stub as |
| long as it acts as its own spec. |
| (Analyze_Refined_Pragma): |
| Code reformatting. Refinement pragmas cannot apply to a subunit. |
| |
| 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.ads Update the usage of flag |
| Uses_Sec_Stack. Uses_Sec_Stack now applies to E_Loop entities. |
| * exp_ch5.adb (Expand_Iterator_Loop): The temporary for a cursor |
| now starts with the letter 'C'. This makes reading expanded |
| code easier. |
| * exp_ch7.adb (Establish_Transient_Scope): Add local variable |
| Iter_Loop. Signal that an Ada 2012 iterator loop requires |
| secondary stack management when creating a transient scope for |
| an element reference. |
| * exp_util.adb (Process_Statements_For_Controlled_Objects): |
| When wrapping the statements of a loop, pass the E_Loop entity |
| to the wrapping machinery. |
| (Wrap_Statements_In_Block): Add |
| formal parameter Scop along with comment on usage. Add local |
| variables Block_Id, Block_Nod and Iter_Loop. Mark the generated |
| block as requiring secondary stack management when the block is |
| created inside an Ada 2012 iterator loop. This ensures that any |
| reference objects are reclaimed on each iteration of the loop. |
| * sem_ch5.adb (Analyze_Loop_Statement): Mark the generated block |
| tasked with the handling of container iterators as requiring |
| secondary stack management. This ensures that iterators are |
| reclaimed when the loop terminates or is exited in any fashion. |
| * sem_util.adb (Add_Block_Identifier): New routine. |
| (Find_Enclosing_Iterator_Loop): New routine. |
| * sem_util.ads (Add_Block_Identifier): New routine. |
| (Find_Enclosing_Iterator_Loop): New routine. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads: Minor reformatting. |
| |
| 2014-02-25 Tristan Gingold <gingold@adacore.com> |
| |
| * s-expllu.ads, s-expuns.ads, s-expmod.ads: Minor comment fix. |
| |
| 2014-02-25 Pascal Obry <obry@adacore.com> |
| |
| * sinput-l.adb, osint.adb, osint.ads: Add Prep_Suffix to factorize code. |
| |
| 2014-02-25 Tristan Gingold <gingold@adacore.com> |
| |
| * sem_ch10.adb: Minor comment fix. |
| |
| 2014-02-25 Bob Duff <duff@adacore.com> |
| |
| * s-tasdeb.adb: Misc cleanup of this package, |
| including printing addresses in hexadecimal. |
| (Write): Fix minor bug when taking 'Address of an empty string. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Part_Of): Reject state refinement in a |
| public child unit when it does not refer to the abstract state |
| of a public ancestor. |
| |
| 2014-02-25 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma/Pragma_Validity_Checks): Ignore pragma |
| Validity_Checks in GNATprove and CodePeer modes. |
| |
| 2014-02-25 Pascal Obry <obry@adacore.com> |
| |
| * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package Install's |
| Artifacts attribute. |
| |
| 2014-02-25 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb: Minor reformatting to get consistent messages. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Minor reformatting. |
| * sinfo.ads (Do_Range_Check): Document that this flag is never |
| passed to the back end. |
| |
| 2014-02-25 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem_attr.adb, |
| sem_ch6.adb: Remove useless references to SPARK RM in error messages. |
| |
| 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Appears_In_Check): New routine. |
| (Resolve_Entity_Name): Remove local variables Prev and |
| Usage_OK. Par is now a constant. Remove the parent chain traversal |
| as the placement of a volatile object with enabled property |
| Async_Writers and/or Effective_Reads must appear immediately |
| within a legal construct. |
| |
| 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (Apply_Selected_Range_Checks): |
| Alphabetize local constants and variables. Add comments. |
| Always insert a range check that requires runtime evaluation into |
| the tree. |
| |
| 2014-02-25 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting. |
| |
| 2014-02-25 Bob Duff <duff@adacore.com> |
| |
| * s-tassta.adb (Finalize_Global_Tasks): Limit the number of loop |
| iterations while waiting for independent tasks to terminate; |
| if an independent task does not terminate, we do not want to |
| hang here. In that case, the thread will be terminated when the |
| process exits. |
| * s-taprop-linux.adb (Abort_Task): Fix Assert to allow for ESRCH. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Check_SPARK_Aspect_For_ASIS): New subprogram, |
| used to perform pre-analysis of the expression for SPARK |
| aspects that have a non-standard syntax, such as GLobal and |
| Initializes. The procedure applies to the original expression |
| in an aspect specification, prior to the analysis of the |
| corresponding pragma, in order to provide semantic information |
| for ASIS navigation purposes. |
| (Analyze_Global_In_Decl_List, Analyze_Initializes_In_Decl_Part): |
| Call new subprogram. |
| |
| 2014-02-25 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb: Remove obsolete reference to SPARK RM in error message. |
| |
| 2014-02-25 Doug Rupp <rupp@adacore.com> |
| |
| * init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM. |
| (__gnat_adjust_context_for_raise): Bump the PC by 2. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch3.adb (P_Basic_Declarative_Items): In the case of a |
| misplaced IS, add a statement sequence to improper body only if |
| one has not been parsed already. |
| |
| 2014-02-25 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Check for |
| mismatch when multidimensional array is updated with a single |
| index. |
| |
| 2014-02-25 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads, |
| sem_ch6.adb: Mark most references to SPARK RM in error messages |
| for removal. |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch3.adb (P_Basic_Declarative_Items): If an improper body |
| appears in a list of basic declarations, complete the tree with |
| an empty statement list, to prevent cascaded errors and crashes |
| if semantic analysis is attempted. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * g-sercom-mingw.adb (Open): Fix incorrect test for error return |
| value. |
| * erroutc.adb: Minor reformatting. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Clause_Syntax): Account |
| for a solitary input item in a dependency list. |
| |
| 2014-02-24 Yannick Moy <moy@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Do not |
| use validity checks at all in GNATprove_Mode. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * g-sercom-mingw.adb, g-sercom-linux.adb, sem_prag.adb, freeze.adb, |
| atree.adb, atree.ads: Minor reformatting. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce |
| global and dependence refinement when SPARK_Mode is off. |
| * sem_ch7.adb (Analyze_Package_Body_Contract): Do not enforce |
| state refinement when SPARK_Mode is off. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Add local |
| variable Decl. Insert the generated pragma for Refined_State |
| after a potential pragma SPARK_Mode. |
| * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add local |
| constant Deps. Remove local variable Expr. Check the syntax |
| of pragma Depends when SPARK_Mode is off. Factor out the |
| processing for extra parenthesis around individual clauses. |
| (Analyze_Global_In_Decl_List): Items is now a constant. Check |
| the syntax of pragma Global when SPARK_Mode is off. |
| (Analyze_Initializes_In_Decl_Part): Check the syntax of pragma |
| Initializes when SPARK_Mode is off. |
| (Analyze_Part_Of): Check |
| the syntax of the encapsulating state when SPARK_Mode is off. |
| (Analyze_Pragma): Check the syntax of pragma Abstract_State when |
| SPARK_Mode is off. Move the declaration order check with respect |
| to pragma Initializes to the end of the processing. Do not verify |
| the declaration order for pragma Initial_Condition when SPARK_Mode |
| is off. Do not complain about a useless package refinement when |
| SPARK_Mode is off. |
| (Analyze_Refined_Depends_In_Decl_Part): Refs |
| is now a constant. Check the syntax of pragma Refined_Depends |
| when SPARK_Mode is off. |
| (Analyze_Refined_Global_In_Decl_Part): |
| Check the syntax of pragma Refined_Global when SPARK_Mode is off. |
| (Analyze_Refined_State_In_Decl_Part): Check the syntax of pragma |
| Refined_State when SPARK_Mode is off. |
| (Check_Dependence_List_Syntax): New routine. |
| (Check_Global_List_Syntax): New routine. |
| (Check_Initialization_List_Syntax): New routine. |
| (Check_Item_Syntax): New routine. |
| (Check_State_Declaration_Syntax): New routine. |
| (Check_Refinement_List_Syntax): New routine. |
| (Has_Extra_Parentheses): Moved to the top level of Sem_Prag. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * a-tags.adb, s-os_lib.adb: Minor reformatting. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * g-sercom-mingw.adb, g-sercom-linux.adb (Raise_Error): Include |
| strerror message, not just numeric errno value. |
| |
| 2014-02-24 Doug Rupp <rupp@adacore.com> |
| |
| * raise-gcc.c (exception_class_eq): Make endian neutral. |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * atree.ads, atree,adb (Copy_Separate_Tree): Remove Syntax_Only |
| flag, and reset Etype and Analyzed attributes unconditionally |
| when copying a tree that may be partly analyzed. |
| * freeze.adb: Change calls to Copy_Separate_Tree accordingly. |
| * sem_ch6.adb (Check_Inline_Pragma): If the Inline pragma appears |
| within a subprogram body and applies to it, remove it from the |
| body before making a copy of it, to prevent spurious errors when |
| analyzing the copied body. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * s-os_lib.adb (Errno_Message): Do not depend on Integer'Image. |
| * s-oscons-tmplt.c: On VxWorks, include adaint.h only after |
| vxWorks.h has been included. Also ensure that file attributes |
| related definitions are output even in cases where socket support |
| is not enabled. |
| * a-tags.adb: Code clean up. |
| * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote |
| instead of -I to add the main ada source directory to the header |
| search path, in order to avoid conflict between our own "types.h" |
| and VxWork's <types.h>. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter. |
| * debug.adb: Remove documentation of -gnatd.X, no longer used. |
| * freeze.adb (Wrap_Imported_Subprogram): Fixed and activated. |
| |
| 2014-02-24 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Improve documentation of gnatpp. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads, |
| g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb, |
| g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb, |
| g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not |
| a chars_ptr, because on Windows this is a renaming of |
| Socket_Error_Message. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb, |
| s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb, |
| a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code |
| reorganization. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure |
| that the source directory containing s-oscons-tmplt.c is on the |
| include path, so that all internal header files are available. |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the |
| domain of iteration is an attribute reference 'Old, this is an |
| Ada 2012 iterator and the loop must be rewritten as such. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * s-fileio.adb (Errno_Message): Remove, use shared version from |
| s-os_lib instead. |
| * s-crtrun.ads, Makefile.rtl: Remove now unused unit. |
| * g-stseme (Socket_Error_Message): Reimplement in terms of new |
| s-os_lib function. |
| * g-socthi.ads, g-socthi.adb: Change profile of |
| Socket_Error_Message to return String to allow the above. |
| * g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads, |
| * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, |
| * g-socthi-vxworks.ads: Update to account for the above profile |
| change. |
| * a-tags.adb: Use strlen builtin binding provided by s-crtl. |
| * s-crtl.ads (strncpy): New procedure. |
| * s-os_lib.adb (Copy_Attributes): Import just once (strncpy): |
| Use import from s-crtl. |
| * a-envvar.adb, osint.adb: Use imports of C runtime functions |
| from s-crtl instead of re-importing locally. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Global_Item): Emit the |
| variable related checks concerning volatile objects only when |
| SPARK_Mode is on. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): use |
| Error_Msg_Ada_2012_Feature. |
| |
| 2014-02-24 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-rident.ads (Profile_Info): For Ravenscar, the restrictions |
| No_Local_Timing_Events and No_Specific_Termination_Handlers |
| must be set, according to the Ravenscar profile definition |
| in D.13(6/3). |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): If this is a |
| completion, freeze return type and its designated type if needed. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case |
| 'Address): When moving initialization statements to a freeze |
| entity, keep them under a single node (i.e. do not unwrap |
| expressions with actions), and set the Initialization_Statements |
| attribute again so that processing of a later pragma Import can |
| still remove them. |
| |
| 2014-02-24 Claire Dross <dross@adacore.com> |
| |
| * a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads, |
| a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, |
| a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename |
| Left/Right to First_To_Previous/Current_To_Last. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * adaint.h (struct file_attributes): New component "error" |
| (__gnat_error_attributes): Accessor for the above. |
| * adaint.c (__gnat_error_attributes): New subprogram |
| (__gnat_stat): Fix returned value (expect errno value) |
| (__gnat_stat_to_attr): Add management of error component (set to |
| stat errno value, except for missing files where it is set to 0, |
| and exists is set to 0). |
| * osint.ads (File_Attributes_Size): Update per change above, |
| also clarify documentation. |
| * s-filatt.ads: New file, binding to file attributes related |
| functions. |
| * Makefile.rtl (s-filatt): New runtime unit. |
| * s-crtl.ads (strlen): Expose binding to GCC builtin (falls back |
| to library function if not available on target). |
| * s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram. |
| * s-oscons-tmplt.c (SIZEOF_struct_file_attributes, |
| SIZEOF_struct_dirent_alloc): New constants. |
| * Make-generated.in (s-oscons.ads): Now requires adaint.h. |
| * a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes. |
| Perform appropriate error checking if stat fails (do not just |
| ignore existing files if stat fails) |
| * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update |
| dependencies. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Global_Item): Move the check concerning |
| the use of volatile objects as global items in a function to |
| the variable related checks section. |
| * sem_util.adb (Async_Readers_Enabled): Directly call |
| Has_Enabled_Property. |
| (Async_Writers_Enabled): Directly call Has_Enabled_Property. |
| (Effective_Reads_Enabled): Directly call Has_Enabled_Property. |
| (Effective_Writes_Enabled): Directly call Has_Enabled_Property. |
| (Has_Enabled_Property): Rename formal parameter State_Id to Item_Id. |
| Update the comment on usage. State_Has_Enabled_Property how handles |
| the original logic of the routine. Add processing for variables. |
| (State_Has_Enabled_Property): New routine. |
| (Variable_Has_Enabled_Property): New routine. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb: |
| Minor reformatting. |
| * atree.ads, atree.adb (Node35): New function. |
| (Set_Node35): New procedure. |
| * debug.adb: Define new debug flag -gnatd.X. |
| * einfo.ads, einfo.adb (Import_Pragma): New field. |
| * freeze.adb (Wrap_Imported_Procedure): New procedure (not |
| really active yet, has to be activated with -gnatd.X. |
| * sem_prag.adb (Set_Imported): Set new Import_Pragma |
| field (Set_Imported): Don't set Is_Public (see |
| Freeze.Wrap_Imported_Subprogram) |
| * par-ch3.adb (P_Component_List): Handle unexpected null component. |
| |
| 2014-02-24 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch3.adb: Correct reference to SPARK RM in error messages. |
| * gnat_rm.texi: Correct documentation of attribute Update. |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): Reject container |
| iterator in older versions of Ada. |
| |
| 2014-02-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb, |
| par-ch12.adb: Change spelling 'parametrization' to 'parameterization'. |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for |
| indexed_components that are instances of Ada 2012 container |
| indexing operations. Analysis and resolution of such nodes |
| is performed on the attribute, and the original source is |
| preserved for ASIS operations. If expansion is enabled, the |
| indexed component is replaced by the value of this attribute, |
| which is in a call to an Indexing aspect, in most case wrapped |
| in a dereference operation. |
| * sem_ch4.adb (Analyze_Indexed_Component): Create |
| Generalized_Indexing attribute when appropriate. |
| (Analyze_Call): If prefix is not overloadable and has an indexing |
| aspect, transform into an indexed component so it can be analyzed |
| as a potential container indexing. |
| (Analyze_Expression): If node is an indexed component with a |
| Generalized_ Indexing, do not re-analyze. |
| * sem_res.adb (Resolve_Generalized_Indexing): Complete resolution |
| of an indexed_component that has been transformed into a container |
| indexing operation. |
| (Resolve_Indexed_Component): Call the above when required. |
| (Resolve): Do not insert an explicit dereference operation on |
| an indexed_component whose type has an implicit dereference: |
| the operation is inserted when resolving the related |
| Generalized_Indexing. |
| |
| 2014-02-24 Olivier Ramonat <ramonat@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development |
| Environment. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in |
| error messages. |
| (Inconsistent_Mode_Error): Remove leading spaces in error messages. |
| Merge the expected and available mode errors. |
| (Report_Unused_Constituents): Remove leading spaces in error messages. |
| (Report_Unused_States): Remove leading spaces in error messages. |
| |
| 2014-02-24 Thomas Quinot <quinot@adacore.com> |
| |
| * par_sco.adb (Traverse_One): Refine categorization of statement |
| SCOs. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012, |
| Pure_05, Pure_12 and Preelaborate_05. |
| * gnat_rm.texi: Update accordingly. |
| * sem_prag.adb: Document one argument form of Ada_05/Ada_2005 |
| pragmas Document one argument form of Ada_12/Ada_2012 pragmas |
| Recognize one argument form of these pragmas only in GNAT mode |
| (-gnatg). |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * s-dimmks.ads: Replace symbol for temperature, previously the |
| Greek letter Theta, by the ASCII @ sign. |
| * s-diflio.ads: ditto. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb: Minor code reorganization (use OR for boolean |
| variables). |
| * sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting. |
| |
| 2014-02-24 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_ugn.texi, projects.texi: Added the necessary conditionalization |
| so that references to gnatmem and ASIS tools do not appear in the FSF |
| edition of the GNAT User's Guide. |
| |
| 2014-02-24 Yannick Moy <moy@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Do not issue warning |
| for pre/post being ignored on imported subprogram in GNATprove |
| mode. |
| |
| 2014-02-24 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb, |
| stand.ads, sem_eval.adb: Minor reformatting. |
| |
| 2014-02-24 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb: Minor rewording in error message. |
| |
| 2014-02-24 Johannes Kanig <kanig@adacore.com> |
| |
| * exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in |
| GNATprove_mode, gnat2why doesn't need nor use these types. |
| |
| 2014-02-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Op_Expon): On the AAMP |
| target, in the case of signed integer exponentiation that uses a |
| run-time routine, always select the Exp_* versions, since overflow |
| checking is automatically done by AAMP arithmetic instructions. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): |
| When the related context is a package instace, insert pragma |
| Abstract_State after all internally-generated renamings related |
| to the instance "header". |
| |
| 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract |
| subprograms. |
| * sem_disp.adb (Check_Dispatching_Context): A non-dispatching |
| call to an abstract subprogram is legal if it appears in a |
| pre/postcondition of another abstract operation. |
| |
| 2014-02-24 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: Misc updates. |
| |
| 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_prag.adb (Expand_Old): Set the type of the generated temporary. |
| |
| 2014-02-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * layout.adb (Layout_Variant_Record): Instantiate |
| Generic_Check_Choices and call Check_Choices before calling |
| Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices |
| set to prevent generating incorrect discriminant-checking |
| functions for 'others' variants (functions that unconditionally |
| return True rather than accounting for the values covered by the |
| 'others' choice). |
| * sem_eval.ads (Subtypes_Statically_Compatible): Add formal |
| Formal_Derived_Matching. |
| (Subtypes_Statically_Match): Add formal Formal_Derived_Matching. |
| * sem_eval.adb (Subtypes_Statically_Compatible): Pass new |
| Formal_Derived_Matching formal to Subtypes_Statically_Match. |
| (Subtypes_Statically_Match): Suppress the Object_Size matching |
| test in the case where Formal_Derived_Matching is True. |
| * sem_ch12.adb (Validate_Derived_Type_Instance): Pass |
| True for Formal_Derived_Matching_Formal on the call to |
| Subtypes_Statically_Compatible. |
| |
| 2014-02-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Robustify. |
| |
| 2014-02-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting. |
| Look through a conversion between original and packable version to get |
| the base object. |
| (build_component_ref): Rework comment and fix formatting. |
| |
| 2014-02-20 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads (gnatelim): Add description of |
| project-specific options. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error, |
| not Constraint_Error. |
| * a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto. |
| * sem_ch5.adb: Code clean up. |
| |
| 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Usage_Error): Remove local |
| constant Typ. Remove the specialized diagnostics for unconstrained |
| or tagged items as those are not part of the explicit input set |
| of the related subprogram and should not be flagged. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb: Add guard to preserve all errors. |
| |
| 2014-02-20 Vincent Celier <celier@adacore.com> |
| |
| * switch-m.adb (Normalize_Compiler_Switches): Take into account |
| switches that are recorded in ALI files: -gnateA, -gnateE, |
| -gnateF, -gnateinn, -gnateu, -gnateV and -gnateY. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): Check legality |
| of an element iterator form over a formal container with an |
| Iterable aspect. |
| * exp_ch5.adb (Build_Formal_Container_Iteration): Utility |
| to create declaration and loop statements for both forms of |
| container iterators. |
| (Expand_Formal_Container_Element_Iterator): New procedure |
| to handle loops of the form "for E of C" when C is a formal |
| container. |
| (Expand_Formal_Container_Iterator): Code cleanup. |
| |
| 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Add_Item_To_Name_Buffer): New routine. |
| (Analyze_Contract_Case): Remove the use of |
| "may". Replace "aspect Contract_Cases" to avoid categorization |
| of aspect vs pragma. |
| (Analyze_External_Property_In_Decl_Part): Remove the use of "formal". |
| (Analyze_Global_Item): Remove |
| the use of "formal", specify the subprogram. Split the |
| error message about a state with visible refinement into |
| two. Remove the use of "global" from "volatile global item". |
| (Analyze_Initialization_Item): Ensure that the SPARK RM reference |
| is on one line. |
| (Analyze_Input_Output): Update the call to |
| Check_Mode. Specify the duplicated item. Reword the error |
| message concerning an input of a null output list. Use "\" |
| for error message continuation. |
| (Analyze_Part_Of): Remove |
| the use of "may". Use "\" for error message continuation. |
| (Analyze_Refined_Depends_In_Decl_Part): Update the error |
| message concerning a useless refinement to match the format |
| of Refined_Global. |
| (Analyze_Refined_Global_In_Decl_Part): Reword the error message |
| concerning a useless refinement. |
| (Analyze_Refinement_Clause): Use "\" for error message continuation. |
| (Check_Constituent_Usage): Use "\" for error message continuation. |
| (Check_Dependency_Clause): Use "\" for error message continuation. |
| (Check_Matching_Constituent): Use "\" for error message continuation. |
| (Check_Missing_Part_Of): Use "\" for error message continuation. |
| (Check_Mode): Renamed to |
| Check_Role. Update the comment on usage. Redo the error reporting |
| to use Role_Error. |
| (Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error |
| message continuation. |
| (Find_Mode): Renamed to Find_Role. Update the parameter profile along |
| with comment on usage. Update all occurrences of Is_Input and Is_Output. |
| (Inconsistent_Mode_Error): Use "\" for error message continuation. |
| (Input_Match): Use "\" for error message continuation. |
| (Role_Error): New routine. |
| (Set_Convention_From_Pragma): Use "\" for error message continuation. |
| (Usage_Error): Add local variable Error_Msg. Build specialized error |
| message showcasing the offending item kind. Redo the diagnostics for |
| unconstrained types. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.adb (Is_Iterated_Container): Use high-level primitives |
| to determine whether a type is a container type, rather than |
| examining only its type declaration, so that subtypes and derived |
| types are handled properly. |
| |
| 2014-02-20 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: gnatmetric: add description of project-specific |
| options. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Verify that |
| all choices in an association for a record type have the same |
| type, as is done for record aggregates. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma |
| Unmodified rather than Warnings (Off). Make comments |
| uniform in the four affected units. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case |
| Object_Size): For non-scalar types allow any value that is a |
| multiple of 8. |
| * gnat_rm.texi: Document Object_Size for composites more clearly. |
| |
| 2014-02-20 Yannick Moy <moy@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Default_Initialization): Remove function. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * stand.ads: Raise_Type: new predefined entity, used as the type |
| of a Raise_Expression prior to resolution. |
| * cstand.adb: Build entity for Raise_Type. |
| * sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the |
| initial type of the node. |
| * sem_type.adb (Covers): Raise_Type is compatible with all |
| other types. |
| * sem_res.adb (Resolve): Remove special handling of Any_Type on |
| Raise_Expression nodes. |
| (Resolve_Raise_Expression): Signal ambiguity if the type of the |
| context is still Raise_Type. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch12.adb (Validate_Access_Type_Instance): Add message if |
| mismatching predicates. |
| * sem_ch6.adb (Check_Conformance): Give better messages on |
| predicate mismatch. |
| * sem_eval.adb (Predicates_Match): Move to spec. |
| * sem_eval.ads (Predicates_Match): Moved here from body. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cbmutr.adb: Use default value in Insert_Child. |
| |
| 2014-02-20 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call |
| Stringt.Initialize in all project aware tools. |
| |
| 2014-02-20 Doug Rupp <rupp@adacore.com> |
| |
| * gnat_ugn.texi: Document gnatbind -X option. |
| * vms_data.ads: Minor warnings documentation reformatting. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant |
| procedure for a base type. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Case_Expression): Get type from first |
| expression with type info. |
| * sem_ch13.adb: Minor reformatting. |
| * sem_eval.adb (Subtypes_Statically_Match): Make sure we return |
| False if predicates do not match on the two types. |
| |
| 2014-02-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]): |
| In Relaxed_RM_Semantics mode, allow any static integer value, |
| for compatibility with other compilers. |
| |
| 2014-02-20 Vincent Celier <celier@adacore.com> |
| |
| * errutil.adb (Initialize): Properly initialize entry in table |
| Warnings when warnings are suppressed. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-os_lib.ads: Add warning about non-portability of Rename_File. |
| * sem_util.ads, sem_util.adb (Is_Junk_Name): New function. |
| * sem_warn.adb: Use Is_Junk_Name to suppress some warnings. |
| * gnat_ugn.texi: Document no warnings on junk variable names. |
| * layout.adb: Minor code reorganization (use Ekind_In). |
| * stringt.adb: Move initialization of Null_String_Id to Initialize |
| routine. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb: Initialize optional Element_Id. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-os_lib.ads (Rename_File): Minor commment addition. |
| |
| 2014-02-20 Thomas Quinot <quinot@adacore.com> |
| |
| * einfo.ads: Minor reformatting. |
| |
| 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb (Exchange_Aspects): New routine. |
| * aspects.ads (Exchange_Aspects): New routine. |
| * atree.adb (Rewrite): Do not check whether the save node has |
| aspects as it never will, instead check the node about to be clobbered. |
| * einfo.adb (Write_Field25_Name): Abstract_States can appear in |
| entities of generic packages. |
| * sem_ch6.adb (Analyze_Expression_Function): Fix the parent |
| pointer of an aspect specification list after rewriting takes place. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect |
| specifications of the generic template and the copy used for analysis. |
| * sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap |
| the aspect specifications of the generic template and the |
| copy used for analysis. |
| (Analyze_Package_Instantiation): Propagate the aspect specifications |
| from the generic template to the instantiation. |
| (Build_Instance_Compilation_Unit_Nodes): Propagate the aspect |
| specifications from the generic template to the instantiation. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects |
| Abstract_State, Initializes and Initial_Condition when they |
| apply to a package instantiation. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * stringt.adb: Add call to Initialize in package initialization. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb, |
| a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, |
| a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb, |
| a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor |
| reformatting. |
| |
| 2014-02-20 Bob Duff <duff@adacore.com> |
| |
| * s-os_lib.ads: Minor: Remove incorrect comment. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Check_Elab_Assign): Clearer warning message. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cborma.adb (Assign): When creating a node without a specified |
| element, insert an uninitialized element in the map, because |
| the instance may provide an element type with a default |
| initialization, e.g a scalar with a Default_Value aspect. |
| * a-cbhama.adb (Assign_Key): Remove useless Allocate procedure. |
| (Insert): In the version without explicit element, provide an |
| uninitialized element, as above. |
| * a-cbdlli.adb (Append): In the version without explicit element, |
| provide an uninitalized element, as above. |
| (Allocate): Remove unused version. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb: Minor code reorganization (use Nkind_In). |
| * stringt.adb: Remove temporary pragma Warnings (Off). |
| * stringt.ads: Add pragma Elaborate_Body to ensure initialization |
| of Null_String_Id. |
| |
| 2014-02-20 Matthew Heaney <heaney@adacore.com> |
| |
| * a-chtgbk.adb (Replace): Use correct offset when calculating bucket |
| index. |
| |
| 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): Initialize |
| properly the cursor type for subsequent volatile testing in SPARK |
| mode, when domain is a formal container with an Iterabe aspect. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Set_Warnings_Mode_Off): Add Reason argument. |
| (Set_Specific_Warning_Off): Add Reason argument. |
| * errout.ads (Set_Warnings_Mode_Off): Add Reason argument. |
| (Set_Specific_Warning_Off): Add Reason argument. |
| * erroutc.adb (Warnings_Entry): Add Reason field |
| (Specific_Warning_Entry): Add Reason field. |
| (Warnings_Suppressed): return String_Id for Reason. |
| (Warning_Specifically_Suppressed): return String_Id for Reason. |
| * erroutc.ads (Warnings_Entry): Add Reason field. |
| (Specific_Warning_Entry): Add Reason field. |
| (Set_Specific_Warning_Off): Add Reason argument. |
| (Set_Warnings_Mode_Off): Add Reason argument. |
| (Warnings_Suppressed): return String_Id for Reason. |
| (Warning_Specifically_Suppressed): return String_Id for Reason. |
| * errutil.adb (Warnings_Suppressed): returns String_Id for Reason |
| (Warning_Specifically_Suppressed): returns String_Id for Reason |
| * gnat_rm.texi: Document that Warning parameter is string literal |
| or a concatenation of string literals. |
| * par-prag.adb: New handling for Reason argument. |
| * sem_prag.adb (Analyze_Pragma, case Warning): New handling |
| for Reason argument. |
| * sem_util.ads, sem_util.adb (Get_Reason_String): New procedure. |
| * sem_warn.ads (Warnings_Off_Entry): Add reason field. |
| * stringt.adb: Set Null_String_Id. |
| * stringt.ads (Null_String_Id): New constant. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads: Minor comment addition: Etype of package is |
| Standard_Void_Type. |
| * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb, |
| exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, |
| exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb, |
| exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb, |
| freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb, |
| sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, |
| sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb, |
| sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To. |
| Replace all calls with calls to New_Occurrence_Of. |
| |
| 2014-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * par-util.adb (Ignore, case of right paren): Make this a |
| serious error. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting. |
| * debug.adb: Remove -gnatd.X switch, no longer used. |
| * styleg.adb (Check_Then): Remove check of -gnatd.X, check is |
| now always made. |
| |
| 2014-02-19 Bob Duff <duff@adacore.com> |
| |
| * g-socket.ads: Minor: Correct some comments. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb: Inhibit iterator rewriting in ASIS mode. |
| |
| 2014-02-19 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate |
| an error on out of range priorities if Relaxed_RM_Semantics. |
| * sem_prag.adb (Analyze_Pragma): Ditto. |
| |
| 2014-02-19 Bob Duff <duff@adacore.com> |
| |
| * sem_attr.adb (Resolve_Attribute): Detect the case of F'Access |
| where F denotes the renaming of an enumeration literal, and |
| issue a specialized error message. |
| |
| 2014-02-19 Matthew Heaney <heaney@adacore.com> |
| |
| * a-chtgop.ads (Checked_Index): New operation. |
| (Next): Changed mode of hash table. |
| * a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering |
| (Generic_Read, Reserve_Capacity): Ditto. |
| (Generic_Equal): Detect tampering. |
| (Next): Changed mode of hash table, detect tampering. |
| * a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New |
| operation. |
| (Find): Changed mode of hash table. |
| * a-chtgke.adb (Checked_Equivalent_Keys): New operation |
| (Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect |
| tampering. |
| (Find): Changed mode of hash table, check for tampering. |
| (Generic_Replace_Element): Check for tampering. |
| * a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation. |
| * a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New |
| operation (Delete_Key_Sans_Free, Generic_Conditional_Insert): |
| Detect tampering. |
| (Find, Generic_Replace_Element): Check for tampering. |
| * a-chtgbo.ads (Checked_Index): New operation. |
| * a-chtgbo.adb (Checked_Index): New operation |
| (Delete_Node_Sans_Free, Generic_Equal): Detect tampering. |
| (Generic_Read, Next): Ditto. |
| * a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash |
| table (Difference, Intersection): Use variable view of |
| source, detect tampering (Find, Is_Subset, Overlap): Use |
| variable view of container (Symmetric_Difference, Union): |
| Detect tampering (Vet): Use Checked_Index to detect tampering |
| (Constant_Reference, Element, Find): Use variable view of |
| container. |
| (Update_Element_Preserving_Key): Detect tampering. |
| * a-cbhase.adb (Difference, Find, Is_In): Use variable view |
| of container. |
| (Is_Subset): Ditto. |
| (Equivalent_Sets, Overlap): Use Node's Next component. |
| (Vet): Use Checked_Index to detect tampering. |
| (Constant_Reference, Element, Find): Use variable view of container. |
| (Update_Element_Preserving_Key): Detect tampering. |
| * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference, |
| Element, Find): Use variable view of container. |
| (Reference): Rename hash table component. |
| (Vet): Use Checked_Index to detect tampering. |
| |
| 2014-02-19 Arnaud Charlet <charlet@adacore.com> |
| |
| * adabkend.adb (Scan_Compiler_Arguments): Add missing handling |
| of -nostdinc. |
| |
| 2014-02-19 Thomas Quinot <quinot@adacore.com> |
| |
| * tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard |
| against calls without Def_Id. |
| |
| 2014-02-19 Claire Dross <dross@adacore.com> |
| |
| * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, |
| a-cofove.ads: Add global annotations to subprograms. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove |
| constants Errors, Pack_Id and Pack_Init. Remove variable Vars. |
| Initial_Condition no longer requires the presence of pragma |
| Initialized. Do not try to diagnose whether all variables mentioned in |
| pragma Initializes also appear in Initial_Condition. |
| (Collect_Variables): Removed. |
| (Match_Variable): Removed. |
| (Match_Variables): Removed. |
| (Report_Unused_Variables): Removed. |
| |
| 2014-02-19 Thomas Quinot <quinot@adacore.com> |
| |
| * gnat_rm.texi (pragma Stream_Convert): Minor rewording. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor |
| reformatting. |
| |
| 2014-02-19 Vincent Celier <celier@adacore.com> |
| |
| * prj-part.adb (Parse_Single_Project): Use the fully resolved |
| project path, with all symbolic links resolved, to check if the |
| same project is imported with a different unresolved path. |
| * prj-tree.ads (Project_Name_And_Node): Component Canonical_Path |
| changed to Resolved_Path to reflect that all symbolic links |
| are resolved. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util |
| from sem_ch13, for use elsewhere. |
| * sem_ch13.adb (Get_Cursor_Type): Moved to sem_util. |
| * sem_ch5.adb (Analyze_Iterator_Specification): Set properly the |
| cursor type on the loop variable when the iteration is over o |
| formal container. |
| |
| 2014-02-19 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration |
| for an empty Target (Check_Target): Never fail when an empty |
| target is declared in the configuration project. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if |
| the pragma comes fron a predicate aspect and the context is a |
| record declaration within the scope that declares the type. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Minor clarifications. |
| * expander.adb, sem_aggr.adb: Add comments. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that |
| applies to a subprogram body, the name is the current scope, |
| rather than being declared in the current scope. |
| (Analyze_Pragma, case No_Return): Handle properly a No_Return |
| aspect applied to a subprogram body. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution |
| of overloaded subprograms, and fix bug in handling of primitive |
| operation Element. |
| |
| 2014-02-19 Pascal Obry <obry@adacore.com> |
| |
| * s-os_lib.adb: Minor reformatting. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * expander.adb (Expand): Do nothing inside generics. |
| * sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside |
| generics. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * exp_ch2.adb: Remove useless 'with' of unit Uintp. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting |
| * a-sequio.adb: Remove useless pragma Extensions_Allowed (no |
| longer needed). |
| |
| 2014-02-19 Claire Dross <dross@adacore.com> |
| |
| * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, |
| a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): Analyze |
| a package contract at the end of the private declarations (if |
| applicable), otherwise analyze it and the end of the visible |
| declarations. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * style.adb (Missing_Overriding): If subprogram is an |
| instantiation, place warning on the instance node itself, |
| without mention of the original generic. Do not emit message |
| if explicit Ada version is older than the introduction of the |
| overriding indicator. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * gnat_rm.texi: Doc clarifications. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * exp_util.adb (Remove_Side_Effects): Do not remove side-effects |
| inside a generic. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Get_Cursor_Type): Obtain cursor type from |
| specified First primitive, rather than by name. |
| (Validate_Iterable_Aspect, Resolve_Iterable_Operation): Use it, |
| and extend error checking for missing primitives and incorrect |
| signatures. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Check_Pragma_Implemented): Detect additional |
| errors when a Synchronization aspect on an overriding protected |
| operation does not match the given aspect on the overridden |
| operation of an ancestor interface. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Loop_Pragma_Grouping): New routine. |
| (Check_Loop_Pragma_Placement): Update |
| comment on usage. Remove local variables Orig_Stmt and |
| Within_Same_Sequence. Check that the current Loop_Invariant or |
| Loop_Variant pragma is grouped together with other such pragmas. |
| (Is_Loop_Pragma): New routine. |
| (Prev_In_Loop): Removed. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch6.adb (P_Return): For extended return, end column lines |
| up with RETURN. |
| * par.adb: Minor documentation clarification. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Check_Loop_Pragma_Placement): Add check |
| that Loop_Invariant and Loop_Variant appear consecutively. |
| * gnat_rm.texi Update documentation of Loop_Invariant and |
| Loop_Variant pragmas. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document -gnatd.X. |
| * par-ch5.adb (P_If_Statement): Always check THEN, even if not |
| first token |
| (Check_Then_Column): Ditto. |
| * styleg.adb (Check_Then): Allow THEN on line after IF. |
| (Check_Then): Check THEN placement under control of -gnatd.X |
| * styleg.ads (Check_Then): Now called even if THEN is not first |
| token on line. |
| * stylesw.ads (Style_Check_If_Then_Layout): Document new |
| relaxed rules. |
| * gnat_ugn.texi: For -gnatyi, THEN can now be on line after IF. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * a-cfhama.adb, a-cfhase.adb, a-cforse.adb, a-cofove.adb, a-ngcefu.adb, |
| a-teioed.adb, a-wtedit.adb, a-ztedit.adb, exp_ch5.adb, inline.adb, |
| prj-pp.adb, prj-tree.adb, sem_ch12.adb, sem_ch8.adb, |
| vms_conv.adb: Fix bad layout of IF statements |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb: Update comments. |
| |
| 2014-02-19 Doug Rupp <rupp@adacore.com> |
| |
| * bindgen.adb (Gen_Adainit) [VMS] New global Float_Format. |
| * init.c (__gl_float_format): [VMS] New global. |
| (__gnat_set_features): Call FP_CONTROL to set FPSR for the float |
| representation in effect. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb Add with and use clause for Exp_Prag. |
| (Expand_Contract_Cases): Relocated to Exp_Prag. |
| * exp_ch6.ads (Expand_Contract_Cases): Relocated to Exp_Prag. |
| * exp_prag.adb Add with and use clauses for Checks and Validsw. |
| (Expand_Contract_Cases): Relocated from Exp_Ch6. Update the |
| structure of the expanded code to showcase the evaluation of |
| attribute 'Old prefixes. Add local variable Old_Evals. Expand |
| any attribute 'Old references found within a consequence. Add |
| circuitry to evaluate the prefixes of attribute 'Old that |
| belong to a selected consequence. |
| (Expand_Old_In_Consequence): New routine. |
| * exp_prag.ads (Expand_Contract_Cases): Relocated from Exp_Ch6. |
| * sem_attr.adb (Check_Use_In_Contract_Cases): Warn that a |
| potentially unevaluated prefix is always evaluated. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration |
| (Expand_Min_Max_Attribute): Use Matching_Standard_Type. |
| * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special |
| handling for the case of Modify_Tree_For_C, this approach did |
| not work. |
| * exp_util.adb (Matching_Standard_Type): New function |
| (Side_Effect_Free): New top level functions (from |
| Remove_Side_Effects). |
| * exp_util.ads (Side_Effect_Free): New top level functions |
| (moved from body). |
| * sinfo.ads: Minor comment updates. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Expand_Simple_Function_Return): If return |
| type is unconstrained and uses the secondary stack, mark the |
| enclosing function accordingly, to ensure that the value is not |
| prematurely removed. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * par.adb Alphabetize the routines in Par.Sync. |
| (Resync_Past_Malformed_Aspect): New routine. |
| * par-ch13.adb (Get_Aspect_Specifications): Alphabetize local |
| variables. Code and comment reformatting. Detect missing |
| parentheses on aspects [Refined_]Global and [Refined_]Depends |
| with a non-null definition. |
| * par-sync.adb: Alphabetize all routines in this separate unit. |
| (Resync_Past_Malformed_Aspect): New routine. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.ads, sem_eval.adb (Subtypes_Statically_Match): Return False |
| if Esize values do not match. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * sinfo.ads: Minor comment update. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * atree.ads: Minor reformatting (change Entity_Info to Einfo). |
| |
| 2014-02-19 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb (Find_Node_To_Be_Wrapped): An assignment statement |
| that has the No_Ctrl_Actions flag is a suitable node to be |
| wrapped if the assigned expression has no finalization actions. |
| * sem_eval.adb (Eval_Entity_Name): For a compile time known |
| boolean value, mark the corresponding condition SCO as constant. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb: Minor reformatting. |
| * exp_util.ads (Matching_Standard_Type): New function. |
| * exp_ch7.adb: Minor reformatting. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Get_Cursor_Type): Use scope of iterable type |
| to find declaration for Cursor, to handle properly the case of |
| a discriminated iterable type. |
| |
| 2014-02-19 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): Always replace the object dirs of |
| imported library projects with the library ALI dirs, when setting |
| the object paths. |
| * prj-env.ads (Ada_Objects_Path): Correct comments about |
| argument Including_Libraries. |
| |
| 2014-02-19 Gary Dismukes <dismukes@adacore.com> |
| |
| * gnat_rm.texi: Minor spelling fixes. |
| |
| 2014-02-19 Doug Rupp <rupp@adacore.com> |
| |
| * init.c: Remove unneeded code. |
| * fe.h (Float_Format): New macro |
| * gcc-interface/trans.c (gigi): On VMS, set vms_float_format. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Refined_Global_Item): |
| A state or variable acts as a constituent only it is part of an |
| encapsulating state and the state has visible refinement. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Contract): Do not warn on a |
| postcondition for a function when the expression does not mention |
| 'Result but the function has in-out parameters. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Add documentation on Value_Size forcing biased |
| representation. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * lib-xref.ads Remove the small table of letter and symbol usage as we |
| already have one. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Emit specific error |
| messages depending on the offending misplaced aspect specifications. |
| (Diagnose_Misplaced_Aspect_Specifications): New routine. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Get_Cursor): Utility to retrieve cursor type |
| for iterable aspect primitives. |
| (Resolve_Iterable_Operation): Use expected signature of iterable |
| aspect to resolve primitive when overloading is present. |
| (Validate_Iterable_Aspect, Analyze_Aspects_At_Freeze_Point): use it. |
| (Check_Signature): Removed. |
| |
| 2014-02-19 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Proper_Body): Issue error on missing |
| subunit in GNATprove_Mode. |
| * sinfo.ads (GNATprove_Mode): Document error issued in GNATprove_Mode. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * lib-xref.ads Alphabetize the contents of table |
| Xref_Entity_Letters. Add an entry in table Xref_Entity_Letters |
| for E_Abstract_State. List all letters and symbols in use. |
| * sem_prag.adb (Analyze_Abstract_State): Update all calls |
| to Create_Abstract_State to reflect the new signature. |
| (Create_Abstract_State): Change subprogram profile and update |
| the comment on usage. Use the proper location of the state |
| declaration when creating a new abstract state entity. Do not |
| generate an external name, but simply reuse the name coming from |
| the state declaration. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure |
| declarations get properly inserted in Modify_Tree_For_C mode. |
| * sinfo.ads: Minor comment addition. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch9.adb, exp_ch5.adb, sem_ch5.adb, exp_attr.adb, sem_util.adb, |
| sem_util.ads, sem_ch13.adb, sem_ch13.ads: Minor reformatting. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * style.adb (Missing_Overriding): Warning does not apply in |
| language versions prior to Ada 2005. |
| * snames.ads-tmpl: Add Name_Iterable and Attribute_Iterable. |
| * sem_attr.adb: Add Attribute_Iterable where needed. |
| * exp_attr.adb: ditto. |
| * exp_ch5.adb (Expand_Formal_Container_Loop): New procedure to |
| handle loops and quantified expressions over types that have an |
| iterable aspect. Called from Expand_Iterator_Loop. |
| * sem_ch5.adb (Analyze_Iterator_Specification): Recognize types |
| with Iterable aspect. |
| * sem_ch13.adb (Validate_Iterable_Aspect): Verify that the |
| subprograms specified in the Iterable aspect have the proper |
| signature involving container and cursor. |
| (Check_Aspect_At_Freeze_Point): Analyze value of iterable aspect. |
| * sem_ch13.ads (Validate_Iterable_Aspect): New subprogram. |
| * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): |
| New procedure to retrieve one of the primitives First, Last, |
| or Has_Element, from the value of the iterable aspect of a |
| formal container. |
| (Is_Container_Element): Predicate to recognize expressions |
| that denote an element of one of the predefined containers, |
| for possible optimization. This subprogram is not currently |
| used, pending ARG discussions on the legality of the proposed |
| optimization. Worth preserving for eventual use. |
| (Is_Iterator): Recognize formal container types. |
| * aspects.ads, aspects.adb: Add Aspect_Iterable where needed. |
| |
| 2014-02-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_Min_Max_Attribute): New procedure |
| (Expand_N_Attribute_Reference): Use this procedure for Min and Max. |
| * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object |
| declarations from list of actions. |
| * output.ads, output.adb (Delete_Last_Char): New procedure. |
| * sinfo.ads: Document handling of Mod and expression with actions |
| in Modify_Tree_For_C mode. |
| |
| 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch9.adb (P_Task): Add a null statement to produce a |
| well-formed task body when due to a previous syntax error the |
| statement list is empty. |
| |
| 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Dependency_Clause): Account |
| for the case where a state with a non-null refinement matches a |
| null output list. Comment reformatting. |
| (Inputs_Match): Copy a solitary input to avoid an assertion failure |
| when trying to match the same input in multiple clauses. |
| |
| 2014-02-19 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_attr.adb: Minor typo fix. |
| |
| 2014-02-18 Robert Dewar <dewar@adacore.com> |
| |
| * cstand.adb (Build_Signed_Integer_Type): Minor change of formal |
| from Int to Nat (Build_Unsigned_Integer_Type): New procedure |
| (Create_Standard): Create new unsigned types. |
| * exp_ch4.adb (Expand_N_Op_Mod): Expand mod in Modify_Tree_For_C |
| mode (Expand_N_Reference): Removed, problematic and not needed |
| for now. |
| * exp_ch4.ads (Expand_N_Reference): Removed, problematic and |
| not needed for now. |
| * exp_util.ads, exp_util.adb (Power_Of_Two): New function. |
| * expander.adb: Remove call to Expand_N_Reference (problematic, |
| and not needed now). |
| * sem_aux.ads, sem_aux.adb (Corresponding_Unsigned_Type): New function. |
| * stand.adb: Read and write unsigned type entities. |
| * stand.ads: Add new unsigned types. |
| |
| 2014-02-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Call): Do not mark a function call |
| as being inside an assertion expression as the flag is now removed. |
| (Check_Ghost_Subprogram_Call): Do not query the |
| In_Assertion_Expression flag as it is now removed, instead use |
| a predicate function. |
| * sem_elab.adb (Check_Internal_Call_Continue): Do not query the |
| In_Assertion_Expression flag as it is now removed, instead use |
| a predicate function. |
| * sem_prag.ads: Add new table Assertion_Expression_Pragma. |
| * sem_util.adb Add with and use clause for Sem_Prag. |
| (In_Assertion_Expression_Pragma): New routine. |
| * sem_util.ads (In_Assertion_Expression_Pragma): New routine. |
| * sinfo.adb (In_Assertion_Expression): Removed. |
| (Set_In_Assertion_Expression): Removed. |
| * sinfo.ads Remove flag In_Assertion_Expression along with its |
| use in nodes. |
| (In_Assertion_Expression): Removed along with |
| pragma Inline. (Set_In_Assertion_Expression): Removed along |
| with pragma Inline. |
| |
| 2014-02-18 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi: gnatpp section: add note that '-j' cannot be |
| used together with '-r', '-rf' or '-rnb' options. |
| |
| 2014-02-18 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Comment |
| and code reformatting. Use separate routines to check the |
| legality of attribute 'Old in certain pragmas. Verify |
| the use of 'Old, 'Result and locally declared entities |
| within the prefix of 'Old. |
| (Check_References_In_Prefix): New routine. |
| (Check_Use_In_Contract_Cases): New routine. |
| (Check_Use_In_Test_Case): New routine. |
| |
| 2014-02-18 Vincent Celier <celier@adacore.com> |
| |
| * sem_aux.adb (Is_By_Reference_Type): For each components of |
| a record type, check also if the component is volatile as it |
| may have an aspect that makes it volatile. If it is, then the |
| record type is a by reference type. |
| |
| 2014-02-18 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb: Minor reformatting. |
| * exp_ch4.ads, exp_ch4.adb (Expand_N_Reference): New procedure. |
| * exp_util.adb (Remove_Side_Effects): Add conditional expressions |
| as another case where we don't generate N_Reference nodes for |
| primitive types. |
| * expander.adb (Expand): Add call to Expand_N_Reference. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refined_Pragma): Remove |
| local variable Pack_Spec. Refinement pragmas may now apply to |
| bodies of both visible and private subprograms. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_Loop_Entry_Attribute): |
| Minor change (Attr => N) (Expand_Pred_Succ): New name |
| Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case |
| Max): Expand into if expression if Modify_Tree_For_C mode. |
| (Expand_N_Attribute_Reference, case Min): ditto |
| * sinfo.ads: Modify_Tree_For_C takes care of expanding Min and |
| Max attributes. |
| |
| 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): Do not generate |
| predicate check if this is an internal declaration with |
| No_Initialization set, as for an expanded aggregate component. |
| |
| 2014-02-06 Doug Rupp <rupp@adacore.com> |
| |
| * init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal |
| conditions with severity of "SUCCESS" or "INFORMATIONAL". |
| |
| 2014-02-06 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Analyze pragma |
| Debug rewritten node before rewriting it as a null statement in |
| GNATprove mode. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Min_Max): New procedure. |
| (Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New |
| procedure. |
| |
| 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for |
| gnatmetric/gnatpp. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Abstract_State): Update |
| all calls to Create_Abstract_State to pass the proper state |
| "declaration". |
| (Create_Abstract_State): Add new formal parameter |
| State_Decl along with comment on usage. Establish a link between |
| the abstract state entity and the state declaration. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case Max): Check for improper |
| comparison of unordered enumeration type. |
| (Analyze_Attribute, case Max): Check for improper comparison of |
| unordered enumeration type. |
| * sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to |
| sem_util.adb. |
| * sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference): |
| Moved here from Sem_Res. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor |
| reformatting. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Process_Formals): Error message reformatting. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local |
| variable Spec. Do not inherit the null indicator from the |
| subprogram body when generating the spec. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * casing.adb (Determine_Casing): Consider SPARK_Mode to be |
| mixed case. |
| |
| 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false |
| when the function has a foreign convention, but not if only the |
| limited return type has such a convention. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local |
| variable Spec. Comment reformatting. Use Copy_Separate_Tree |
| rather than New_Copy_Tree when building the corresponding |
| subprogram declaration. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Global_Item): Remove |
| the mode-related checks on abstract states with enabled external |
| properties. |
| (Property_Error): Removed. |
| |
| 2014-02-06 Javier Miranda <miranda@adacore.com> |
| |
| * lib-xref.adb (Generate_Reference): When |
| generating the reference to the first private entity take care |
| of handling swapped entities. |
| |
| 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for |
| gnatmetric. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater |
| than the word size when operating in Modify_Tree_For_C mode. |
| * sinfo.ads: Add documentation section on Modify_Tree_For_C mode. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.adb (Warning_Specifically_Suppressed.Matches): |
| compare is case insensitive. |
| * gnat_rm.texi: Document that string compare for Warnings Off |
| is now case insensitive. |
| |
| 2014-02-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_rm.texi: Small wording tweak. |
| |
| 2014-02-06 Pascal Obry <obry@adacore.com> |
| |
| * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns |
| and Included_Artifact_Patterns attribute definitions. |
| |
| 2014-02-06 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set |
| SPARK_Mode pragma component for all subprograms, including stubs. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Package_Body_Stub): Maintain |
| the configuration options of the enclosing context in a |
| stack-like fasion. |
| (Analyze_Subprogram_Body_Stub): Maintain the |
| configuration options of the enclosing context in a stack-like |
| fashion. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: -gnatd.u sets Modify_Tree_For C |
| * exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out |
| if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto. |
| (Expand_N_Op_Arithmetic_Right_Shift): ditto. |
| * exp_intr.adb (Expand_Shift): Call expander so we do |
| Modify_Tree_For_C expansions. |
| * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C |
| if -gnatd.u set. |
| |
| 2014-02-06 Fedor Rybin <frybin@adacore.com> |
| |
| * prj-proc.ads (Tree_Loaded_Callback): new type Callback used |
| after the phase 1 of the processing of each aggregated project |
| to get access to project trees of aggregated projects. |
| (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded |
| If specified, On_New_Tree_Loaded is called after each aggregated |
| project has been processed succesfully. |
| (Process): new parameter On_New_Tree_Loaded. |
| * prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded |
| callback added after processing of each aggregated project. |
| (Recursive_Process): new parameter On_New_Tree_Loaded. |
| (Process): new parameter On_New_Tree_Loaded. |
| (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded. |
| * prj-conf.ads (Parse_Project_And_Apply_Config): new parameter |
| On_New_Tree_Loaded. |
| * prj-conf.adb (Parse_Project_And_Apply_Config): new parameter |
| On_New_Tree_Loaded. |
| |
| 2014-02-06 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Implement --insert-blank-lines and |
| --preserve-blank-lines switches. |
| |
| 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
| |
| * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for |
| gnatelim. |
| |
| 2014-02-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat_rm.texi (Pragma Optimize_Alignment): Document the effect |
| of the pragma on individual objects. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb Node29 is now used as BIP_Initialization_Call. |
| (BIP_Initialization_Call): New routine. |
| (Set_BIP_Initialization_Call): New routine. |
| (Write_Field29_Name): Add an entry for constants and variables. |
| * einfo.ads Add new attribute BIP_Initialization_Call and update |
| its usage in nodes. |
| (BIP_Initialization_Call): New routine along with pragma Inline. |
| (Set_BIP_Initialization_Call): New routine along with pragma Inline. |
| * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): |
| Add local declaration Res_Decl. Capture the build-in-place |
| initialization call when the related object declaration has |
| created a transient block. |
| * exp_ch7.adb (Process_Transient_Objects): Add local variable |
| Fin_Insrt. Recognize a scenario where an object declaration acts |
| as a transient context and is initialized by a build-in-place |
| function call. |
| |
| 2014-02-06 Pascal Obry <obry@adacore.com> |
| |
| * prj-util.adb (For_Interface_Sources): Fix handling of required |
| bodies for aggregate libs. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * nlists.ads: Minor comment clarifications. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C |
| if gnatd.V set. |
| * opt.ads (Modify_Tree_For_C): New flag. |
| * output.ads, output.adb (Last_Char): New function. |
| |
| 2014-02-06 Pascal Obry <obry@adacore.com> |
| |
| * projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add |
| share/gpr for cross-builds. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb: |
| Minor reformatting and code clean ups. |
| |
| 2014-02-06 Pascal Obry <obry@adacore.com> |
| |
| * prj-util.adb (For_Interface_Sources): Skip non compilable languages. |
| * prj.ads: Minor typo fix in comment. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add |
| local variable Expr. Flag clauses with extra parenthesis as this |
| is not allowed by the syntax of the pragma. Code reformatting. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize |
| variables. Rename variabme Tnn to Temp. Do not create a temporary |
| if assertions are disabled. Find enclosing routine _Postconditions |
| and insert the temporary that captures the value of the prefix |
| before the routine. |
| * exp_ch6.adb (Build_Postconditions_Procedure): |
| Insert the generated _Postconditions routine |
| before the first source declaration of the related |
| subprogram. |
| (Insert_After_Last_Declaration): Removed. |
| (Insert_Before_First_Source_Declaration): New routine. |
| |
| 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.adb, exp_util.ads (Within_Internal_Subprogram): |
| Utility to determine whether current expansion is for the body |
| of a predefined primitive operation. |
| (Make_Predicate_Check): Use Within_Internal_Subpgram |
| * checks.adb (Apply_Predicate_Check): Use |
| Within_Internal_Subprogram |
| * sem_ch13.adb (Freeze_Entity_Checks): Ditto. |
| |
| 2014-02-06 Pascal Obry <obry@adacore.com> |
| |
| * prj.ads, prj-util.adb: Minor reformatting. |
| |
| 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item): |
| Take into account the Split_PPC flag to ensure that conjuncts |
| in a composite postcondition aspect are tested in source order. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal |
| use of SPARK_Mode. |
| * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag |
| illegal use of SPARK_Mode. |
| (Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode. |
| * sem_prag.adb (Analyze_Pragma): Code reformatting. |
| * sem_util.adb Add with and use clause for Aspects. |
| (Check_SPARK_Mode_In_Generic): New routine. |
| * sem_util.ads (Check_SPARK_Mode_In_Generic): New routine. |
| |
| 2014-02-06 Thomas Quinot <quinot@adacore.com> |
| |
| * a-calend.adb (Formatting_Operations.Split): Ensure that |
| Time_Error is raised for invalid time values. |
| |
| 2014-02-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Rewrite as a null statement |
| in GNATprove_Mode. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag. |
| * exp_ch3.adb (Build_Dcheck_Function): Set |
| Is_Discriminant_Check_Function. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Is_Subprogram_Call): Inspect |
| the original tree in certain cases where a construct has been |
| factored out and replaced by a reference to a temporary. |
| |
| 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Process_Full_View): Fix typo in the order of |
| parameters when propagating predicate function to full view. |
| (Find_Type_Of_Object): Freeze base type of object type to catch |
| premature use of discriminated private type without a full view. |
| |
| 2014-02-06 Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb: Minor reformatting. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Process_Transient_Object): Add local variable |
| Temp_Ins. When the transient object is initialized by an |
| aggregate, the hook must capture the object after the last |
| component assignment takes place. |
| * exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to |
| routine Is_Subprogram_Call. |
| (Is_Subprogram_Call): Inspect an |
| aggregate that has been heavily expanded for subprogram calls. |
| (Process_Transient_Objects): Add local variables Expr, Ptr_Id |
| and Temp_Ins. Remove the nested declare block and adjust the |
| indentation. When the transient object is initialized by an |
| aggregate, the hook must capture the object after the last |
| component assignment takes place. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Global_Item): Detect illegal uses of |
| external states with enabled properties that do not match the |
| global mode. |
| (Property_Error): New routine. |
| * sem_res.adb (Property_Error): New routine. |
| (Resolve_Actuals): Detect illegal uses of external variables with |
| enabled properties in procedure calls that do not match the mode of |
| the corresponding formal parameter. |
| |
| 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Has_Enabled_Property): Rename |
| formal parameter Prop_Nam to Property. Update the comment on usage |
| and all occurrences in the body. Add local variable Prop_Nam. When |
| inspecting a property with an expression, the property name |
| appears as the first choice of the component association. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting. |
| |
| 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_aggr.adb: Change "runtime" to "run time" in warning message, |
| for consistency with other messages. |
| |
| 2014-02-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Iterator_Loop): For a container element |
| iterator, indicate that the element is a constant if the container |
| type does not have a variable indexing aspect. |
| * sem_ch8.adb (Analyze_Object_Renaming): If the entity is already |
| marked as constant, do not reset its Ekind, to ensure that |
| container elements in an element loop are not modified if the |
| container (e.g. a hashed set) only has a constant indexing aspect. |
| |
| 2014-02-04 Arnaud Charlet <charlet@adacore.com> |
| |
| * g-souinf.ads: Subprograms in this unit are actually not pure. |
| * freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics. |
| * einfo.ads (Is_Pure): Update doc to match implementation. |
| |
| 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch13.adb: Minor spelling fix. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * opt.ads: Minor comment update. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite |
| instead of Replace. |
| |
| 2014-02-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings |
| on null expressions if component type is non-null, when the |
| corresponding association covers an empty range of index values. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads: Further comments on N_Expression_With_Actions node. |
| |
| 2014-02-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global |
| variables Out_Items and Ref_Global. Remove local constant |
| Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7 |
| and D8. Remove the useless collection of global items as this |
| was a leftover from an earlier version of the routine. Move |
| several routines out to avoid deep nesting and indentation. |
| (Inputs_Match): Add formal parameter Dep_Clause. Rename formal |
| parameter Do_Checks to Post_Errors. Update the comment on usage. |
| (Is_Matching_Input): Renamed to Input_Match. Add formal parameters |
| Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks |
| to Post_Errors. Update the comment on usage. Account for the |
| case where a self referential state may have a null input_list. |
| (Is_Self_Referential): New routine. |
| |
| 2014-02-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the |
| entity renames an expression, as in the case of an object of |
| an unconstrained type initialized by a function call, defer the |
| rewriting of the expression to the expander. |
| * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case |
| 'Alignment): If the entity renames an expression, introduce |
| temporary to capture value, and rewrite original declaration to |
| use temporary. |
| |
| 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
| |
| * g-comlin.adb: Minor typo fix. |
| |
| 2014-02-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_All): Types derived from a formal |
| access_to_classwide type do not have a finalization master. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb: Minor reformatting. |
| |
| 2014-02-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate |
| cases where Actions is a null list. |
| * sinfo.ads (N_Expression_With_Actions): Actions can be |
| temporarily empty during semantic analysis, but must be non-empty |
| in the final expanded tree. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb: Minor reformatting. |
| |
| 2014-01-31 Emmanuel Briot <briot@adacore.com> |
| |
| * g-comlin.adb (Set_Command_Line): Take the switches |
| configuration from the Command_Line_Config. |
| |
| 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed |
| refinement clause. |
| |
| 2014-01-31 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Add more documentation about others used as an |
| index in indexed attributes. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Minor update. |
| * gnat_rm.texi: Add example to Restriction_Warnings documentation. |
| * exp_util.adb: Minor reformatting. |
| |
| 2014-01-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier |
| depends on data that is not private to the protected object, |
| and potentially modifiable in unsynchronized fashion. |
| |
| 2014-01-31 Yannick Moy <moy@adacore.com> |
| |
| * erroutc.adb (Validate_Specific_Warnings): Remove special case for |
| GNATprove_Mode. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute |
| for Unknown_Package. |
| * sem_ch6.adb, sem_attr.adb: Minor comment addition. |
| |
| 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite |
| the logic that generates a runtime check to determine the |
| controlled status of the object about to be allocated or |
| deallocated. Class-wide types now always use a runtime check |
| even if they appear as generic actuals. |
| (Find_Object): Detect |
| a special case that involves interface class-wide types because |
| the object appears as a complex expression. |
| |
| 2014-01-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Process_Formals): In Ada2012 mode, place |
| subprogram with an incomplete untagged formals on the list of |
| private dependents, to verify that the type is properly completed |
| in the private part. |
| * sem_attr.adb: Code clean up. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch6.adb: Minor reformatting. |
| |
| 2014-01-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute |
| when Pkg is unknown. |
| |
| 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_Entity_Name): Comment |
| reformatting. Allow volatile objects in various generated checks. |
| |
| 2014-01-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): For a record |
| component association, set the etype of the identifier, for |
| SPARK use. |
| |
| 2014-01-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not |
| declared in a package, not checks can apply to the subprogram. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.adb (Validate_Specific_Warnings): Warnings are |
| controlled -gnatw.W. |
| * gnat_ugn.texi: Document new warnings controlled by -gnatw.w. |
| * opt.ads (Warn_On_Warnings_Off): Now controls more cases. |
| |
| 2014-01-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_disp.adb: Update comments. |
| |
| 2014-01-31 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration, |
| Save_Global_References): Guard access to expression in aspect. |
| |
| 2014-01-31 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): |
| Issue an error when the pragma is applied to a generic unit, |
| a generic declaration, or inside a generic. |
| |
| 2014-01-31 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming |
| entity. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor |
| reformatting. |
| |
| 2014-01-31 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_disp.adb: Add a historic note. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Warn_On_Useless_Assignments): Add call to |
| Process_Deferred_References. |
| |
| 2014-01-31 Yannick Moy <moy@adacore.com> |
| |
| * erroutc.adb (Validate_Specific_Warnings): Do not issue a message for |
| ineffective pragma Warnings(Off) in GNATprove_Mode. |
| |
| 2014-01-31 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.ads: Minor comment fix. |
| * s-tassta.adb (Abort_Dependents): Don't abort all dependents; |
| just direct dependents. If this is actually an abort, each task |
| will take care of aborting its dependents, so all dependents will |
| get aborted, as before. However, when this is called the second |
| time from Vulnerable_Complete_Master "for convenience" (i.e. to |
| kill off tasks waiting at terminate alternatives), aborting |
| indirect dependents is wrong, because it causes some unrelated |
| tasks to get aborted. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb: Minor reformatting. |
| |
| 2014-01-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch2.adb: New calling sequence for Is_LHS. |
| * frontend.adb: Add call to Process_Deferred_References. |
| * lib-xref.ads, lib-xref.adb (Process_Deferred_References): New. |
| (Deferred_References): New table. |
| * sem_ch8.adb (Find_Direct_Name): Make deferred reference table |
| entries. |
| (Find_Expanded_Name): Ditto. |
| * sem_res.adb: New calling sequence for Is_LHS. |
| * sem_util.ads, sem_util.adb (Is_LHS): New calling sequence. |
| * sem_warn.adb: Call Process_Deferred_References before issuing |
| warnings. |
| |
| 2014-01-31 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_util.adb (Corresponding_Runtime_Package): Restrict the |
| use of System_Tasking_Protected_Objects_Single_Entry. |
| * exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter |
| of Protected_Single_Entry_Call. |
| (Expand_N_Timed_Entry_Call): Remove single_entry case. |
| * exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove |
| single_entry case. |
| (Make_Disp_Timed_Select_Body): Likewise. |
| * rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove. |
| * s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove |
| Self_Id parameter. |
| (Wakeup_Entry_Caller): Remove Self_ID and New_State parameters. |
| (Wait_For_Completion_With_Timeout): Remove. |
| (Protected_Single_Entry_Call): Remove Mode parameter |
| (always Simple_Call). |
| (Service_Entry): Remove Self_Id constant (not used anymore). |
| (Timed_Protected_Single_Entry_Call): Remove. |
| * s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove. |
| (Protected_Single_Entry_Call): Remove Mode parameter. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post. |
| * einfo.ads (Get_Pragma): Update the comment on special pragmas |
| handled by this routine. |
| * sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post |
| to the contract of the related subprogram body. |
| * sem_util.adb (Add_Contract_Item): Handle the insertion of |
| pragma Refined_Post into the contract of a subprogram body. |
| * sinfo.ads Update the documentation of node N_Contract. |
| * sem_res.adb (Resolve_Entity_Name): Add a guard |
| to detect abstract states and variables only when checking the |
| SPARK 2014 rules concerning volatile object placement. |
| |
| 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance, |
| null is compatible with any access type. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Find_Placement_In_State_Space): Assume that the default |
| placement is not in a package. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Has_Enabled_Property): Compare the character field of |
| the sole property. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb, |
| vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb, |
| sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (In_Pragma_Expression): New function. |
| * sem_warn.adb (Check_References): Suppress warnings if inside |
| Initial_Condition pragma. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Missing_Part_Of): List all values of |
| State_Space_Kind for readability reasons. Do not emit an error on |
| a private item when the enclosing package lacks aspect/pragma |
| Abstract_State. Do not emit an error on a private package |
| instantiation when the corresponding generic template lacks |
| visible state. |
| (Has_Visible_State): New routine. |
| * sem_util.adb (Find_Placement_In_State_Space): The visible |
| declarations of any kind of child units in general act as proper |
| placement location. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, |
| ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, |
| a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, |
| a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, |
| atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, |
| a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, |
| cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, |
| eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, |
| exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, |
| exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, |
| freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, |
| gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, |
| krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, |
| live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, |
| par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, |
| par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, |
| par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, |
| rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, |
| s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, |
| sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, |
| sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, |
| sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, |
| sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, |
| sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, |
| s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, |
| sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, |
| s-regpat.adb, s-secsta.adb, s-stalib.ads, |
| s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, |
| s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, |
| s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, |
| system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, |
| urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * expander.adb: Minor reformatting. |
| |
| 2014-01-29 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to |
| previous patch. |
| |
| 2014-01-29 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code |
| that checks if an interface types defines the predefined "=" |
| function because the compiler was erroneously not generating the |
| predefined "=" primitive as soon as the name of some interface |
| primitive is "=" (formals were not checked). |
| |
| 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * expander.adb (Expander): In GNATprove mode, do not process |
| transient scopes: they are in general not created in this mode, |
| and an attempt to examine them will lead to constraint errors when |
| processing configuration pragmas that have analyzable expressions. |
| |
| 2014-01-29 Vincent Celier <celier@adacore.com> |
| |
| * clean.adb (Gnatclean): Fail if main project is an aggregate |
| project or if there is an aggregate library project in the |
| project tree. |
| * gnatcmd.adb: Fail if the main project is an aggregate project |
| or if there is an aggegate library project in the project tree. |
| * make.adb (Initialize): : Fail if main project is an aggregate |
| project or if there is an aggregate library project in the |
| project tree. |
| * makeutl.ads (Aggregate_Libraries_In): New Boolean function. |
| * prj-makr.adb (Initialize): Fail if the main project is an |
| aggregate project or an aggregate library project. |
| |
| 2014-01-29 Vincent Celier <celier@adacore.com> |
| |
| * prj-part.adb (Check_Import_Aggregate): New procedure |
| to check if an imported project is an aggregate project. |
| (Parse_Single_Project): Call Check_Import_Aggregate |
| * projects.texi: Document that aggregate projects cannot be |
| extended or imported. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor |
| reformatting and code clean up. |
| * gnat_ugn.texi: Add documentation section on Atomic Variables |
| and Optimization. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb Flag264 is now unused. |
| (Has_Body_References): Removed. |
| (Set_Has_Body_References): Removed. |
| (Write_Entity_Flags): Remove the output for flag Has_Body_References. |
| * einfo.ads Update the comment on usage of attribute |
| Body_References. Remove attribute Has_Body_References and its |
| usage in nodes. |
| (Has_Body_References): Removed along with pragma Inline. |
| (Set_Has_Body_References): Removed along with pragma Inline. |
| * sem_prag.adb (Analyze_Global_Item): Move the call to |
| Record_Possible_Body_Reference in the state related checks |
| section. Add a comment intended function. |
| (Analyze_Input_Output): Move the call to Record_Possible_Body_Reference |
| in the state related checks section. Add a comment intended function. |
| (Analyze_Refinement_Clause): Cleanup the illegal body reference |
| reporting. Add a comment on timing of error reporting. |
| (Record_Possible_Body_Reference): Reimplement the routine. |
| |
| 2014-01-29 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for |
| unit-based languages. |
| (Mains.Complete_Mains.Do_Complete): Use the source file project |
| tree when calling Find_File_Add_Extension. Use the correct |
| project name when reporting an error. |
| |
| 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb Add an entry for aspect Part_Of in table |
| Canonical_Aspect. |
| * aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id, |
| Aspect_Argument, Aspect_Names and Aspect_Delay. |
| * atree.h Define Elist9. |
| * atree.adb (Elist9): New routine. |
| (Set_Elist9): New routine. |
| * atree.ads (Elist9): New routine. |
| (Set_Elist9): New routine. |
| * einfo.adb Add Part_Of_Constituents and Encapsulating_State to |
| the list of node usage. Remove Refined_State from the list of |
| node usage. |
| (Encapsulating_State): New routine. |
| (Get_Pragma): |
| Handle pragma Part_Of; (Part_Of_Constituents): New routine. |
| (Refined_State): Removed. |
| (Set_Encapsulating_State): New routine. |
| (Set_Part_Of_Constituents): New routine. |
| (Set_Refined_State): Removed. |
| (Write_Field9_Name): Add an entry |
| for Part_Of_Constituents (Write_Field10_Name): Add an entry for |
| Encapsulating_State. Remove the entry for Refined_State. |
| * einfo.ads Add new attributes Encapsulating_State |
| and Part_Of_Constituents alond with their usage in |
| entities. Remove attribute Refined_State along with its |
| usage in entities. |
| (Encapsulating_State): New routine and |
| pragma Inline. (Get_Pragma): Update the comment on usage. |
| (Part_Of_Constituents): New routine and pragma Inline. |
| (Refined_State): Removed along with pragma Inline. |
| (Set_Encapsulating_State): New routine and pragma Inline. |
| (Set_Part_Of_Constituents): New routine and pragma Inline. |
| (Set_Refined_State): Removed along with pragma Inline. |
| * par-prag.adb Pragma Part_Of does not need any special processing |
| by the parser. |
| * sem_ch3.adb (Analyze_Declarations): Remove local variables |
| Body_Id and Prag. Call separate routines to analyze the |
| contract of a package [body]. |
| (Analyze_Object_Contract): |
| Update the comment on usage. Remove local variables |
| Items and Nam. Use Get_Pragma rather than traversing the |
| classification list. Verify whether the lack of indicator |
| Part_Of agrees with the placement of the variable in state space. |
| (Analyze_Object_Declaration): Initialize the encapsulating state |
| of a variable. (Requires_State_Refinement): Moved to sem_util. |
| * sem_ch7.adb (Analyze_Package_Body_Contract): New routine. |
| (Analyze_Package_Contract): New routine. |
| * sem_ch7.ads (Analyze_Package_Body_Contract): New routine. |
| (Analyze_Package_Contract): New routine. |
| * sem_ch10.adb (Decorate_State): Initialize the encapsulating |
| state and Part_Of constituents. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): |
| Add processing for aspect Part_Of. Update all |
| calls to Decorate_Delayed_Aspect_And_Pragma. |
| (Check_Aspect_At_Freeze_Point): Aspect Part_Of does |
| not need any special processing at freeze time. |
| (Decorate_Delayed_Aspect_And_Pragma): Renamed to |
| Decorate_Aspect_And_Pragma. Add formal parameter Delayed and |
| update the associated comment. |
| * sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags. |
| (Analyze_Abstract_State): Add new global variable State_Id. Remove |
| local constants Errors and Loc. Remove local variables Is_Null |
| and State_Nam. Create the entity of the abstract state on the |
| spot, before all remaining checks are performed. Verify that a |
| missing Part_Of option agrees with the placement of the abstract |
| state within the state space. |
| (Analyze_Depends_In_Decl_Part): |
| Add new global variables Constits_Seen and States_Seen. Check |
| that a state and a corresponding constituent do not appear |
| in pragma [Refined_]Depends. |
| (Analyze_Global_In_Decl_Part): |
| Add new global variables Constits_Seen and States_Seen. Check |
| that a state and a corresponding constituent do not appear |
| in pragma [Refined_]Global. |
| (Analyze_Global_Item): |
| Remove the now obsolete code that deals with Part_Of. |
| Add the entity of the global item to the list of processed |
| items. (Analyze_Initializes_In_Decl_Part): Add new global |
| variables Constits_Seen and States_Seen. Check that a state |
| and a corresponding constituent do not appear in pragma |
| Initializes. |
| (Analyze_Initialization_Item): Add the entity |
| of the initialization item to the list of processed items. |
| (Analyze_Input_Item): Add the entity of the initialization |
| item to the list of processed items. |
| (Analyze_Input_Output): |
| Remove the now obsolete code that deals with Part_Of. Add the |
| entity of the input/output to the list of processed items. |
| (Analyze_Part_Of): New routine. |
| (Analyze_Part_Of_Option): Remove |
| local constant Par_State. Add local constant Encaps and local |
| variables Encaps_Id and Legal. Use Analyze_Part of to analyze |
| the option. Turn the related state into a Part_Of constituent |
| if the option is legal. |
| (Analyze_Pragma): Add processing |
| for pragma Part_Of. |
| (Analyze_Refined_State_In_Decl_Part): |
| Remove global constants Pack_Body and Spec_Id. Remove |
| global variables Abstr_States and Hidden_States. Add new |
| global variables Available_States, Body_Id, Body_States and |
| Spec_Id. Add new local constant Body_Decl. Reimplement the |
| logic that extracts the states available for refinement from |
| the related package and the body hidden states of the said |
| package. |
| (Analyze_Refinement_Clause): Add local variable Part_Of_Constits. |
| (Check_Applicable_Policy): Alphabetize body. |
| (Check_Dependency_Clause): Replace Refined_State |
| with Encapsulating_State. |
| (Check_Matching_Constituent): |
| Reimplement the logic that determines whether an item is a valid |
| / invalid constituent of the current refined state. Return when |
| a construct does not denote a valid abstract state. Extract the |
| list of Part_Of constituents for further analysis. Check that all |
| Part_Of constituents of a state have been used in its refinement. |
| (Check_Matching_State): Update the comment on usage. Operate |
| on the list of available states. |
| (Check_Missing_Part_Of): New routine. |
| (Check_Refined_Global_Item): Replace Refined_State |
| with Encapsulating_State. |
| (Check_State_And_Constituent_Use): New routine. |
| (Create_Abstract_State): New routine. |
| (Is_Matching_Input): Replace Refined_State with Encapsulating_State. |
| (Is_Part_Of): Removed. |
| (Collect_Body_States): New routine. |
| (Collect_Constituent): Replace Refined_State with Encapsulating_State. |
| (Collect_Hidden_States): Removed. |
| (Report_Unrefined_States): Change the profile of the procedure along |
| with the comment on usage. |
| (Report_Unused_Constituents): New routine. |
| (Report_Unused_Hidden_States): Removed. |
| (Report_Unused_States): New routine. |
| * sem_prag.ads (Check_Missing_Part_Of): New routine. |
| * sem_util.adb (Add_Contract_Item): Pragma Part_Of can now |
| appear in the classification pragmas of a package instantiation |
| or a variable. |
| (Find_Placement_In_State_Space): New routine. |
| (Is_Child): Removed. |
| (Is_Child_Or_Sibling): Remove formal |
| parameter Private_Child. Remove the private child checks. |
| (Requires_State_Refinement): Moved from sem_ch3. |
| * sem_util.ads Add new type State_Space_Kind along with |
| comment on its usage and values. |
| (Add_Contract_Item): Update the comment on usage. |
| (Find_Body_Discriminal): Alphabetize spec. |
| (Find_Placement_In_State_Space): New routine. |
| (Is_Child_Or_Sibling): Remove formal parameter Private_Child |
| and update the comment on usage. |
| (Requires_State_Refinement): Moved from sem_ch3. |
| * sinfo.ads: Update the documentation of N_Contract. |
| * snames.ads-tmpl The predefined name for Part_Of is now used |
| to denote a pragma. Add Pragma_Id for Part_Of. |
| |
| 2014-01-29 Emmanuel Briot <briot@adacore.com> |
| |
| * s-regexp.adb (Create_Secondary_Table): Automatically grow the state |
| machine as needed. |
| (Dump): New subprogram. |
| |
| 2014-01-29 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add |
| Expand_Entry_Declaration to factorize code. |
| |
| 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.adb: minor clarification. |
| * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit |
| search for primitive operations to the entities that immediately |
| follow the type declaration. |
| |
| 2014-01-29 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch9.adb (Build_Protected_Entry): Do not call |
| Complete_Entry_Body anymore. |
| * rtsfind.ads (RE_Complete_Single_Entry_Body): Remove. |
| * s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove. |
| |
| 2014-01-29 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty |
| string when the Name input bigger than allowed. Adapt the function |
| specification. |
| |
| 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.adb (Install_Null_Excluding_Check): Do not emit warning |
| if expression is within a case_expression of if_expression. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb, inline.ads: Minor reformatting. |
| |
| 2014-01-29 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions. |
| |
| 2014-01-29 Yannick Moy <moy@adacore.com> |
| |
| * inline.ads (Pending_Body_Info): Add SPARK_Mode and |
| SPARK_Mode_Pragma components to be able to analyze generic |
| instance. |
| * sem_ch12.adb (Analyze_Package_Instantiation, |
| Inline_Instance_Body, Need_Subprogram_Instance_Body, |
| Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation |
| for future analysis of the instance. |
| (Instantiate_Package_Body, |
| Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode |
| from instantiation to analyze the instance. |
| |
| 2014-01-29 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code |
| reorganization. |
| |
| 2014-01-29 Yannick Moy <moy@adacore.com> |
| |
| * gnat_rm.texi: Update description of SPARK_Mode pragma. |
| |
| 2014-01-29 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries. |
| |
| 2014-01-29 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch4.adb (Find_Component_In_Instance): Update comment. |
| |
| 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.adb (Build_Task_Image_Prefix): Indicate that the |
| resulting string is an internal entity. and thus requires no |
| initialization. This is relevant when Initialize_ Scalars is |
| enabled, because the resultant spurious initialization may lead to |
| secondary stack anomalies that produce a mangled name for a task. |
| |
| 2014-01-29 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode |
| not inherited from spec anymore. Check consistency |
| rules after processing of declarations. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited |
| from spec anymore. Check consistency rules after processing of |
| declarations. |
| (Analyze_Package_Declaration): Set SPARK_Mode only for non-generic |
| packages. |
| * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new |
| consistency rules. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb (Resolve_Comparison_Op): Add type name/location |
| to unordered msg. |
| (Resolve_Range): Add type name/location to unordered msg. |
| |
| 2014-01-27 Claire Dross <dross@adacore.com> |
| |
| * a-cofove.adb/s (Copy): Add precondition so that Copy (Source, |
| Capacity) is only called with Capacity >= Length (Source) and |
| Capacity in Capacity_Range. |
| * a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s, |
| a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity) |
| is only called with Capacity >= Source.Capacity. Raise Capacity_Error |
| in the code is this is not the case. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Selected_Component): Fix handling of |
| selected component in an instance where the component of the |
| actual is not visibile at instantiation. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type |
| has a dynamic predicate, generate freeze node for Actual_Subtype |
| at once, because the declaration of the corresponding predicate |
| function will make reference to it. |
| |
| 2014-01-27 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch7.adb, exp_ch9.adb: Adjust comments. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test |
| for 2**X optimization. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-suenst.adb: strings.utf_encoding.strings (Decode): Check |
| explicitly whether value is in range of Character, because the |
| library is typically compiled with range checks disabled, and |
| we cannot rely on the implicit check on the argument of 'Val. |
| |
| 2014-01-27 Vincent Celier <celier@adacore.com> |
| |
| * a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target, |
| not the Target to itself. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor |
| changes to avoid incorrect use of unordered enum types. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch4.adb: Minor reformatting. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * scn.adb (Check_End_Of_Line): Removed. |
| (Error_Long_Line): Removed. |
| (Determine_License): Use versions of above routines from Scanner. |
| * scng.adb (Check_End_Of_Line): Moved to spec. |
| (Error_Long_Line): Removed, no longer used. |
| * scng.ads (Check_End_Of_Line): Moved here from body. |
| |
| 2014-01-27 Tristan Gingold <gingold@adacore.com> |
| |
| * exp_ch7.adb (Build_Cleanup_Statements): Call |
| Build_Protected_Subprogram_Call_Cleanup to insert the cleanup |
| for protected body. |
| * exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise. |
| Remove Service_Name variable. |
| (Build_Protected_SUbprogam_Call_Cleanup): New procedure that |
| factorize code from the above subprograms. |
| * exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure. |
| |
| 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Has_Option): Reimplemented. |
| * sem_prag.adb (Analyze_Refinement_Clause): Add global |
| variables AR_Constit, AW_Constit, ER_Constit, EW_Constit, |
| External_Constit_Seen and State. Add local variables Body_Ref, |
| Body_Ref_Elmt and Extra_State. Reimplement part of the logic to |
| avoid a cumbersome while pool. Verify the legality of an external |
| state and relevant properties. |
| (Check_External_Property): New routine. |
| (Check_Matching_State): Remove parameter profile |
| and update comment on usage. |
| (Collect_Constituent): Store the |
| relevant external property of a constituent. |
| * sem_util.adb (Async_Readers_Enabled): Update the call to |
| Has_Enabled_Property. |
| (Async_Writers_Enabled): Update the call to Has_Enabled_Property. |
| (Effective_Reads_Enabled): Update the call to Has_Enabled_Property. |
| (Effective_Writes_Enabled): Update the call to Has_Enabled_Property. |
| (Has_Enabled_Property): Rename formal parameter Extern to State_Id. |
| Update comment on usage. Reimplement the logic to recognize the various |
| formats of properties. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch5.adb: Minor reformatting. |
| |
| 2014-01-27 Tristan Gingold <gingold@adacore.com> |
| |
| * s-tposen.ads: Harmonize style and comments. |
| |
| 2014-01-27 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Document that shared library projects, by |
| default, cannot import projects that are not shared library |
| projects. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb (Find_Selected_Component): Use Replace instead |
| of Rewrite. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if |
| any other exception is raised. |
| (Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is |
| still necessary to perform a conversion in order to remove overlong |
| encodings. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * exp_smem.adb: Minor reformatting. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * a-calfor.ads: Fix incorrect reference to operator "-" in comment. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate |
| nodes for operands to the original node for the call, to preserve |
| Original_Node pointers within the resolved operands, given that |
| they may have been rewritten as well. Previous approach copied |
| the operands into a new tree and lost those pointers. |
| |
| 2014-01-27 Claire Dross <dross@adacore.com> |
| |
| |
| * a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Check_Internal_Protected_Use): A call through |
| an anonymous access parameter of the current protected function |
| is not a potential modification of the current object. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-cobove.adb (Reserve_Capacity): Procedure raises |
| Capacity_Error, not Constraint_Error, when request cannot be |
| satisfied. |
| |
| 2014-01-27 Vincent Celier <celier@adacore.com> |
| |
| * a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target, |
| not the Target to itself. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch4.adb (Expand_Concatenate): If the target of the |
| concatenation is a library-level entity, always use the off-line |
| version of concatenation, regardless of optimization level. This |
| is space-efficient, and prevents linking problems when some |
| units are compiled with different optimization levels. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb: Code clean up. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch5.adb (P_Iterator_Specification): Improve error recovery |
| when an array or container iterator includes a subtype indication, |
| which is only legal in an element iterator. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb: Minor reformatting. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * opt.adb (SPARK_Mode): Default for library units is None rather |
| than Off. |
| * opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is |
| no longer ordered. |
| * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO |
| possibility. |
| * snames.ads-tmpl (Name_Auto): Removed, no longer used. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch5.adb (P_Sequence_Of_Statements): Make entry in |
| Suspicious_Labels table if we have identifier; followed by loop |
| or block. |
| * par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table. |
| * par.adb (Suspicious_Labels): New table. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * exp_aggr.adb (Check_Bounds): Reason is range check, not |
| length check. |
| |
| 2014-01-27 Yannick Moy <moy@adacore.com> |
| |
| * get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for |
| reference. |
| * lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless |
| function now. |
| (Add_SPARK_Xrefs): Include references to constants. |
| * spark_xrefs.ads Document new character 'c' for references to |
| constants. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_smem.adb (Add_Write_After): For a function call, insert write as |
| an after action in a transient scope. |
| |
| 2014-01-27 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_smem.adb (Expand_Shared_Passive_Variable): For a reference |
| to a shared variable as an OUT formal in a call to an init proc, |
| the 'Read call must be emitted after, not before, the call. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * a-wichha.adb (Character_Set_Version): Change to output proper |
| value. |
| |
| 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Is_Input_Only_State): Removed. |
| (Is_Non_Volatile_State): Removed. |
| (Is_Output_State): Removed. |
| * einfo.ads (Is_Input_Only_State): Remove attribute and |
| subprogram. Update related entity. |
| (Is_Non_Volatile_State): |
| Remove attribute and subprogram. Update related entity. |
| (Is_Output_State): Removed attribute and subprogram. Update |
| related entity. |
| * exp_ch6.adb (Expand_Subprogram_Contract): Update comment on |
| generated code. |
| * sem_ch3.adb (Analyze_Declarations): Analyze the contract of |
| an object, not just variables. |
| (Analyze_Object_Contract): New routine. |
| (Analyze_Variable_Contract): Removed. |
| (Process_Discriminants): Detect an illegal use of volatile |
| discriminant in SPARK mode. |
| * sem_ch5.adb (Analyze_Iterator_Specification): |
| Detect an illegal use of volatile loop variable. |
| (Analyze_Loop_Parameter_Specification): Detect an illegal use |
| of volatile loop variable. |
| * sem_ch6.adb (Process_Formals): Update the volatile object |
| detection. Detect an illegal formal of mode IN OUT or OUT in |
| SPARK mode. Enhance the error messages with references. |
| * sem_ch12.adb (Instantiate_Object): Update the volatile object |
| detection. Enhance the error messages with references. |
| * sem_prag.adb (Analyze_Abstract_State): Enhance the error |
| messages with references. |
| (Analyze_Contract_Case): Enhance the error messages with references. |
| (Analyze_External_Property): Call Check_Duplicate_Property to process |
| an external property. |
| (Analyze_External_Property_In_Decl_Part): New routine. |
| (Analyze_External_State_In_Decl_Part): Removed. |
| (Analyze_Global_Item): Detect an illegal |
| use of a volatile constant. Detect an illegal use |
| of a variable with enabled Effective_Reads. Enhance |
| the error messages with references. Remove obsolete |
| checks concerning Input_Only and Output_Only states. |
| (Analyze_Initialization_Item): Enhance the error messages |
| with references. |
| (Analyze_Initializes_In_Decl_Part): Do not |
| collect the states and variables when the initialization list |
| is null. |
| (Analyze_Input_Item): Enhance the error messages with references. |
| (Analyze_Input_Output): Enhance the error messages with references. |
| (Analyze_Pragma): Enhance the error messages with references. |
| (Analyze_Refinement_Clause): Code reformatting. |
| (Analyze_Refined_Depends_In_Decl_Part): |
| Rename global variable Global to Reg_Global and update all |
| occurrences. Add local variables D7 and D8. Update the error |
| messages with references. Update the call to Collect_Global_Items. |
| (Analyze_Refined_Global_In_Decl_Part): Add local variables |
| Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update |
| the call to Collect_Global_Items. Account for a Proof_In state |
| in null / useless refinement checks. Verify the coverage of |
| Proof_In states. |
| (Check_Dependency_Clause): Remove local variable |
| Out_Constits. Remove the retrieval and removal of constituents |
| for an Output_Only state. Remove the reporting of unused |
| Output_Only state constituents. |
| (Check_Duplicate_Mode): Enhance |
| the error message with a reference. |
| (Check_Duplicate_Property): New routine. |
| (Check_Duplicate_Option): Enhance the error message with a reference. |
| (Check_External_Properties): Enhance the error message with a reference. |
| (Check_Function_Return): Enhance the error message with a reference. |
| (Check_In_Out_States): Update |
| comment on usage. Add a specialized error message for Proof_In |
| constituents. Enhance the error message with a reference. |
| (Check_Input_States): Update comment on usage. Account for |
| possible Proof_In constituents. Enhance the error message |
| with a areference. |
| (Check_Matching_Constituent): Enhance the error message with a |
| reference. |
| (Check_Matching_State): Enchance the error message with a reference. |
| (Check_Mode): Add local variable From_Global. Update the call to |
| Find_Mode. Emit more precise error messages concerning extra items |
| (Check_Mode_Restriction_In_Enclosing_Context): Consider |
| pragma Refined_Global. Enhance the error message with a |
| reference. |
| (Check_Mode_Restriction_In_Function): Enhance the error message with |
| a reference. |
| (Check_Output_States): Update comment on usage. Add local variable |
| Posted. Account for possible Proof_In constituents. Produce a detailed |
| list of missing constituents. |
| (Check_Proof_In_States): New routine. |
| (Check_Refined_Global_Item): Handle Proof_In |
| constituents. Enchance the error message with a reference. |
| (Collect_Global_Items): Add formal parameters Proof_In_Items |
| and Has_Proof_In_State. Update the comment on usage. Account |
| for Proof_In items. |
| (Create_Or_Modify_Clause): Enchance |
| the error message with a reference. |
| (Find_Mode): Add |
| formal parameter From_Global. Update the comment on usage. |
| Detect when the mode is governed by pragma [Refined_]Global. |
| (Output_Constituents): Removed. |
| (Report_Extra_Constituents): |
| Report extra Proof_In constituents. |
| (Report_Unused_Constituents): Removed. |
| (Usage_Error): Code reformatting. Enhance the error |
| messages with reference. |
| * sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine. |
| (Analyze_External_State_In_Decl_Part): Removed. |
| * sem_res.adb (Resolve_Actuals): Update the volatile object |
| detection. Enhance the error message with a reference. |
| (Resolve_Entity_Name): Update the volatile object |
| detection. Enhance the error message with a reference. |
| * sem_util.adb (Is_Refined_State): Add a guard to avoid a crash. |
| (Is_SPARK_Volatile_Object): New routine. |
| (Has_Volatile_Component): New routine. |
| * sem_util.ads (Is_Delegate): Alphabetized. |
| (Is_SPARK_Volatile_Object): New routine. |
| (Has_Volatile_Component): New routine. |
| * snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only. |
| |
| 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb: Resolve fully prefix of 'Update. |
| |
| 2014-01-27 Ben Brosgol <brosgol@adacore.com> |
| |
| * gnat_rm.texi: Minor clarifications. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining |
| about call that is generated as part of an Initial_Condition |
| check. |
| * sem_prag.adb: Minor spelling correction. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Set_Convention_From_Pragma): Check that |
| convention Ghost can only apply to functions. |
| * einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Add Short_Enums to documentation of |
| -gnatet/-gnateT. |
| |
| 2014-01-27 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Input_Item): Correct check for input |
| item in same package. |
| * sem_util.ads, sem_util.adb (Within_Scope): New function. |
| |
| 2014-01-26 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb, |
| s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, |
| s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, |
| system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer |
| maintained. |
| |
| 2014-01-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Makefile.in: Fix oversight. |
| |
| 2014-01-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the |
| conversion from a thin pointer with a shifted value. |
| * gcc-interface/utils2.c (gnat_build_constructor): Propagate the |
| read-only flag from the values onto the result. |
| (gnat_invariant_expr): Accept read-only CONSTRUCTORs. |
| |
| 2014-01-25 Tristan Gingold <gingold@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable |
| for E_Variable with a pragma Linker_Section. |
| |
| 2014-01-25 Robert Dewar <dewar@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter |
| with Default_Value aspect is passed in by copy. |
| |
| 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * set_targ.adb: Set Short_Enums. |
| * gcc-interface/lang.opt (fshort-enums): New option. |
| * gcc-interface/misc.c (gnat_handle_option): Handle it. |
| (gnat_post_options): Do not modify the global settings. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic |
| function. |
| (Random_Decimal_Fixed): New generic function. |
| * s-rannum.ads: Minor comment clarifications. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.adb: Remove Short_Enums handling (handled in |
| Ttypes/Get_Targ now) Minor added comments. |
| * freeze.adb: Change name Short_Enums_On_Target to |
| Target_Short_Enums. |
| * get_targ.ads, get_targ.adb (Get_Short_Enums): New function. |
| * opt.ads: Minor comment updates. |
| * sem_ch13.adb: Change name Short_Enums_On_Target to |
| Target_Short_Enums. |
| * set_targ.adb: Set Short_Enums from gcc back end. |
| * set_targ.ads (Short_Enums): New variable. |
| * targparm.ads, targparm.adb: Remove Short_Enums entries (handled in |
| Ttypes/Get_Targ now). |
| * ttypes.ads (Target_Short_Enums): New constant boolean switch |
| |
| 2014-01-24 Pascal Obry <obry@adacore.com> |
| |
| * g-sercom-mingw.adb: Fix serial port name for port number > 10. |
| |
| 2014-01-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when |
| comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification |
| stripped off. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, make.adb, prj-env.adb: Minor reformatting. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb (Add_Aggregated_Project): Do not add a project in |
| the list if it is already there. |
| |
| 2014-01-24 Yannick Moy <moy@adacore.com> |
| |
| * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): |
| Correct the search for a subrogram declaration to which a pragma is |
| attached. |
| |
| 2014-01-24 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Document --decimal-grouping and |
| --based-grouping switches in gnatpp. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sinfo.ads: Documentation update. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Constant_Redeclaration): New declaration is |
| illegal if previous one has an initial expression that is an |
| aggregate expanded into assignments. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small |
| code reorganization to remove spurious warning on a loop with |
| an array element iterator that has a null range. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * make.adb (Binding_Phase): When setting the Ada paths, use |
| the library ALI dir, not the object dir in libraries. |
| |
| 2014-01-24 Yannick Moy <moy@adacore.com> |
| |
| * sinfo.ads: Add documentation of check flag fields. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Actuals): If an actual is a view |
| conversion of a discriminated object, and the formal type is |
| discriminated and constrained, apply a discriminant check to |
| the object itself. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): At the end of an |
| appropriate declarative part, call Freeze_All from the first |
| declaration in the scope, not from the first unfrozen one. This |
| is necessary to apply visibility checks to entities with delayed |
| aspects. Otherwise, in the presence of instantiations and cleanups |
| that they may generate, the delayed aspects may be analyzed too |
| late and produce spurious visibility errors. |
| * sem_attr.adb: Place etype on range. |
| * sem_ch6.adb: Documentation expression functions. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb: Minor change of Indices to Indexes (preferred |
| terminology in compiler). |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM |
| categories, now that Ada 95 supports raise expressions. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Freeze_Enumeration_Type): Use new target parameter |
| Short_Enums_On_Target. |
| * sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target |
| into account. |
| * targparm.ads, targparm.adb: Add new target parameter Short_Enums. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Iterator_Specification): If subtype |
| indication is given explicity, check that it matches the array |
| component type or the container element type of the domain |
| of iteration. |
| |
| 2014-01-24 Tristan Gingold <gingold@adacore.com> |
| |
| * back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target. |
| * gcc-interface/misc.c (flag_short_enums): Declare. |
| (gnat_post_options): Set it. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs |
| to cache the result when Including_Libraries is False. |
| * prj-env.ads (Ada_Objects_Path): Update documentation |
| * prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs |
| (Get_Object_Directory): Return the Library_Ali_Dir only when |
| when Including_Libraries is True. |
| * prj.ads (Get_Object_Directory): Fix and complete documentation |
| (Project_Data): New component Ada_Objects_Path_No_Libs |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Expr_Known_Valid): Result of fpt operator never |
| considered valid. |
| |
| 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * back_end.adb: Minor fix in comment. |
| |
| 2014-01-24 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration |
| required to report the error in case of task types. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb: Additional index checking. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Update): Analyze |
| expressions in each component association, and for records note |
| the entity in each association choice, for subsequent resolution. |
| (Resolve_Attribute, case 'Update): Complete resolution of |
| expressions in each component association. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem.adb (Sem): Avoid premature reference to Current_Sem_Unit |
| (this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong, |
| leading to wrong handling of SPARK_Mode for library units). |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode |
| on generic instances (do not consider them to be internally |
| generated) |
| |
| 2014-01-24 Doug Rupp <rupp@adacore.com> |
| |
| * s-osinte-android.ads (pthread_sigmask): Import sigprocmask |
| vice pthread_sigmask. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb (Debug_Output (Str, Str2)): Output if verbosity is |
| not default. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj-ext.adb (Add): Do not output anything when Silent is True, |
| whatever the verbosity. When Source is From_External_Attribute, |
| set the corresponding environment variable if it is not already set. |
| * prj-ext.ads (Add): New Boolean parameter Silent, defaulted |
| to False |
| * prj-proc.adb (Process_Expression_For_Associative_Array): |
| For attribute External, call Prj.Ext.Add with Silent set to |
| True for the child environment, to avoid useless output in non |
| default verbosity. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Set_Slice_Subtype): Handle properly a discrete |
| range given by a subtype indication, and force evaluation of |
| the bounds, as for a simple range. |
| * exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation |
| of bounds of slice for various kinds of discrete ranges. |
| (Evaluate_Name, Evaluate_Subtype_From_Expr): use |
| Evaluate_Slice_Bounds. |
| |
| 2014-01-24 Bob Duff <duff@adacore.com> |
| |
| * s-taskin.ads (Activator): Make this Atomic, because |
| Activation_Is_Complete reads it, and that can be called |
| from any task. Previously, this component was only |
| modified by the activator before activation, and by |
| Self after activation. |
| * a-taside.ads, a-taside.adb (Environment_Task, |
| Activation_Is_Complete): Implement these missing functions. |
| |
| 2014-01-24 Doug Rupp <rupp@adacore.com> |
| |
| * init.c: Add a handler section for Android. |
| |
| 2014-01-24 Arnaud Charlet <charlet@adacore.com> |
| |
| * i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Operator_Check): If one operand is a |
| Raise_Expression, set its type to that of the other operand. |
| * sem_res.adb (Resolve_Raise_Expression): new procedure. |
| (Resolve_Actuals): For an actual that is a Raise_Expression, |
| set the type to that of the formal. |
| * sem_type.adb (Find_Unique_Type): If one of the operands is a |
| Raise_Expression, return type of the other operand. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): If a scalar |
| component of the record has a type with a default aspect, and |
| the corresponding aggregate component is initiaized with a box, |
| use the default value in the rewritten aggregate. |
| |
| 2014-01-24 Tristan Gingold <gingold@adacore.com> |
| |
| * s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb, |
| s-interr-sigaction.adb, |
| s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter. |
| * exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter |
| to the call to Install_Restricted_Handlers. |
| |
| 2014-01-24 Emmanuel Briot <briot@adacore.com> |
| |
| * prj-nmsc.adb (Check_File): Add protection when the source is |
| not fully initialized. |
| |
| 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Is_Post_State): In a postcondition, a selected |
| component that denotes an implicit dereference is a reference |
| to the post state of the subprogram. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF |
| for generated subprograms. |
| (Analyze_Subprogram_Specification): Ditto. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden |
| attributes in package Builder of aggregate and aggregate library |
| projects. |
| * prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate): |
| Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated): |
| Remove parameters. Change error message from "... externally |
| build library ..." to "... externally built project ...". |
| (Process_Naming_Scheme.Check): Do not do any check in aggregate |
| project, as attribute Library_Dir and Library_Name have already |
| been detected as forbidden. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * prj-env.adb (Find_Project): If cached project path is not in |
| project directory, look in current directory first and use cached |
| project path only if project is not found in project directory. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, lib-xref.adb: Correct false positive warnings. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * projects.texi: Document that aggregate projects are only |
| supported by gprbuild, but not by gnatmake. Document that the |
| only attribute Switches in package Binder of aggregate projects |
| will be ignored if its index is not others. Document that |
| attribute Global_Config_File is allowed in package Binder of |
| aggregate projects. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb: Minor code reorganization. |
| * sem_util.adb: Minor fix of potential latent bug in Is_LHS. |
| |
| 2014-01-24 Pascal Obry <obry@adacore.com> |
| |
| * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns |
| attribute definition. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put |
| in the Queue the same source (same path, same multi-source index) |
| from the same project file, to avoid compiling several times |
| the same source. |
| |
| 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.ads (First_Rep_Item): Remove obsolete stuff. |
| (Has_Gigi_Rep_Item): Likewise. |
| * sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set |
| Has_Gigi_Rep_Item for objects. |
| * gcc-interface/decl.c (prepend_one_attribute_to): Rename into... |
| (prepend_one_attribute): ...this. |
| (prepend_one_attribute_pragma): New function extracted from... |
| (prepend_attributes): ...here. Swap the parameters for consistency. |
| (gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to |
| prepend_attributes. |
| <object>: Deal with a pragma Linker_Section on a constant |
| or variable. <E_Function>: Deal with a pragma Linker_Section |
| on a subprogram. |
| (get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to. |
| |
| 2014-01-24 Vincent Celier <celier@adacore.com> |
| |
| * opt.ads: Minor comment update. |
| |
| 2014-01-24 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Input_Output): Add missing error check |
| for junk operand. |
| * sem_util.adb (Is_Refined_State): Add defense against junk |
| tree from error. |
| |
| 2014-01-24 Pascal Obry <obry@adacore.com> |
| |
| * projects.texi: Removes Build_Slaves attribute documentation. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * opt.adb (Register_Opt_Config_Switches): Save SPARK_Mode_Pragma |
| setting. |
| |
| 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Is_Potentially_Unevaluated): Predicate only |
| applies to expressions that come from source. |
| * sem_attr.adb (Analyze_Attribute, case 'Old): Improve error |
| message. |
| (Analyze_Attribute, case 'Loop_Entry): Apply SPARK 2014 legality |
| rule regarding potentially unevaluated expressions, to prefix |
| of attribute. |
| |
| 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.adb (Make_Invqriant_Call): If type of expression is |
| a private extension, get invariant from base type. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb, sem_attr.adb: Minor reformatting. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * opt.adb (Save_Opt_Config_Switches): Save SPARK_Mode_Pragma |
| (Restore_Opt_Config_Switches): Restore SPARK_Mode_Pragma. |
| * sem.adb (Semantics): Remove save/restore of |
| SPARK_Mode[_Pragma]. Not needed since already done in |
| Save/Restore_Opt_Config_Switches. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, einfo.adb, einfo.ads, sem_prag.adb, gnat_ugn.texi, |
| freeze.adb, repinfo.adb, aspects.adb, aspects.ads, sem_ch13.adb: |
| Linker_Section enhancements. |
| |
| 2014-01-23 Tristan Gingold <gingold@adacore.com> |
| |
| * gnat_rm.texi: Minor editing. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * opt.adb (Set_Opt_Config_Switches): Reset SPARK mode for |
| with'ed internal units. |
| * sem.adb (Semantics): Save and restore SPARK_Mode[_Pragma]. |
| |
| 2014-01-23 Javier Miranda <miranda@adacore.com> |
| |
| * lib-xref.adb (Generate_Reference): As part of processing the |
| "end-of-spec" reference generate an extra reference to the first |
| private entity of the package. |
| * xr_tabls.adb (Add_Reference): No action needed for the extra |
| 'E' reference associated; similar to the processing of the |
| 'e' reference. |
| |
| 2014-01-23 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Change "--&pp off" to "--!pp off". |
| |
| 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Is_Potentially_Unevaluated): new |
| predicate to implement rule given in 6.1.1 (20/3). |
| * sem_attr.adb (Analyze_Attribute, case 'Old): Reject prefix of |
| 'Old in a postcondition, if it is potentially unevaluated and |
| it is not an entity name. |
| |
| 2014-01-23 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Document the new "--&pp off" feature of gnatpp. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * gnatlink.adb (Gnatlink): Fix problem of generating bad name |
| msg on VMS. |
| |
| 2014-01-23 Bob Duff <duff@adacore.com> |
| |
| * g-dynhta.ads: Minor comment fix. |
| |
| 2014-01-23 Yannick Moy <moy@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Inherit SPARK_Mode |
| from spec on body only when not already inherited on spec. Set |
| SPARK_Mode from context on body without previous spec. * |
| * sem_prag.adb (Analyze_Pragma): Check placement of pragma on |
| library-level entities. Correct retrieval of entity from |
| declaration, for cases where the declaration is not a unit. |
| * sem_ch12.adb (Instantiate_Object): Avoid |
| calling Is_Volatile_Object on an empty node. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * gnatlink.adb (Gnatlink): Check for suspicious executable file |
| names on windows. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * a-ngelfu.ads: Remove bad uses of AND which should be AND THEN. |
| * sem_res.adb (Check_No_Direct_Boolean_Operators): Don't give |
| style errors in instances. |
| * g-dynhta.ads (Static_HTable): Comment updates. |
| |
| 2014-01-23 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Get_Or_Create_Configuration_File): Do not attempt |
| to find a configuration project file when Config_File_Name is |
| No_Configuration_File. |
| * prj-conf.ads (No_Configuration_File): New constant String. |
| * prj-pars.adb (Parse): Call Get_Or_Create_Configuration_File |
| with Config_File_Name set to No_Configuration_File, so that |
| no existing configuration project file will be used, and the |
| configuration project will be only created in memory when |
| Add_Default_GNAT_Naming_Scheme is called. |
| * projects.texi: Minor reformatting. |
| |
| 2014-01-23 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Get_Or_Create_Configuration_File): Never parse |
| a config project file if On_Load_Config is not null. |
| * prj-pars.adb: Minor comment changes. |
| |
| 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
| |
| * lib-xref.adb (Output_References): Output progenitors of |
| synchronized tagged types, for source navigation. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb, |
| expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads, |
| sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info. |
| |
| 2014-01-23 Emmanuel Briot <briot@adacore.com> |
| |
| * prj-conf.adb (Get_Or_Create_Configuration_File): call |
| On_Load_Config later. |
| |
| 2014-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Declarations): Do not |
| generate the spec of the late primitive in ASIS mode. Add two |
| comments to explain the special cases when the expansion is |
| not performed. |
| |
| 2014-01-23 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.adb (Note_Possible_Modification): Fix error of |
| misbehaving for implicit dereference cases in -gnatc mode. |
| |
| 2014-01-23 Emmanuel Briot <briot@adacore.com> |
| |
| * prj-pars.adb: Minor reformatting. |
| |
| 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram |
| body generated for an expression function within a protected body |
| needs a set of renaming declarations if the expression function |
| comes from source. |
| |
| 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
| |
| * lib-xref.adb (Get_Type_Reference): In semantics-only mode, |
| list interface progenitor of a tagged concurrent type, for better |
| source navigation. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * lib.adb (In_Extended_Main_Code_Unit): Return False for |
| Standard_Location. |
| (In_Extended_Main_Source_Unit): Return False for Standard_Location. |
| * lib.ads (In_Extended_Main_Code_Unit): Add documentation on |
| treatment of Slocs No_Location and Standard_Location. |
| * restrict.adb (Check_Restriction_No_Dependence): Explicitly |
| check for entity with Standard_Location Sloc, rather than relying |
| on Lib routines to do that. |
| * sem_res.adb (Resolve_Call): Implement SPARK_05 restriction |
| that a call cannot occur before a later occuring body within |
| the same unit. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * rtsfind.adb: Update comment. |
| |
| 2014-01-22 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_aux.ads, sem_aux.adb (Is_Body): New routine. |
| * sem_ch3.adb (Analyze_Declarations): Add local variable |
| Body_Seen. Generate the spec of a late controlled |
| primitive body that is about to freeze its related type. |
| (Handle_Late_Controlled_Primitive): New routine. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * a-stream.adb: Minor reformatting. |
| |
| 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (From_Actual_Package): Introduce a recursive |
| sub-procedure Declared_In_Actual to handle properly the visibility |
| of actuals in actual packages, that are themselves actuals to a |
| actual package of the current instance. This mimics properly the |
| visibility of formals of formal packages declared with a box, |
| within the corresponding generic unit. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Do not assume that a volatile variable is valid. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * g-catiio.ads (Image, Value): Clarify that these functions |
| operate in the local time zone. Minor documentation update. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * csets.adb, csets.ads, opt.ads: Minor documentation fixes. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aux.adb, sem_aux.ads, sem_ch3.adb (Has_Unconstrained_Elements): |
| Moved to sem_aux.adb. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * vms_data.ads: Minor reformatting. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document messages affected by -gnatd.E including |
| the new ones that relate to late definition of equality. |
| * sem_ch6.adb (Check_Untagged_Equality): In Ada 2012 mode, if |
| debug flag -gnatd.E is set, then generate warnings rather than |
| errors. |
| (Check_Untagged_Equality): In earlier versions of Ada, |
| generate warnings if Warn_On_Ada_2012_Incompatibility flag is set. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Usage_Error): Output additional messages for |
| unconstrained OUT parameters lacking an input dependency. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb: Minor reformatting. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * restrict.ads: Minor reformatting. |
| * sem_res.adb (Resolve_Call): Check for SPARK_05 restriction that |
| forbids a call from within a subprogram to the same subprogram. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * a-stream.ads (Read_SEA, Write_SEA): New subprograms, optimized |
| stream attributes for Stream_Element_Array. |
| * a-stream.adb (Read_SEA, Write_SEA): Bodies for the above. |
| * rtsfind.adb (Check_CRT): Do not reject a reference to an entity |
| defined in the current scope. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb, exp_ch4.adb, erroutc.adb: Minor reformatting. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): For a constant |
| declaration initialized with a function call, whose type |
| has variable size, need to remove side effects so that the |
| initialization expression becomes a dereference of a temporary |
| reference to the function result. |
| |
| 2014-01-22 Yannick Moy <moy@adacore.com> |
| |
| * errout.adb (Initialize): Remove trick to add dummy entry |
| in Warnings table. |
| * erroutc.adb (Set_Warnings_Mode_Off, |
| Set_Warnings_Mode_On): Do nothing if warnings are suppressed by |
| command line switch. |
| * opt.ads (Warning_Mode): Document behavior |
| wrt pragma Warnings, in normal mode and in GNATprove_Mode. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, errout.adb, erroutc.adb: Minor reformatting. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Check_Pool_Size_Clash): New procedure |
| (Analyze_Attribute_Definition_Clause, case Storage_Pool): call |
| Check_Pool_Size_Clash (Analyze_Attribute_Definition_Clause, |
| case Storage_Size): call Check_Pool_Size_Clash. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, exp_util.adb, sem_dim.adb, sem_elab.adb, sem_ch8.adb, |
| sem_eval.ads: Minor reformatting. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_eval.adb (Compile_Time_Known_Bounds): Return False for |
| Any_Composite to prevent cascaded errors. |
| |
| 2014-01-22 Yannick Moy <moy@adacore.com> |
| |
| * errout.adb (Initialize): Do not insert special entry in Warnings |
| table in GNATprove_Mode. |
| * erroutc.adb (Set_Warnings_Mode_On): Add info in Warnings table in |
| GNATprove_Mode. |
| * gnat1drv.adb (Adjust_Global_Switches): Do not suppress frontend |
| warnings anymore. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Initializes_In_Decl_Part): Handle null |
| initializes case. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * snames.ads-tmpl: Update header. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_util.adb (Insert_Actions): When inserting actions on a |
| short circuit operator that has already been analyzed, do not park |
| actions in node; instead introduce an N_Expression_With_Actions |
| and insert actions immediately. |
| Add guard for unexpected case of climbing up through statement |
| in Actions list of an N_Expression_With_Actions. |
| * sem_elab.adb (Insert_Elab_Check): Remove complex |
| specialized circuitry for the case where the context is already |
| analyzed, as it is not needed and introduces irregularities in |
| finalization. Instead rely on the above change to Insert_Actions |
| to ensure that late insertion on short circuit operators works |
| as expected. |
| |
| 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Operator_Check): Improve error message when an |
| operand of concatenation is an access type. |
| |
| 2014-01-22 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_dim.adb (Analyze_Dimension_Identifier): Add guard against |
| cascaded error. |
| |
| 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Find_Selected_Component): Handle properly the case |
| of an expanded name in a proper body, whose prefix is a package |
| in the context of the proper body, when there is a homonym of |
| the package declared in the parent unit. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Check_Use_Clause): Don't give no entities used |
| msg if errors found. |
| (Check_One_Unit): Same change. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * ug_words: Add missing/wrong entries for VMS warning switches. |
| * sem_prag.adb (Check_Duplicate_Pragma): Avoid flagging parent type. |
| |
| 2014-01-22 Jerome Guitton <guitton@adacore.com> |
| |
| * mlib-tgt-specific-vxworks.adb (Get_Target_Suffix): Replace xscale by |
| arm. |
| |
| 2014-01-22 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Document passive task optimization |
| |
| 2014-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Makefile.in: Minor fixes. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch4.adb (P_If_Expression): Rewritten to improve error recovery. |
| * par-ch5.adb (P_Condition): New version with expression prescanned. |
| * par.adb (P_Condition): New version with expression prescanned. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that Allow_Integer_Address is ignored |
| if Address is not a private type. |
| * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): |
| Ignore pragma if System.Address is not a private type. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * namet.ads (Name_Len): Initialize to 0 to avoid accessing an |
| uninitialized value. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * gnat_rm.texi (Scalar_Storage_Order): Update documentation. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Set_Instance_Env): In Ada 2012 mode, preserve |
| the value of Assertions_Enabled flag when compiling an instance of |
| an internal unit. This facilitates the use of pre/postconditions |
| in generic internal units, such as the new elementary function |
| libraries. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * exp_aggr.adb: Minor reformatting. |
| * sem_attr.adb: Minor reformatting. |
| * sem_res.adb: Minor comment addition. |
| * einfo.adb: Minor comment updates. |
| * freeze.adb: Minor reformatting and code reorganization. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch4.adb (P_If_Expression): Handle more gracefully an |
| elsif clause that does not have an else part. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb, sem_util.ads, sem_ch4.adb: Minor reformatting. |
| * gcc-interface/Makefile.in: clean up target pairs. |
| |
| 2014-01-21 Pascal Obry <obry@adacore.com> |
| |
| * projects.texi: Minor typo fix. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Check_Component_Storage_Order): If a record type |
| has an explicit Scalar_Storage_Order attribute definition clause, |
| reject any component that itself is of a composite type and does |
| not have one. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Generate_Parent_Reference): Make public so it |
| can be used to generate proper cross-reference information for |
| the parent units of proper bodies. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb (Expand_Packed_Element_Set, |
| Expand_Packed_Element_Reference): No byte swapping required in |
| the front-end for the case of a reverse storage order array, |
| as this is now handled uniformly in the back-end. However we |
| still need to swap back an extracted element if it is itself a |
| nested composite with reverse storage order. |
| |
| 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_External_Property): Add processing for "others". |
| (Analyze_Pragma): Update the grammar of pragma Abstract_State to |
| include "others". |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat_ugn.texi: Minor updates. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.adb: Update comment, minor reformatting. |
| |
| 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Variable_Contract): Trigger the volatile |
| object check when SPARK_Mode is on. |
| * sem_ch6.adb (Process_Formals): Trigger the volatile object |
| check when SPARK_Mode is on. |
| * sem_ch12.adb (Instantiate_Object): Trigger the volatile object |
| check when SPARK_Mode is on. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the |
| corresponding pragma of aspect SPARK_Mode in the visible |
| declarations of a package declaration. |
| * sem_prag.adb (Analyze_Pragma): Trigger the volatile object |
| check when SPARK_Mode is on. |
| * sem_res.adb (Resolve_Actuals): Trigger the volatile object |
| check when SPARK_Mode is on. |
| (Resolve_Entity_Name): Trigger |
| the volatile object check when SPARK_Mode is on. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_res.adb, |
| sem_ch6.adb, a-except-2005.adb: Minor reformatting. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): When a class-wide |
| object is declared, it is rewritten as a renaming of an dynamic |
| expression that wraps the initial value. The renaming declaration |
| is first given an internal name, to prevent collisions with the |
| entity already declared, and then the name is modified to reflect |
| the original one. the modification of the name must preserve |
| the source location of the original, to prevent spurious errors |
| when compiling with style checks if the declaration involves |
| more than one entity. |
| |
| 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb Add entries for Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes in table Canonical_Aspect. |
| * aspects.ads Add entries for Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes in tables Aspect_Id, |
| Aspect_Names, Aspect_Delay and Implementation_Defined_Aspect. |
| * atree.adb (Ekind_In): New version with 8 parameters. |
| (Node34): New routine. |
| (Set_Node34): New routine. |
| * atree.ads (Ekind_In): New version with 8 parameters. |
| (Node34): New routine. |
| (Set_Node34): New routine. |
| * einfo.adb Contract is now Node34. |
| (Contract): Update the assertion and node usage. |
| (Get_Pragma): Include pragmas Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes. |
| (Set_Contract): Update the assertion and node usage. |
| (Write_Field24_Name): Remove the output for a contract. |
| (Write_Field34_Name): Add output for a contract. |
| * einfo.ads Contract is now Node34. Update the comment on |
| attribute usage and related node structures. |
| (Get_Pragma): Update the comment on usage. |
| * par-prag.adb (Prag): Pragmas Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes do not require special |
| processing by the parser. |
| * sem_ch3.adb (Analyze_Variable_Contract): New routine. |
| (Analyze_Declarations): Analyze the contract of a variable at |
| the end of the declarative region. |
| (Analyze_Object_Declaration): Create a contract for a variable. |
| * sem_ch6.adb (Analyze_Subprogram_Contract): Update the retrieval |
| of classification pragmas. |
| (Process_Formals): Detect an illegal |
| use of a volatile object as a formal in a function. |
| * sem_ch12.adb (Instantiate_Object): Detect an illegal use of |
| a volatile object as an actual in generic instantiation. |
| * sem_prag.adb Add entries for Async_Readers, Async_Writers, |
| Effective_Reads and Effective_Writes in table Sig_Flags. |
| (Analyze_External_State_In_Decl_Part): New routine. |
| (Analyze_Global_Item): Detect an illegal use of a volatile object |
| as a global item of a function. |
| (Analyze_Pragma): Reimplement |
| pragma Abstract_State. Add support for pragmas Async_Readers, |
| Async_Writers, Effective_Reads and Effective_Writes. |
| (Check_External_Properties): New routine. |
| * sem_prag.ads (Analyze_External_State_In_Decl_Part): New routine. |
| (Check_External_Properties): New routine. |
| * sem_res.adb (Resolve_Actuals): Detect an illegal use of a |
| volatile object as an actual in a call. |
| (Resolve_Entity_Name): |
| Add local variables Par, Prev and Usage_OK. Detect illegal |
| contexts of volatile objects. |
| * sem_util.adb (Add_Contract_Item): Add support for |
| pragmas associated with the contract of a variable. |
| (Async_Readers_Enabled): New routine. |
| (Async_Writers_Enabled): New routine. |
| (Effective_Reads_Enabled): New routine. |
| (Effective_Writes_Enabled): New routine. |
| (Has_Enabled_Property): |
| New routine. |
| (Is_Unchecked_Conversion_Instance): New routine. |
| (Is_Volatile_Object): Add support for entities that may denote |
| a volatile object. |
| * sem_util.ads (Add_Contract_Item): Update the |
| comment on usage. |
| (Async_Readers_Enabled): New routine. |
| (Async_Writers_Enabled): New routine. |
| (Effective_Reads_Enabled): New routine. |
| (Effective_Writes_Enabled): New routine. |
| (Is_Unchecked_Conversion_Instance): New routine. |
| * sinfo.ads Update the comment on the structure of N_Contract. |
| * snames.ads-tmpl Add predefined names for Async_Readers, |
| Async_Writers, Effective_Reads and Effective_Writes. Add |
| pragma ids for Async_Readers, Async_Writers, Effective_Reads |
| and Effective_Writes. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Eval_Op_Expon): Use CRT_Safe_Compile_Time_Known_Value |
| * sem_eval.adb (Compile_Time_Known_Value): Remove special |
| handling of CRT mode (CRT_Safe_Compile_Time_Known_Value): New |
| function (Eval_Op_Expon): Add CRT_Safe in call to Test_Foldable |
| (Test_Foldable): Add CRT_Safe parameter |
| * sem_eval.ads (Compile_Time_Known_Value): Remove special |
| handling of CRT mode. |
| (CRT_Safe_Compile_Time_Known_Value): New function. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Fix problem |
| with pragma or aspect that applies to package spec or subprogram |
| spec. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * exp_aggr.adb: Minor reformatting. |
| |
| 2014-01-21 Johannes Kanig <kanig@adacore.com> |
| |
| * gnat1drv.adb (Gnat1drv) remove obsolete reference to -gnatd.H. |
| |
| 2014-01-21 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Document the "checks" attribute in gnat2xml. |
| |
| 2014-01-21 Steve Baird <baird@adacore.com> |
| |
| * gnat_rm.texi: Improve description of SPARK_Mode pragma. |
| |
| 2014-01-21 Vincent Celier <celier@adacore.com> |
| |
| * prj-part.adb (Parse_Single_Project): Accept to extend a project |
| if it has only be imported by an project being extended. When a |
| project that has only been imported by a project being extended |
| is imported by another project that is not being extended, |
| reset the previous indication, so that it will be an error if |
| this project is extended later. |
| * prj-tree.adb (Create_Project): Include component From_Extended |
| in table Projects_HT |
| * prj-tree.ads (Project_Name_And_Node): New Boolean component |
| From_Extended |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads, atree.adb: Add Node33 and Set_Node33. |
| * einfo.ads, einfo.adb (SPARK_Pragma): New field (SPARK_Aux_Pragma): |
| New field (SPARK_Pragma_Inherited): New flag |
| (SPARK_Aux_Pragma_Inherited): New flag (SPARK_Mode_Pragmas): |
| Removed. |
| * lib.ads, lib.adb: Remove SPARK_Mode_Pragma, no longer used. |
| * opt.ads (SPARK_Mode_Pragma): New global variable. |
| * sem.ads: Add Save_SPARK_Mode_Pragma field to Scope_Stack_Entry. |
| * sem_ch3.adb: Use new SPARK_Mode data structures. |
| * sem_ch6.adb: Set SPARK_Mode fields in subprogram specs and bodies. |
| * sem_ch7.adb: Set SPARK_Mode fields in package spec and body entities. |
| * sem_ch8.adb (Push_Scope): Save SPARK_Mode_Pragma. |
| (Pop_Scope): Restore SPARK_Mode_Pragma. |
| * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Rewrite for |
| new data structures. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * back_end.adb: Undo previous change, not needed. Minor reformatting. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch5.adb: Fix comment. |
| * switch-c.adb: Minor comment update. |
| * exp_ch3.adb: Minor reformatting. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * back_end.adb (Scan_Compiler_Arguments): Do not store object |
| filename in gnatprove mode. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * sinfo.ads (No_Ctrl_Actions): Clarify documentation (flag also |
| suppresses usage of primitive _assign for tagged types). |
| * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Set |
| No_Ctrl_Actions for a tagged type that does not require |
| finalization, as we want to disable usage of _assign (which |
| may cause undesirable discriminant checks on an uninitialized, |
| invalid target). |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb: Reject invariant'class on completion. |
| |
| 2014-01-21 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): For |
| derivations of interfaces, do not move the the initialization |
| of the _parent field since such assignment is not generated. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity |
| with the operator it renames if we are within an expression of |
| a pre/postcondition, because the expression will be reanalyzed |
| at a later point, and the analysis of the renaming may affect |
| the visibility of the operator when in an instance. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1. |
| Add this flag to type conversion nodes and assignment nodes. |
| * treepr.adb: Deal properly with Flag 1,2,3. |
| * treeprs.adt: Minor comment update. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT |
| parameter. |
| * sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT |
| parameter, completely rewrite spec. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram |
| instance that is inlined, it may have been rewritten as a wrapper |
| package. In that case the unit that must be made visible is the |
| related instance of the package. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine |
| previous change in codepeer mode. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Always add |
| call to Abort_Undefer, as expected by the runtime. |
| * s-tasren.adb (Local_Complete_Rendezvous): Replace |
| Defer_Abort_Nestable by Defer_Abort, since we do not expect abort to be |
| deferred at this point. Update comments. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch4.adb, exp_ch5.adb, checks.adb: Minor reformatting. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * switch-c.adb, usage.adb, gnat_ugn.texi: Mark -gnates as internal, |
| remove from doc. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * switch-c.adb, usage.adb, atree.adb, atree.ads: Minor reformatting. |
| |
| 2014-01-21 Thomas Quinot <quinot@adacore.com> |
| |
| * atree.adb, atree.ads (Num_Extension_Nodes): Switch to Node_Id, since |
| this is value is used in Node_Id arithmetic operations. |
| (Copy_Node, Exchange_Entities): Use loops indexed by Num_Extension_Nodes |
| instead of hard-coded unrolled code. |
| |
| 2014-01-21 Yannick Moy <moy@adacore.com> |
| |
| * gnat1drv.adb: Minor code cleanup, removing useless code. |
| |
| 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
| |
| * opt.ads (SPARK_Switches_File_Name): New. |
| * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnates=xxx * |
| * usage.adb (Usage): Document -gnates, in gnatprove mode only. |
| * gnat_ugn.texi: Document -gnates. |
| |
| 2014-01-21 Yannick Moy <moy@adacore.com> |
| |
| * errout.adb (Special_Msg_Delete): Update comment. Remove |
| special case for GNATprove which should not ignore mismatch |
| in sizes for representation clauses. |
| * sem_prag.adb (Analyze_Pragma): Remove special case for GNATprove |
| which should not ignore pragma Pack. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb: Code clean up. |
| |
| 2014-01-21 Steve Baird <baird@adacore.com> |
| |
| * gnat_rm.texi: Improve GNAT RM description of SPARK_Mode pragma. |
| |
| 2014-01-21 Robert Dewar <dewar@adacore.com> |
| |
| * gcc-interface/gigi.h: Get Flags array address. |
| * gcc-interface/trans.c: Acquire Flags array address. |
| * atree.adb: Add support for Flags array and Flag0,1,2,3. |
| * atree.ads: Add support for Flags array and Flag0,1,2,3. |
| * atree.h: Add support for Flags array and Flag0,1,2,3. |
| * back_end.adb: Pass Flags array address to gigi. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Attribute_Renaming): Transfer original attribute |
| reference to generated body so that legality checks on stream |
| attributes are properly applied. If type is tagged and already |
| frozen, insert generated body at the point of the renaming |
| declaration. |
| |
| 2014-01-21 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Code clean up. |
| * sem_ch8.adb: Minor reformatting |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * opt.adb (SPARK_Mode_Config): Handled like other config flags |
| * opt.ads (SPARK_Mode_Type): Moved here from types (renamed from |
| SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove |
| SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config): |
| New flag (Config_Switches_Type): Add SPARK_Mode field |
| * sem.adb: Minor code reorganization (remove unnecessary with) |
| * sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field |
| * sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode |
| from spec if needed |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode |
| from spec if needed |
| * sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope): |
| Restore SPARK_Mode |
| * sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function |
| (Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name |
| of Get_SPARK_Mode_Id |
| * sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function |
| * sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for |
| converting warnings on inevitable exceptions to errors. |
| * types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed |
| SPARK_Mode_Type |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb: Add semantic information to rewritten type |
| reference. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_N_Assignment_Statement): If both sides |
| are of a type with unknown discriminants, convert both to the |
| underlying view of the type, so that the proper constraint check |
| can be applied to the right-hand side. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * atree.adb (Copy_Node): Fix failure to copy last component |
| (Exchange_Entities): Fix failure to exchange last entity |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Code clean up. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, sem_ch4.adb: Minor reformatting. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Quantified_Expression): If after |
| pre-analysis the loop parameter specification has been |
| rewritten as a iterator specification, propagate the change to |
| the quantified expression, for ASIS navigtion needs. |
| |
| 2014-01-20 Vincent Celier <celier@adacore.com> |
| |
| * par-ch10.adb: Minor error message change: escape [ and ]. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Make warnings on exceptions into errors in GNATprove mode. |
| * errout.adb: Implement [ and ] insertion characters. |
| * errout.ads: Document new [ and ] insertion characters. |
| * sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor |
| addition of ??? comment. |
| * lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting |
| * exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb, |
| sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb: |
| Make warnings on exceptions into errors in GNATprove mode. |
| * sem_dim.adb: Minor reformatting throughout Quote [ and ] |
| in error messages. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb: Code clean up. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads, errout.adb: Implement >? >x? >X? sequences in error |
| messages. |
| * sem_ch6.adb (Check_Statement_Sequence): Missing return is an |
| error in GNATprove mode. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute |
| reference 'Old takes no parameters, and thus can appear as a |
| prefix of a slice. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_aggr.adb: Fix minor typos. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case 'Constrained): In an |
| instance the attribute is legal, and its value is determined |
| statically if the type has no discriminants. This choice is |
| more useful than rechecking the legality rule in the instance, |
| is consistent with older usage, and is also consistent with all |
| existing tests. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_cat.adb (Validate_Static_Object_Name): Change error into |
| warning in Relaxed_Semantic_Mode. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb: Code and comments cleanup. |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V * |
| * errout.adb (Compilation_Errors): Remove special handling in |
| GNATprove mode. |
| * gnat1drv.adb (Adjust_Global_Switches): Remove handling of the |
| removed debug flags. |
| * gnat_rm.texi: Initial documentation for Abstract_State, Depends, |
| Global, Initial_Condition, Initializes and Refined_State pragmas and |
| aspects. |
| * opt.ads (Frame_Condition_Mode, Formal_Extensions, |
| SPARK_Strict_Mode): Remove global flags. |
| * sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state |
| always performed now, on packages declaring a null state. |
| (Signed_Integer_Type_Declaration): Remove ill-designed attempt |
| at providing pedantic mode for bounds of integer types. |
| * sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious |
| "some" quantified expression now issued under control of -gnatw.t, |
| like the other warning on unused bound variable. |
| * sem_prag.adb (Check_Precondition_Postcondition): Remove useless test |
| on removed flag. |
| (Analyze_Pragma): Remove tests for SPARK 2014 |
| pragmas, not officially allowed by GNAT. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Ensure that |
| the sole argument of pragmas Abstract_State, Contract_Cases, |
| Depends, Global and Initializes in in aggregate form. |
| (Analyze_Refined_Pragma): Ensure that the sole argument of |
| pragmas Refined_Depends, Refined_Global and Refined_State is in |
| aggregate form. |
| (Ensure_Aggregate_Form): New routine. |
| |
| 2014-01-20 Doug Rupp <rupp@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): case |
| Attribute_Constrained => treat all prefixes as legal for Declib |
| compatibility. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Mode): Reimplement the routine. |
| (Find_Mode): New routine. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb (Operator_Check): Handle additional |
| Allow_Integer_Address cases. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi (Allow_Integer_Address): Remove note about not |
| allowed if address is non-private, no longer true. |
| * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): |
| Remove check for address being private, causes difficulty when |
| pragma used in gnat.adc file and is not needed, since we guard |
| this in Address_Integer_Convert_OK. |
| * exp_ch7.adb: Minor reformatting. |
| * sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Apply_Range_Check): Remove gnatprove special |
| casing of exponentiation. |
| * sem_res.adb (Resolve_Op_Expon): Apply range check to right |
| operand for integer case to check range against Natural. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-tataat.adb: Minor reformatting. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Is_Descendent_Of_Address): Now applies to all |
| entities, and also fix documentation to remove mention of visible |
| integer type, since this is not what the implementation does. |
| * einfo.ads (Is_Descendent_Of_Address): Now applies to all |
| entities, and also fix documentation to remove mention of visible |
| integer type, since this is not what the implementation does. |
| * gnat_rm.texi: Minor clarification of Allow_Integer_Address |
| function. |
| * sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address |
| case for parameter type check. |
| * sem_res.adb (Resolve): Use new function |
| Address_Integer_Convert_OK. |
| * sem_type.adb: Minor code reorganization (use Ekind_In) Minor |
| reformatting throughout. |
| * sem_util.adb (Address_Integer_Convert_OK): New function. |
| * sem_util.ads: Minor reformatting (put specs in alpha order) |
| (Address_Integer_Convert_OK): New function. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb (Wrap_Transient_Expression): |
| Insertion extra conditional expression only if |
| Opt.Suppress_Control_Flow_Optimizations is set. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tataat.adb (Initialize_Attributes): Abort might already be |
| deferred in Create_Task. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (Apply_Scalar_Range_Check): Flag |
| the exponent as requiring a range check when the expression is |
| an exponentiation. |
| |
| 2014-01-20 Fedor Rybin <frybin@adacore.com> |
| |
| * gnat_ugn.texi: Documenting --passed-tests option for gnattest. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_util.adb (Default_Initialization): New routine. |
| * sem_util.ads: Add new type Default_Initialization_Kind. |
| (Default_Initialization): New routine. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Mode): Correct all error |
| message logic dealing with in/in out parameters that may appear |
| as inputs or have a self reference. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting. |
| * sem_res.adb (Resolve): Fix error causing infinite loop for |
| integer used as address. Allow addresses as integers. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-osinte-linux.ads (struct_sigaction): Fix rep clause. |
| |
| 2014-01-20 Bob Duff <duff@adacore.com> |
| |
| * par-ch8.adb (P_Use_Type_Clause): Detect syntax |
| error when "use all" is not followed by "type". |
| |
| 2014-01-20 Bob Duff <duff@adacore.com> |
| |
| * exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort |
| followed by free. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.adb (Apply_Address_Clause_Check): If there is an |
| alignment check on the expression in an address clause, and there |
| is no local exception propagation, add an additional explanatory |
| message to clarify the cause of previous warning. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb: Minor reformatting. |
| * opt.ads: Minor comment updates. |
| * sem.adb: Minor name change Is_Main_Unit => |
| Is_Main_Unit_Or_Main_Unit_Spec. |
| * sem_ch6.adb: Minor reformatting and code reorganization. |
| |
| 2014-01-20 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Update gnatpp switches. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch9.adb: Minor comment edit. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that Allow_Integer_Address is permitted |
| only if System.Address is a private type. |
| * opt.ads (Allow_Integer_Address): No longer set by -gnates. |
| * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): |
| Allowed only if type System.Address is private, since otherwise |
| it makes no sense. |
| * sem_res.adb: Fix failure to properly Analyze unchecked |
| conversions that were introduced by Allow_Integer_Address. |
| * switch-c.adb: Remove -gnates switch. |
| * usage.adb: Remove -gnates switch. |
| * gnat_ugn.texi: Remove documentation of -gnates flag. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and |
| resolve expression to perform proper name capture. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem.adb (Semantics): When saving/restoring configuration |
| switches, the spec of a pre- defined unit that is the main unit |
| must be treated as a predefined unit as well. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb (Wrap_Transient_Expression): For a Boolean |
| expression, insert an extra conditional expression when saving |
| the value of the expression, for the benefit of control flow |
| graph based coverage analysis. |
| * exp_ch3.adb: Minor reformatting. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode. |
| * gnat_rm.texi: Document pragma Allow_Integer_Address. |
| * gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates. |
| * opt.ads: New flag Allow_Integer_Address. |
| * par-prag.adb: Dummy entry for pragma Allow_Integer_Address. |
| * sem_ch5.adb: Minor reformatting. |
| * sem_prag.adb: Implement pragma Allow_Integer_Address. |
| * sem_res.adb (Resolve): Allow integer address value if |
| switch set. |
| * sem_util.adb: Minor reformatting. |
| * snames.ads-tmpl: Add entry for pragma Allow_Integer_Address. |
| * switch-c.adb: Recognize flag -gnates. |
| * usage.adb: Document flag -gnates. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * s-tadeca.adb: Fix minor typos in comment. |
| |
| 2014-01-20 Pascal Obry <obry@adacore.com> |
| |
| * s-win32.ads (FreeLibrary): New import. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb, sem_cat.adb: Minor reformatting. |
| * sem_ch11.adb (Analyze_Raise_Statement): Only give warning about |
| assigning to OUT parameters for the current subprogram scope. |
| * exp_ch4.adb: Minor reformatting. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch4.adb (Process_Transient_Object, |
| Find_Enclosing_Contexts): If the top-level if-expression that |
| generated the transient object is an actual in a call, the proper |
| Hook_Context is a construct enclosing the call. |
| * einfo.ads: Indicate that Related_Expression is used to link a |
| loop variable to the container expression over which the loop |
| takes place. |
| (Analyze_Iterator_Specification): Set the Related_Expression of |
| the loop variable in a container element iterator. |
| (Note_Possible_Modification): If the variable is the loop |
| variable in a container element iterator, indicate that the |
| enclosing container is also modified. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * aspects.adb (Move_Or_Merge_Aspects): Reimplemented. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads: |
| Minor reformatting and code clean up. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_cat.adb (Validate_Object_Declaration): Relax semantics |
| of objects of private type if Relaxed_RM_Semantics. |
| |
| 2014-01-20 Claire Dross <dross@adacore.com> |
| |
| * a-cofove.ads (Vector): Capacity discriminant |
| should be in range of the index. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue): |
| Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for |
| possible difference between epoch of Ada.Calendar clock and Ada |
| real-time/tasking clock. |
| * s-taprop-posix.adb: Minor comment fix. |
| |
| 2014-01-20 Doug Rupp <rupp@adacore.com> |
| |
| * sysdep.c [vxworks]: Remove Vxworks version noise for RTP. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Generate validity |
| checks on the prefix of attribute 'Old. |
| * sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the |
| generation of validity checks on a range that belongs to the |
| iteration scheme of a quantified expression. |
| * sem_ch5.adb (One_Bound): Suppress the generation of validity |
| checks on a bound that belongs to the iteration scheme of a |
| quantified expression, generate the check in all other cases. |
| |
| 2014-01-20 Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Enable --pp-new by default. Minor reorganization. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve): When compiling a predefined unit, ignore |
| interpretations that do not come from other predefined units, |
| to prevent spurious ambiguities in the presence of user-defined |
| operators in the context of (an instance of) a predefined unit. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Document that Loop_Variant is included in |
| Statement_Assertions. |
| * sem_prag.adb (Check_Kind): Add Loop_Variant to |
| Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant |
| to Statement_Assertions. |
| |
| 2014-01-20 Doug Rupp <rupp@adacore.com> |
| |
| * sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case |
| for errno ENOENT from RTP on NFS mounted file system. |
| |
| 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Check_Function_Writable_Actuals): 1) Do not |
| examine code that does not come from source. The check does not |
| apply to code generated for constraint checks, and such code may |
| generate spurious error messages when compiled with expansion |
| disabled (as in a generic unit) because side effects may not |
| have been removed. |
| 2) Make error messages more explicit: indicate the component |
| of the construct whose value is indeterminate because of a |
| call to a function with in-out parameter in another component, |
| when there is no mandated order of execution between the two |
| components (actuals, aggregate components, alternatives). |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi: Minor cleanup. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result |
| can now apply to a refined postcondition. |
| * sem_ch6.adb (Analyze_Subprogram_Contract): Remove local |
| variable Result_Seen. Add variables Case_Prag, Post_Prag, |
| Seen_In_Case and Seen_In_Post. Update the mechanism that detects |
| whether postconditions and/or constract-cases mention attribute |
| 'Result and introduce a post-state when applied to functions. |
| (Check_Result_And_Post_State): Removed. |
| * sem_prag.adb (Analyze_Pragma): Add local variable |
| Result_Seen. Verify that the expression of pragma Refined_Post |
| mentions attribute 'Result and introduces a post-state. |
| * sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch7.adb (Is_Subprogram_Call): New routine. |
| (Process_Transient_Objects): Make variable Must_Hook global with |
| respect to all locally declared subprograms. Search the context |
| for at least one subprogram call. |
| (Requires_Hooking): Removed. |
| |
| 2014-01-20 Claire Dross <dross@adacore.com> |
| |
| * a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads |
| * a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove, |
| External_Axiomatization); |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow |
| Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas. |
| * sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume): |
| Allow Loop_Entry to be used in these pragmas if they appear in |
| an appropriate context. |
| (Placement_Error): Specialize error |
| message for pragma Assert[_And_Cut] or pragma Assume containing |
| Loop_Entry attribute. |
| * a-exexpr-gcc.adb, sinput.adb: Minor reformatting. |
| * s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting |
| and code clean ups. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * gnat1drv.adb: Minor comment update. |
| |
| 2014-01-20 Tristan Gingold <gingold@adacore.com> |
| |
| * raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused |
| variables, comment out unused code. |
| * a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads |
| * s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb |
| * s-excmac-arm.ads: New file. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Slice): Remove constant D and variables |
| Drange and Index_Typ. Remove the circuitry which creates a |
| range check to compare the index type of the array against the |
| discrete_range. |
| * sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update |
| the circuitry which creates a range check to handle a |
| discrete_range denoted by a subtype indication. |
| |
| 2014-01-20 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original |
| nodes to get the original sloc range. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the |
| entity of a [library level] package. |
| |
| 2014-01-20 Tristan Gingold <gingold@adacore.com> |
| |
| * raise-gcc.c (exception_class_eq): New function. |
| (is_handled_by): Use it to compare exception classes. |
| (PERSONALITY_STORAGE): Define. (continue_unwind): New function to |
| be called to return URC_CONTINUE_UNWIND. |
| (personality_body): New function, extracted from PERSONALITY_ROUTINE. |
| (PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * opt.ads: Minor comment update. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Slice): Relocate some variables and |
| constants to the "Local variables" area. Add new constant D. Add |
| new variables Drange and Index_Typ. Rename Pfx to Rep and Ptp |
| to Pref_Typ and update all occurrences. Add circuitry to extract |
| the discrete_range and the index type and build a range check. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat1drv.adb (Adjust_Global_Switches): Enable |
| Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics |
| is set. |
| |
| 2014-01-20 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch5.adb, sem_ch4.adb: Minor reformatting. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): |
| When aspect SPARK_Mode appears on a package body, insert the |
| generated pragma at the top of the body declarations. |
| |
| 2014-01-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb, |
| checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb, |
| expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb, |
| sem_ch8.adb, exp_dist.adb: Minor reformatting. |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove |
| mode. |
| |
| 2014-01-20 Pascal Obry <obry@adacore.com> |
| |
| * g-arrspl.ads (Slice_Set): New definition (will use a copy on |
| write scheme). |
| * g-arrspl.adb: Adapt all routine to this new implementation. |
| (Set): Copy the Slice_Set definition before reusing it. |
| |
| 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_prag.adb (Process_Import_Or_Interface): In |
| Relaxed_RM_Semantics, support old Ada 83 style of pragma Import. |
| (Analyze_Pragma): Ditto for pragma Export. |
| * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma |
| Import style. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.ads: E_Abstract_State is now part of the entities that |
| can be overloaded. Update type Overloadable_Kind to reflect the |
| inclusion of abstract states. |
| * sem_ch6.adb (New_Overloaded_Entity): A function can now |
| overload an abstract state. |
| * sem_prag.adb (Analyze_Constituent): Handle the overloading |
| of states by functions. Use Entity_Of to obtain the entity of |
| a constituent. (Analyze_Global_Item): Handle the overloading of |
| states by functions. |
| (Analyze_Initialization_Item): Handle the |
| overloading of states by functions. Use Entity_Of to obtain the |
| entity of an item. |
| (Analyze_Input_Item): Handle the overloading |
| of states by functions. Use Entity_Of to obtain the entity of an item. |
| (Analyze_Input_Output): Handle the overloading of states by functions. |
| (Analyze_Refinement_Clause): Handle the overloading |
| of states by functions. Use Entity_Of to obtain the entity of an item. |
| (Appears_In): Use Entity_Of to obtain the entity of an element. |
| (Check_Usage): Use Entity_Of to obtain the entity of |
| an item. Add a guard to prevent a crash due to a previous error. |
| (Resolve_State): New routine. |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads, |
| opt.ads: Minor comments updates. |
| |
| 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Non_Limited_View): Applies to abstract states. |
| (Set_From_Limited_With): Applies to abstract states. |
| (Set_Non_Limited_View): Applies to abstract states. |
| (Write_Field17): Output the non-limited view of an abstract state. |
| * einfo.ads: Update the comment on usage and occurrences in |
| nodes for attributes From_Limited_With and Non_Limited_View. |
| * sem_aux.adb (Available_View): This routine can now handle |
| abstract states. |
| * sem_aux.ads (Available_View): This routine can now handle |
| abstract states. Update the comment on usage. |
| * sem_ch8.adb (Find_Expanded_Name): Handle abstract views |
| of states and variables. |
| (In_Pragmas_Depends_Or_Global): New routine. |
| * sem_ch10.adb (Build_Limited_Views): Implement |
| abstract (limited) views of variables and states. |
| (Build_Shadow_Entity): This routine is now a procedure. Add |
| formal parameter Shadow. Update the comment on usage. Add |
| context-specific decoration for states and variables. |
| (Decorate_State): New routine. (Decorate_Variable): New routine. |
| (Find_And_Process_States): New routine. |
| (Process_Declarations): Renamed to Process_Declarations_And_States. |
| (Process_Declarations_And_States): Add formal parameters |
| Pack and Create_Abstract_Views. Update the comment on usage. |
| (Process_States): New routine. |
| * sem_prag.adb (Check_Dependency_Clause): Handle abstract |
| views of states and variables. Match the abstract view of a state |
| against its corresponding non-abstract view. |
| (Is_Matching_Input): |
| Handle abstract views of states and variables. Match the abstract |
| view of a state against its corresponding non-abstract view. |
| (Process_Global_Item): Handle abstract views of states and |
| variables. |
| |
| 2014-01-20 Bob Duff <duff@adacore.com> |
| |
| * sem_ch10.adb (Expand_With_Clause): Don't |
| recurse on the prefix if the current with-ed name refers to a |
| package that renames its own parent, eg "package P.Q renames P;". |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * exp_spark.adb (Expand_SPARK_Call): Remove procedure. |
| * opt.adb, opt.ads (Full_Expander_Active): Remove function. |
| * checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb, |
| * sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, |
| * sem_disp.adb, sem_res.adb Replace Full_Expander_Active by |
| Expander_Active. |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * sinfo.ads Update documentation of GNATprove mode. |
| |
| 2014-01-20 Yannick Moy <moy@adacore.com> |
| |
| * adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb, |
| * exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb, |
| * sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, |
| * sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into |
| GNATprove_Mode. |
| * sem_ch13.adb: Remove blank. |
| * exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace |
| subprograms by alias for renamings, not for inherited primitive |
| operations. |
| * exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion |
| in GNATprove mode. |
| (Remove_Side_Effects): Apply the removal in |
| GNATprove mode, for the full analysis of expressions. |
| * expander.adb (Expand): Call the light SPARK expansion in GNATprove |
| mode. |
| (Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore |
| save/restore actions for Expander_Active flag in GNATprove mode, |
| similar to what is done in ASIS mode. |
| * frontend.adb (Frontend): Generic bodies are instantiated in |
| GNATprove mode. |
| * gnat1drv.adb (Adjust_Global_Switches): Set operating |
| mode to Check_Semantics in GNATprove mode, although a light |
| expansion is still performed. |
| (Gnat1drv): Set Back_End_Mode to |
| Declarations_Only in GNATprove mode, and later on special case |
| the GNATprove mode to continue analysis anyway. |
| * lib-writ.adb (Write_ALI): Always generate ALI files in |
| GNATprove mode. |
| * opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to |
| Expander_Active. |
| (SPARK_Mode): Renamed as GNATprove_Mode. |
| * sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the |
| tree in GNATprove_Mode. |
| * sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate |
| body in GNATprove mode. |
| (Need_Subprogram_Instance_Body): Always instantiate body in GNATprove |
| mode. |
| * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl): |
| Make sure side effects are removed in GNATprove mode. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests |
| for aliased objects with an unconstrained nominal subtype. |
| * gcc-interface/trans.c (Call_to_gnu): Likewise. |
| (gnat_to_gnu) <case N_Op_Not>: Robustify test for private type. |
| <case N_Op_Minus>: Remove useless code. |
| (Exception_Handler_to_gnu_zcx): Minor tweaks. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>: |
| Tidy up. For a subtype with discriminants and variant part, if a |
| variant is statically selected and the fields all have a constant |
| position, put them in order of increasing position. Likewise if |
| no variant part but representation clause is present. |
| * gcc-interface/utils.c (make_packable_type): Robustify. |
| (maybe_pad_type): Use local variable and tidy up condition. If no |
| alignment is specified, use the original one. |
| (create_type_stub_decl): Minor tweak. |
| (convert) <case VECTOR_CST>: Fix typo. |
| <case CONSTRUCTOR>: Deal with padding types around the same type. |
| Do not punt on missing fields. |
| (unchecked_convert): Call finish_record_type to lay out the special |
| record types made for conversions from/to problematic integer types. |
| Bump the alignment of CONSTRUCTORs before converting them to a more |
| aligned type. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove |
| obsolete code for type_annotate_only mode, simplify code and slightly |
| improve wording of comments. |
| |
| 2014-01-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/59772 |
| * gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type |
| as intermediate type. |
| (UI_To_gnu): Likewise. |
| |
| 2014-01-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnatvsn.ads (Current_Year): Bump to 2014. |
| |
| 2014-01-02 Tobias Burnus <burnus@net-b.de> |
| |
| * gnat_ugn.texi: Bump @copying's copyright year. |
| |
| Copyright (C) 2014 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |