[cfe-commits] r45201 - in /cfe/trunk/Driver: ASTConsumers.cpp ASTConsumers.h clang.cpp
Ted Kremenek
kremenek at apple.com
Wed Dec 19 09:25:59 PST 2007
Author: kremenek
Date: Wed Dec 19 11:25:59 2007
New Revision: 45201
URL: http://llvm.org/viewvc/llvm-project?rev=45201&view=rev
Log:
Moved generation of the name of the serialized AST file into
CreateASTSerializer.
Modified:
cfe/trunk/Driver/ASTConsumers.cpp
cfe/trunk/Driver/ASTConsumers.h
cfe/trunk/Driver/clang.cpp
Modified: cfe/trunk/Driver/ASTConsumers.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/ASTConsumers.cpp?rev=45201&r1=45200&r2=45201&view=diff
==============================================================================
--- cfe/trunk/Driver/ASTConsumers.cpp (original)
+++ cfe/trunk/Driver/ASTConsumers.cpp Wed Dec 19 11:25:59 2007
@@ -637,8 +637,20 @@
} // end anonymous namespace
-ASTConsumer *clang::CreateASTSerializer(const llvm::sys::Path& FName,
+ASTConsumer* clang::CreateASTSerializer(const std::string& InFile,
Diagnostic &Diags,
const LangOptions &Features) {
+
+ // FIXME: This is a hack: "/" separator not portable.
+ std::string::size_type idx = InFile.rfind("/");
+
+ if (idx != std::string::npos && idx == InFile.size()-1)
+ return NULL;
+
+ std::string TargetPrefix( idx == std::string::npos ?
+ InFile : InFile.substr(idx+1));
+
+ llvm::sys::Path FName = llvm::sys::Path((TargetPrefix + ".ast").c_str());
+
return new ASTSerializer(FName, Diags, Features);
}
Modified: cfe/trunk/Driver/ASTConsumers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/ASTConsumers.h?rev=45201&r1=45200&r2=45201&view=diff
==============================================================================
--- cfe/trunk/Driver/ASTConsumers.h (original)
+++ cfe/trunk/Driver/ASTConsumers.h Wed Dec 19 11:25:59 2007
@@ -37,7 +37,7 @@
ASTConsumer *CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr,
const LangOptions &LOpts);
-ASTConsumer *CreateASTSerializer(const llvm::sys::Path& FName,
+ASTConsumer *CreateASTSerializer(const std::string& InFile,
Diagnostic &Diags, const LangOptions &LOpts);
} // end clang namespace
Modified: cfe/trunk/Driver/clang.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/clang.cpp?rev=45201&r1=45200&r2=45201&view=diff
==============================================================================
--- cfe/trunk/Driver/clang.cpp (original)
+++ cfe/trunk/Driver/clang.cpp Wed Dec 19 11:25:59 2007
@@ -922,21 +922,9 @@
case EmitLLVM:
return CreateLLVMEmitter(Diag, LangOpts);
- case SerializeAST: {
+ case SerializeAST:
// FIXME: Allow user to tailor where the file is written.
- // FIXME: This is a hack: "/" separator not portable.
- std::string::size_type idx = InFile.rfind("/");
-
- if (idx != std::string::npos && idx == InFile.size()-1)
- return NULL;
-
- std::string TargetPrefix( idx == std::string::npos ?
- InFile : InFile.substr(idx+1));
-
- llvm::sys::Path FName = llvm::sys::Path((TargetPrefix + ".ast").c_str());
-
- return CreateASTSerializer(FName, Diag, LangOpts);
- }
+ return CreateASTSerializer(InFile, Diag, LangOpts);
case RewriteTest:
return CreateCodeRewriterTest(Diag);
More information about the cfe-commits
mailing list