diff options
author | Larisse Voufo <lvoufo@google.com> | 2013-08-06 01:03:05 +0000 |
---|---|---|
committer | Larisse Voufo <lvoufo@google.com> | 2013-08-06 01:03:05 +0000 |
commit | 39a1e507ff0bef4bd6b2fdbab4e38583d2679617 (patch) | |
tree | 93b6d63dcb7906152a4879eeaf765de5852aacd4 /clang/lib/Frontend/MultiplexConsumer.cpp | |
parent | 6f7213cb93a3a6fe4e3dbbee0c1f0d2b34821523 (diff) | |
download | llvm-39a1e507ff0bef4bd6b2fdbab4e38583d2679617.zip llvm-39a1e507ff0bef4bd6b2fdbab4e38583d2679617.tar.gz llvm-39a1e507ff0bef4bd6b2fdbab4e38583d2679617.tar.bz2 |
Started implementing variable templates. Top level declarations should be fully supported, up to some limitations documented as FIXMEs or TODO. Static data member templates work very partially. Static data member templates of class templates need particular attention...
llvm-svn: 187762
Diffstat (limited to 'clang/lib/Frontend/MultiplexConsumer.cpp')
-rw-r--r-- | clang/lib/Frontend/MultiplexConsumer.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Frontend/MultiplexConsumer.cpp b/clang/lib/Frontend/MultiplexConsumer.cpp index 7ed9d36..f8ee36a 100644 --- a/clang/lib/Frontend/MultiplexConsumer.cpp +++ b/clang/lib/Frontend/MultiplexConsumer.cpp @@ -94,6 +94,9 @@ public: virtual void AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D); virtual void AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D); + virtual void + AddedCXXTemplateSpecialization(const VarTemplateDecl *TD, + const VarTemplateSpecializationDecl *D); virtual void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD, const FunctionDecl *D); virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType); @@ -135,6 +138,11 @@ void MultiplexASTMutationListener::AddedCXXTemplateSpecialization( Listeners[i]->AddedCXXTemplateSpecialization(TD, D); } void MultiplexASTMutationListener::AddedCXXTemplateSpecialization( + const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D) { + for (size_t i = 0, e = Listeners.size(); i != e; ++i) + Listeners[i]->AddedCXXTemplateSpecialization(TD, D); +} +void MultiplexASTMutationListener::AddedCXXTemplateSpecialization( const FunctionTemplateDecl *TD, const FunctionDecl *D) { for (size_t i = 0, e = Listeners.size(); i != e; ++i) Listeners[i]->AddedCXXTemplateSpecialization(TD, D); |