]> granicus.if.org Git - clang/commitdiff
finish stubbing out support for HeaderMap. Now we just need an implementation!
authorChris Lattner <sabre@nondot.org>
Mon, 17 Dec 2007 08:17:39 +0000 (08:17 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 17 Dec 2007 08:17:39 +0000 (08:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45094 91177308-0d34-0410-b5e6-96231b3b80d8

Lex/HeaderSearch.cpp
include/clang/Lex/HeaderMap.h

index 3489de560512d28142ba45bbf506b03502886baf..1d79effc8458e6be19883cccf1aa6568c81100a1 100644 (file)
@@ -100,7 +100,8 @@ const FileEntry *DirectoryLookup::LookupFile(const char *FilenameStart,
   if (isFramework())
     return DoFrameworkLookup(FilenameStart, FilenameEnd, HS);
   
-  assert(0 && "headermap unimp");
+  assert(isHeaderMap() && "Unknown directory lookup");
+  return getHeaderMap()->LookupFile(FilenameStart, FilenameEnd,HS.getFileMgr());
 }
 
 
index 7c79fe0447d21140f92706a15d38acc625846f46..ffc665094e4d1ada417189fdad532271d5f87001 100644 (file)
 #ifndef LLVM_CLANG_LEX_HEADERMAP_H
 #define LLVM_CLANG_LEX_HEADERMAP_H
 
+#include <string>
+
 namespace clang {
+  class FileEntry;
+  class FileManager;
 
 /// This class represents an Apple concept known as a 'header map'.  To the
 /// #include file resolution process, it basically acts like a directory of
@@ -30,6 +34,15 @@ public:
     // FIXME: woot!
     return 0; 
   }
+  
+  /// LookupFile - Check to see if the specified relative filename is located in
+  /// this HeaderMap.  If so, open it and return its FileEntry.
+  const FileEntry *LookupFile(const char *FilenameStart,const char *FilenameEnd,
+                              FileManager &FM) const {
+    // FIXME: this needs work.
+    return 0;
+  }
+    
 };
 
 } // end namespace clang.