re PR ada/20300 (ICE on undefined value of type derived from Character)
2005-03-29 Gary Dismukes <dismukes@adacore.com> Robert Dewar <dewar@adacore.com> * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to expand a call to an instance of Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the Constructor actual of the instance. A class-wide membership check is also generated, to ensure that the tag passed to the instance denotes a type in the class. (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case of Name_Generic_Dispatching_Constructor. * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada 05 unit for AI-260-02). * a-tgdico.ads: New file. * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor. * snames.ads, snames.adb (Preset_Names): Add entry for Generic_Dispatching_Constructor. PR ada/20300 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of character type cases. (Analyze_Subprogram_Renaming): Add special handling for the case of renaming of stream attributes when the renaming denotes a generic formal subprogram association for an abstract formal subprogram. Check that the attribute is a primitive stream attribute (and not a class-wide stream attribute) and then rewrite the attribute name as the name of the appropriate compiler-generated stream primitive. From-SVN: r97172
Showing
- gcc/ada/Makefile.rtl 1 addition, 0 deletionsgcc/ada/Makefile.rtl
- gcc/ada/a-tgdico.ads 29 additions, 0 deletionsgcc/ada/a-tgdico.ads
- gcc/ada/exp_intr.adb 83 additions, 0 deletionsgcc/ada/exp_intr.adb
- gcc/ada/impunit.adb 1 addition, 0 deletionsgcc/ada/impunit.adb
- gcc/ada/sem_ch8.adb 82 additions, 15 deletionsgcc/ada/sem_ch8.adb
- gcc/ada/snames.adb 1 addition, 0 deletionsgcc/ada/snames.adb
- gcc/ada/snames.ads 97 additions, 96 deletionsgcc/ada/snames.ads
Loading
Please register or sign in to comment