This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [3.4] Incomplete types and template definitions
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: gcc at gnu dot org
- Date: Thu, 18 Sep 2003 16:16:42 +0200
- Subject: Re: [3.4] Incomplete types and template definitions
- References: <878yomtczf.fsf@deneb.enyo.de><m37k46p4xt.fsf@uniton.integrable-solutions.net>
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
> Florian Weimer <fw@deneb.enyo.de> writes:
>
> | Compiler behavior in this area changed, and this should be documented.
>
> that is a logical consequence of proper two-name lookup. E.g., the
> fact that the following is invalid is expected
>
> struct Foo;
>
> struct Bar {
> void bar(Foo* baz) { baz->foo(); }
> };
>
> struct Foo { vois foo() { } };
>
> Since we already have wording to that effect, I'm not sure this one is
> needed.
Your example doesn't compile with GCC 3.3, either (after the typo
fix), but mine does. I can't find documentation about the effects of
proper two-name lookup in <http://gcc.gnu.org/gcc-3.4/changes.html>.