diff options
author | Zachary Turner <zturner@google.com> | 2014-10-20 17:46:56 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2014-10-20 17:46:56 +0000 |
commit | cb5742b8287f888b384de23f34706d9a50c04692 (patch) | |
tree | ab56cc5ce5a3d36ad016007293e48ac485d9ee57 /lldb/source/Expression/ClangExpressionParser.cpp | |
parent | 10687b0ea5f45dffc800f5d38cb73269aecc9f45 (diff) | |
download | bcm5719-llvm-cb5742b8287f888b384de23f34706d9a50c04692.tar.gz bcm5719-llvm-cb5742b8287f888b384de23f34706d9a50c04692.zip |
Don't use mkstemp, as it doesn't exist on Windows.
Differential Revision: http://reviews.llvm.org/D5849
Reviewed by: Jason Molenda
llvm-svn: 220218
Diffstat (limited to 'lldb/source/Expression/ClangExpressionParser.cpp')
-rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index ad7ec2f9da3..af91d9b405f 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -301,18 +301,19 @@ ClangExpressionParser::Parse (Stream &stream) { std::string temp_source_path; + int temp_fd = -1; + llvm::SmallString<PATH_MAX> result_path; FileSpec tmpdir_file_spec; if (HostInfo::GetLLDBPath(lldb::ePathTypeLLDBTempSystemDir, tmpdir_file_spec)) { - tmpdir_file_spec.AppendPathComponent("expr.XXXXXX"); + tmpdir_file_spec.AppendPathComponent("lldb-%%%%%%.expr"); temp_source_path = std::move(tmpdir_file_spec.GetPath()); + llvm::sys::fs::createUniqueFile(temp_source_path, temp_fd, result_path); } else { - temp_source_path = "/tmp/expr.XXXXXX"; + llvm::sys::fs::createTemporaryFile("lldb", "expr", temp_fd, result_path); } - - int temp_fd = ::mkstemp(&temp_source_path[0]); if (temp_fd != -1) { @@ -325,7 +326,7 @@ ClangExpressionParser::Parse (Stream &stream) { file.Close(); SourceMgr.setMainFileID(SourceMgr.createFileID( - m_file_manager->getFile(temp_source_path), + m_file_manager->getFile(result_path), SourceLocation(), SrcMgr::C_User)); created_main_file = true; } |