diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-05-11 23:53:27 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-05-11 23:53:27 +0000 | 
| commit | d002c7bc5889d23f8039b15aef3c38bc2db885e3 (patch) | |
| tree | ac98e6e6050218aec7d1cf22075e734a99270b7d /clang/lib/Sema/SemaTemplate.cpp | |
| parent | 5fb7847fbff1c8808e589426ebacabf11339f07c (diff) | |
| download | bcm5719-llvm-d002c7bc5889d23f8039b15aef3c38bc2db885e3.tar.gz bcm5719-llvm-d002c7bc5889d23f8039b15aef3c38bc2db885e3.zip | |
Encapsulate template arguments lists in a new class,
TemplateArgumentList. This avoids the need to pass around
pointer/length pairs of template arguments lists, and will eventually
make it easier to introduce member templates and variadic templates.
llvm-svn: 71517
Diffstat (limited to 'clang/lib/Sema/SemaTemplate.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 3938978dfd5..fc44217252a 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -993,7 +993,11 @@ bool Sema::CheckTemplateArgumentList(TemplateDecl *Template,                                       Template, &Converted[0],                                        Converted.size(),                                       SourceRange(TemplateLoc, RAngleLoc)); -          ArgType = InstantiateType(ArgType, &Converted[0], Converted.size(), + +          TemplateArgumentList TemplateArgs(Context, &Converted[0], +                                            Converted.size(),  +                                            /*CopyArgs=*/false); +          ArgType = InstantiateType(ArgType, TemplateArgs,                                      TTP->getDefaultArgumentLoc(),                                      TTP->getDeclName());          } @@ -1061,8 +1065,10 @@ bool Sema::CheckTemplateArgumentList(TemplateDecl *Template,                                     Converted.size(),                                     SourceRange(TemplateLoc, RAngleLoc)); -        NTTPType = InstantiateType(NTTPType,  -                                   &Converted[0], Converted.size(), +        TemplateArgumentList TemplateArgs(Context, &Converted[0], +                                          Converted.size(),  +                                          /*CopyArgs=*/false); +        NTTPType = InstantiateType(NTTPType, TemplateArgs,                                     NTTP->getLocation(),                                     NTTP->getDeclName());          // If that worked, check the non-type template parameter type | 

