[cfe-commits] [patch] Template instantiation and visibility (take 2)
Rafael Espíndola
rafael.espindola at gmail.com
Mon Apr 23 15:58:57 PDT 2012
> template class DEFAULT A<hidden_t>::B<hidden_t>;
>
> I claim that I should see:
> A<hidden_t>::B<hidden_t>::hidden() is hidden
> A<hidden_t>::B<hidden_t>::noattr() is default
> A<hidden_t>::B<hidden_t>::temp<default_t>() is default
> A<hidden_t>::B<hidden_t>::temp<hidden_t>() is hidden
With an extra
template class DEFAULT A<hidden_t>;
I agree, since
template class DEFAULT A<hidden_t>::B<hidden_t>;
is only really instantiating B, no?
GCC disagrees with A<hidden_t>::B<hidden_t>::temp<hidden_t>() . I
don't know why. It is strange since it agrees with
A<hidden_t>::B<hidden_t>::hidden() .
I have included your testcase in the patch.
The chrome build has also finished OK on linux and OS X :-)
> John.
Cheers,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 6985 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120423/c1811567/attachment.obj>
More information about the cfe-commits
mailing list