diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-05-11 05:45:24 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-05-11 05:45:24 +0000 |
commit | 1fa5d64b7687858bc1e48f3bc87026d6e38d5395 (patch) | |
tree | cc54bab302f11a2e6006983f23b6e3939b1a085c /clang/lib/Frontend/MultiplexConsumer.cpp | |
parent | 2e56a2545eb8bef39b1190f5667d84c12329c312 (diff) | |
download | bcm5719-llvm-1fa5d64b7687858bc1e48f3bc87026d6e38d5395.tar.gz bcm5719-llvm-1fa5d64b7687858bc1e48f3bc87026d6e38d5395.zip |
C++1y deduced return types: when we deduce a return type for a function which
we loaded from PCH, if we're building another PCH, create an update record to
patch the return type of the earlier declaration.
llvm-svn: 181659
Diffstat (limited to 'clang/lib/Frontend/MultiplexConsumer.cpp')
-rw-r--r-- | clang/lib/Frontend/MultiplexConsumer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Frontend/MultiplexConsumer.cpp b/clang/lib/Frontend/MultiplexConsumer.cpp index ba83580cb69..7ed9d36ca3b 100644 --- a/clang/lib/Frontend/MultiplexConsumer.cpp +++ b/clang/lib/Frontend/MultiplexConsumer.cpp @@ -96,6 +96,7 @@ public: const ClassTemplateSpecializationDecl *D); virtual void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD, const FunctionDecl *D); + virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType); virtual void CompletedImplicitDefinition(const FunctionDecl *D); virtual void StaticDataMemberInstantiated(const VarDecl *D); virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD, @@ -138,6 +139,11 @@ void MultiplexASTMutationListener::AddedCXXTemplateSpecialization( for (size_t i = 0, e = Listeners.size(); i != e; ++i) Listeners[i]->AddedCXXTemplateSpecialization(TD, D); } +void MultiplexASTMutationListener::DeducedReturnType(const FunctionDecl *FD, + QualType ReturnType) { + for (size_t i = 0, e = Listeners.size(); i != e; ++i) + Listeners[i]->DeducedReturnType(FD, ReturnType); +} void MultiplexASTMutationListener::CompletedImplicitDefinition( const FunctionDecl *D) { for (size_t i = 0, e = Listeners.size(); i != e; ++i) |