- 27 Oct, 2004 40 commits
-
-
tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr validity (process must have read access). 2004-10-26 Pascal Obry <obry@gnat.com> * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr validity (process must have read access). Set to 0 in all other cases. (STOP_FRAME): Now check for ptr validity to avoid a segmentation violation on Win32. (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a segmentation violation. From-SVN: r89675
Pascal Obry committed -
sem_util.adb (Is_Aliased_View): Defend against the case where this subprogram is called with a parameter that... 2004-10-26 Thomas Quinot <quinot@act-europe.fr> Ed Schonberg <schonberg@gnat.com> * sem_util.adb (Is_Aliased_View): Defend against the case where this subprogram is called with a parameter that is not an object name. This situation arises for some cases of illegal code, which is diagnosed later, and in this case it is wrong to call Is_Aliased, as that might cause a compiler crash. (Explain_Limited_Type): Refine previous fix to include inherited components of derived types, to provide complete information. * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that is the prival for a protected object. It is necessary to mark this entity as a variable, in addition to flagging it as Aliased, because Sem_Util.Is_Aliased_View has been modified to avoid checking the Aliased flag on entities that are not objects. (Checking that flag for non-objects is erroneous and could lead to a compiler crash). From-SVN: r89674
Thomas Quinot committed -
sem_elab.adb (Check_Elab_Call): Do not check a call that does not appear in the code for the main unit. 2004-10-26 Ed Schonberg <schonberg@gnat.com> * sem_elab.adb (Check_Elab_Call): Do not check a call that does not appear in the code for the main unit. Dependencies among units in the context of the main unit are established when those other units are compiled. Otherwise spurious elaboration constraints can generate incorrect elaboration circularities. From-SVN: r89673
Ed Schonberg committed -
sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a different kind of stub (possibly wrong name for file)... 2004-10-26 Ed Schonberg <schonberg@gnat.com> * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a different kind of stub (possibly wrong name for file), do not check for conformance. (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body includes call to some function that returns an unconstrained type, do not inline. From-SVN: r89671
Ed Schonberg committed -
sem_ch3.adb (Complete_Private_Subtype): If the full view is a task or protected type with discriminants... 2004-10-26 Ed Schonberg <schonberg@gnat.com> * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task or protected type with discriminants, do not constrain the corresponding record type if the subtype declaration has no discriminant constraints. This can be the case in source code, or in the subtype declaration created to rename an actual type within an instantiation. From-SVN: r89670
Ed Schonberg committed -
sem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): enhance, document & limit detection of non-sharable internal pools. 2004-10-26 Cyrille Comar <comar@act-europe.fr> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Storage_Pool): enhance, document & limit detection of non-sharable internal pools. * impunit.adb: Make System.Pool_Global and System.Pool_Local visible. * s-pooglo.ads: Add more documentation now that this pool is properly documented. From-SVN: r89669
Cyrille Comar committed -
2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus. From-SVN: r89668
Andreas Krebbel committed -
sem_ch12.adb (In_Main_Context): Predicate to determine whether the current instance appears within a unit that... 2004-10-26 Ed Schonberg <schonberg@gnat.com> Javier Miranda <miranda@gnat.com> * sem_ch12.adb (In_Main_Context): Predicate to determine whether the current instance appears within a unit that is directly in the context of the main unit. Used to determine whether the body of the instance should be analyzed immediately after its spec, to make its subprogram bodies available for front-end inlining. (Analyze_Formal_Array_Type): Cleanup condition that checks that range constraint is not allowed on the component type (AARM 12.5.3(3)) From-SVN: r89667
Ed Schonberg committed -
2004-10-26 Ed Schonberg <schonberg@gnat.com> * sem_ch10.adb (Optional_Subunit): If file of expected subunit is empty, post message on stub. From-SVN: r89666
Ed Schonberg committed -
sem_attr.adb (Resolve_Attribute, [...]): Apply proper accessibility check to prefix that is a protected operation. 2004-10-26 Ed Schonberg <schonberg@gnat.com> * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper accessibility check to prefix that is a protected operation. From-SVN: r89665
Ed Schonberg committed -
2004-10-26 Robert Dewar <dewar@gnat.com> * s-bitops.adb (Bit_Eq): Remove redundant check. * s-bitops.ads: Minor comment updates Change some occurrences of Address to System.Address * s-carsi8.ads: Fix minor cut-and-paste error in comments From-SVN: r89664
Robert Dewar committed -
2004-10-26 Robert Dewar <dewar@gnat.com> * s-arit64.adb: (Le3): New function, used by Scaled_Divide (Sub3): New procedure, used by Scaled_Divide (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also correct more than one instance of failure to propagate carries correctly. (Double_Divide): Handle overflow case of largest negative number divided by minus one. * s-arit64.ads (Double_Divide): Document that overflow can occur in the case of a quotient value out of range. Fix comments. From-SVN: r89663
Robert Dewar committed -
2004-10-26 Vincent Celier <celier@gnat.com> * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual extension of library projects. * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project path defaults to ".:<prefix>/lib/gnat". (Parse): For an extending all project, allow direct import of a project that is virtually extended. * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with the specified name is directly imported, return its ID. Otherwise, if an extension of this project is imported, return the ID of the extension. From-SVN: r89662
Vincent Celier committed -
2004-10-26 Vincent Celier <celier@gnat.com> * prj-env.adb: (Contains_ALI_Files): New Boolean function (Ada_Objects_Path.Add): For a library project, add to the object path the library directory only if there is no object directory or if the library directory contains ALI files. (Set_Ada_Paths.Add.Recursive_Add): Ditto From-SVN: r89661
Vincent Celier committed -
From-SVN: r89660
Ulrich Weigand committed -
2004-10-27 Andreas Krebbel <krebbel@de.ibm.com> patch originally created by Kelley Cook <kcook@gcc.gnu.org> PR middle-end/14684 * opts.c (OPT_fprofile_generate): Default to -funroll-loops to match -fprofile-use. Co-Authored-By: Kelley Cook <kcook@gcc.gnu.org> From-SVN: r89659
Andreas Krebbel committed -
From-SVN: r89658
Kazu Hirata committed -
lib-xref.adb (Generate_Reference): Don't complain about reference to entry parameter if pragma Unreferenced set... 2004-10-26 Robert Dewar <dewar@gnat.com> * lib-xref.adb (Generate_Reference): Don't complain about reference to entry parameter if pragma Unreferenced set, since we do not properly handle the case of multiple parameters. From-SVN: r89657
Robert Dewar committed -
init.c (__gnat_error_handler): Instead of trying to read the memory before the faulting page we properly test... 2004-10-26 Pascal Obry <obry@gnat.com> * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the memory before the faulting page we properly test the process read access for this address using appropriate Win32 routine. (HPUX sections): guard with "__hpux__" instead of "hpux". From-SVN: r89656
Pascal Obry committed -
2004-10-26 Matthew Gingell <gingell@gnat.com> * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI. From-SVN: r89655
Matthew Gingell committed -
2004-10-26 Thomas Quinot <quinot@act-europe.fr> * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable, Set_Read_Only): New subprograms. These new routines allow the user to set or unset the Owner execute and Owner write permission flags on a file. * makegpr.adb, mlib.adb, mlib-prj.adb: Use GNAT.OS_Lib.Set_Executable instead of rolling our own. From-SVN: r89654
Thomas Quinot committed -
2004-10-26 Gary Dismukes <dismukes@gnat.com> * gnat1drv.adb: Suppress calling the back end when Frontend_Layout_On_Target is true. From-SVN: r89653
Gary Dismukes committed -
exp_dist.adb (Build_General_Calling_Stubs): New formal parameter RACW_Type, used in the PolyORB version. 2004-10-26 Thomas Quinot <quinot@act-europe.fr> * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter RACW_Type, used in the PolyORB version. Rename RCI_Info to RCI_Locator, for consistency between the PolyORB version and the GARLIC version. * snames.ads, snames.adb, s-parint.ads, s-parint.adb: Rename RCI_Info to RCI_Locator for better consistency between the GARLIC and PolyORB versions of the distributed systems annex. (DSA_Implementation_Name): This enumeration lists the possible implementations of the Partition Communication Subsystem for the Distributed Systems Annex (DSA). The three available implementations are the dummy stub implementation (No_DSA), and two versions based on two different distribution runtime libraries: GARLIC and PolyORB. Both the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution technology. Change the literal GLADE_DSA to GARLIC_DSA to accurately describe that organization. * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency between the GARLIC and PolyORB versions of the distributed systems annex. Remove RE_Unbounded_Reclaim_Pool since it is unused. From-SVN: r89652
Thomas Quinot committed -
exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter is aliased and is a by_reference type... 2004-10-26 Ed Schonberg <schonberg@gnat.com> Eric Botcazou <ebotcazou@act-europe.fr> * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter is aliased and is a by_reference type, do not pass by copy. (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to detect whether the call is in the right side of an assignment or the expression of an object declaration. Recurse on component association within aggregates. Call it in the condition that determines whether the temporary is necessary for correct stack-checking. From-SVN: r89651
Ed Schonberg committed -
exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array compares if the component is atomic. 2004-10-26 Robert Dewar <dewar@gnat.com> * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array compares if the component is atomic. * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for array assignment if the component type is atomic. From-SVN: r89650
Robert Dewar committed -
exp_aggr.adb (Safe_Component): An aggregate component that is an unchecked conversion is safe for in-place use... 2004-10-26 Ed Schonberg <schonberg@gnat.com> * exp_aggr.adb (Safe_Component): An aggregate component that is an unchecked conversion is safe for in-place use if the expression of the conversion is safe. (Expand_Array_Aggregate): An aggregate that initializes an allocator may be expandable in place even if the aggregate does not come from source. (Convert_Array_Aggr_In_Allocator): New procedure to initialize the designated object of an allocator in place, rather than building it first on the stack. The previous scheme forces a full copy of the array, and may be altogether unsusable if the size of the array is too large for stack allocation. From-SVN: r89649
Ed Schonberg committed -
2004-10-26 Geert Bosch <bosch@gnat.com> * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used. (Succ): Re-implement using Scaling, Exponent and Ceiling attributes. (Pred): Implement in terms of Succ. From-SVN: r89648
Geert Bosch committed -
2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> * decl.c (gnat_to_gnu_field): Use the type of the inner object for a JM type only if its size matches that of the wrapper. When a size is prescribed and the field is not aliased, remove the wrapper of a JM type only if the size is not greater than that of the packed array. (gnat_to_gnu_entity): Change the extension of packed array wrappers from LJM to JM. From-SVN: r89647
Eric Botcazou committed -
2004-10-26 Vincent Celier <celier@gnat.com> * clean.adb (Delete): Do not output warnings when in quiet output and not in verbose mode. (Force_Deletions): New Boolean flag, defaulted to False (Delete): Only delete a file if it is writable, and when Force_Deletions is True. (Parse_Cmd_Line): New switch -f: set Force_Deletions to True (Usage): Line for new switch -f (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our own. From-SVN: r89646
Vincent Celier committed -
2004-10-26 Ed Schonberg <schonberg@gnat.com> * checks.adb (Expr_Known_Valid): If floating-point validity checks are enabled, check the result of unary and binary operations when the expression is the right-hand side of an assignment. From-SVN: r89645
Ed Schonberg committed -
* a-filico.ads, a-filico.adb: fix incorrect header. * a-ststio.ads: Fix typo in identifier * sem_ch4.adb: Minor reformatting. From-SVN: r89644
Arnaud Charlet committed -
2004-10-26 Gary Dismukes <dismukes@gnat.com> * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for compatibility with type Unwind_Word on 16-bit targets such as AAMP. From-SVN: r89643
Gary Dismukes committed -
2004-10-26 Olivier Hainque <hainque@act-europe.fr> Nicolas Setton <setton@act-europe.fr> * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with "__unix__" instead of "unix". The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the sections were just mistakenly ignored. The former is implicitely defined by gcc2.8, gcc3.2 and gcc3.4. Update #ifdef preprocessor macro to detect the symbol __hpux__ instead of hpux. This prevents an unwanted definition of the symbol convert_addresses in adaint.o. From-SVN: r89642
Olivier Hainque committed -
2004-10-26 Pascal Obry <obry@gnat.com> * s-parame-mingw.adb (Default_Stack_Size): Add some comments. * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On Windows only the initial thread stack size can be set so it is good to start we a low stack size. The OS will adjust the size as needed. From-SVN: r89641
Pascal Obry committed -
2004-10-26 Olivier Hainque <hainque@act-europe.fr> * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K instead of 8K, to reflect the real potential needs for stack-checking in the ZCX case. From-SVN: r89640
Olivier Hainque committed -
2004-10-26 Nicolas Setton <setton@act-europe.fr> * mlib-tgt-darwin.adb: New file. * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New subprogram body. * Makefile.in: Add support for building shared libraries under Darwin. (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing the low level EH init subprogram to be called from __gnat_initialize. * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram, indicates which options to pass to the archive indexer. * mlib-utl.adb: Add support for calling ranlib with additional options. This is needed for instance under Mac OS X. (Ranlib_Options): New global variable, used to store the potential options to pass to ranlib. (Ar): Use Ranlib_Options when spawning ranlib. (Initialize): Set the value of ranlib option. From-SVN: r89639
Nicolas Setton committed -
Thomas Quinot <quinot@act-europe.fr> * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads: (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as there is no use of GNAT.Sockets.Constants. Remove remaining pragma Import for C_Write Remove C_Read and C_Write from internal implementation unit GNAT.Sockets.Thin, as their usage for sockets is non-portable (using the read and write functions from the system runtime library is fine on UNIX but won't work under Windows). * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write. (Check_Selector): Use C_Recv instead of C_Read. Selectors are the GNAT.Sockets abstraction to perform a select() call on a set of descriptors. To allow abortion of an ongoing select operation, some data is written to a dedicated socket that is always monitored. Under Windows, the write and read library functions cannot operate on sockets, so we need to use send and recv instead, which is portable across all supported platforms. * g-socthi.ads: Remove C_Read and C_Write from internal implementation unit GNAT.Sockets.Thin, as their usage for sockets is non-portable (using the read and write functions from the system runtime library is fine on UNIX but won't work under Windows). From-SVN: r89638
Vincent Celier committed -
2004-10-27 Paolo Carlini <pcarlini@suse.de> * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe): Move out of line... * include/bits/basic_string.tcc: ... here. From-SVN: r89637
Paolo Carlini committed -
* testsuite/lib/libffi-db.exp (load_gcc_lib): New function. (libffi_exit): New function. (libffi_init): Build the testglue wrapper if needed. From-SVN: r89636
Richard Earnshaw committed -
* gcc.dg/cpp/direct2.c: Cope with different bison 'parse' or 'syntax' error messages. * gcc.dg/cpp/direct2s.c: Likewise. From-SVN: r89635
Nathan Sidwell committed
-