...but Flags parameter was plain unsigned int prior to Clang 3.4

Change-Id: Ife39abda6b5274ae196dcbf591d02fa3f36f6072
This commit is contained in:
Stephan Bergmann
2014-02-25 10:15:28 +01:00
parent 01826dc125
commit 6f2774b209
2 changed files with 23 additions and 5 deletions

View File

@@ -224,15 +224,16 @@ void PluginHandler::HandleTranslationUnit( ASTContext& context )
sprintf( filename, "%s.new.%d", modifyFile.c_str(), getpid());
string error;
bool ok = false;
raw_fd_ostream ostream( filename, error, sys::fs::F_None );
std::unique_ptr<raw_fd_ostream> ostream(
compat::create_raw_fd_ostream(filename, error) );
if( error.empty())
{
it->second.write( ostream );
ostream.close();
if( !ostream.has_error() && rename( filename, modifyFile.c_str()) == 0 )
it->second.write( *ostream );
ostream->close();
if( !ostream->has_error() && rename( filename, modifyFile.c_str()) == 0 )
ok = true;
}
ostream.clear_error();
ostream->clear_error();
unlink( filename );
if( !ok )
report( DiagnosticsEngine::Error, "cannot write modified source to %0 (%1)" ) << modifyFile << error;