Index: include/llvm/Support/Path.h =================================================================== --- include/llvm/Support/Path.h +++ include/llvm/Support/Path.h @@ -361,22 +361,6 @@ /// @result True if a home directory is set, false otherwise. bool home_directory(SmallVectorImpl &result); -/// Get the user's cache directory. -/// -/// Expect the resulting path to be a directory shared with other -/// applications/services used by the user. Params \p Path1 to \p Path3 can be -/// used to append additional directory names to the resulting path. Recommended -/// pattern is //. -/// -/// @param Result Holds the resulting path. -/// @param Path1 Additional path to be appended to the user's cache directory -/// path. "" can be used to append nothing. -/// @param Path2 Second additional path to be appended. -/// @param Path3 Third additional path to be appended. -/// @result True if a cache directory path is set, false otherwise. -bool user_cache_directory(SmallVectorImpl &Result, const Twine &Path1, - const Twine &Path2 = "", const Twine &Path3 = ""); - /// Has root name? /// /// root_name != "" Index: lib/Support/Path.cpp =================================================================== --- lib/Support/Path.cpp +++ lib/Support/Path.cpp @@ -1240,17 +1240,5 @@ } } -namespace path { - -bool user_cache_directory(SmallVectorImpl &Result, const Twine &Path1, - const Twine &Path2, const Twine &Path3) { - if (getUserCacheDir(Result)) { - append(Result, Path1, Path2, Path3); - return true; - } - return false; -} - -} // end namespace path } // end namsspace sys } // end namespace llvm Index: lib/Support/Unix/Path.inc =================================================================== --- lib/Support/Unix/Path.inc +++ lib/Support/Unix/Path.inc @@ -970,29 +970,6 @@ return false; } -static bool getUserCacheDir(SmallVectorImpl &Result) { - // First try using XDG_CACHE_HOME env variable, - // as specified in XDG Base Directory Specification at - // http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - if (const char *XdgCacheDir = std::getenv("XDG_CACHE_HOME")) { - Result.clear(); - Result.append(XdgCacheDir, XdgCacheDir + strlen(XdgCacheDir)); - return true; - } - - // Try Darwin configuration query - if (getDarwinConfDir(false, Result)) - return true; - - // Use "$HOME/.cache" if $HOME is available - if (home_directory(Result)) { - append(Result, ".cache"); - return true; - } - - return false; -} - static const char *getEnvTempDir() { // Check whether the temporary directory is specified by an environment // variable. Index: lib/Support/Windows/Path.inc =================================================================== --- lib/Support/Windows/Path.inc +++ lib/Support/Windows/Path.inc @@ -1270,10 +1270,6 @@ return ok; } -bool getUserCacheDir(SmallVectorImpl &Result) { - return getKnownFolderPath(FOLDERID_LocalAppData, Result); -} - bool home_directory(SmallVectorImpl &result) { return getKnownFolderPath(FOLDERID_Profile, result); } Index: unittests/Support/Path.cpp =================================================================== --- unittests/Support/Path.cpp +++ unittests/Support/Path.cpp @@ -347,35 +347,6 @@ } #endif -TEST(Support, UserCacheDirectory) { - SmallString<13> CacheDir; - SmallString<20> CacheDir2; - auto Status = path::user_cache_directory(CacheDir, ""); - EXPECT_TRUE(Status ^ CacheDir.empty()); - - if (Status) { - EXPECT_TRUE(path::user_cache_directory(CacheDir2, "")); // should succeed - EXPECT_EQ(CacheDir, CacheDir2); // and return same paths - - EXPECT_TRUE(path::user_cache_directory(CacheDir, "A", "B", "file.c")); - auto It = path::rbegin(CacheDir); - EXPECT_EQ("file.c", *It); - EXPECT_EQ("B", *++It); - EXPECT_EQ("A", *++It); - auto ParentDir = *++It; - - // Test Unicode: "/(pi)r^2/aleth.0" - EXPECT_TRUE(path::user_cache_directory(CacheDir2, "\xCF\x80r\xC2\xB2", - "\xE2\x84\xB5.0")); - auto It2 = path::rbegin(CacheDir2); - EXPECT_EQ("\xE2\x84\xB5.0", *It2); - EXPECT_EQ("\xCF\x80r\xC2\xB2", *++It2); - auto ParentDir2 = *++It2; - - EXPECT_EQ(ParentDir, ParentDir2); - } -} - TEST(Support, TempDirectory) { SmallString<32> TempDir; path::system_temp_directory(false, TempDir);