This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ PATCH] Fix PR7639
- From: Mark Mitchell <mark at codesourcery dot com>
- To: "lerdsuwa at users dot sourceforge dot net" <lerdsuwa at users dot sourceforge dot net>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 23 Oct 2002 10:50:14 -0700
- Subject: Re: [C++ PATCH] Fix PR7639
--On Wednesday, October 23, 2002 10:29:50 PM +0700 Kriang Lerdsuwanakij
<lerdsuwa@users.sourceforge.net> wrote:
Hi
The patch below fixes a main-trunk regression introduced in the
major build_component_ref overhaul. In build_class_member_access_expr
we only check if the class is complete. But we forget to check
that the member data we are accessing is also complete as well.
This might be a work-around for the problem, but I'm not happy with
the approach.
The basic problem is that the can_complete_without_circularity stuff
has made template classes different from ordinary classes; ordinary
classes never have data members with incomplete types. The reason
we needed can_complete_without_circularity was basically that we
were mishandling tyenames and/or an implicit-typename (now deprecated)
problem.
I'd like to see if we can unravel the basic problem; if we can do
that then we can get back to the situation where template classes
and normal classes are treated in the same way, which would be
better.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com