summaryrefslogtreecommitdiff
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
* exp_ch9.adb (Null_Statements): Moved to library levelRobert Dewar2007-12-191-57/+90
| | | | | | | | | | | 2007-12-19 Robert Dewar <dewar@adacore.com> * exp_ch9.adb (Null_Statements): Moved to library level (Trivial_Accept_OK): New function (Expand_Accept_Declaration): Use Trivial_Accept_OK (Expand_N_Accept_Statement): Use Trivial_Accept_OK From-SVN: r131074
* exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry that ↵Javier Miranda2007-12-191-8/+9
| | | | | | | | | | | | forces the construction of static dispatch tables... 2007-12-19 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry that forces the construction of static dispatch tables in case of record subtypes. From-SVN: r131073
* exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in ↵Robert Dewar2007-12-191-4/+20
| | | | | | | | | | | | handling compile time known size of record or array (case of front... 2007-12-19 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in handling compile time known size of record or array (case of front end layout active, e.g. in GNAAMP). From-SVN: r131072
* exp_aggr.adb (Not_OK_For_Backend): A component of a private type with ↵Ed Schonberg2007-12-191-22/+62
| | | | | | | | | | | | | discriminants forces expansion of the... 2007-12-19 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with discriminants forces expansion of the aggregate into assignments. (Init_Record_Controller): If the type of the aggregate is untagged and is not inherently limited, the record controller is not limited either. From-SVN: r131071
* atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the ↵Bob Duff2007-12-195-172/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resulting tail recursion by hand. 2007-12-19 Bob Duff <duff@adacore.com> * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the resulting tail recursion by hand. This prevents running out of memory on deeply nested concatenations, since Field2 is where the left operand of concatenations is stored. Fix bug (was returning OK_Orig in some cases). Fix return subtype to clarify that it can only return OK or Abandon. * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left operand by iteration, in order to avoid running out of memory on deeply-nested concatenations. Use the Parent pointer to get back up the tree. (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First, Resolve_Op_Concat_Rest): New procedures split out of Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is clearer. * checks.adb (Remove_Checks): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. (Remove_Warning_Messages): Use appropriate subtype for Status and Discard From-SVN: r131070
* 2007-12-19 Eric Botcazou <ebotcazou@adacore.com>Eric Botcazou2007-12-1933-44/+2
| | | | | | | | | | | | | | | | | | | * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads, system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads, system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads (Dynamic_Trampolines_Used): Delete. * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto. Turn on stack probing mechanism on LynxOS. From-SVN: r131069
* g-expect-vms.adb, [...]: Add pragma Warnings (Off) for unassigned IN OUT ↵Robert Dewar2007-12-1912-601/+787
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arguments 2007-12-19 Robert Dewar <dewar@adacore.com> * g-expect-vms.adb, g-expect.adb, s-poosiz.adb: Add pragma Warnings (Off) for unassigned IN OUT arguments * sem_warn.adb (Output_Reference): Suppress messages for internal names (Check_References): Extensive changes to tune up warnings (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings (Has_Pragma_Unmodifed_Check_Spec): New function (Check_References): Implement pragma Unmodified (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified * par-prag.adb: Dummy entry for pragma Unmodified * sem_prag.adb: Implement pragma Unmodified * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag (Proc_Next_Component_Or_Discriminant): Fix typo. Update comments. * sem_util.adb (Note_Possible_Modification): Add processinng for pragma Unmodified. (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. (Mark_Coextensions): Remove ununused initial value from Is_Dynamic. Add comment. * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified From-SVN: r131068
* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.Samuel Tardieu2007-12-192-0/+6
| | | | | | | gcc/ada/ * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target. From-SVN: r131054
* * s-vxwork-alpha.ads: Removed, no longer used.Arnaud Charlet2007-12-172-57/+4
| | | | From-SVN: r131005
* * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.Jakub Jelinek2007-12-152-2/+6
| | | | From-SVN: r130952
* Restore part of patch lost for PR ada/15805:Arnaud Charlet2007-12-131-0/+14
| | | | | | | | * sem_ch3.adb (Analyze_Object_Declaration): Signal an error when an access to constant is used to initialize an access value. From-SVN: r130903
* re PR ada/34360 (typo gcc/ada/Makefile.in for GNU/kFreeBSD)Samuel Tardieu2007-12-132-2/+8
| | | | | | | | | gcc/ada/ PR ada/34360 * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name mlib-tgt-specific.adb. From-SVN: r130896
* (Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code ↵Bob Duff2007-12-132-5/+34
| | | | | | | | | | restriction. (Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code restriction. This checking used to be done in the front end, but is moved here so we can make it more accurate. From-SVN: r130892
* ResyncArnaud Charlet2007-12-131-0/+1136
| | | | From-SVN: r130891
* Update comments.Arnaud Charlet2007-12-133-10/+18
| | | | | | | Minor reformatting. Kill new warnings. From-SVN: r130888
* (Nkind_In): New functions.Arnaud Charlet2007-12-131-21/+175
| | | | | | Add support for new flags. From-SVN: r130887
* Removed, no longer usedArnaud Charlet2007-12-131-158/+0
| | | | From-SVN: r130886
* New file.Arnaud Charlet2007-12-131-0/+62
| | | | From-SVN: r130885
* New file.Arnaud Charlet2007-12-131-0/+47
| | | | From-SVN: r130884
* sem_ch3.ads, [...] (Check_Abstract_Overriding): Avoid generation of spurious ↵Javier Miranda2007-12-132-194/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | error if parent is an interface type... 2007-12-06 Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid generation of spurious error if parent is an interface type; caused because predefined primitive bodies will be generated later by Freeze_Record_Type. (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init flag. (Derive_Subprograms): Handle derivations of predefined primitives after all the user-defined primitives to ensure that they are found in proper order in instantiations. (Add_Interface_Tag_Components, Inherit_Components): Update occurrences of Related_Interface to Related_Type. (Record_Type_Declaration): Minor reordering of calls to decorate the Tag component because the entity must have set its Ekind attribute before setting its Is_Tag attribute. (Analyze_Subtype_Declaration): In the case of subtypes with Private_Kind, inherit Known_To_Have_Preelab_Init from the parent. From-SVN: r130883
* i-vxwork.ads: Kill new warning on Convention C, since changing the spec ↵Arnaud Charlet2007-12-131-1/+6
| | | | | | | | | would break code. * i-vxwork.ads: Kill new warning on Convention C, since changing the spec would break code. From-SVN: r130882
* s-parame-vxworks.adb: Update comments to reflect usage of this package by ↵Geert Bosch2007-12-131-1/+1
| | | | | | | | | | | Nucleus. 2007-12-06 Geert Bosch <bosch@adacore.com> * s-parame-vxworks.adb: Update comments to reflect usage of this package by Nucleus. From-SVN: r130881
* symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedureVincent Celier2007-12-131-7/+28
| | | | | | | | | 2007-12-06 Vincent Celier <celier@adacore.com> * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half. From-SVN: r130880
* make.adb (Scan_Make_Arg): Add test for -aamp_target switch...Gary Dismukes2007-12-131-98/+121
| | | | | | | | | | | | | | 2007-12-06 Gary Dismukes <dismukes@adacore.com> Arnaud Charlet <charlet@adacore.com> * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing it to the front end and setting the aamp_target environment variable to the switch's argument to ensure that gnaampbind and gnaamplink will take the specified library into account. (Make): Only set Check_Object_Consistency to False for JVM, not for CIL target, since the CIL compiler supports an "object" file (.il files). From-SVN: r130879
* itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram types...Bob Duff2007-12-132-30/+39
| | | | | | | | | | 2007-12-06 Bob Duff <duff@adacore.com> * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram types, set Can_Use_Internal_Rep appropriately, based on Always_Compatible_Rep_On_Target. From-SVN: r130878
* impunit.adb: Add entries for missing unitsRobert Dewar2007-12-133-640/+650
| | | | | | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * impunit.adb: Add entries for missing units * Makefile.rtl: Add new run-time units. * Make-lang.in: Update dependencies. From-SVN: r130877
* g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.Vasiliy Fofanov2007-12-133-3/+7
| | | | | | | | | | | | | 2007-12-06 Vasiliy Fofanov <fofanov@adacore.com> Tristan Gingold <gingold@adacore.com> * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit. * s-osprim-vms.adb, a-calend-vms.adb: Remove pragma warning off and add pragma unreferenced. From-SVN: r130876
* s-os_lib.ads, [...] (Normalize_Pathname): Do not compute Reference_Dir ↵Emmanuel Briot2007-12-132-11/+15
| | | | | | | | | | | unless we actually need it. 2007-12-06 Emmanuel Briot <briot@adacore.com> * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute Reference_Dir unless we actually need it. From-SVN: r130875
* tb-gcc.c (uw_data_t, [...]): Only define if not GCC-SJLJ eh.Olivier Hainque2007-12-131-5/+16
| | | | | | | | | 2007-12-06 Olivier Hainque <hainque@adacore.com> * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh. (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh. From-SVN: r130874
* a-cohase.ads, [...]: Document which generic formal operations are called for ↵Matthew Heaney2007-12-134-32/+626
| | | | | | | | | | | each operation. 2007-12-06 Matthew Heaney <heaney@adacore.com> * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document which generic formal operations are called for each operation. From-SVN: r130873
* gnat_ugn.texi: Dcoument new rules for style check comment alignment Document ↵Robert Dewar2007-12-133-137/+483
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that suffixes may... 2007-12-06 Robert Dewar <dewar@adacore.com> Bob Duff <duff@adacore.com> * gnat_ugn.texi: Dcoument new rules for style check comment alignment Document that suffixes may be terminations of each others Add doc for -gnatw.a and -gnatw.A Document gnatbind -Wx switch Document BOM recognition Document pragma Implemented_By_Entry. Document new units. * gnat_rm.texi: (Favor_Top_Level): Document new pragma. Add doc for pragma Unreferenced suppressing no entities referenced msg Add documentation of GNAT.Directory_Operations.Iteration Add documentation of GNAT.Random_Numbers Add documentation for pragma Shared. Correct documentation for Bit_Order Add documentation for the Pool_Address attribute. Fix and improve documentation of pragma machine_attribute. New pragma Fast_Math Document BOM recognition * vms_data.ads: Add entries for -gnatw.a -gnatw.A Add /Wide_Character_Encoding for binder Add qualifier for the new gnatpp option --no-separate-loop-then From-SVN: r130872
* a-direct.adb (Create_Path): Always take '/' as a directory separator, even ↵Vincent Celier2007-12-131-2/+6
| | | | | | | | | | | on Windows 2007-12-06 Vincent Celier <celier@adacore.com> * a-direct.adb (Create_Path): Always take '/' as a directory separator, even on Windows From-SVN: r130871
* xeinfo.adb: Remove warningsRobert Dewar2007-12-1330-278/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * xeinfo.adb: Remove warnings * xnmake.adb: Remove warnings * xsinfo.adb: Remove warnings * xtreeprs.adb: Remove warnings * xsnames.adb: Remove warnings * a-ngcoar.adb: Fix typo. * s-interr.adb: Minor reformatting * env.c: Minor reformatting. * g-bytswa.adb: Minor reformatting. * g-rannum.ads: Minor documentation improvements * s-tasinf-mingw.adb: Minor header fix * a-clrefi.adb: Minor reformatting * g-sttsne.ads: Minor documentation improvement * g-sttsne-locking.ads: Minor documentation improvement * g-soliop-solaris.ads: Minor documentation improvement * g-soliop-mingw.ads: Minor documentation improvement * g-soliop.ads: Minor documentation improvement * exp_aggr.ads: Minor reformatting * debug.adb: Add documentation for the gprbuild debug flags * exp_ch2.adb: Use Nkind_In to simplify code throughout * exp_pakd.adb: Minor reformatting * g-altive.ads, g-alleve.adb: Remove assertions. Add comment about minor differences between targets regarding floating-point operations. * g-thread.adb: Remove pragma unreferenced. * lib.ads: Minor reformatting * par-ch9.adb: Minor reformatting of error messages * sem_case.adb: Minor reformatting * s-fileio.adb: Minor reformattinng * s-vmexta.ads: Minor typo * vxaddr2line.adb: Take into account 'Success' value as per new GNAT warning. From-SVN: r130870
* treepr.ads, treepr.adb: (pl): implement use of positive value shorthandsRobert Dewar2007-12-132-7/+37
| | | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * treepr.ads, treepr.adb: (pl): implement use of positive value shorthands From-SVN: r130869
* tbuild.ads, tbuild.adb: Fix location of flag for unrecognized pragma messageRobert Dewar2007-12-132-10/+37
| | | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * tbuild.ads, tbuild.adb: Fix location of flag for unrecognized pragma message From-SVN: r130868
* tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value ↵Olivier Hainque2007-12-134-15/+15
| | | | | | | | | | | | | | | | | | | | | | instead of Frame Pointer as the... 2007-12-06 Olivier Hainque <hainque@adacore.com> * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier associated with the instruction pointer in each traceback entry. * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier passed to tbk$symbolize. * s-traent-vms.ads, s-traent-vms.adb (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier passed to tbk$symbolize. From-SVN: r130867
* styleg.adb (Check_Comment): More liberal rules for comment placementRobert Dewar2007-12-131-3/+42
| | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * styleg.adb (Check_Comment): More liberal rules for comment placement From-SVN: r130866
* s-tassta.adb (Create_Task): Take into account tasks created by foreign threads.Arnaud Charlet2007-12-131-3/+14
| | | | | | | | * s-tassta.adb (Create_Task): Take into account tasks created by foreign threads. Code clean up: use constants instead of hard coded values. From-SVN: r130865
* s-stoele.adb ("mod"): mod negative value raises Constraint_ErrorRobert Dewar2007-12-131-6/+13
| | | | | | | | 2007-12-06 Robert Dewar <dewar@adacore.com> * s-stoele.adb ("mod"): mod negative value raises Constraint_Error From-SVN: r130864
* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with ↵Olivier Hainque2007-12-132-107/+193
| | | | | | | | | | | | | | | | | | | | | | Stack_Grows_Down in System.Parameters. 2007-12-06 Olivier Hainque <hainque@adacore.com> * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with Stack_Grows_Down in System.Parameters. Rename Array_Address into Stack_Overlay_Address and document that we are using an internal abstraction. (Byte_Size, Unsigned_32_Size): Remove, now useless. (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used consistently throughout the various implementation pieces. * s-stausa.adb (Stack_Slots): New type, abstraction for the stack overlay we are using to fill the stack area with patterns. (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots. (Push_Index_Step_For, Pop_Index_Step_For): Likewise. (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction. From-SVN: r130863
* s-soflin.ads: Apply new pragma Favor_Top_Level to all access-to-subprogram ↵Bob Duff2007-12-131-3/+21
| | | | | | | | | | | types in this package. 2007-12-06 Bob Duff <duff@adacore.com> * s-soflin.ads: Apply new pragma Favor_Top_Level to all access-to-subprogram types in this package. From-SVN: r130862
* sinput-l.adb (Load_File): Disable style checks when preprocessing.Thomas Quinot2007-12-131-31/+40
| | | | | | | | 2007-12-06 Thomas Quinot <quinot@adacore.com> * sinput-l.adb (Load_File): Disable style checks when preprocessing. From-SVN: r130861
* sinput.adb (Get_Source_File_Index): Add assertion to guard against an ↵Thomas Quinot2007-12-131-8/+8
| | | | | | | | | | | | invalid access to an uninitialized slot in... 2007-12-06 Thomas Quinot <quinot@adacore.com> * sinput.adb (Get_Source_File_Index): Add assertion to guard against an invalid access to an uninitialized slot in the Source_File_Index_Table. From-SVN: r130860
* sem_util.ads, [...] (Is_Concurrent_Interface): New routine.Bob Duff2007-12-132-172/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-06 Bob Duff <duff@adacore.com> Javier Miranda <miranda@adacore.com> Robert Dewar <dewar@adacore.com> * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine. (Set_Convention): New procedure to set the Convention flag, and in addition make sure the Favor_Top_Level flag is kept in sync (all foreign-language conventions require Favor_Top_Level = True). (Collect_Abstract_Interfaces): Update occurrences of Related_Interface to Related_Type. (Collect_Interfaces_Info): Minor update to handle the two secondary dispatch tables. Update occurrence of Related_Interface to Related_Type. (Generate_Parent_Ref): Add parameter to specify entity to check (Is_Preelaborable_Expression): Allow the name of a discriminant to initialize a component of a type with preelaborable initialization. This includes the case of a discriminal used in such a context. (Is_Dependent_Component_Of_Mutable_Object): Take into account the latest Ada 2005 rules about renaming and 'Access of discriminant-dependent components. (Check_Nested_Access): Add handling when there are no enclosing subprograms (e.g. case of a package body). (Find_Parameter_Type): Factor routine from several other compiler files. Remove routine from Find_Overridden_Synchronized_Primitive. From-SVN: r130859
* sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether ↵Hristian Kirtchev2007-12-131-8/+12
| | | | | | | | | | | formal E is an entity which may have parameters. 2007-12-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether formal E is an entity which may have parameters. From-SVN: r130858
* sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static ↵Geert Bosch2007-12-131-4/+6
| | | | | | | | | | | context, so do not call Check_Non_Static_Context. 2007-12-06 Geert Bosch <bosch@adacore.com> * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so do not call Check_Non_Static_Context. From-SVN: r130857
* sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an ↵Ed Schonberg2007-12-131-1/+44
| | | | | | | | | | | | | inherited operation is a defaulted... 2007-12-06 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an inherited operation is a defaulted tag-indeterminate call, and there is a statically tagged actual, use the static tag as a controlling actual for the defaulted actual. From-SVN: r130856
* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue ↵Hristian Kirtchev2007-12-131-69/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | statement is dispatching. 2007-12-06 Hristian Kirtchev <kirtchev@adacore.com> Gary Dismukes <dismukes@adacore.com> * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue statement is dispatching. Do not emit an error when the name is not an entry and the context is a dispatching select. Add code to perform subtype conformance between the formals of the current entry and those of the target interface primitive. (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_ Timed_Entry_Call): Analyze the triggering statement as the first step of the processing. If this is a dispatching select, postpone the analysis of all select statements until the Expander transforms the select. This approach avoids generating duplicate identifiers after the Expander has replicated some of the select statements. In case the Expander is disabled, perform regular analysis. (Check_Triggering_Statement): New routine. (Analyze_Requeue): Exclude any interpretations that are not entries when checking overloaded names in a requeue. Also test type conformance for matching interpretations rather than requiring subtype conformance at that point to conform with the RM's resolution rule for requeues. From-SVN: r130855
* sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for ↵Robert Dewar2007-12-131-72/+276
| | | | | | | | | | | | | | | | | | | | | | renaming entry as subprogram using rename-as-body if... 2007-12-06 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for renaming entry as subprogram using rename-as-body if subprogram spec frozen. (Use_One_Type): The clause is legal on an access type whose designated type has a limited view. (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function (Analyze_Renamed_Primitive_Operation): new procedure to determine the operation denoted by a selected component. (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because it can be an expression, possibly overloaded, that returns a task or an access to one. From-SVN: r130854
* sem_ch4.adb (Analyze_Selected_Component): Include the requeue statement to ↵Hristian Kirtchev2007-12-131-191/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the list of contexts where a selected... 2007-12-06 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Selected_Component): Include the requeue statement to the list of contexts where a selected component with a concurrent tagged type prefix should yield a primitive operation. (Find_Primitive_Operation): Handle case of class-wide types. (Analyze_Overloaded_Selected_Component): If type of prefix is class-wide, use visible components of base type. (Resolve_Selected_Component): Ditto. (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a formal of a generic subprogram. find candidate interpretations by scanning the list of generic formal declarations.: (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete type from a limited_with_clause, and the full view is available, use it for subsequent semantic checks. (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function (Find_Primitive_Operation): New function. (Analyze_Overloaded_Selected_Component): insert explicit dereference only once if several interpretations of the prefix yield an access type. (Try_Object_Operation): Code and comment cleanup. (Analyze_Selected_Component): Reorder local variables. Minot comment and code reformatting. When the type of the prefix is tagged concurrent, a correct interpretation might be available in the primitive and class-wide operations of the type. From-SVN: r130853