[cfe-commits] r85669 - in /cfe/trunk: lib/Sema/Sema.h lib/Sema/SemaTemplateInstantiate.cpp lib/Sema/SemaTemplateInstantiateDecl.cpp test/SemaTemplate/instantiate-non-type-template-parameter.cpp test/SemaTemplate/member-template-access-expr.cpp

Douglas Gregor dgregor at apple.com
Sat Oct 31 11:10:20 PDT 2009


On Oct 31, 2009, at 10:56 AM, Chris Lattner wrote:

>
> On Oct 31, 2009, at 10:21 AM, Douglas Gregor wrote:
>
>> Author: dgregor
>> Date: Sat Oct 31 12:21:17 2009
>> New Revision: 85669
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=85669&view=rev
>> Log:
>> Implement "incremental" template instantiation for non-type template
>> parameters and template type parameters, which occurs when
>> substituting into the declarations of member templates inside class
>> templates. This eliminates errors about our inability to "reduce
>> non-type template parameter depth", fixing PR5311.
>>
>> Also fixes a bug when instantiating a template type parameter
>> declaration in a member template, where we weren't properly reducing
>> the template parameter's depth.
>>
>> LLVM's StringSwitch header now parses.
>
> Nice, out of curiosity, does the simple example that uses it codegen?


Yup, and it runs like a champ. Test program attached; make sure to  
link with -lstdc++.

	- Doug

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ss.cpp
Type: application/octet-stream
Size: 1019 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20091031/7c8f69d1/attachment.obj>


More information about the cfe-commits mailing list