HomePhabricator

Frontend: Simplify ownership model for clang's output streams.

Description

Frontend: Simplify ownership model for clang's output streams.

This changes the CompilerInstance::createOutputFile function to return
a std::unique_ptr<llvm::raw_ostream>, rather than an llvm::raw_ostream
implicitly owned by the CompilerInstance. This in most cases required that
I move ownership of the output stream to the relevant ASTConsumer.

The motivation for this change is to allow BackendConsumer to be a client
of interfaces such as D20268 which take ownership of the output stream.

Differential Revision: http://reviews.llvm.org/D21537

Details

Committed
pccJul 14 2016, 5:55 PM
Differential Revision
D21537: Frontend: Simplify ownership model for clang's output streams.
Branches
Unknown
Tags
Unknown