------- 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