Revert r215331, "unique_ptrify CompilerInstance::OutputFile(s) and remove a unique_ptr around a non-owning raw_ostream in CodeGenAction::CreateASTConsumer"
It cannot be compiled on Visual Studio 2012.
clang\include\clang/Frontend/CompilerInstance.h(153):
error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>'
with
[
_Ty=llvm::raw_ostream
]
D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\memory(1447) : see declaration of 'std::unique_ptr<_Ty>::unique_ptr'
with
[
_Ty=llvm::raw_ostream
]
This diagnostic occurred in the compiler generated function 'clang::CompilerInstance::OutputFile::OutputFile(const clang::CompilerInstance::OutputFile &)'
llvm-svn: 215346
This commit is contained in:
@@ -610,7 +610,7 @@ static raw_ostream *GetOutputStream(CompilerInstance &CI,
|
||||
std::unique_ptr<ASTConsumer>
|
||||
CodeGenAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) {
|
||||
BackendAction BA = static_cast<BackendAction>(Act);
|
||||
raw_ostream *OS = GetOutputStream(CI, InFile, BA);
|
||||
std::unique_ptr<raw_ostream> OS(GetOutputStream(CI, InFile, BA));
|
||||
if (BA != Backend_EmitNothing && !OS)
|
||||
return nullptr;
|
||||
|
||||
@@ -649,7 +649,7 @@ CodeGenAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) {
|
||||
std::unique_ptr<BackendConsumer> Result(new BackendConsumer(
|
||||
BA, CI.getDiagnostics(), CI.getCodeGenOpts(), CI.getTargetOpts(),
|
||||
CI.getLangOpts(), CI.getFrontendOpts().ShowTimers, InFile,
|
||||
LinkModuleToUse, OS, *VMContext, CoverageInfo));
|
||||
LinkModuleToUse, OS.release(), *VMContext, CoverageInfo));
|
||||
BEConsumer = Result.get();
|
||||
return std::move(Result);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user