[cfe-commits] r81079 - in /cfe/trunk: include/clang/Basic/FileManager.h include/clang/Frontend/InitHeaderSearch.h lib/Basic/FileManager.cpp lib/Frontend/InitHeaderSearch.cpp

Benjamin Kramer benny.kra at googlemail.com
Sat Sep 5 02:49:40 PDT 2009


Author: d0k
Date: Sat Sep  5 04:49:39 2009
New Revision: 81079

URL: http://llvm.org/viewvc/llvm-project?rev=81079&view=rev
Log:
Replace some instances of std::string with StringRefs.

Modified:
    cfe/trunk/include/clang/Basic/FileManager.h
    cfe/trunk/include/clang/Frontend/InitHeaderSearch.h
    cfe/trunk/lib/Basic/FileManager.cpp
    cfe/trunk/lib/Frontend/InitHeaderSearch.cpp

Modified: cfe/trunk/include/clang/Basic/FileManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=81079&r1=81078&r2=81079&view=diff

==============================================================================
--- cfe/trunk/include/clang/Basic/FileManager.h (original)
+++ cfe/trunk/include/clang/Basic/FileManager.h Sat Sep  5 04:49:39 2009
@@ -15,12 +15,10 @@
 #define LLVM_CLANG_FILEMANAGER_H
 
 #include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Config/config.h" // for mode_t
-#include <map>
-#include <set>
-#include <string>
 // FIXME: Enhance libsystem to support inode and other fields in stat.
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -156,16 +154,16 @@
   /// getDirectory - Lookup, cache, and verify the specified directory.  This
   /// returns null if the directory doesn't exist.
   /// 
-  const DirectoryEntry *getDirectory(const std::string &Filename) {
-    return getDirectory(&Filename[0], &Filename[0] + Filename.size());
+  const DirectoryEntry *getDirectory(const llvm::StringRef &Filename) {
+    return getDirectory(Filename.begin(), Filename.end());
   }
   const DirectoryEntry *getDirectory(const char *FileStart,const char *FileEnd);
   
   /// getFile - Lookup, cache, and verify the specified file.  This returns null
   /// if the file doesn't exist.
   /// 
-  const FileEntry *getFile(const std::string &Filename) {
-    return getFile(&Filename[0], &Filename[0] + Filename.size());
+  const FileEntry *getFile(const llvm::StringRef &Filename) {
+    return getFile(Filename.begin(), Filename.end());
   }
   const FileEntry *getFile(const char *FilenameStart,
                            const char *FilenameEnd);

Modified: cfe/trunk/include/clang/Frontend/InitHeaderSearch.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/InitHeaderSearch.h?rev=81079&r1=81078&r2=81079&view=diff

==============================================================================
--- cfe/trunk/include/clang/Frontend/InitHeaderSearch.h (original)
+++ cfe/trunk/include/clang/Frontend/InitHeaderSearch.h Sat Sep  5 04:49:39 2009
@@ -14,11 +14,11 @@
 #ifndef LLVM_CLANG_FRONTEND_INIT_HEADER_SEARCH_H_
 #define LLVM_CLANG_FRONTEND_INIT_HEADER_SEARCH_H_
 
+#include "clang/Lex/DirectoryLookup.h"
+#include "llvm/ADT/StringRef.h"
 #include <string>
 #include <vector>
 
-#include "clang/Lex/DirectoryLookup.h"
-
 namespace clang {
 
 class HeaderSearch;
@@ -48,7 +48,7 @@
     : Headers(HS), Verbose(verbose), isysroot(iSysroot) {}
 
   /// AddPath - Add the specified path to the specified group list.
-  void AddPath(const std::string &Path, IncludeDirGroup Group,
+  void AddPath(const llvm::StringRef &Path, IncludeDirGroup Group,
                bool isCXXAware, bool isUserSupplied,
                bool isFramework, bool IgnoreSysRoot = false);
 

Modified: cfe/trunk/lib/Basic/FileManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=81079&r1=81078&r2=81079&view=diff

==============================================================================
--- cfe/trunk/lib/Basic/FileManager.cpp (original)
+++ cfe/trunk/lib/Basic/FileManager.cpp Sat Sep  5 04:49:39 2009
@@ -22,6 +22,9 @@
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/System/Path.h"
 #include "llvm/Config/config.h"
+#include <map>
+#include <set>
+#include <string>
 using namespace clang;
 
 // FIXME: Enhance libsystem to support inode and other fields.

Modified: cfe/trunk/lib/Frontend/InitHeaderSearch.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=81079&r1=81078&r2=81079&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (original)
+++ cfe/trunk/lib/Frontend/InitHeaderSearch.cpp Sat Sep  5 04:49:39 2009
@@ -23,9 +23,10 @@
 #include <cstdio>
 using namespace clang;
 
-void InitHeaderSearch::AddPath(const std::string &Path, IncludeDirGroup Group,
-                               bool isCXXAware, bool isUserSupplied,
-                               bool isFramework, bool IgnoreSysRoot) {
+void InitHeaderSearch::AddPath(const llvm::StringRef &Path,
+                               IncludeDirGroup Group, bool isCXXAware,
+                               bool isUserSupplied, bool isFramework,
+                               bool IgnoreSysRoot) {
   assert(!Path.empty() && "can't handle empty path here");
   FileManager &FM = Headers.getFileMgr();
   
@@ -53,9 +54,7 @@
   
   
   // If the directory exists, add it.
-  if (const DirectoryEntry *DE = FM.getDirectory(&MappedPath[0], 
-                                                 &MappedPath[0]+
-                                                 MappedPath.size())) {
+  if (const DirectoryEntry *DE = FM.getDirectory(MappedPath.str())) {
     IncludeGroup[Group].push_back(DirectoryLookup(DE, Type, isUserSupplied,
                                                   isFramework));
     return;
@@ -64,8 +63,7 @@
   // Check to see if this is an apple-style headermap (which are not allowed to
   // be frameworks).
   if (!isFramework) {
-    if (const FileEntry *FE = FM.getFile(&MappedPath[0], 
-                                         &MappedPath[0]+MappedPath.size())) {
+    if (const FileEntry *FE = FM.getFile(MappedPath.str())) {
       if (const HeaderMap *HM = Headers.CreateHeaderMap(FE)) {
         // It is a headermap, add it to the search path.
         IncludeGroup[Group].push_back(DirectoryLookup(HM, Type,isUserSupplied));
@@ -90,8 +88,7 @@
     if (delim-at == 0)
       AddPath(".", Angled, false, true, false);
     else
-      AddPath(std::string(at, std::string::size_type(delim-at)), Angled, false,
-              true, false);
+      AddPath(llvm::StringRef(at, delim-at), Angled, false, true, false);
     at = delim + 1;
     delim = strchr(at, llvm::sys::PathSeparator);
   }





More information about the cfe-commits mailing list