[cfe-commits] r81536 - /cfe/trunk/lib/Parse/ParseDeclCXX.cpp

Anders Carlsson andersca at mac.com
Sat Sep 12 09:54:20 PDT 2009


11 sep 2009 kl. 15.48 skrev Douglas Gregor:

>
> On Sep 11, 2009, at 10:54 AM, Anders Carlsson wrote:
>
>> Author: andersca
>> Date: Fri Sep 11 12:54:14 2009
>> New Revision: 81536
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=81536&view=rev
>> Log:
>> Just ignore friend templates for now so we won't crash.
>
> I'm not sure if this actually improved over the status quo. A friend  
> template such as
>
>  template<typename T> class vector;
>
> is still introducing a class template named "vector" into the  
> current scope, so that template-ids referring to that template in  
> that scope, e.g.,
>
>  vector<T>
>
> refer to a different class template "vector" than they would if the  
> friend template were not present. This led to some really weird  
> spurious diagnostics (of the "out-of-line definition does not match  
> any declaration in..." kind) in some code I've been trying to parse.  
> When the friend templates caused a compiler crash, it was easier to  
> comment out that code to limp through ;)

Ouch! Luckily John tells me he has a patch that makes friend templates  
actually work :) Do you want me to revert the code meanwhile?

Anders



More information about the cfe-commits mailing list