[cfe-commits] r45183 - /cfe/trunk/Basic/SourceManager.cpp
Ted Kremenek
kremenek at apple.com
Tue Dec 18 14:12:26 PST 2007
Author: kremenek
Date: Tue Dec 18 16:12:19 2007
New Revision: 45183
URL: http://llvm.org/viewvc/llvm-project?rev=45183&view=rev
Log:
When serializing SourceManager, we now serialize out absolute paths
to serialized source files.
Modified:
cfe/trunk/Basic/SourceManager.cpp
Modified: cfe/trunk/Basic/SourceManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Basic/SourceManager.cpp?rev=45183&r1=45182&r2=45183&view=diff
==============================================================================
--- cfe/trunk/Basic/SourceManager.cpp (original)
+++ cfe/trunk/Basic/SourceManager.cpp Tue Dec 18 16:12:19 2007
@@ -415,7 +415,19 @@
S.FlushRecord();
S.EmitPtr(this);
- if (Entry) S.EmitCStr(Buffer->getBufferIdentifier());
+ if (Entry) {
+ llvm::sys::Path Fname(Buffer->getBufferIdentifier());
+
+ if (Fname.isAbsolute())
+ S.EmitCStr(Fname.c_str());
+ else {
+ // Create an absolute path.
+ // FIXME: This will potentially contain ".." and "." in the path.
+ llvm::sys::Path path = llvm::sys::Path::GetCurrentDirectory();
+ path.appendComponent(Fname.c_str());
+ S.EmitCStr(path.c_str());
+ }
+ }
else {
const char* p = Buffer->getBufferStart();
const char* e = Buffer->getBufferEnd();
More information about the cfe-commits
mailing list