------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-29 16:20 ------- Subject: Bug 20300
CVSROOT: /cvs/gcc Module name: gcc Changes by: [EMAIL PROTECTED] 2005-03-29 16:15:46 Modified files: gcc/ada : exp_intr.adb Makefile.rtl impunit.adb snames.ads snames.adb sem_ch8.adb Added files: gcc/ada : a-tgdico.ads Log message: 2005-03-29 Gary Dismukes <[EMAIL PROTECTED]> Robert Dewar <[EMAIL PROTECTED]> * 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-tgdico.ads.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_intr.adb.diff?cvsroot=gcc&r1=1.11&r2=1.12 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/Makefile.rtl.diff?cvsroot=gcc&r1=1.13&r2=1.14 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/impunit.adb.diff?cvsroot=gcc&r1=1.17&r2=1.18 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/snames.ads.diff?cvsroot=gcc&r1=1.37&r2=1.38 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/snames.adb.diff?cvsroot=gcc&r1=1.36&r2=1.37 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_ch8.adb.diff?cvsroot=gcc&r1=1.32&r2=1.33 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20300