- 14 Aug, 2007 40 commits
-
-
* alias.c (component_uses_parent_alias_set): Constify. * alias.h (component_uses_parent_alias_set): Likewise. * cfgrtl.c (print_rtl_with_bb): Likewise. * double-int.c (tree_to_double_int, double_int_fits_to_tree_p, mpz_get_double_int): Likewise. * double-int.h (double_int_fits_to_tree_p, tree_to_double_int, mpz_get_double_int): Likewise. * expr.c (is_aligning_offset, undefined_operand_subword_p, mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset): Likewise. * expr.h (safe_from_p): Likewise. * gimple-low.c (try_catch_may_fallthru, block_may_fallthru): Likewise. * gimplify.c (should_carry_locus_p, zero_sized_field_decl, zero_sized_type, goa_lhs_expr_p): Likewise. * omp-low.c (is_variable_sized, use_pointer_for_field): Likewise. * rtl.h (print_rtl_with_bb): Likewise. * sched-vis.c (print_exp, print_value, print_pattern): Likewise. * tree-cfg.c (const_first_stmt, const_last_stmt): New. * tree-flow-inline.h (bb_stmt_list): Constify. (cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev, cbsi_stmt): New. * tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last, const_first_stmt, const_last_stmt): New. (block_may_fallthru, empty_block_p): Constify. * tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY, EXPR_ONLY_BODY): New. (expr_first, expr_last, expr_only): Use macro for body. (const_expr_first, const_expr_last, const_expr_only): New. * tree-iterator.h (const_tree_stmt_iterator, ctsi_start, ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next, ctsi_prev, ctsi_stmt): New. * tree-scalar-evolution.c (get_loop_exit_condition): Constify. * tree-scalar-evolution.h (get_loop_exit_condition): Likewise. * tree-ssa-loop-niter.c (loop_only_exit_p, derive_constant_upper_bound): Likewise. * tree-ssa-phiopt.c (empty_block_p): Likewise. * tree-ssa-threadupdate.c (redirection_block_p): Likewise. * tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise. * tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise. * tree-vrp.c (vrp_bitmap_equal_p): Likewise. * tree.c (get_type_static_bounds): Likewise. * tree.h (const_expr_first, const_expr_last, const_expr_only): New. (get_type_static_bounds): Constify. From-SVN: r127483
Kaveh R. Ghazi committed -
PR target/30315 * 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. From-SVN: r127481
Rask Ingemann Lambertsen committed -
PR fortran/32594 * 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. From-SVN: r127478
Francois-Xavier Coudert committed -
2007-08-14 Andrew Pinski <pinskia@gmail.com> 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. From-SVN: r127477
Andrew Pinski committed -
From-SVN: r127476
Arnaud Charlet committed -
Update comments. From-SVN: r127475
Arnaud Charlet committed -
(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 Fix problem with suppressing warning messages from back end Improve handling of deleted warnings From-SVN: r127474
Arnaud Charlet committed -
(Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6. (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. From-SVN: r127473
Arnaud Charlet committed -
New functions. From-SVN: r127472
Arnaud Charlet committed -
(Check_References.Publicly_Referenceable): A formal parameter is never publicly referenceable outside of its body. (Check_References.Publicly_Referenceable): A formal parameter is never 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 From-SVN: r127471
Arnaud Charlet committed -
(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Procedure_Call_Statement. (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call 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. From-SVN: r127470
Arnaud Charlet committed -
(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more descriptive of the current use of the predicate, and update documentation. From-SVN: r127469
Arnaud Charlet committed -
* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal. (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ Prim_Op_Count by Max_Predef_Prims. From-SVN: r127468
Arnaud Charlet committed -
2007-08-14 Geert Bosch <bosch@adacore.com> * 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. From-SVN: r127467
Arnaud Charlet committed -
2007-08-14 Tristan Gingold <gingold@adacore.com> * 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 From-SVN: r127466
Tristan Gingold committed -
2007-08-14 Gary Dismukes <dismukes@adacore.com> * 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. From-SVN: r127465
Gary Dismukes committed -
2007-08-14 Arnaud Charlet <charlet@adacore.com> * 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. From-SVN: r127464
Arnaud Charlet committed -
s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the... 2007-08-14 Jose Ruiz <ruiz@adacore.com> * 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. From-SVN: r127463
Jose Ruiz committed -
s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying... 2007-08-14 Cyrille Comar <comar@adacore.com> * 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. From-SVN: r127462
Cyrille Comar committed -
2007-08-14 Pascal Obry <obry@adacore.com> * s-fileio.adb (Is_Open): Add check for usability of the underlying file stream. From-SVN: r127461
Pascal Obry committed -
2007-08-14 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r127460
Ed Schonberg committed -
2007-08-14 Javier Miranda <miranda@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk. From-SVN: r127459
Javier Miranda committed -
sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type... 2007-08-14 Javier Miranda <miranda@adacore.com> * 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. From-SVN: r127458
Javier Miranda committed -
2007-08-14 Javier Miranda <miranda@adacore.com> * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types. From-SVN: r127457
Javier Miranda committed -
2007-08-14 Vincent Celier <celier@adacore.com> * 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 From-SVN: r127456
Vincent Celier committed -
2007-08-14 Gary Dismukes <dismukes@adacore.com> * 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. From-SVN: r127455
Gary Dismukes committed -
2007-08-14 Paul Hilfinger <hilfinger@adacore.com> * 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. From-SVN: r127454
Paul Hilfinger committed -
2007-08-14 Vincent Celier <celier@adacore.com> * 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 From-SVN: r127453
Vincent Celier committed -
gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada. 2007-08-14 Eric Botcazou <ebotcazou@adacore.com> * 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. From-SVN: r127452
Eric Botcazou committed -
2007-08-14 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches. From-SVN: r127451
Emmanuel Briot committed -
2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * 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. From-SVN: r127450
Hristian Kirtchev committed -
exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record)... 2007-08-14 Thomas Quinot <quinot@adacore.com> * 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. From-SVN: r127449
Thomas Quinot committed -
exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of... 2007-08-14 Javier Miranda <miranda@adacore.com> 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. From-SVN: r127448
Javier Miranda committed -
sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator... 2007-08-14 Ed Schonberg <schonberg@adacore.com> 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. From-SVN: r127447
Ed Schonberg committed -
sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for the selector of the rewritten node. 2007-08-14 Thomas Quinot <quinot@adacore.com> 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. From-SVN: r127446
Thomas Quinot committed -
2007-08-14 Thomas Quinot <quinot@adacore.com> 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. From-SVN: r127445
Thomas Quinot committed -
sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the... 2007-08-14 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r127444
Ed Schonberg committed -
sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed... 2007-08-14 Ed Schonberg <schonberg@adacore.com> 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. From-SVN: r127443
Ed Schonberg committed -
2007-08-14 Thomas Quinot <quinot@adacore.com> * 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); From-SVN: r127442
Thomas Quinot committed -
2007-08-14 Bob Duff <duff@adacore.com> * 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 From-SVN: r127441
Bob Duff committed
-