This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/2778
- To: nobody at gcc dot gnu dot org
- Subject: Re: c++/2778
- From: John Wilkinson <johnw at research dot att dot com>
- Date: 21 May 2001 20:46:01 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: John Wilkinson <johnw at research dot att dot com>
The following reply was made to PR c++/2778; it has been noted by GNATS.
From: John Wilkinson <johnw@research.att.com>
To: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org,
johnw@mp-dhcp-4-40.attlabs.att.com
Cc:
Subject: Re: c++/2778
Date: Mon, 21 May 2001 13:32:50 -0400
--------------C098C119A9DE0A1697973065
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2778&database=gcc
The following patch fixes the first problem:
Index: decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl.c,v
retrieving revision 1.747.2.17
diff -c -r1.747.2.17 decl.c
*** decl.c 2001/04/12 14:16:58 1.747.2.17
--- decl.c 2001/05/21 20:35:53
***************
*** 12746,12751 ****
--- 12746,12754 ----
int via_protected
= (TREE_PURPOSE (binfo) == access_protected_node
|| TREE_PURPOSE (binfo) == access_protected_virtual_node);
+ int via_private
+ = (TREE_PURPOSE (binfo) == access_private_node
+ || TREE_PURPOSE (binfo) == access_private_virtual_node);
int via_virtual
= (TREE_PURPOSE (binfo) == access_private_virtual_node
|| TREE_PURPOSE (binfo) == access_protected_virtual_node
***************
*** 12811,12816 ****
--- 12814,12820 ----
TREE_VEC_ELT (binfos, i) = base_binfo;
TREE_VIA_PUBLIC (base_binfo) = via_public;
TREE_VIA_PROTECTED (base_binfo) = via_protected;
+ TREE_VIA_PRIVATE (base_binfo) = via_private;
TREE_VIA_VIRTUAL (base_binfo) = via_virtual;
BINFO_INHERITANCE_CHAIN (base_binfo) = TYPE_BINFO (ref);
And this fixes the second:
Index: dump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/dump.c,v
retrieving revision 1.52.4.1
diff -c -r1.52.4.1 dump.c
*** dump.c 2001/03/27 04:51:21 1.52.4.1
--- dump.c 2001/05/21 20:40:10
***************
*** 128,133 ****
--- 128,135 ----
dump_string (di, "member");
dump_access (di, t);
}
+ if (DECL_VIRTUAL_P (t))
+ dump_string (di, "virtual");
if (DECL_CONSTRUCTOR_P (t))
dump_string (di, "constructor");
if (DECL_DESTRUCTOR_P (t))
--------------C098C119A9DE0A1697973065
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<pre><A HREF="http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2778&amp;database=gcc">http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2778&amp;database=gcc</A></pre>
The following patch fixes the first problem:
<p><br>
Index: decl.c
<br>===================================================================
<br>RCS file: /cvs/gcc/gcc/gcc/cp/decl.c,v
<br>retrieving revision 1.747.2.17
<br>diff -c -r1.747.2.17 decl.c
<br>*** decl.c 2001/04/12 14:16:58 1.747.2.17
<br>--- decl.c 2001/05/21 20:35:53
<br>***************
<br>*** 12746,12751 ****
<br>--- 12746,12754 ----
<br> int via_protected
<br> = (TREE_PURPOSE (binfo) == access_protected_node
<br> || TREE_PURPOSE (binfo) == access_protected_virtual_node);
<br>+ int via_private
<br>+ = (TREE_PURPOSE (binfo) == access_private_node
<br>+ || TREE_PURPOSE (binfo) == access_private_virtual_node);
<br> int via_virtual
<br> = (TREE_PURPOSE (binfo) == access_private_virtual_node
<br> || TREE_PURPOSE (binfo) == access_protected_virtual_node
<br>***************
<br>*** 12811,12816 ****
<br>--- 12814,12820 ----
<br> TREE_VEC_ELT (binfos, i) = base_binfo;
<br> TREE_VIA_PUBLIC (base_binfo) = via_public;
<br> TREE_VIA_PROTECTED (base_binfo) = via_protected;
<br>+ TREE_VIA_PRIVATE
(base_binfo) = via_private;
<br> TREE_VIA_VIRTUAL (base_binfo) = via_virtual;
<br> BINFO_INHERITANCE_CHAIN (base_binfo) = TYPE_BINFO
(ref);
<p>And this fixes the second:
<p>Index: dump.c
<br>===================================================================
<br>RCS file: /cvs/gcc/gcc/gcc/cp/dump.c,v
<br>retrieving revision 1.52.4.1
<br>diff -c -r1.52.4.1 dump.c
<br>*** dump.c 2001/03/27 04:51:21 1.52.4.1
<br>--- dump.c 2001/05/21 20:40:10
<br>***************
<br>*** 128,133 ****
<br>--- 128,135 ----
<br> dump_string (di, "member");
<br> dump_access (di, t);
<br> }
<br>+ if (DECL_VIRTUAL_P
(t))
<br>+ dump_string (di, "virtual");
<br> if (DECL_CONSTRUCTOR_P (t))
<br> dump_string (di, "constructor");
<br> if (DECL_DESTRUCTOR_P (t))
<br> </html>
--------------C098C119A9DE0A1697973065--