diff options
| author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-04-17 08:57:09 +0000 |
|---|---|---|
| committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-04-17 08:57:09 +0000 |
| commit | de4077a5d3268a4df41b418e21040fe3683b68d1 (patch) | |
| tree | ed95e29e07bad1f5f64720e0eed2cbc3aa324389 /clang/lib | |
| parent | 518210e2642f97cdf837bf9b38c7aedc4dd81bb5 (diff) | |
| download | bcm5719-llvm-de4077a5d3268a4df41b418e21040fe3683b68d1.tar.gz bcm5719-llvm-de4077a5d3268a4df41b418e21040fe3683b68d1.zip | |
SemaTemplate.cpp: Rework r206451. Removing an argument was really bad idea.
llvm-svn: 206452
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index e4d2a41f5ae..a7764d8df92 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -1722,8 +1722,7 @@ TemplateParameterList *Sema::MatchTemplateParametersToScopeSpecifier( // explicitly specialized. bool SawNonEmptyTemplateParameterList = false; - auto CheckExplicitSpecialization = [&](SourceRange Range) { - bool Recovery = false; + auto CheckExplicitSpecialization = [&](SourceRange Range, bool Recovery) { if (SawNonEmptyTemplateParameterList) { Diag(DeclLoc, diag::err_specialize_member_of_template) << !Recovery << Range; @@ -1823,7 +1822,8 @@ TemplateParameterList *Sema::MatchTemplateParametersToScopeSpecifier( // are not explicitly specialized as well. if (ParamIdx < ParamLists.size()) { if (ParamLists[ParamIdx]->size() == 0) { - if (CheckExplicitSpecialization(ParamLists[ParamIdx]->getSourceRange())) + if (CheckExplicitSpecialization(ParamLists[ParamIdx]->getSourceRange(), + false)) return 0; } else SawNonEmptyTemplateParameterList = true; @@ -1959,7 +1959,8 @@ TemplateParameterList *Sema::MatchTemplateParametersToScopeSpecifier( // specialize a class member template if its en- closing class templates // are not explicitly specialized as well. if (ParamLists.back()->size() == 0 && - CheckExplicitSpecialization(ParamLists[ParamIdx]->getSourceRange())) + CheckExplicitSpecialization(ParamLists[ParamIdx]->getSourceRange(), + false)) return 0; // Return the last template parameter list, which corresponds to the |

