This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Anonymous Namespaces
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- Cc: Chris Lattner <sabre at nondot dot org>, gcc at gcc dot gnu dot org, Kevin Atkinson <kevina at gnu dot org>, Andrew Pinski <pinskia at physics dot uc dot edu>
- Date: 12 Feb 2004 15:45:28 -0200
- Subject: Re: Anonymous Namespaces
- Organization: Red Hat Global Engineering Services Compiler Team
- References: <Pine.LNX.4.44.0401311352500.4151-100000@nondot.org><m3llnn6fmi.fsf@uniton.integrable-solutions.net><orhdxxwsjl.fsf@livre.redhat.lsd.ic.unicamp.br><m3ad3pk4fz.fsf@uniton.integrable-solutions.net>
On Feb 11, 2004, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:
> Alexandre Oliva <aoliva@redhat.com> writes:
> | Here's my reasoning. Please point out any flaws in it:
> |
> | - If it's not a template, then the reference to the symbol is either
> | template-independent (so it's bound at parse time, and we can
> | determine immediately that the name can't be marked as local to the
> | translation unit), or it's referenced for being a template argument
> | passed to the exported template (in which case we know it can't be
> | used as an argument to the exported template in another translation
> | unit, because you can't reference the name in another unit, so you
> | can't get to that particular exported template instantiation, so the
> | name can remain local to the translation unit as well)
> I don't follow. Argument dependent name lookup may hit a
> non-template,
How? I can only see it do so by means of typedefs, and this is the
case we'd catch by the transitive closure case I mentioned. Am I
still missing anything?
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Happy GNU Year! oliva@{lsd.ic.unicamp.br, gnu.org}
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist Professional serial bug killer