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)
commitc65a66ddfe5b3a51055bb5d3050d022976ba3cf2
tree0362db8045455ec0204263f5396e8f2a3f25d353
parent9dd60cfb64c1f409fcbcfe5e5ba94c5d2d21b162
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.

llvm-svn: 209394
clang/lib/Serialization/ASTReader.cpp