[cfe-commits] r67723 - in /cfe/trunk: include/clang/Parse/Action.h include/clang/Parse/Parser.h lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseTemplate.cpp lib/Parse/Parser.cpp lib/Sema/Sema.h lib/Sema/SemaTemplate.cpp
Douglas Gregor
dgregor at apple.com
Thu Mar 26 21:26:01 PDT 2009
On Mar 26, 2009, at 9:52 AM, Piotr Rak wrote:
> Hi,
>
> 2009/3/26 Anders Carlsson <andersca at mac.com>:
>>
>> On Mar 25, 2009, at 6:01 PM, Douglas Gregor wrote:
>>
>>> Mar 25, 2009, at 5:52 PM, Anders Carlsson <andersca at mac.com> wrote:
>>>
>>>> Author: andersca
>>>> Date: Wed Mar 25 19:52:18 2009
>>>> New Revision: 67723
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=67723&view=rev
>>>> Log:
>>>> Handle parsing of templates in member declarations. Pass the
>>>> AccessSpecifier all the way down to ActOnClassTemplate.
>>>>
>>>> Doug, Sebastian: Plz review! :)
>>>
>>> This looks fine to me. Do you have a test case to commit?
>>
>> I just checked in an access specifier test that has a nested
>> template.
>>
>> However, I don't think nested templates are 100% working:
>>
>> class A;
>>
>> class S {
>> template<typename T> class A { };
>> };
>>
>> t.cpp:4:32: error: redefinition of 'A' as different kind of symbol
>> template<typename T> class A { };
>> ^
>> t.cpp:1:7: note: previous definition is here
>> class A;
>> ^
>>
>> Did I forget to push a decl context somwhere? :)
>
> No, it just looks like you found bug in my patch inroducing
> unqualified namespace lookup.
> Sema::CppLookupName continues look in parent DeclContext even if
> RedeclarationOnly is true!
> Attached should fix it, fixes your example.
Thank you! Committed here:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090323/014583.html
- Doug
More information about the cfe-commits
mailing list