[cfe-commits] r72233 - in /cfe/trunk: include/clang/AST/Expr.h	lib/AST/Expr.cpp lib/Sema/SemaInit.cpp	lib/Sema/SemaTemplateInstantiateExpr.cpp	test/SemaTemplate/fun-template-def.cpp	test/SemaTemplate/instantiate-c99.cpp
    Douglas Gregor 
    dgregor at apple.com
       
    Thu May 21 17:40:07 PDT 2009
    
    
  
On May 21, 2009, at 5:36 PM, Eli Friedman wrote:
> On Thu, May 21, 2009 at 4:17 PM, Douglas Gregor<dgregor at apple.com>  
> wrote:
>> Also, delay semantic analysis of initialization for
>> value-dependent as well as type-dependent expressions, since we can't
>> always properly type-check a value-dependent expression.
>
> It seems like we should be able to handle most cases without delay;
> there's only one case I can think of where we can't resolve it
> immediately.  That said, the edge case in question is rather nasty:
> template<int N> struct X { void f() { int* X = N; } };
> template struct X<0>;
> template struct X<1>;
That's exactly the edge case that I was thinking of :)
Perhaps we can just deal with that edge case in isolation. The trick,  
of course, is to not go ahead and make a decision about, e.g.,  
overload resolution based on that case.
	- Doug
    
    
More information about the cfe-commits
mailing list