Author: rnk Date: Tue Oct 11 12:24:09 2016 New Revision: 283906 URL: http://llvm.org/viewvc/llvm-project?rev=283906&view=rev Log: Fix the build with MSVC 2013 after r283856
Modified: cfe/trunk/lib/Frontend/CacheTokens.cpp Modified: cfe/trunk/lib/Frontend/CacheTokens.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CacheTokens.cpp?rev=283906&r1=283905&r2=283906&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/CacheTokens.cpp (original) +++ cfe/trunk/lib/Frontend/CacheTokens.cpp Tue Oct 11 12:24:09 2016 @@ -60,8 +60,10 @@ public: class PTHEntryKeyVariant { union { const FileEntry *FE; - StringRef Path; + // FIXME: Use "StringRef Path;" when MSVC 2013 is dropped. + const char *PathPtr; }; + size_t PathSize; enum { IsFE = 0x1, IsDE = 0x2, IsNoExist = 0x0 } Kind; FileData *Data; @@ -69,15 +71,17 @@ public: PTHEntryKeyVariant(const FileEntry *fe) : FE(fe), Kind(IsFE), Data(nullptr) {} PTHEntryKeyVariant(FileData *Data, StringRef Path) - : Path(Path), Kind(IsDE), Data(new FileData(*Data)) {} + : PathPtr(Path.data()), PathSize(Path.size()), Kind(IsDE), + Data(new FileData(*Data)) {} explicit PTHEntryKeyVariant(StringRef Path) - : Path(Path), Kind(IsNoExist), Data(nullptr) {} + : PathPtr(Path.data()), PathSize(Path.size()), Kind(IsNoExist), + Data(nullptr) {} bool isFile() const { return Kind == IsFE; } StringRef getString() const { - return Kind == IsFE ? FE->getName() : Path; + return Kind == IsFE ? FE->getName() : StringRef(PathPtr, PathSize); } unsigned getKind() const { return (unsigned) Kind; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits