diff options
-rw-r--r-- | compilerplugins/clang/plugin.cxx | 14 | ||||
-rw-r--r-- | compilerplugins/clang/plugin.hxx | 4 | ||||
-rw-r--r-- | compilerplugins/clang/pluginhandler.cxx | 16 | ||||
-rw-r--r-- | compilerplugins/clang/pluginhandler.hxx | 2 |
4 files changed, 2 insertions, 34 deletions
diff --git a/compilerplugins/clang/plugin.cxx b/compilerplugins/clang/plugin.cxx index 07f1edecf4c7..56d40e337bf9 100644 --- a/compilerplugins/clang/plugin.cxx +++ b/compilerplugins/clang/plugin.cxx @@ -18,8 +18,6 @@ #include <clang/Basic/FileManager.h> #include <clang/Lex/Lexer.h> -#include <llvm/Support/Path.h> - #include "pluginhandler.hxx" /* @@ -653,20 +651,10 @@ bool hasPathnamePrefix(StringRef pathname, StringRef prefix) [](StringRef p, StringRef a) { return p.startswith(a); }); } -std::string getAbsolutePath(StringRef path) -{ - llvm::SmallString<1024> absPath(path); - llvm::sys::fs::make_absolute(absPath); - llvm::sys::path::remove_dots(absPath, true); - return absPath.str().str(); -} - bool isSamePathname(StringRef pathname, StringRef other) { - std::string absPathname = getAbsolutePath(pathname); - std::string absOther = getAbsolutePath(other); return checkPathname( - absPathname, absOther, [](StringRef p, StringRef a) { return p == a; }); + pathname, other, [](StringRef p, StringRef a) { return p == a; }); } } // namespace diff --git a/compilerplugins/clang/plugin.hxx b/compilerplugins/clang/plugin.hxx index 95983c00060d..5299e7f2eac3 100644 --- a/compilerplugins/clang/plugin.hxx +++ b/compilerplugins/clang/plugin.hxx @@ -80,7 +80,6 @@ protected: bool isInUnoIncludeFile(const FunctionDecl*) const; bool isDebugMode() const { return handler.isDebugMode(); } - bool isLOOLMode() const { return handler.isLOOLMode(); } static bool isUnitTestMode(); @@ -230,9 +229,6 @@ void normalizeDotDotInFilePath(std::string&); // prefix may also contain backslashes: bool hasPathnamePrefix(StringRef pathname, StringRef prefix); -// get the absolute path for a given path -std::string getAbsolutePath(StringRef path); - // Same as pathname == other, except on Windows, where pathname and other may // also contain backslashes: bool isSamePathname(StringRef pathname, StringRef other); diff --git a/compilerplugins/clang/pluginhandler.cxx b/compilerplugins/clang/pluginhandler.cxx index 959941fb72a9..3f169972f6a2 100644 --- a/compilerplugins/clang/pluginhandler.cxx +++ b/compilerplugins/clang/pluginhandler.cxx @@ -18,7 +18,6 @@ #include <clang/Frontend/CompilerInstance.h> #include <clang/Frontend/FrontendPluginRegistry.h> #include <clang/Lex/PPCallbacks.h> - #include <stdio.h> #if defined _WIN32 @@ -117,8 +116,6 @@ void PluginHandler::handleOption( const std::string& option ) unitTestMode = true; else if (option == "debug") debugMode = true; - else if ( option.substr(0, 15) == "lool-base-path=" ) - loolBasePath = option.substr(15); else report( DiagnosticsEngine::Fatal, "unknown option %0" ) << option; } @@ -196,7 +193,7 @@ bool PluginHandler::checkIgnoreLocation(SourceLocation loc) if( compiler.getSourceManager().isInSystemHeader( expansionLoc )) return true; const char* bufferName = compiler.getSourceManager().getPresumedLoc( expansionLoc ).getFilename(); - if (bufferName == nullptr + if (bufferName == NULL || hasPathnamePrefix(bufferName, SRCDIR "/external/") || isSamePathname(bufferName, SRCDIR "/sdext/source/pdfimport/wrapper/keyword_list") ) // workdir/CustomTarget/sdext/pdfimport/hash.cxx is generated from @@ -225,11 +222,6 @@ bool PluginHandler::checkIgnoreLocation(SourceLocation loc) if (hasPathnamePrefix(s, WORKDIR)) return true; } - if ( isLOOLMode() ) { - std::string absPath = getAbsolutePath(bufferName); - if ( StringRef(absPath).startswith(loolBasePath) ) - return false; - } if( hasPathnamePrefix(bufferName, BUILDDIR) || hasPathnamePrefix(bufferName, SRCDIR) ) return false; // ok @@ -305,12 +297,6 @@ void PluginHandler::HandleTranslationUnit( ASTContext& context ) pathWarning = "modified source in build dir : %0"; else if( name.startswith(SRCDIR "/") ) ; // ok - else if ( isLOOLMode() ) - { - std::string absPath = getAbsolutePath(name); - if ( !StringRef(absPath).startswith(loolBasePath) ) - bSkip = true; - } else { pathWarning = "modified source in unknown location, not modifying : %0"; diff --git a/compilerplugins/clang/pluginhandler.hxx b/compilerplugins/clang/pluginhandler.hxx index 890b0cf53c3d..0b53d7043f00 100644 --- a/compilerplugins/clang/pluginhandler.hxx +++ b/compilerplugins/clang/pluginhandler.hxx @@ -55,7 +55,6 @@ public: CompilerInstance& compiler, SourceLocation loc = SourceLocation()); bool ignoreLocation(SourceLocation loc); bool isDebugMode() const { return debugMode; } - bool isLOOLMode() const { return !loolBasePath.empty(); } static bool isUnitTestMode(); // If we overlap with a previous area we modified, we cannot perform this change // without corrupting the source @@ -72,7 +71,6 @@ private: Rewriter rewriter; std::string scope; std::string warningsOnly; - std::string loolBasePath; bool warningsAsErrors; bool debugMode = false; std::vector<std::pair<char const*, char const*>> mvModifiedRanges; |