aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2011-08-05[multiple changes]Arnaud Charlet21-82/+103
2011-08-05 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb, bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb, a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads, prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting 2011-08-05 Bob Duff <duff@adacore.com> * a-stunau.ads, g-spipat.adb: Update comments. From-SVN: r177441
2011-08-05a-fihema.ads: Minor comment fix.Bob Duff3-34/+46
2011-08-05 Bob Duff <duff@adacore.com> * a-fihema.ads: Minor comment fix. * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is correct. (Attach, Detach): Remove some unnecessary code. (Finalize): Remove Node_Ptr_To_Address, replace with a constant. From-SVN: r177440
2011-08-05a-fihema.ads, [...] (Finalization_Collection): Avoid heap allocation for ↵Bob Duff3-96/+43
Objects component. 2011-08-05 Bob Duff <duff@adacore.com> * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap allocation for Objects component. This simplifies the code somewhat. It is also a little more efficient in the not-so-unusual case where there are no controlled objects allocated. Make Finalization_Started flag atomic. (Finalize): Avoid unnecessary detachment of items from the list. (pcol): Minor cleanup. From-SVN: r177439
2011-08-05[multiple changes]Arnaud Charlet9-28/+73
2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal package whose name is the same as that of the generic unit, or its ultimate prefix. 2011-08-05 Bob Duff <duff@adacore.com> * a-fihema.adb, a-fihema.ads: Minor comment improvements. * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb: Minor comment fixes. From-SVN: r177438
2011-08-05[multiple changes]Arnaud Charlet20-95/+247
2011-08-05 Arnaud Charlet <charlet@adacore.com> * make.adb (Linking_Phase): No longer need to set source search path before calling gnatlink in CodePeer mode. * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to gcc in CodePeer mode, since the binder generated file no longer has a 'with Main'. * switch.ads, switch.adb (Is_Language_Switch): Removed. * switch-c.adb: Update comment. 2011-08-05 Thomas Quinot <quinot@adacore.com> * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting. 2011-08-05 Nicolas Roche <roche@adacore.com> * gnat_ugn.texi: Fix minor syntax error issue. 2011-08-05 Vincent Celier <celier@adacore.com> * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to delete or close the file when the call to gnatmake returns a non successful return code. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate check, indicate that the copy of the original node does not come from source, to prevent an infinite recursion of the expansion. 2011-08-05 Johannes Kanig <kanig@adacore.com> * debug.adb: document switch -gnatd.G for gnat2why, which deactivates VC generation for subprogram bodies. 2011-08-05 Yannick Moy <moy@adacore.com> * einfo.ads: Typo. * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define the base type with the smallest allowed base type. 2011-08-05 Sergey Rybin <rybin@adacore.com> * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for aspects. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.ads: minor comment updates. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an instantiation and a formal package the compiler generates a package renaming declaration so that the generic name within the declaration is interpreted as a renaming of the instance. At the end of a formal package declaration, this renaming must become invisible. From-SVN: r177437
2011-08-05[multiple changes]Arnaud Charlet13-163/+360
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character comparison and rely on concrete entities instead. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types and discriminants, to indicate that the type has an access discriminant that supports implicit dereference. * snames.ads-tmpl: Add names of aspects and attributes related to Ada2012 iterators: constant_indexing, default_iterator, iterator_element, implicit_dereference, variable_indexing. * aspects.ads, aspects.adb: entries for iterator-related aspects. * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for iterator-related aspects. * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects. 2011-08-05 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling metrics in gnatmetric to cover new kinds of coupling mentrics. 2011-08-05 Steve Baird <baird@adacore.com> * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead of calling the user-defined main subprogram. (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode is set) Call_Main_Subprogram ahead of, as opposed to inside of, Main. (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional generation of a "with" of the user-defined main subprogram. Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper (which is now called from Gen_Main instead). From-SVN: r177436
2011-08-05[multiple changes]Arnaud Charlet5-9/+62
2011-08-05 Emmanuel Briot <briot@adacore.com> * projects.texi: Added reference to the Makefile package. 2011-08-05 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb: Minor comment rewording. 2011-08-05 Ed Falis <falis@adacore.com> * env.c: Fix comment. 2011-08-05 Hristian Kirtchev <kirtchev@adacore.com> * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid character comparison and rely on concrete entities instead. From-SVN: r177435
2011-08-05[multiple changes]Arnaud Charlet14-61/+230
2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: (Check_Private_Overriding): better error message, suggested by AI95-0068. 2011-08-05 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve the two potential initialization calls. This accounts for any access-before-elaboration checks which may precede the initialization calls. (Next_Suitable_Statement): New routine. Returns the next real statement after the input node while skipping generated checks. * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along with comment on usage. Do not generate Elaborate_All when the trigger is a finalization call coming from a type init proc. (Check_Elab_Call): Propagate the initialization procedure context to subsequent calls to Check_A_Call. (Check_Internal_Call_Continue): Propagate the initialization procedure context to subsequent calls to Check_Elab_Call. (Is_Finalization_Procedure): New routine. Returns True if the input entity denotes a [Deep_]Finalize routine. * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc along with comment on usage. 2011-08-05 Vadim Godunko <godunko@adacore.com> * s-atocou.ads: Add list of supported platforms. 2011-08-05 Yannick Moy <moy@adacore.com> * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables * opt.ads (Disable_ALI_File): new Boolean flag * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing 2011-08-05 Ed Falis <falis@adacore.com> * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that environ is properly defined. 2011-08-05 Vincent Celier <celier@adacore.com> * make.adb (Compilation_Phase): Exit immediately when all objects have been found up to date, to avoid multiple exit messages. * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the same project for languages with no compiler. * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch -eI. From-SVN: r177434
2011-08-05exp_ch7.ads, [...]: Minor reformatting.Robert Dewar16-70/+97
2011-08-05 Robert Dewar <dewar@adacore.com> * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb, prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb, s-atocou-builtin.adb: Minor reformatting. From-SVN: r177433
2011-08-05[multiple changes]Arnaud Charlet15-77/+295
2011-08-05 Yannick Moy <moy@adacore.com> * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode, if the node to wrap is a pragma check, this node and enclosed expression are not expanded, so do not apply any transformations here. * exp_prag.adb (Expand_Pragma_Check): document the need to avoid introducing transient scopes. 2011-08-05 Jose Ruiz <ruiz@adacore.com> * adaint.c (__gnat_set_writable, __gnat_set_readable, __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable, __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod routine is available, so we use the default implementation of these functions. * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is support for copying attributes on VxWorks 6. 2011-08-05 Yannick Moy <moy@adacore.com> * debug.adb: Remove use of -gnatd.D. * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode * opt.ads: Simplify variables for ALFA mode, to keep one only * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode to ALFA mode. 2011-08-05 Vincent Celier <celier@adacore.com> * prj-conf.adb (Do_Autoconf): Look also for --RTS in Builder'Default_Switches. 2011-08-05 Vincent Celier <celier@adacore.com> * makeusg.adb: Add lines for --create-map-file switches. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): For a subprogram, if a type in the profile is incomplete and the full view is available, replace it with the full view. * sem_ch6.adb (Possible_Freeze): if a type in the profile is incomplete, freezing the subprogram is delayed until the full view is frozen. * sem_type.adb (Disambiguate): an ambiguity between a user-defined fixed-point multiplication operator and the predefined operator is resolved in favor of the user-defined one. From-SVN: r177432
2011-08-05tsystem.h (CONST_CAST2, CONST_CAST): Define.Rainer Orth2-1/+6
gcc: * tsystem.h (CONST_CAST2, CONST_CAST): Define. gcc/ada: * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use CONST_CAST. From-SVN: r177427
2011-08-04[multiple changes]Arnaud Charlet10-98/+290
2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine whether a type lacks user-defined Read or Write operations, or has a component that lacks them. * sem_attr.adb (Check_Stream_Attribute): if restriction No_Default_Stream_Attributes is active, verify that all subcomponent types of the target have user-defined stream operations, and report error otherwise. * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation. * exp_strm.adb: Build_Elementary_Input_Call, Build_Elementary_Write_Call): remove checks for restriction No_Default_Stream_Attributes, now checked in semantics. 2011-08-04 Vincent Celier <celier@adacore.com> * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS switches on the command line, look for all valid --RTS switches in the Builder switches and for each language use the first runtime name found to invoke gprconfig. (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the command line and there is no auto-configuration. (Runtime_Name_Set_For): New function. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Object_Declarations): Do not generate the elaborate initialization expression for variable Abort when processing a package body or a declaration. (Create_Finalizer): Propagate the package context when creating the exception-related variables. * exp_ch7.ads (Build_Object_Declarations): New formal parameter For_Package along with usage comment. From-SVN: r177407
2011-08-04Makefile.in: Clean up targets.Arnaud Charlet3-65/+50
* gcc-interface/Makefile.in: Clean up targets. Enable new package for atomic counters and copy-on-write implementation of unbounded strings on x86 platforms. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r177405
2011-08-04[multiple changes]Arnaud Charlet9-50/+212
2011-08-04 Robert Dewar <dewar@adacore.com> * exp_ch7.adb: Minor reformatting. 2011-08-04 Robert Dewar <dewar@adacore.com> * exp_strm.adb: Minor reformatting. 2011-08-04 Vadim Godunko <godunko@adacore.com> * s-atocou.adb: Replace by dummy version and use on targets where atomic operations are not supported. * s-atocou-builtin.adb: Renamed from s-atocou.adb. * s-atocou-x86.adb: New file. * Makefile.rtl: Add s-atocou.o file 2011-08-04 Arnaud Charlet <charlet@adacore.com> * make.adb (Compile): Move setting of CodePeer_Mode to ... (Compilation_Phase): ... here. (Scan_Make_Arg): Now bind and link by default in CodePeer mode. 2011-08-04 Thomas Quinot <quinot@adacore.com> * Make-generated.in: Fix minor typo in comment. From-SVN: r177403
2011-08-04[multiple changes]Arnaud Charlet15-273/+377
2011-08-04 Thomas Quinot <quinot@adacore.com> * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve the project path. 2011-08-04 Robert Dewar <dewar@adacore.com> * a-coinho.adb: Minor reformatting. 2011-08-04 Robert Dewar <dewar@adacore.com> * a-coinho.ads: Minor reformatting. 2011-08-04 Vadim Godunko <godunko@adacore.com> * s-atocou.ads, s-atocou.adb: New files. * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads, a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove direct use of GCC's atomic builtins and replace them by use of new atomic counter package. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_strm.adb: better error message for No_Default_Stream_Attributes. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic with a call to Get_External_Tag. * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on subprogram usage. Remove the guard against package declarations and bodies since Build_Cleanup_Statements is no longer invoked in that context. (Build_Components): Initialize Tagged_Type_Stmts when the context contains at least one library-level tagged type. (Build_Finalizer): New local variables Has_Tagged_Types and Tagged_Type_Stmts along with associated comments on usage. Update the logic to include tagged type processing. (Create_Finalizer): Insert all library-level tagged type unregistration code before the jump block circuitry. (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements. (Expand_N_Package_Declaration): Remove the call to Build_Cleanup_Statements. (Process_Tagged_Type_Declaration): New routine. Generate a call to unregister the external tag of a tagged type. (Processing_Actions): Reimplemented to handle tagged types. (Process_Declarations): Detect the declaration of a library-level tagged type and carry out the appropriate actions. (Unregister_Tagged_Types): Removed. The machinery has been directly merged with Build_Finalizer. From-SVN: r177401
2011-08-04[multiple changes]Arnaud Charlet13-13/+412
2011-08-04 Robert Dewar <dewar@adacore.com> * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb, gnatls.adb, exp_ch3.adb: Minor reformatting. 2011-08-04 Marc Sango <sango@adacore.com> * sem_attr.adb (Analyze_Attribute): Replace the message "invisible attribute of}" of the spark restriction violation in attribute reference by the simple message "invisible attribute of type". Indeed, the node value Error_Msg_Node_1 used is in conflit with the two insertion characters: '&' and '}'. 2011-08-04 Vadim Godunko <godunko@adacore.com> * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho". * a-coinho.ads, a-coinho.adb: New file. * Makefile.rtl: Add Ada.Containers.Indefinite_Holders. From-SVN: r177400
2011-08-04[multiple changes]Arnaud Charlet6-209/+285
2011-08-04 Nicolas Roche <roche@adacore.com> * alfa_test.adb: Not all ali files are containing alfa information even if compiled with -gnatd.F. So suppress warning about missing ALFA information. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for scope. * put_alfa.adb: Check that scope name is not empty. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Stream_Operation_Ok): new predicate Needs_Elementary_Stream_Operation, to determine whether user-defined Read and Write attributes are available for the elementary components of the given type. If only the predefined attributes are available, then when restriction No_Default_Stream_Attributes is active the predefined stream attributes for the composite type cannot be created. 2011-08-04 Robert Dewar <dewar@adacore.com> * bindgen.adb: Fix obsolete comments and names from Ada/C days. Put routines in alpha order From-SVN: r177399
2011-08-04Makefile.in: Remove xenomai specific versions of system.Jose Ruiz3-60/+46
2011-08-04 Jose Ruiz <ruiz@adacore.com> * gcc-interface/Makefile.in: Remove xenomai specific versions of system. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r177398
2011-08-04lang.opt: Add AdaWhy language, simimlar to Ada.Arnaud Charlet3-23/+45
* gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada. * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls gnat1why). From-SVN: r177396
2011-08-04[multiple changes]Arnaud Charlet16-1452/+141
2011-08-04 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb, lib-xref-alfa.adb: Minor reformatting. 2011-08-04 Marc Sango <sango@adacore.com> * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Check absence of generic in SPARK mode. 2011-08-04 Tristan Gingold <gingold@adacore.com> * bindgen.adb (Gen_Adainit_C): Remove. (Gen_Adafinal_C): Ditto. (Gen_Elab_Externals_C): Ditto. (Gen_Elab_Calls_C): Ditto. (Gen_Elab_Order_C): Ditto. (Gen_Elab_Defs_C): Ditto. (Gen_Finalize_Library_C): Ditto. (Gen_Finalize_Library_Defs_C): Ditto. (Gen_Main_C): Ditto. (Gen_Output_File_C): Ditto. (Gen_Restrictions_C): Ditto. (Gen_Versions_C): Ditto. (Write_Info_Ada_C): Ditto. (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C (Gen_Output_File): Do not force Ada_Bind_File anymore. Always call Gen_Output_File_Ada. * gnatlink.adb (Begin_Info): Now a constant. (End_Info): Ditto. (Ada_Bind_File): Remove (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases. * switch-b.adb (Scan_Binder_Switches): Do not handle -C. * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases. * opt.ads (Ada_Bind_File): Remove. 2011-08-04 Thomas Quinot <quinot@adacore.com> * projects.texi: Document target-specific directory in default project path for gnatmake. 2011-08-04 Thomas Quinot <quinot@adacore.com> * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project path in all cases . From-SVN: r177395
2011-08-04[multiple changes]Arnaud Charlet14-17/+62
2011-08-04 Yannick Moy <moy@adacore.com> * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb, opt.ads, lib-xref.ads: Code clean up. 2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Update description of Test_Case * gnat_ugn.texi: Typo. 2011-08-04 Ed Falis <falis@adacore.com> * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when it is of type Root_Controlled. This action eliminates fields Prev and Next from type equality. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb: Correct typo. 2011-08-04 Matthew Heaney <heaney@adacore.com> * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes component. From-SVN: r177390
2011-08-04[multiple changes]Arnaud Charlet9-45/+89
2011-08-04 Yannick Moy <moy@adacore.com> * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure (Analyze_Pragma): allow static string expression for name of Test_Case, instead of simply string literals. * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string expressions. 2011-08-04 Vincent Celier <celier@adacore.com> * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical case suffixes to find truncated main sources. 2011-08-04 Tristan Gingold <gingold@adacore.com> * impunit.adb (Non_Imp_File_Names_95): Add g-tastus. s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put. (Compute_Current_Task): Ditto. 2011-08-04 Tristan Gingold <gingold@adacore.com> * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Is_Global_Constant): new function that detects library-level constant. (Add_ALFA_Xrefs): ignore global constants in ALFA xref. * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal used as selector of parameter association, in ALFA mode. From-SVN: r177389
2011-08-04[multiple changes]Arnaud Charlet11-74/+110
2011-08-04 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb, s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor reformatting. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * make.adb (Linking_Phase): Set source search path before calling gnatlink in CodePeer mode. From-SVN: r177388
2011-08-04[multiple changes]Arnaud Charlet12-354/+279
2011-08-04 Javier Miranda <miranda@adacore.com> * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration): Remove code which takes care of building TSDs. * rtsfind.ads (RE_Check_Interface_Conversion): New entity. * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating the accessibility check in VM targets. * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads (Building_Static_DT): Now returns false for VM targets. (Build_VM_TSDs): Removed. (Expand_Interface_Conversion): Generate missing runtime check for conversions to interface types whose target type is unknown at compile time. (Make_VM_TSD): Add missing code to disable the generation of calls to Check_TSD if the tagged type is not defined at library level, or not has a representation clause specifying its external tag, or -gnatdQ is active. * exp_disp.ads (Build_VM_TSDs): Removed. (Make_VM_TSDs): Spec relocated from exp_disp.adb * sem_disp.adb (Check_Dispatching_Operation): No code required to register primitives in the dispatch tables in VM targets. * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of initialization of class-wide interface objects in VM targets. (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead of Make_DT). 2011-08-04 Jerome Lambourg <lambourg@adacore.com> * gnatlink.adb (Gnatlink): Correct missleading error message displayed when dotnet-ld cannot be found. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * bindgen.adb: Simplify significantly generation of binder body file in CodePeer mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure when compiling binder generated file in CodePeer mode (xxx'Elab_Spec not expanded). From-SVN: r177387
2011-08-04[multiple changes]Arnaud Charlet15-384/+523
2011-08-04 Yannick Moy <moy@adacore.com> * sem_prag.adb, sem.ads: Code cleanup. 2011-08-04 Tristan Gingold <gingold@adacore.com> * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part. * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate results if possible. * s-stusta.adb (Print): Adjust after changes in s-stausa. * gnat_ugn.texi: Update dynamic stack usage section. 2011-08-04 Steve Baird <baird@adacore.com> * bindgen.adb (Gen_CodePeer_Wrapper): new procedure. Generate (if CodePeer_Mode is set) a "wrapper" subprogram which contains only a call to the user-defined main subprogram. (Gen_Main_Ada) - If CodePeer_Mode is set, then call the "wrapper" subprogram instead of directly calling the user-defined main subprogram. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all alternatives of a case statement for controlled objects. Rename local variable A to Dead_Alt. (Expand_N_If_Statement): Check the then and else statements of an if statement for controlled objects. Check the then statements of all elsif parts of an if statement for controlled objects. (Expand_N_Loop_Statement): Check the statements of a loop for controlled objects. * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which detects a loop associated with the expansion of an array object. Augment the processing of the loop statements to account for a possible wrap done by Process_Statements_For_Controlled_Objects. * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering statements and abortable part of an asynchronous select for controlled objects. (Expand_N_Conditional_Entry_Call): Check the else statements of a conditional entry call for controlled objects. (Expand_N_Selective_Accept): Check the alternatives of a selective accept for controlled objects. (Expand_N_Timed_Entry_Call): Check the entry call and delay alternatives of a timed entry call for controlled objects. * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an exception handler for controlled objects. * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)): Add formal parameter Nested_Constructs along with its associated comment. (Requires_Cleanup_Actions (Node_Id)): Update all calls to Requires_Cleanup_Actions. (Process_Statements_For_Controlled_Objects): New routine. * exp_util.ads (Process_Statements_For_Controlled_Objects): New routine. Inspect a node which contains a non-handled sequence of statements for controlled objects. If such an object is found, the statements are wrapped in a block. From-SVN: r177386
2011-08-04[multiple changes]Arnaud Charlet9-47/+119
2011-08-04 Bob Duff <duff@adacore.com> * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we need to compare with Class_Wide_Type (T2), in order to get at the original class-wide type node. * sem_type.ads (Covers): Improve the comment. * einfo.ads (Class_Wide_Type): Improve the comment. * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of the type of the Deref. 2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Document that Test_Case pragma can only appear on separate declarations. * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to check identifier of pragma argument. (Chain_TC): check that no other test case associated to the same entity share the same name. (Check_Test_Case): disallow test case inside subprogram body (Analyze_Pragma): correct call to check identifier and not argument * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new function gets name from test case pragma. From-SVN: r177385
2011-08-04gnat_rm.texi: Document new pragma and aspect.Yannick Moy24-114/+777
2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Document new pragma and aspect. * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case (No_Duplicates_Allowed): new constant array defining whether duplicates aspects of each kind can appear on the same declaration. * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract field, which points to a node holding the previous Spec_PPC_List. * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List through the indirection with Contract. * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node * par-prag.adb (Prag): do nothing on Test_Case pragma * sem.adb (Analyze): abort on N_Contract, on which Analyze should not be called directly. * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in component Ensures of Test_Case. * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb (Analyze_Generic_Subprogram_Declaration, Analyze_Subprogram_Instantiation, Analyze_Abstract_Subprogram_Declaration, Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Specification, Analyze_Entry_Declaration): insert contract in subprogram node at point of definition * sem_ch13.adb (Aspect_Loop): do not raise error on duplicate Test_Case aspect (Analyze_Aspect_Specifications): analyze Test_Case aspect and create corresponding pragma (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases, similar to the analysis of pre/post (Derive_Subprogram): insert contract in subprogram node at point of derivation. * sem_prag.adb, sem_prag.ads (Check_Arg_Is_String_Literal, Check_Identifier): new checking procedures to be called in treatment of pragmas (Check_Test_Case): new procedure to check that a Test_Case aspect or pragma is well-formed. This does not check currently that 'Result is used only in the Ensures component of a Test_Case. (Analyze_Pragma): add case for Test_Case (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures components of a Test_Case. (Preanalyze_TC_Args): new procedure to preanalyze the boolean expressions in the 3rd (and 4th if present) arguments of a Test_Case pragma, treated as spec expressions. (Sig_Flags): add value -1 for Test_Case. * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma, Get_Requires_From_Test_Case_Pragma): getters for both expression components of a Test_Case. * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as indirection between an entry or [generic] subprogram entity and its pre/post + test-cases. (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List): get/set for fields of an N_Contract node. * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode, Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new names and pragma for Test_Case. * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node From-SVN: r177384
2011-08-04[multiple changes]Arnaud Charlet18-60/+238
2011-08-04 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Improve documentation of gnatmake switch --source-info-file=. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion type). Initialize Atyp to the appropriate type which is later checked for completion. Rewrite the assertion associated with private type completion. 2011-08-04 Ed Falis <falis@adacore.com> * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to initialize the number of CPUs. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Disambiguate): New subsidiary routine In_Same_Declaration_List, to implement AI05-0020: a user-defined equality on an anonymous access type whose designated type is private does not lead to an ambiguity with the universal access equality operator in the body or child units of the defining package. The same is true for a multiplication operator on a private type completed with a fixed-point-type. 2011-08-04 Javier Miranda <miranda@adacore.com> * opt.ads (Init_Or_Norm_Scalars_Config): Removed. (Normalize_Scalars_Config): Removed. * opt.adb (Register_Opt_Config_Switches): Remove registering config values of Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config. (Restore_Opt_Config_Switches): Remove code which restores the values of Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of Init_Or_Norm_Scalars. (Save_Opt_Config_Switches): Remove code which saves values of Init_Or_Norm_Scalars and Normalize_Scalars. (Set_Opt_Config_Switches): Remove code which restores config values of Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of Init_Or_Norm_Scalars. 2011-08-04 Yannick Moy <moy@adacore.com> * frontend.adb (Frontend): remove previous patch to avoid full qualification in ALFA mode. * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables. * sem_util.adb, sem_util.ads (Unique_Name): new function to define a unique name for an entity, which could be used to identify the entity across compilation units. 2011-08-04 Thomas Quinot <quinot@adacore.com> * prj-env.adb (Initialize_Default_Project_Path): Add target specific directory ($prefix/$target/lib/gnat) in front of project path in all cases (making gnatmake's behaviour consistent with gprbuild). * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Pass target name from Sdefault to project subsystem. * gnatls.adb: Show new target specific default project directory. 2011-08-04 Johannes Kanig <kanig@adacore.com> * cstand.adb: Add Information to Identifier in Standard (Identifer_For): Set Entity to the corresponding entity From-SVN: r177383
2011-08-04[multiple changes]Arnaud Charlet5-19/+50
2011-08-04 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi: Update doc on gnatcheck. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of xrefs in a scope. 2011-08-04 Yannick Moy <moy@adacore.com> * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without performing expansion. * sem_ch6.adb (Analyze_Subprogram_Body_Helper, Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that it is not called in ALFA mode. From-SVN: r177382
2011-08-04[multiple changes]Arnaud Charlet5-33/+34
2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used after all, so removed. 2011-08-04 Sergey Rybin <rybin@adacore.com> * vms_data.ads: Add missing VMS qualifiers. From-SVN: r177381
2011-08-04make.adb, [...] (Check_Mains): rebuild the list of files on the command line ↵Emmanuel Briot5-3/+76
after processing it through... 2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild the list of files on the command line after processing it through Complete_Mains. From-SVN: r177380
2011-08-04[multiple changes]Arnaud Charlet8-124/+208
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Raise_Statement): Remove the specialized processing for .NET/JVM. These targets can now benefit from Raise_From_Controlled_Operation and they share the same processing with standard targets. (Establish_Transient_Scope): Remove the restriction for .NET/JVM. These targets need transient scopes in order to properly finalize short lived controlled objects. (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for NET/JVM. These targets can now benefit from Raise_From_Controlled_Operation and they share the same processing with standard targets. 2011-08-04 Geert Bosch <bosch@adacore.com> * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to Expand_Record_Aggregate, to determine whether aggregate must be expanded into assignments. This is the case if the ancestor part is private, regarless of the setting of the flag Has_Private_Ancestor. 2011-08-04 Ed Falis <falis@adacore.com> * vxaddr2line.adb: Add support for e500v2 and for Linux hosts 2011-08-04 Bob Duff <duff@adacore.com> * sinfo.ads: Fix comment. 2011-08-04 Steve Baird <baird@adacore.com> * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then choose a package name in much the same way as is done for JGNAT when VM_Target /= No_VM, except that a slightly more distinctive prefix string is used. 2011-08-04 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Complete_Mains): no longer accept unit names on the gnatmake command line. This behavior was never documented (and was supported only because of an early bug in the code). This case might lead to ambiguous cases (between unit names and truncated base names without suffixes). From-SVN: r177379
2011-08-04[multiple changes]Arnaud Charlet27-329/+828
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * a-tags.ads, a-tags.adb (Unregister_Tag): New routine. Remove the external tag of a tagged type from the internal hash table. * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the expanded usage of the routine. Strenghten the check for Is_Master. Add processing for tagged types. (Build_Finalizer): Create all the necessary lists used in finalizer creation when the processed context is a package that may contain tagged types. (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to Requires_Cleanup_Actions. (Expand_N_Package_Body): Package bodies may need clean up code depending on whether they contain tagged types. (Expand_N_Package_Declaration): Package declarations may need clean up code depending on whether they contain tagged types. (Unregister_Tagged_Types): New routine. Search through a list of declarations or statements, looking for non-abstract Ada tagged types. For each such type, generate code to unregister the external tag. * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to Requires_Cleanup_Actions. (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search through a list of declarations or statements looking for non-abstract Ada tagged types or controlled objects. * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to Requires_Cleanup_Actions. (Has_Controlled_Objects (List_Id, Boolean)): Removed. * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and RE_Unit_Table. 2011-08-04 Vincent Celier <celier@adacore.com> * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj has Ada sources, not project Project, because if the root project Project has no sources of its own, all projects will be deemed without sources. 2011-08-04 Gary Dismukes <dismukes@adacore.com> * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration of the No_Param_Proc acc-to-subp type used for initialization of __gnat_finalize_library_objects so that it's declared at library level rather than nested inside of the adainit routine. 2011-08-04 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY if the tagged type has a representation clause which specifies its external tag. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types. Remove previous procedure with that name. * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor when appropriate. * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a subtype mark, the ancestor cannot have unknown discriminants. (Resolve_Record_Aggregate): if the type has invisible components because of a private ancestor, the aggregate is illegal. 2011-08-04 Vincent Celier <celier@adacore.com> * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into account switches -gnat2005, -gnat12 and -gnat2012. 2011-08-04 Bob Duff <duff@adacore.com> * s-tasdeb.ads: Minor comment fix. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in CodePeer mode. * switch.ads, switch.adb (Is_Language_Switch): New function. 2011-08-04 Vincent Celier <celier@adacore.com> * switch-c.adb: Minor comment addition. 2011-08-04 Vincent Celier <celier@adacore.com> * vms_conv.adb (Process_Argument): Fail graciously when qualifier ending with '=' is followed by a space (missing file name). 2011-08-04 Pascal Obry <obry@adacore.com> * g-regist.ads: Fix size of HKEY on x86_64-windows. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Associations): New routine Check_Overloaded_Formal_Subprogram to reject a formal package when there is a named association or a box initialisation for an overloaded formal subprogram of the corresponding generic. 2011-08-04 Yannick Moy <moy@adacore.com> * alfa.ads (ALFA_Xref_Record): add component for type of entity * get_alfa.adb, put_alfa.adb: Read and write new component of cross-reference. * lib-xref-alfa.adb (Collect_ALFA): generate new component. From-SVN: r177378
2011-08-04[multiple changes]Arnaud Charlet5-9/+46
2011-08-04 Pascal Obry <obry@adacore.com> * urealp.adb: Minor reformatting. 2011-08-04 Tristan Gingold <gingold@adacore.com> * exp_ch7.adb (build_finalizer.process_declarations.processing_actions): Handle the case when Cleanup_Protected_Object returns Empty. 2011-08-04 Yannick Moy <moy@adacore.com> * frontend.adb (Frontend): only qualify names in non-ALFA mode 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure call, ignore functions. From-SVN: r177377
2011-08-04urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating point.Geert Bosch2-22/+46
2011-08-04 Geert Bosch <bosch@adacore.com> * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating point. From-SVN: r177376
2011-08-04makeutl.adb (Compute_Builder_Switches): no longer accept a unit name as an ↵Emmanuel Briot3-55/+17
index for Builder'Switches. 2011-08-04 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name as an index for Builder'Switches. This conforms to the documentation. * make.adb (Insert_Project_Sources): avoid duplicate code From-SVN: r177375
2011-08-04[multiple changes]Arnaud Charlet4-39/+18
2011-08-04 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Complete_Mains): if the user has passed a relative file name on the command line (for instance "../dummy"), never assume it can be a unit name. 2011-08-04 Tristan Gingold <gingold@adacore.com> * bindgen.adb: Remove code the reference or create the Break_Start/__gnat_break_start procedure. * s-stalib.adb (Break_Start): Removed. From-SVN: r177374
2011-08-04make.adb, [...] (Compute_Builder_Switches): now shared with gprbuild.Emmanuel Briot4-222/+399
2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now shared with gprbuild. From-SVN: r177372
2011-08-04[multiple changes]Arnaud Charlet9-46/+125
2011-08-04 Yannick Moy <moy@adacore.com> * par-ch4.adb (P_Primary): preferentially issue an error message about a missing parenthesis arount a conditional or case expression in Ada 2012 mode, if we detect that the alignment is not correct for a statement. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Process_Declarations): Do not consider the result of a tag-to-class-wide conversion as needing finalization actions. * exp_util.adb (Has_Controlled_Objects): Do not consider the result of a tag-to-class-wide conversion as needing finalization actions. (Is_Finalizable_Transient): The result of a tag-to-class-wide conversion does not need finalization actions. (Is_Tag_To_CW_Conversion): New routine. * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines whether an object is the result of a tag-to-class-wide conversion. 2011-08-04 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which the left-hand-side and right-hand-side of a conjunct are inserted when translating a pre- or postcondition * sem_ch6.adb: Correct typo in comment 2011-08-04 Ed Schonberg <schonberg@adacore.com> * gnat_rm.texi: Ravenscar does not prohibit dependence on Unchecked_Conversion and Unchecked_Deallocation. 2011-08-04 Thomas Quinot <quinot@adacore.com> * make.adb: Minor reformatting. From-SVN: r177371
2011-08-04prj.adb, [...] (Complete_Mains): search for the sources in the project and ↵Emmanuel Briot4-9/+19
its imported projects... 2011-08-04 Emmanuel Briot <briot@adacore.com> * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the sources in the project and its imported projects, but not in the whole tree. From-SVN: r177370
2011-08-04[multiple changes]Arnaud Charlet6-26/+69
2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb: Remove debug trace. 2011-08-04 Vincent Celier <celier@adacore.com> * makeutl.adb (Do_Complete): Get the absolute path name of a relative path in canonical form, to be able to compare path names on platforms such as Windows or Darwin. 2011-08-04 Thomas Quinot <quinot@adacore.com> * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry): For a pragma (statement with C1 = 'P'), record the sloc of the pragma. * scos.ads: Update documentation accordingly. * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled pragmas. From-SVN: r177369
2011-08-04[multiple changes]Arnaud Charlet5-39/+62
2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of attribute only if prefix type is scalar. 2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support in gnatmake for specifying mains on the command line that do not belong to the main project. These mains must currently all belong to the same project, though. (Ultimate_Extension_Of): removed, since duplicated Ultimate_Extending_Project. From-SVN: r177367
2011-08-04[multiple changes]Arnaud Charlet5-17/+70
2011-08-04 Arnaud Charlet <charlet@adacore.com> * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode instead. (CodePeer_Mode_String): New. (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in CodePeer mode. (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode. * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer mode, since no useful elaboration subprogram is needed by CodePeer. * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode). In this mode, compile binder file with -gnatC and do stop after this step. 2011-08-04 Vincent Celier <celier@adacore.com> * exp_ch7.adb: Minor comment fix. From-SVN: r177366
2011-08-04exp_ch7.adb, [...]: Minor reformatting.Robert Dewar8-242/+240
2011-08-04 Robert Dewar <dewar@adacore.com> * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb, exp_ch4.adb, makeutl.adb: Minor reformatting. From-SVN: r177365
2011-08-04[multiple changes]Arnaud Charlet12-1604/+1921
2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring. Create several new subprograms to move code out of Make. This makes the code more readable, removes code duplication, and is a preparation work for adding support for aggregate projects. 2011-08-04 Tristan Gingold <gingold@adacore.com> * s-po32gl.ads, s-po32gl.adb: New files. * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function. * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function. (Build_Finalization_Collection): Use it. * exp_ch4.adb (Complete_Controlled_Allocation): Ditto. * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New literals. * gcc-interface/Makefile.in: Use s-po32gl.o on VMS. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r177364
2011-08-04makeutl.adb (Complete_Mains): add support for specs with no suffix on the ↵Emmanuel Briot2-63/+99
command line. 2011-08-04 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Complete_Mains): add support for specs with no suffix on the command line. From-SVN: r177363
2011-08-04make.adb, [...] (Complete_Mains): if a main specified on the command line is ↵Emmanuel Briot3-150/+40
not a file name... 2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb (Complete_Mains): if a main specified on the command line is not a file name, also check whether it could be a unit name. From-SVN: r177362
2011-08-04[multiple changes]Arnaud Charlet12-272/+462
2011-08-04 Eric Botcazou <ebotcazou@adacore.com> * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate the header of the finalization routine. If the unit has no finalizer but is a body whose spec has one, then generate the decrement of the elaboration entity only. If the unit has a finalizer and is a spec, then do not generate the decrement of the elaboration entity. (Gen_Finalize_Library_C): Likewise. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Alignment_Of): New subsidiary routine. (Bounds_Size_Expression): Removed. (Double_Alignment_Of): New subsidiary routine. (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account for a hole in the dope vector of unconstrained arrays due to different index and element alignments. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Allocator): diagnose task allocator that will raise program_error because body has not been seen yet. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with an unresolved name. 2011-08-04 Vincent Celier <celier@adacore.com> * makeutl.adb (Do_Complete): Check absolute paths in canonical forms 2011-08-04 Yannick Moy <moy@adacore.com> * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here 2011-08-04 Thomas Quinot <quinot@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for instantiation in RCI. 2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb: Share more code with gprbuild From-SVN: r177361
2011-08-04[multiple changes]Arnaud Charlet9-20/+84
2011-08-04 Emmanuel Briot <briot@adacore.com> * projects.texi: Added documentation for the IDE'Gnat project file attribute. 2011-08-04 Nicolas Roche <roche@adacore.com> * gnat_rm.texi: Minor editing. 2011-08-04 Javier Miranda <miranda@adacore.com> * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case and the library case for VM targets. (Gen_Adainit_Ada): Likewise. 2011-08-04 Robert Dewar <dewar@adacore.com> * g-altive.ads: Minor comment updates. * prj-nmsc.adb: Minor reformatting. 2011-08-04 Javier Miranda <miranda@adacore.com> * opt.ads (Normalize_Scalars_Config): Value of the configuration switch set by pragma Normalize_Scalars when it appears in the gnat.adc file. (Normalize_Scalars): New field for record Config_Switches_Type. Used to save and restore settings of this pragma. * opt.adb (Register_Opt_Config_Switches, Save_Opt_Config_Switches, Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars. 2011-08-04 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile From-SVN: r177360
2011-08-04[multiple changes]Arnaud Charlet3-75/+33
2011-08-04 Arnaud Charlet <charlet@adacore.com> * makeutl.adb: Minor reformatting. 2011-08-04 Olivier Hainque <hainque@adacore.com> * g-altive.ads: Update comments to reflect that only the soft binding is available today. From-SVN: r177359