r374151 - Revert r374006: Reland 'Add VFS support for sanitizers' blacklist'

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 9 02:40:22 PDT 2019


Author: ibiryukov
Date: Wed Oct  9 02:40:22 2019
New Revision: 374151

URL: http://llvm.org/viewvc/llvm-project?rev=374151&view=rev
Log:
Revert r374006: Reland 'Add VFS support for sanitizers' blacklist'

Also revert follow-up changes to the test.
Reason: the patch breaks our internal clang-tidy integration.

It's also unclear why we should use getRealPath instead of plumbing the
VFS to SanitizerBlacklist, see original commit thread of cfe-commits for
a discussion.

Removed:
    cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
    cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.c
Modified:
    cfe/trunk/lib/AST/ASTContext.cpp

Modified: cfe/trunk/lib/AST/ASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=374151&r1=374150&r2=374151&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTContext.cpp (original)
+++ cfe/trunk/lib/AST/ASTContext.cpp Wed Oct  9 02:40:22 2019
@@ -72,7 +72,6 @@
 #include "llvm/ADT/PointerUnion.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallPtrSet.h"
-#include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringRef.h"
@@ -82,7 +81,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/MathExtras.h"
-#include "llvm/Support/VirtualFileSystem.h"
 #include "llvm/Support/raw_ostream.h"
 #include <algorithm>
 #include <cassert>
@@ -828,18 +826,6 @@ static bool isAddrSpaceMapManglingEnable
   llvm_unreachable("getAddressSpaceMapMangling() doesn't cover anything.");
 }
 
-static std::vector<std::string>
-getRealPaths(llvm::vfs::FileSystem &VFS, llvm::ArrayRef<std::string> Paths) {
-  std::vector<std::string> Result;
-  llvm::SmallString<128> Buffer;
-  for (const auto &File : Paths) {
-    if (std::error_code EC = VFS.getRealPath(File, Buffer))
-      llvm::report_fatal_error("can't open file '" + File + "': " + EC.message());
-    Result.push_back(Buffer.str());
-  }
-  return Result;
-}
-
 ASTContext::ASTContext(LangOptions &LOpts, SourceManager &SM,
                        IdentifierTable &idents, SelectorTable &sels,
                        Builtin::Context &builtins)
@@ -847,10 +833,7 @@ ASTContext::ASTContext(LangOptions &LOpt
       TemplateSpecializationTypes(this_()),
       DependentTemplateSpecializationTypes(this_()),
       SubstTemplateTemplateParmPacks(this_()), SourceMgr(SM), LangOpts(LOpts),
-      SanitizerBL(new SanitizerBlacklist(
-          getRealPaths(SM.getFileManager().getVirtualFileSystem(),
-                       LangOpts.SanitizerBlacklistFiles),
-          SM)),
+      SanitizerBL(new SanitizerBlacklist(LangOpts.SanitizerBlacklistFiles, SM)),
       XRayFilter(new XRayFunctionFilter(LangOpts.XRayAlwaysInstrumentFiles,
                                         LangOpts.XRayNeverInstrumentFiles,
                                         LangOpts.XRayAttrListFiles, SM)),

Removed: cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml?rev=374150&view=auto
==============================================================================
--- cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml (original)
+++ cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml (removed)
@@ -1,15 +0,0 @@
-{
-  'version': 0,
-  'roots': [
-    { 'name': '@DIR@', 'type': 'directory',
-      'contents': [
-        { 'name': 'only-virtual-file.blacklist', 'type': 'file',
-          'external-contents': '@REAL_FILE@'
-        },
-        { 'name': 'invalid-virtual-file.blacklist', 'type': 'file',
-          'external-contents': '@NONEXISTENT_FILE@'
-        }
-      ]
-    }
-  ]
-}

Removed: cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.c?rev=374150&view=auto
==============================================================================
--- cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.c (original)
+++ cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.c (removed)
@@ -1,36 +0,0 @@
-// Verify ubsan doesn't emit checks for blacklisted functions and files
-// RUN: echo "fun:hash" > %t-func.blacklist
-// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t-file.blacklist
-
-// RUN: rm -f %t-vfsoverlay.yaml
-// RUN: rm -f %t-nonexistent.blacklist
-// RUN: sed -e "s|@DIR@|%/T|g" %S/Inputs/sanitizer-blacklist-vfsoverlay.yaml | sed -e "s|@REAL_FILE@|%/t-func.blacklist|g" | sed -e "s|@NONEXISTENT_FILE@|%/t-nonexistent.blacklist|g" > %t-vfsoverlay.yaml
-// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%/T/only-virtual-file.blacklist -emit-llvm %s -o - | FileCheck %s --check-prefix=FUNC
-
-// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%/T/invalid-virtual-file.blacklist -emit-llvm %s -o - 2>&1 | FileCheck %s --check-prefix=INVALID-MAPPED-FILE
-// INVALID-MAPPED-FILE: invalid-virtual-file.blacklist': {{[Nn]}}o such file or directory
-
-// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%t-nonexistent.blacklist -emit-llvm %s -o - 2>&1 | FileCheck %s --check-prefix=INVALID
-// INVALID: nonexistent.blacklist': {{[Nn]}}o such file or directory
-
-unsigned i;
-
-// DEFAULT: @hash
-// FUNC: @hash
-// FILE: @hash
-unsigned hash() {
-// DEFAULT: call {{.*}}void @__ubsan
-// FUNC-NOT: call {{.*}}void @__ubsan
-// FILE-NOT: call {{.*}}void @__ubsan
-  return i * 37;
-}
-
-// DEFAULT: @add
-// FUNC: @add
-// FILE: @add
-unsigned add() {
-// DEFAULT: call {{.*}}void @__ubsan
-// FUNC: call {{.*}}void @__ubsan
-// FILE-NOT: call {{.*}}void @__ubsan
-  return i + 1;
-}




More information about the cfe-commits mailing list