[cfe-commits] r80446 - in /cfe/trunk: lib/AST/DeclCXX.cpp lib/Sema/SemaTemplateInstantiateDecl.cpp test/SemaTemplate/instantiate-member-initializers.cpp

Fariborz Jahanian fjahanian at apple.com
Tue Sep 1 08:00:03 PDT 2009


On Aug 31, 2009, at 11:41 PM, Eli Friedman wrote:

> On Sun, Aug 30, 2009 at 11:15 AM, Fariborz Jahanian<fjahanian at apple.com 
> > wrote:
>>
>> On Aug 29, 2009, at 5:40 PM, Eli Friedman wrote:
>>
>>> On Sat, Aug 29, 2009 at 5:35 PM, Fariborz Jahanian<fjahanian at apple.com 
>>> >
>>> wrote:
>>>>
>>> We have to build the node because otherwise, there isn't anywhere in
>>> the AST for the initializers to live.  In the dependent case, yes,  
>>> we
>>
>> Of course we need to build the initializer. Focus of the question  
>> is when
>> we have dependent type initializers.
>>>
>>> could skip all analysis; if we did that, though, we would miss a  
>>> class
>>> of errors which could be detected earlier, specifically the case  
>>> where
>>> a member that requires an initializer doesn't have one.
>>
>> We don't need to skip the analysis. We just don't build
>> BaseOrMemberInitializers if
>> there is even one dependent case.
>
> Where exactly are you proposing the initializers should be?  As far as
> I can tell, we don't keep them in any other place in the AST.

We keep it where it is. We just don't build it when processing  
templates. We build it
when instantiating templates.

- Fariborz

>
>
> -Eli




More information about the cfe-commits mailing list