- 06 Jun, 2007 40 commits
-
-
2007-04-20 Robert Dewar <dewar@adacore.com> * scng.adb: (Check_End_Of_Line): Deal with very long lines From-SVN: r125445
Robert Dewar committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-bitops.adb: Get rid of System.Pure_Exceptions. Replace UC by Ada.UC From-SVN: r125444
Arnaud Charlet committed -
restrict.ads, [...] (No_Exception_Handlers_Set): Only return true if configurable run-time or No_Run_Time is set. 2007-04-20 Arnaud Charlet <charlet@adacore.com> * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return true if configurable run-time or No_Run_Time is set. (Set_Restriction): Avoid setting restriction No_Elaboration_Code when processing an unit which is not the one being compiled. From-SVN: r125443
Arnaud Charlet committed -
2007-04-20 Vincent Celier <celier@adacore.com> * prj.adb (Project_Empty): Gives default value for new component Libgnarl_Needed * prj-attr.ads: Minor reformatting * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object directory using the untouched casing. (For_All_Source_Dirs): Idem. * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record directories specified with switches -aP. (Add_Search_Project_Directory): New procedure (Initialize_Project_Path): Put the directories in table Search_Directories in the project search path. (Initialize_Project_Path): For VMS, transform into canonical form the project path. From-SVN: r125442
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * prep.ads, prep.adb (Expression): New Boolean parameter Complemented, defaulted to False. In the "not" case, recursive call with Complemented set to True. Do not allow "or" or "and" operators when Complemented is True. From-SVN: r125441
Vincent Celier committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * par-ch4.adb: (P_Name): Recover from literal used as name From-SVN: r125440
Robert Dewar committed -
par-ch12.adb (P_Generic_Associations): The source position of an Others association is that of the others keyword... 2007-04-20 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * par-ch12.adb (P_Generic_Associations): The source position of an Others association is that of the others keyword, not that of the token that follows the box. (P_Formal_Type_Definition): Handle formal access types that carry a not null indicator. * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If multiple identifier are present, save Scan_State before scanning the colon, to ensure that separate trees are constructed for each declaration. (P_Identifier_Declarations): For object declaration, set new flag Has_Init_Expression if initialization expression present. (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL Improve NOT NULL error messages From-SVN: r125439
Ed Schonberg committed -
sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that specify the position of interface... 2007-04-20 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that specify the position of interface tags when the type inherits discriminated array components from the parent type. If a component is initialized with a box, check for the presence of a default expression in its declaration before using its default initialization procedure. (Resolve_Record_Aggregate): If a component is box-initialized, and the component type has a discriminants, create a partial aggregate for it by copying the discriminants of the component subtype. Reject attempt to initialize a discriminant with a box. (Array_Aggr_Subtype): Indicate to the backend that the size of arrays associated with dispatch tables is known at compile time. (Get_Value): If an association in a record aggregate has a box association, and the corresponding record component has a default expression, always copy the default expression, even when the association has a single choice, in order to create a proper association for the expanded aggregate. From-SVN: r125438
Ed Schonberg committed -
2007-04-20 Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to the full type declaration. (Analyze_Component_Declaration): Add local variable E to capture the initialization expression of the declaration. Replace the occurences of Expression (N) with E. (OK_For_Limited_Init_In_05): Allow initialization of class-wide limited interface object with a function call. (Array_Type_Declaration): If the declaration lacks subtype marks for indices, create a simple index list to prevent cascaded errors. (Is_Null_Extension): Ignore internal components created for secondary tags when checking whether a record extension is a null extension. (Check_Abstract_Interfaces): Add missing support for interface subtypes and generic formals. (Derived_Type_Declaration): Add missing support for interface subtypes and generic formals. (Analyze_Object_Declaration): If an initialization expression is present, traverse its subtree and mark all allocators as static coextensions. (Add_Interface_Tag_Component): When looking for components that may be secondary tags, ignore pragmas that can appear within a record declaration. (Check_Abstract_Overriding): an inherited function that dispatches on result does not need to be overriden if the controlling type is a null extension. (Mentions_T): Handle properly a 'class attribute in an anonymous access component declaration, when the prefix is an expanded name. (Inherit_Component): If the derivation is for a private extension, inherited components remain visible and their ekind should not be set to Void. (Find_Type_Of_Object): In the case of an access definition, always set Is_Local_Anonymous_Access. We were previously not marking the anonymous access type of a return object as a local anonymous type. (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete range with character literal bounds. (Constrain_Array): Initialize the Packed_Array_Type field to Empty. (Access_Subprogram_Declaration): Indicate that the type declaration depends on an incomplete type only if the incomplete type is declared in an open scope. (Analyze_Subtype_Declaration): Handle properly subtypes of synchronized types that are tagged, and that may appear as generic actuals. (Access_Subprogram_Declaration): An anonymous access to subprogram can appear as an access discriminant in a private type declaration. (Add_Interface_Tag_Components): Complete decoration of the component containing the tag of a secondary dispatch table and the component containing the offset to the base of the object (this latter component is only generated when the parent type has discriminants --as documented in this routine). (Inherit_Components): Use the new decoration of the tag components to improve the condition that avoids inheriting the components associated with secondary tags of the parent. (Build_Discriminanted_Subtype): Indicate to the backend that the size of record types associated with dispatch tables is known at compile time. (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed. (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface to include task, protected, and synchronized interfaces as limited interfaces. (Process_Discriminants): Remove the setting of Is_Local_Anonymous_Access on the type of (anonymous) access discriminants of nonlimited types. (Analyze_Interface_Type_Declaration): Complete the decoration of the class-wide entity it is is already present. This situation occurs if the limited-view has been previously built. (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep field. (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute Related_Interface. From-SVN: r125437
Javier Miranda committed -
osinte-c.ads, [...] (Set_Library_Info_Name): Fail if base name of specified object file is not equal to base name of source. 2007-04-20 Vincent Celier <celier@adacore.com> * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name of specified object file is not equal to base name of source. From-SVN: r125436
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory separator, use instead the proper host directory separator. (Copy_ALI_Files): Make sure that an already existing ALI file in the ALI copy dir is writable, before doing the copy. * mlib-utl.ads, mlib-utl.adb: (Gcc): If length of command line is too long, put the list of object files in a response file, if this is supported by the platform. (Ar): If invocation of the archive builder is allowed to be done in chunks and building it in one shot would go above an OS dependent limit on the number of characters on the command line, build the archive in chunks. From-SVN: r125435
Vincent Celier committed -
2007-04-20 Pascal Obry <obry@adacore.com> * mkdir.c (__gnat_mkdir): Add support for UTF-8. From-SVN: r125434
Pascal Obry committed -
2007-04-20 Jose Ruiz <ruiz@adacore.com> Arnaud Charlet <charlet@adacore.com> * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run time, use the default s-interr body that provides interrupt support based on signals. (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b}, g-soccon.ads, and s-taprop.adb for the marte run time. (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and timers are supported on marte. (EH_MECHANISM for marte): Do not use ZCX. (THREADSLIB for marte): Use -lmarte. Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS Add mlib-tgt-specific.o to gnatmake objects mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no longer of MLib.Tgt. (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks 6, either kernel or rtp, use a specialized version of s-osinte.ads. From-SVN: r125433
Jose Ruiz committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> Vincent Celier <celier@adacore.com> * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java, since both are separated. Add support for imported CIL packages. Add further special handling of "value_type" for CIL. Add special handling of pragma Import for CIL. * make.ads, make.adb: When switch -eS is used, direct all outputs to standard output instead of standard error, except errors. (Absolute_Path): Use untouched casing for the parent directory. (Add_Library_Search_Dir): Use the untouched directory name. (Add_Source_Search_Dir): Idem. (Change_To_Object_Directory): Update output to use proper casing. (Create_Binder_Mapping_File): Use the untouched filename to set ALI_Name. (Gnatmake): Use untouched library and executable directory names. (Insert_Project_Sources): Use untouched filename for spec and body. (Is_In_Object_Directory): Use untouched object directory. (Mark_Directory): Idem. (Collect_Arguments_And_Compile): Ensure that Full_Source_File always contains the non-canonical filename in all cases. (Change_To_Object_Directory): In verbose mode, display the name of the object directory we're changing to. (Compile_Sources): Make sure, when a project file is used, to compile the body of the unit, when there is one, even when only the spec is recorded in an ALI file. (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the spec to the body. (Report_Compilation_Failed): New procedure (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg): procedures moved from the spec to the body. (Extract_Failure): Removed, not used Replace explicit raises of exception Bind_Failed and Link_Failed with calls to Make_Failed with the proper message. Replace explicit raises of exception Compilation_Failed with calls to procedure Report_Compilation_Failed. (Initialize): Create mapping files unconditionally when using project files. * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL, Pragma_CIL_Constructor): New names. * targparm.ads, targparm.adb (Compiler_System_Version): Removed, no longer used. (Get_Target_Parameters): Relax checks on system.ads validity. Add handling of two new system flags: JVM and CLI. From-SVN: r125432
Arnaud Charlet committed -
2007-04-20 Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * sem_ch12.adb (Analyze_Associations): Diagnose use of an others association in an instance. (Copy_Generic_Node): If the node is a string literal, no need to copy its descendants. (Is_Generic_Formal): For a formal subprogram, the declaration is the grandparent of the entity. (Analyze_Formal_Interface_Type): Transform into a full type declaration, to simplify handling of formal interfaces that derive from other formal interfaces. (Instantiate_Subprogram_Body): The defining unit name of the body of the instance should be a defining identifier. (Install_Formal_Packages): make global to the package, for use in instantiations of child units. (Analyze_Package_Instantiation): Do not attempt to set information on an enclosing master of an entry when expansion is disabled. (Instantiate_Type): If the actual is a tagged synchronized type and the generic ancestor is an interface, create a generic actual for the corresponding record. (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type declaration, to ensure that the interface list is processed correctly. (Inline_Instance_Body): If enclosing scope is an instance body, remove its entities from visibiility as well. (Pre_Analyze_Actuals): if the actual is an allocator with constraints given with a named association, analyze the expression only, not the discriminant association itself. (Reset_Entity): If the analysis of a selected component is transformed into an expanded name in the prefix of a call with parameters, do not transform the original node into an expanded name, to prevent visibility errors in the case of nested generics. (Check_Private_View): For an array type, check whether the index types may need exchanging. From-SVN: r125431
Ed Schonberg committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package spec from body (Layout_Type): Fix recomputation of size from alignment. From-SVN: r125430
Robert Dewar committed -
2007-04-20 Olivier Hainque <hainque@adacore.com> * initialize.c (__gnat_initialize for vxworks): Update documentation on the ZCX support, using different sets of crtstuff objects than with GCC 3.4. From-SVN: r125429
Olivier Hainque committed -
2007-04-20 Tristan Gingold <gingold@adacore.com> Olivier Hainque <hainque@adacore.com> * init.c: Do not adjust IP of an imported VMS exception of ia64. LIB$STOP is called to raise an exception and the IP of the exception is the instruction right after the call. (__gnat_adjust_context_for_raise, AIX): Implement. (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call adjust_context_for_raise before Raise_From_Signal_Hanler. (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure siginfo is passed to the handler, necessary to let the zcx propagation engine unwind past it. From-SVN: r125428
Tristan Gingold committed -
2007-04-20 Vincent Celier <celier@adacore.com> Arnaud Charlet <charlet@adacore.com> * a-clrefi.adb, a-clrefi.ads: New files * impunit.adb: Add s-os_lib in the list of user visible units. (Non_Imp_File_Names_95): Add a-clrefi to this list Remove obsolete run-time entries. (Non_Imp_File_Names_05): Add Ada 2005 entries for: "a-exetim" -- Ada.Execution_Time "a-extiti" -- Ada.Execution_Time.Timers * mlib-prj.ads, mlib-prj.adb (Build_Library): Use untouched object dir and library dir. At the same time makes sure that the checks are done using the canonical form. Removes hard-coded directory separator and use the proper host one instead. (Process_Project): Do not look in object directory to check if libgnarl is needed for a library, if there is no object directory. (Build_Library): Scan the ALI files to decide if libgnarl is needed for linking. (Build_Library): When invoking gnatbind, use a response file if the total size of the arguments is too large. * Makefile.rtl: (g-sttsne): New object file. Add entry for a-clrefi, s-utf_32, System.Exceptions * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o. (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o. (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o Change g-string to s-string, g-os_lib to s-os_lib Change all g-utf_32 references to s-utf_32 From-SVN: r125427
Vincent Celier committed -
hostparm.ads (Normalized_CWD): Use the host directory separator instead of the hardcoded forward slash which... 2007-04-20 Pascal Obry <obry@adacore.com> * hostparm.ads (Normalized_CWD): Use the host directory separator instead of the hardcoded forward slash which is not the proper character on Windows for example. (Java_VM): Removed. From-SVN: r125426
Pascal Obry committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * g-trasym.ads, g-traceb.ads: Update list of supported targets Add note about symbolic traceback From-SVN: r125425
Robert Dewar committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by default, set False on a per-runtime basis. (Need_Netdb_Buffer): New constant. * g-socket.ads, g-socket.adb: Import new package GNAT.Sockets.Thin.Task_Safe_NetDB. (Raise_Host_Error): Use Host_Error_Message from platform-specific thin binding to obtain proper message. (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close. Replace various occurrences of Arry (Arry'First)'Address with the equivalent Arry'Address (GNAT always follows implementation advice from 13.3(14)). (Get_Host_By_Address, Get_Host_By_Name, Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock; instead, rely on platform-specific task safe netdb operations provided by g-socthi. * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal parameter Process_Blocking_IO. (Host_Error_Messages): Add stub body. (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Move functions into new child package Task_Safe_NetDB. (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr, Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines. (In_Addr): Add alignment clause. From-SVN: r125424
Thomas Quinot committed -
2007-04-20 Emmanuel Briot <briot@adacore.com> * g-regpat.adb (Quote): Fix improper quoting of '.' From-SVN: r125423
Emmanuel Briot committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> * g-pehage.adb (Produce): Open output files in Binary mode, so that they have UNIX line endings (LF only) even on Windows, and thus pass all GNAT style checks. From-SVN: r125422
Thomas Quinot committed -
g-os_lib.ads, [...] (Normalize_Pathname.Get_Directory): Correct obvious bug (return Dir; instead of return Directory;). 2007-04-20 Vincent Celier <celier@adacore.com> * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory): Correct obvious bug (return Dir; instead of return Directory;). (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last From-SVN: r125421
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * gnatsym.adb: Update Copyright notice (Parse_Cmd_Line): Accept new switch -D (Gnatsym): In Direct policy (switch -D) copy reference file to symbol file. * prj.ads (Policy): New policy Direct (Yes_No_Unknown): New enumeration type (Project_Data): New component Libgnarl_Needed * prj-nmsc.adb (Check_For_Source): When recording a source file make use the untouched pathname casing. (Get_Directories): Ensure that the Display_Exec_Directory is using the proper casing on non case-sensitive platforms like Windows. (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s) on all platforms, as it is not possible to know which one is allowed before processing the project files. (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is specified when symbol policy is Direct. Check that when there is a symbol file defined (either by default or with attribute Library_Symbol_File) it is not the same as the reference symbol file. (Check_Stand_Alone_Library): Recognize new symbol policy Direct. (Look_For_Sources): Allow Locally_Removed_Files to be declare in non extending projects. (Record_Ada_Source): Record a source that has been locally removed in an imported project. * symbols.ads (Policy): New policy Direct * symbols-vms.adb (Initialize): Take new policy Direct in case statement From-SVN: r125420
Vincent Celier committed -
2007-04-20 Vasiliy Fofanov <fofanov@adacore.com> * gmem.c: Add support for timestamps on memory operations. * memtrack.adb, gnatmem.adb: Add support for timestamps on memory operations (not used currently, just foundation for future enhancements). Add possibility to perform full dump of gmem.out file. (Print_Back_Traces): Declare accesses to root arrays constants since they aren't modified. (Print_Back_Traces): allocate root arrays on the heap rather than stack. From-SVN: r125419
Vasiliy Fofanov committed -
2007-04-20 Vincent Celier <celier@adacore.com> * gnatls.adb: Add 3 spaces before the default project directory when displaying the project search path. Add new command line switch '-l' to display license information. From-SVN: r125418
Vincent Celier committed -
gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK= has been specified Correct error... 2007-04-20 Vincent Celier <celier@adacore.com> * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK= has been specified Correct error message when invocation of the linker fails Add explicit size clause for the C imported variables Object_List_File_Supported and Using_GNU_Linker to emphasize that we expect char size. Read target parameters earlier, since this is needed to set Target_VM properly. Also do not use -static/shared-libgcc for non GCC targets. From-SVN: r125417
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept switch -P (ASIS_Main): New global variable (Get_Closure): New procedure (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat check, metric or pretty. Call Get_Closure in this case. (Check_Files): For GNAT LIST, check all sources of all projects when All_Projects is True. (GNATCmd): Accept -U for GNAT LIST From-SVN: r125416
Vincent Celier committed -
g-debpoo.ads, [...] (Free_Physically.Free_Blocks): Use the absolute value of Header.Block_Size when... 2007-04-20 Vincent Celier <celier@adacore.com> Emmanuel Briot <briot@adacore.com> Olivier Hainque <hainque@adacore.com> * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the absolute value of Header.Block_Size when displaying the freed physical memory in traces. (Allocate): Compute Storage_Address using Integer_Address, not Storage_Offset, because the range of Storage_Offset may not be large enough. (Configure): New parameter Low_Level_Traces (Allocate, Deallocation, Free_Physically): Added low-level traces (Configure): new parameter Errors_To_Stdout. (Output_File): new subprogram (Deallocate, Dereference): Send error messages to the proper stream (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as documented. Previous code would send it to the current output file defined in GNAT.IO, which might not be stdout (Is_Valid): Adjust comment to mention that a positive reply means that Header_Of may be used to retrieve the allocation header associated with the subprogram Storage address argument. Return False early if this address argument is misaligned. From-SVN: r125415
Vincent Celier committed -
2007-04-20 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * g-comlin.ads, g-comlin.adb: Add new warning for renaming of function return objects * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size (Tree_Read): Use size of object instead of type'object_size, since the latter is incorrect for packed array types. (Tree_Write): Same fix * opt.ads: Add new warning for renaming of function return objects (Generating_Code): New boolean variable used to indicate that the frontend as finished its work and has called the backend to process the tree and generate the object file. (GCC_Version): Is now private (Static_Dispatch_Tables): New constant declaration. (Overflow_Checks_Unsuppressed): New flag. (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed. (List_Closure): New flag for gnatbind (-R) Zero_Formatting: New flag for gnatbind (-Z) (Special_Exception_Package_Used): New flag. (Warn_On_Unrepped_Components): New flag. * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed unit is a compilation unit, rather than relying on its scope, so that Standard can be renamed. (Analyze_Object_Renaming): Add new warning for renaming of function return objects. Also reject attempt to rename function return object in Ada 83 mode. (Attribute_Renaming): In case of tagged types, add the body of the generated function to the freezing actions of the type. (Find_Type): A protected type is visible right after the reserved word "is" is encountered in its type declaration. Set the entity and type rather than emitting an error message. (New_Scope): Properly propagate Discard_Names to inner scopes (Check_Nested_Access): New procedure. (Has_Nested_Access, Set_Has_Nested_Access): New procedures. (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning Add new warning for renaming of function return objects (Check_References): Suppress warnings for objects whose type or base type has Warnings suppressed. (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C (Set_Warning_Switch): Include new -gnatwc in -gnatwa From-SVN: r125414
Robert Dewar committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * g-catiio.ads, g-catiio.adb (Image): Check for null picture string From-SVN: r125413
Robert Dewar committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * g-hesorg.ads, g-heasor.ads, g-busorg.ads, g-bubsor.ads: Update documentation GNAT.Heap/Bubble_Sort_G is now pure From-SVN: r125412
Robert Dewar committed -
2007-04-20 Vincent Celier <celier@adacore.com> Robert Dewar <dewar@adacore.com> * frontend.adb (Frontend): Return immediately if the main source could not be parsed, because of preprocessing errors. * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully. (Gnat1drv): Exit with errors if the main source could not be parsed, because of preprocessing errors. (Check_Rep_Info): New procedure From-SVN: r125411
Vincent Celier committed -
2007-04-20 Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an object of a limited type can be initialized with a call to a function that returns in place. If the limited type has unknown discriminants, and the underlying type is a constrained composite type, build an actual subtype from the function call, as is done for private types. (Side_Effect_Free): An expression that is the renaming of an object or whose prefix is the renaming of a object, is not side-effect free because it may be assigned through the renaming and its value must be captured in a temporary. (Has_Controlled_Coextensions): New routine. (Expand_Subtype_From_Expr): Do nothing if type is a limited interface, as is done for other limited types. (Non_Limited_Designated_Type): new predicate. (Make_CW_Equivalent_Type): Modified to handle class-wide interface objects. Remove all handling of with_type clauses. * par-ch10.adb: Remove all handling of with_type clauses. * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the checksum if the main source could not be parsed. (Loat_Unit): When processing a child unit, determine properly whether the parent unit is a renaming when the parent is itself a child unit. Remove handling of with_type clauses. * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function. (Set_Is_Static_Coextension): New procedure. (Has_Local_Raise): New function (Set_Has_Local_Raise): New procedure (Renaming_Exception): New field (Has_Init_Expression): New flag (Delay_Finalize_Attach): Remove because flag is obsolete. (Set_Delay_Finalize_Attach): Remove because flag is obsolete. Remove all handling of with_type clauses. (Exception_Junk): Can now be set in N_Block_Statement From-SVN: r125410
Ed Schonberg committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that are interface type. (Build_Elementary_Input_Call): For floating-point use right type in the absence of strange size or stream size clauses. (Build_Elementary_Write_Call): Same fix (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute set to value that does not match base type size. From-SVN: r125409
Robert Dewar committed -
exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a default initialization on an imported object... 2007-04-20 Ed Schonberg <schonberg@adacore.com> Arnaud Charlet <charlet@adacore.com> Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a default initialization on an imported object, when there is no initialization call generated for it. (Expand_Pragma_Assert): Add handling of No_Exception_Propagation restriction * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma Static_Elaboration_Desired. Remove pragma Thread_Body. Implement a new pragma No_Body Removes the Explicit_Overriding pragma Remove Optional_Overriding pragma (Prag): Deal with Universal_Aliasing. (Name_CIL, Name_CIL_Constructor, Convention_CIL, Pragma_CIL_Constructor): New names. * sem_cat.adb (Validate_Object_Declaration): An initialization that uses the equivalent aggregate of a type must be treated as an implicit initialization. (Get_Categorization): Check a unit for pragma Preelaborate only if it has none of the other categories. (Process_Import_Or_Interface_Pragma): Report an error for an attempt to apply Import to an object renaming declaration. * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported from a C++ class should be declared as limited and that it will be considererd limited. (Analyze_Pragma): Warn that a type specified with pragma CPP_Class should be declared as limited and that it will be considererd limited. (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas (Analyze_Pragma, case Export): Diagnose export of enumeration literal (Analyze_Pragma): Deal with Universal_Aliasing. (Sig_Flags): Likewise. (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP. (Overflow_Checks_Unsuppressed): New flag. (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed. (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in case of JVM or .NET targets, and compiling user code. Add debugging convenience routine rv From-SVN: r125408
Ed Schonberg committed -
2007-04-20 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to compute masking constant, since we now set Esize properly to the underlying size. (Create_Packed_Array_Type): Set proper Esize value adjusted as required to match the alignment. (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for packed arrays of 8 bits or less. * freeze.adb (Freeze_Entity): When freezing the formals of a subprogram, freeze the designated type of a parameter of an access type only if it is an access parameter. Increase size of C convention enumeration object (Freeze_Entity, array type case): Make sure Esize value is properly adjusted for the alignment if it is known. (Freeze_Entity, array type case): When checking bit packed arrays for the size being incorrect, check RM_Size, not Esize. (Freeze_Record_Type): Check for bad discriminated record convention (In_Exp_Body): Return true if the body is generated for a subprogram renaming, either an attribute renaming or a renaming as body. (Check_Itype): If the designated type of an anonymous access component is a non-protected subprogram type, indicate that it is frozen, to prevent out-of-scope freeze node at some subsequent call. (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism only if the subprogram is neither imported nor exported, as well as the NCA descriptor class if the subprogram is exported. From-SVN: r125407
Robert Dewar committed -
exp_intr.adb (Expand_Unc_Deallocation): Add missing support for deallocation of class-wide interface objects. 2007-04-20 Javier Miranda <miranda@adacore.com> * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for deallocation of class-wide interface objects. (Expand_Dispatching_Constructor_Call): Take into account that if the result of the dispatching constructor is an interface type, the function returns a class-wide interface type; otherwise the returned object would be actual. The frontend previously accepted returning interface types because Expand_Interface_Actuals silently performed the management of the returned type "as if" it were a class-wide interface type. (Expand_Dispatching_Constructor_Call): Replace call to Make_DT_Access_Action by direct call to Make_Function_Call. From-SVN: r125406
Javier Miranda committed
-