]> granicus.if.org Git - clang/commit
Frontend: Propagate ASTReaderListener API in ChainedASTReaderListener
authorJustin Bogner <mail@justinbogner.com>
Thu, 22 May 2014 06:04:59 +0000 (06:04 +0000)
committerJustin Bogner <mail@justinbogner.com>
Thu, 22 May 2014 06:04:59 +0000 (06:04 +0000)
commit1787f2e94d28c5520c13830cf283f986f848c41c
tree0f7e8bcf274c1696c87ca81eb268834b75333b36
parent5017bb66166679620f1e22de2f507888473e1c89
Frontend: Propagate ASTReaderListener API in ChainedASTReaderListener

ASTReaderListener's documentation states that visitInputFile will be
called based on the return values of needsInputFileVisitation and
needsSystemInputFileVisitation, but ChainedASTReaderListener may call
these methods on a child listener based on the values returned by the
other child.

Even worse, the calls to visitInputFile may be short-circuited due to
the use of the boolean or, so the calls to visit may not occur at all
for the second listener.

This updates ChainedASTReaderListener::visitInputFile to propagate the
ASTReaderListener behaviour to both children.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209394 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Serialization/ASTReader.cpp