summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* PR target/30315rask2007-08-147-11/+244
| | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.h (CANONICALIZE_COMPARISON): New. * config/i386/i386.md (plusminus)(addsub)(SWI): New. (*<addsub><mode>3_cc_overflow): New. (*add<mode>3_cconly_overflow): New. (*sub<mode>3_cconly_overflow): New. (*<addsub>si3_zext_cc_overflow): New. * config/i386/predicates.md (fcmov_comparison_operator): Accept CCCmode for LTU, GTU, LEU and GEU. (ix86_comparison_operator): Likewise. (ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode. * gcc/config/i386/i386.c (put_condition_code): Support CCCmode. (ix86_cc_mode): Use CCCmode when testing for overflow of PLUS or MINUS expressions. testsuite/ PR target/30315 * gcc.target/i386/pr30315.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127481 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/32594fxcoudert2007-08-145-10/+80
| | | | | | | | | | | | | | * trans-expr.c (gfc_conv_substring_expr): Only call gfc_conv_substring if expr->ref is not NULL. * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring expression might be a constant. (gfc_simplify_expr): Handle missing start and end, as well as missing ref. * gfortran.dg/substr_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127478 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Andrew Pinski <pinskia@gmail.com>pinskia2007-08-147-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | PR c/30428 * c-typeck.c (build_binary_op): Disallow vector float types with BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR. 2007-08-14 Andrew Pinski <pinskia@gmail.com> PR c++/30428 * typeck.c (build_binary_op): Disallow vector float types with BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR. 2007-08-14 Andrew Pinski <pinskia@gmail.com> PR c/30428 * gcc.dg/vector-2.c: New test. PR c++/30428 * g++.dg/ext/vector8.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127477 138bc75d-0d04-0410-961f-82ee72b054a4
* Resynccharlet2007-08-141-0/+1406
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127476 138bc75d-0d04-0410-961f-82ee72b054a4
* Minor reformatting.charlet2007-08-145-23/+17
| | | | | | | Update comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127475 138bc75d-0d04-0410-961f-82ee72b054a4
* (Write_Eol): Remove trailing spaces before writing the linecharlet2007-08-141-20/+32
| | | | | | | | | | | (Write_Eol_Keep_Blanks): New procedure to write a line, including possible trailing spaces. (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line Fix problem with suppressing warning messages from back end Improve handling of deleted warnings git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127474 138bc75d-0d04-0410-961f-82ee72b054a4
* (Task_Cont, Task_Stop): New functions, thincharlet2007-08-141-2/+24
| | | | | | | | | | binding to the VxWorks routines which have changed between VxWorks 5 and 6. (Int_Lock, Int_Unlock): New function, thin binding to kernel routines which are not callable from a RTP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127473 138bc75d-0d04-0410-961f-82ee72b054a4
* (Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):charlet2007-08-141-0/+15
| | | | | | | New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127472 138bc75d-0d04-0410-961f-82ee72b054a4
* (Check_References.Publicly_Referenceable): A formal parameter is nevercharlet2007-08-141-303/+893
| | | | | | | | | | | | | | | publicly referenceable outside of its body. (Check_References): For an unreferenced formal parameter in an accecpt statement, use the same warning circuitry as for subprogram formal parameters. (Warn_On_Unreferenced_Entity): New subprogram, taken from Output_Unreferenced_Messages, containing the part of that routine that is now reused for entry formals as described above. (Has_Pragma_Unreferenced_Check_Spec): New function (Check_References): Clean up handling of unmodified IN OUT parameters git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127471 138bc75d-0d04-0410-961f-82ee72b054a4
* (lvalue_required_p): Handle N_Parameter_Association like N_Function_Callcharlet2007-08-141-86/+57
| | | | | | | | | | | | | | | and N_Procedure_Call_Statement. (takes_address): Rename to lvalue_required_p, add third parameter 'aliased' and adjust recursive calls. <N_Indexed_Component>: Update 'aliased' from the array type. <N_Selected_Component>: New case. <N_Object_Renaming_Declaration>: New Likewise. (Identifier_to_gnu): Adjust for above changes. (maybe_stabilize_reference) <CONST_DECL>: New case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127470 138bc75d-0d04-0410-961f-82ee72b054a4
* (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, morecharlet2007-08-141-37/+18
| | | | | | | | descriptive of the current use of the predicate, and update documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127469 138bc75d-0d04-0410-961f-82ee72b054a4
* * exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.charlet2007-08-141-63/+116
| | | | | | | | (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ Prim_Op_Count by Max_Predef_Prims. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127468 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Geert Bosch <bosch@adacore.com>charlet2007-08-1443-2651/+3277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads, s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: Add required linker pragmas for automatically linking with the gnalasup linear algebra support library, and the systems math library. Rename cdot to cdotu and zdot to zdotu. Update header comment to describe purpose of package. 2007-08-14 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Final_List): For an anonymous access type that has an explicitly specified Associated_Final_Chain, use that list. (Expand_N_Package_Body): Build dispatch tables of library level tagged types. (Expand_N_Package_Declaration): Build dispatch tables of library level tagged types. Minor code cleanup. 2007-08-14 Vincent Celier <celier@adacore.com> * gnatchop.adb (Terminate_Program): Remove exception and use Types.Terminate_Program instead. * osint.ads, osint.adb (Current_Exit_Status): New global variable (Find_Program_Name): Added protection against empty name. (OS_Exit_Through_Exception): New procedure * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body (OS_Exit_Default): New procedure that contains the previous implementation of procedure OS_Exit. (Final_Value): Remove obsolete Interix stuff. 2007-08-14 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Reorganize example code so that it also works on Windows XP. 2007-08-14 Tristan Gingold <gingold@adacore.com> * g-trasym.ads: AIX now supports symbolic backtraces. 2007-08-14 Ed Schonberg <schonberg@adacore.com> * lib-load.adb (From_Limited_With_Chain): Always scan the stack of units being loaded to detect circularities. A circularity may be present even if the current chain of pending units to load starts from a limited_with_clause. * lib-load.ads: Change profile of Load_Unit to use a with_clause rather than a boolean flag, in order to detect circularities in with_clauses. * par-load.adb: Use current with_clause in calls to Load_Unit, rather than propagating the From_Limited_With flag, in order to handle properly circularities involving with_clauses. 2007-08-14 Nicolas Setton <setton@adacore.com> * link.c (FreeBSD): Add "const" keyword where needed, to eliminate warnings. 2007-08-14 Arnaud Charlet <charlet@adacore.com> * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects to build for libgnala. libgnat: Add rules to build libgnala.a (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5. Add s-osinte-vxworks-kernel.adb to the target pairs of the kernel run-time lib for VxWorks 6, which would provide a different implementation for Task_Cont and Task_Stop than the VxWorks 5 version. x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now running ZCX by default. Add g-sttsne-locking to LynxOS version. Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead. On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads. * system-darwin-x86.ads: New file. * Make-lang.in: Delete files before copying onto them, so if they are read-only, the copy won't fail. Update dependencies 2007-08-14 Pascal Obry <obry@adacore.com> * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries naming scheme. 2007-08-14 Vincent Celier <celier@adacore.com> * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access (Gcc): Initialize Gcc_Name at the first call 2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Analyze_Package_Specification): Do not install private with_clauses of the enclosing unit when analyzing the package specification of a nested instance. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed. (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines. Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the layout of N_Allocator. 2007-08-14 Thomas Quinot <quinot@adacore.com> * rtsfind.adb (Check_RPC): Add PCS version check. * gnatvsn.ads, gnatvsn.adb: Add PCS version. (Gnat_Free_Software): New function. * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns the PCS_Version value from s-parint, used to check that it is consistent with what exp_dist expects. * s-parint.ads (PCS_Version): New entity for checking consistency between exp_dist and PCS. * gen-soccon.c: (SO_REUSEPORT): New constant. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image (Duration; Boolean)): Change type of local variable Sub_Second to Duration in order to accomodate a larger range of arithmetic operations. 2007-08-14 Bob Duff <duff@adacore.com> * g-sttsne-locking.ads: Move comments from spec to body. * g-sttsne-locking.adb: Move comments from spec to body. * g-sttsne-vxworks.ads: Removed. * g-sttsne-vxworks.adb: Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127467 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Tristan Gingold <gingold@adacore.com>charlet2007-08-143-134/+237
| | | | | | | | | | | | * tracebak.c: Use tb-ivms.c on OpenVMS Itanium. * tb-ivms.c: New file. * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127466 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Gary Dismukes <dismukes@adacore.com>charlet2007-08-141-12/+18
| | | | | | | | | | | | * s-veboop.adb (SU): New named number initialized to System.Storage_Unit. (True_Val): The initialization expression is revised to use SU (= Storage_Unit) rather than assuming 8 for the component size of an unpacked Boolean array. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Arnaud Charlet <charlet@adacore.com>charlet2007-08-146-69/+60
| | | | | | | | | | | | | | * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb, s-taskin.ads (Requeue_With_Abort): Rename field With_Abort. (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort parameter. * s-tassta.adb (Task_Wrapper): Increased value of the small overflow guard to 12K. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127464 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Jose Ruiz <ruiz@adacore.com>charlet2007-08-142-16/+13
| | | | | | | | | | | | | | | | | * s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the full and the restricted run times. (Init_RTS): Do not set the Get_Stack_Info soft link because it is done in SSL.Tasking.Init_Tasking_Soft_Links. * s-solita.adb (Get_Stack_Info): Function moved from System.Tasking.Initialization because it is common to the full and the restricted run times. (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127463 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Cyrille Comar <comar@adacore.com>charlet2007-08-141-1/+8
| | | | | | | | | | * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying double finalization of the same object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127462 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Pascal Obry <obry@adacore.com>charlet2007-08-141-1/+7
| | | | | | | | | * s-fileio.adb (Is_Open): Add check for usability of the underlying file stream. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127461 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-142-3/+3
| | | | | | | | | | | | | * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent obsolescent warning on application of 'Class to an incomplete type. * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to prevent obsolescent warning on application of 'Class to an incomplete type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127460 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Javier Miranda <miranda@adacore.com>charlet2007-08-141-3/+12
| | | | | | | | | * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127459 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Javier Miranda <miranda@adacore.com>charlet2007-08-141-142/+186
| | | | | | | | | | | | | * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type and Analyze_Task_Type. In case of private types add missing check on matching interfaces in the partial and full declarations. (Analyze_Protected_Type): Code cleanup. (Analyze_Task_Type): Code cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127458 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Javier Miranda <miranda@adacore.com>charlet2007-08-141-8/+21
| | | | | | | | | * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127457 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Vincent Celier <celier@adacore.com>charlet2007-08-142-2/+22
| | | | | | | | | | | | * output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line. (Write_Eol_Keep_Blanks): New procedure to write a line, including possible trailing spaces. (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127456 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Gary Dismukes <dismukes@adacore.com>charlet2007-08-141-2/+15
| | | | | | | | | | | * layout.adb (Layout_Type): In the case of access-to-subprogram types, if AAMP_On_Target is True, then the size of the type encompasses two addresses (a static link and a subprogram address), except in the case of library-level access types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127455 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Paul Hilfinger <hilfinger@adacore.com>charlet2007-08-148-2/+1235
| | | | | | | | | | | | | | | * impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to builds. * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert* * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files. * a-assert.ads, a-assert.adb: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127454 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Vincent Celier <celier@adacore.com>charlet2007-08-142-124/+411
| | | | | | | | | | | | | | | | | | | | * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value (Output_Source): Do nothing if parameter is No_Sdep_Id * make.adb (Gnatmake): Do not rebuild an archive simply because a shared library it imports has a later time stamp. (Check): Resolve the symbolic links in the path name of the object directory. Check that the ALI file is in the correct object directory Check if a file name does not correspond to the mapping of units to file names. (Display_Version): New procedure (Initialize): Process switches --version and --help Use type Path_Name_Type for path name git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127453 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Eric Botcazou <ebotcazou@adacore.com>charlet2007-08-141-8/+45
| | | | | | | | | | | | * gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada. Pass -mrtp to the linker if it is GCC and --RTS=rtp has been recorded in the ALI file. Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127452 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Emmanuel Briot <briot@adacore.com>charlet2007-08-141-0/+22
| | | | | | | | | * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127451 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>charlet2007-08-141-7/+25
| | | | | | | | | | | * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time values to compute the number of seconds since the Unix Epoc in order to account for Daylight Savings Time. Perform special processing for dates that are earlier than the Unix Epoc to obtain a negative number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Thomas Quinot <quinot@adacore.com>charlet2007-08-141-132/+127
| | | | | | | | | | | | | | | * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record), remove extraneous layer of Any wrapping for member label. (Expand_Receiving_Stubs_Bodies): For an RCI package body that has elabration statements, register the package with the name server at the beginning, not at the end, of the elaboration statements so that they can create remote access to subprogram values that designate remote subprograms from the package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127449 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Javier Miranda <miranda@adacore.com>charlet2007-08-141-15/+43
| | | | | | | | | | | | | | | | Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of errors in case of restrictions applied to the expanded code. (Expand_Entry_Barrier): Remove all generated renamings for a barrier function if the condition does not reference them. (Expand_Entry_Body_Declarations): Mark the index constant as having a valid value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127448 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-141-74/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator if it is not a static coextension. (Resolve_Allocator): Perform cleanup if resolution has determined that the allocator is not a coextension. (Resolve): Skip an interpretation hidden by an abstract operator only when the type of the interpretation matches that of the context. (Resolve): When looping through all possible interpretations of a node, do not consider those that are hidden by abstract operators. (Resolve_Actuals): When verifying that an access to class-wide object is an actual for a controlling formal, ignore anonymous access to subprograms whose return type is an access to class_wide type. (Resolve_Slice): If the prefix of the slice is a selected component whose type depends on discriminants, build its actual subtype before applying range checks on the bounds of the slice. (Valid_Conversion): In an instance or inlined body, compare root types, to prevent anomalies between private and public views. (Resolve): Improve error message for ambiguous fixed multiplication expressions that involve universal_fixed multiplying operations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127447 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Thomas Quinot <quinot@adacore.com>charlet2007-08-142-90/+152
| | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute reference): Use correct entity as denoted entity for the selector of the rewritten node. (Find_Direct_Name): Add comment about Generate_Reference incorrectly setting the Referenced_As_LHS flag for entities that are implicitly dereferenced. (Find_Type): If the type is an internally generated incomplete type, mark the full view as referenced, to prevent spurious warnings. (Find_Selected_Component, Has_Components): Handle properly non-limited views that are themselves incomplete types. Handle interfaces visible through limited-with clauses. (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a subprogram generic actual for which we have generated a renaming. Warn when the renaming introduces a homonym of the renamed entity, and the renamed entity is directly visible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127446 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Thomas Quinot <quinot@adacore.com>charlet2007-08-142-25/+51
| | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New formal At_Any_Place indicating, when True, that we want to test for availability of the stream attribute at any place (as opposed to the current visibility context only). (Missing_Read_Write_Attributes): A stream attribute is missing for the purpose of enforcing E.2.2(8) only if it is not available at any place. Take into account the Ada2005 pragma Has_Preelaborable_Initialization when checking the legality of an extension aggregate in a preelaborable package. Treat the literal null as a valid default expression in a component declaration for a type with preelaborable initialization. A limited interface is a legal progenitor for the designated type of a remote access to class-wide type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127445 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-141-42/+151
| | | | | | | | | | | | | | | | | | | | | | | * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the prefix. (Complete_Object_Operation): If actual has an access type and controlling formal is not an in_parameter, reject the actual if it is an access_to_constant type. (Try_Primitive_Operation): If the type of the prefix is a formal tagged type, the candidate operations are found in the scope of declaration of the type, because the type has no primitive subprograms. (Analyze_Selected_Component): If prefix is class-wide, and root type is a private extension, only examine visible components before trying to analyze as a prefixed call. Change Entity_List to Type_To_Use, for better readability. (Has_Fixed_Op): Use base type when checking whether the type of an operator has a user-defined multiplication/division (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when user-defined operators are available for fixed-point types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127444 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-142-161/+598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gary Dismukes <dismukes@adacore.com> Thomas Quinot <quinot@adacore.com> * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed formal as the parent of the actual, to create renamings for all the inherited operations in Derive_Subprograms. (Collect_Previous_Instances): new procedure within of Load_Parent_Of_Generic, to instantiate all bodies in the compilation unit being loaded, to ensure that the generation of global symbols is consistent in different compilation modes. (Is_Tagged_Ancestor): New function testing the ancestor relation that takes progenitor types into account. (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by traversing over the primitives of the formal and actual types to locate any abstract subprograms of the actual type that correspond to a nonabstract subprogram of the formal type's ancestor type(s), and issue an error if such is found. (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation, Instantiate_Package_Body, Instantiate_Subprogram_Body): Remove bogus guard around calls to Inherit_Context. (Reset_Entity): If the entity is the selector of a selected component that denotes a named number, propagate constant-folding to the generic template only if the named number is global to the generic unit. (Set_Instance_Env): Only reset the compilation switches when compiling a predefined or internal unit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Thomas Quinot <quinot@adacore.com>charlet2007-08-1412-93/+215
| | | | | | | | | | | | | | | | | | | | | | * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms of Set_Item. (Set_Item): When the new item is an element of the currently allocated table passed by reference, save a copy on the stack if we're going to reallocate. Also, in Table.Set_Item, make sure we test the proper variable to determine whether to call Set_Last. * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb, symbols-vms.adb, symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace some occurrences of the pattern T.Increment_Last; T.Table (T.Last) := Value; with a cleaner call to T.Append (Value); git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127442 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Bob Duff <duff@adacore.com>charlet2007-08-1421-407/+561
| | | | | | | | | | | | | | | | * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads, a-coorse.ads (Next): Applied pragma Inline. Make all Containers packages Remote_Types (unless they are already Pure). (Previous): applied pragma Inline (Elements_Type): is now a record instead of an array git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127441 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Robert Dewar <dewar@adacore.com>charlet2007-08-1473-581/+786
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads, s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb, s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb, s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb, s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads, s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads, s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb, exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads, s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb, s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads, a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads, g-altcon.adb: Minor reformatting ada-tree.h: Delete empty line. ali.ads: Minor reformatting Clarification of comments. Minor spelling correction * exp_dbug.adb: Add Warnings Off to suppress new warning * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode formal * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old value * a-textio.adb (Write): Remove an unnecessary IN OUT mode from * a-textio.ads: Reorder the standard input/output/error declarations for consistency. * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call * par-ch2.adb: Recognize RM specially in errout Change 'R'M to RM in all error messages * scng.adb: Recognize RM specially in errout * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology. * s-direio.adb: Add missing routine header box. * sem_attr.ads: Add ??? comments * sem_eval.adb: Recognize RM specially in errout Change 'R'M to RM in all error messages * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes * s-tasinf.ads: Fix minor comment typo. * a-cihama.adb: Minor comment addition * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode formal * s-tasinf-tru64.ads: Fix minor comment typo. * itypes.ads: Comment update. * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed anymore. * argv.c: Added protection against null gnat_argv and gnat_envp. * bcheck.adb (Check_Consistency): Use correct markup character ({) in warning message when Tolerate_Consistency_Errors is True. * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for Any_Id, as this subprogram is only applicable to *type* entities (it sets RM_Size). Instead initialize just Esize and Alignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127440 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Thomas Quinot <quinot@adacore.com>charlet2007-08-145-72/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | Vincent Celier <celier@adacore.com> * binde.adb (Elab_All_Links): Remove unnecessary call to Generic_Separately_Compiled (if a unit satisfies this predicate, there won't be an associated Afile). (Elab_All_Links): Fail if a referenced unit cannot be found * bindgen.adb: Fix comments in bindgen regarding consistency checks done in Bcheck: the checks are made across units within a partition, not across several partitions. Fix generation of C binder file for VxWorks. * lib.adb (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more descriptive of the current use of the predicate, and update documentation. * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code reorganization and documentation update for the case of predefined library generics (for which we do not reference an Afile). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127439 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Javier Miranda <miranda@adacore.com>charlet2007-08-144-77/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE exception. (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr, To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr, To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package spec. (Default_Prim_Op_Count): Removed. (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind, Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind): Remove pragma Inline_Always. * rtsfind.ads (Default_Prim_Op_Count): Removed (Max_Predef_Prims): New entity (RE_Expanded_Name): Removed (RE_HT_Link): Removed (RE_Iface_Tag): Remmoved (RE_Ifaces_Table): Removed (RE_Interfaces_Array): Removed (RE_Interface_Data_Element): Removed (RE_Nb_Ifaces): Removed (RE_RC_Offset): Removed (RE_Static_Offset_To_Top): Removed * exp_atag.ads (Build_Inherit_Prims): Addition of a new formal. (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ Prim_Op_Count by Max_Predef_Prims. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127438 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Jose Ruiz <ruiz@adacore.com>charlet2007-08-142-15/+51
| | | | | | | | | | | | | | | * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file, device:/dir/file, and device:drive_letter:/dir/file as representing absolute path names. __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues. * cstreams.c (__gnat_full_name for VxWorks): Use __gnat_is_absolute_path to detect whether we need to add the current directory to normalize the path. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127437 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-141-170/+248
| | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch10.adb: Create a limited view of an incomplete type, to make treatment of limited views uniform for all visible declarations in a limited_withed package. Set flag indicating that a subprogram body for a child unit has a generated spec. (Analyze_Compilation_Unit): If unit is a subprogram body that has no separate declaration, remove the unit name from visibility after compilation, so that environment is clean for subsequent compilations. (Install_Limited_Context_Clauses): Do not install a limited_private_with_clause unless the current unit is a body or a private child unit. (Analyze_Subunit, Install_Parents): Treat generic and non-generic units in the same fashion. (Install_Limited_Withed_Unit): Do not install a limited with clause if it applies to the declaration of the current package body. (Remove_Private_With_Clauses): If there is a regular with_clause for the unit, delete Private_With_Clause from context, to prevent improper hiding when processing subsequent nested packages and instantiations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Olivier Hainque <hainque@adacore.com>charlet2007-08-144-7/+146
| | | | | | | | | | | | | | | | | | | * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the stack size and initial stack pointer value for a given task. (Enter_Task): Get the stack attributes of the task we are entering and let the stack checking engine know about them. * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram. Let the stack-checking engine know about the initial sp value and stack size associated with the current task. (Set_Stack_Info): If a stack base has been notified for the current task, honor it. Fallback to the previous less accurate method otherwise. * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127435 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Pascal Obry <obry@adacore.com>charlet2007-08-146-1/+494
| | | | | | | | | | | | | | | | | | * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows. (SYSTEM_INFO): New record. (SetThreadIdealProcessor): New imported routine needed for supporting task_info pragma on Windows. * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task info can be applied to the current host. (Create_Task): Set the ideal processor if information is present. * s-tasinf-mingw.adb, s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127434 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Olivier Hainque <hainque@adacore.com>charlet2007-08-145-114/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system-solaris-x86.ads (ZCX_By_Default): Switch to True. (GCC_ZCX_Support): Switch to True. * s-intman-solaris.adb (Notify_Exception): Call Adjust_Context_For_Raise before raising, as expected for signal handlers in general. * s-intman-posix.adb (Notify_Exception): Remove declaration of Adjust_Context_For_Raise, moved to the spec of this unit to be visible to other implementation bodies. * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to be visible by multiple implementation bodies. * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context only for conditions coming from hardware. [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement, adjustments to signal context prior to exception raise from signal handler. (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP mode. Solaris section: (__gnat_adjust_context_for_raise): New function. Implementation of the machine context adjustments to perform prior to raise from a signal handler. Version for both sparc and x86. (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define. (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it prior to raising as expected for any handler, before possible nested faults to make sure all the contexts in a chain have been adjusted by the time we propagate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127433 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Vincent Celier <celier@adacore.com>charlet2007-08-1427-818/+1015
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, 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, mlib-tgt-aix.adb, mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New procedure. (Major_Id_Name): New function. mlib-tgt.ads/mlib.tgt.adb: (Library_Major_Minor_Id_Supported): New function, default returns True Most mlib-tgt-*.adb that support shared libraries and symbolic links: (Build_Dynamic_Library): Add support for major/minor ids for shared libs Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi): Implementation of Library_Major_Minor_Id_Supported returns False clean.adb: (Clean_Library_Directory): If major/minor ids are supported, clean all library files. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127432 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Jerome Guitton <guitton@adacore.com>charlet2007-08-1414-24/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks): New functions; dummy implementations. * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New functions, used to implement the multi-tasks mode routines on VxWorks. * s-osinte-vxworks.adb (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6. (Int_Lock, Int_Unlock): New function, thin binding to kernel routines which are not callable from a RTP. * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions, implemented for the multi-tasks mode on VxWorks 5 and 6. * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions. * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127431 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Ed Schonberg <schonberg@adacore.com>charlet2007-08-141-509/+105
| | | | | | | | | | | * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment is a variable that renames a slice, use the variable itself in the expannsion when the renamed expression itself may be modified between the declaration of the renaming and the array assignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127430 138bc75d-0d04-0410-961f-82ee72b054a4