[msan] Make sure that report callbacks do not get merged.
[oota-llvm.git] / lib / Transforms / Instrumentation / BlackList.h
index e303dbcd96150c3e674798c2bb4d2df6b9d608a9..ee18a985674db390e4ba218b3375e36a082fa8e6 100644 (file)
 //
 // The blacklist disables instrumentation of various functions and global
 // variables.  Each line contains a prefix, followed by a wild card expression.
+// Empty lines and lines starting with "#" are ignored.
 // ---
+// # Blacklisted items:
 // fun:*_ZN4base6subtle*
-// global:*global_with_initialization_problems*
+// global:*global_with_bad_access_or_initialization*
+// global-init:*global_with_initialization_issues*
+// global-init-type:*Namespace::ClassName*
 // src:file_with_tricky_code.cc
 // ---
 // Note that the wild card is in fact an llvm::Regex, but * is automatically
@@ -43,6 +47,8 @@ class BlackList {
   bool isIn(const GlobalVariable &G);
   // Returns whether this module is blacklisted by filename.
   bool isIn(const Module &M);
+  // Returns whether a global should be excluded from initialization checking.
+  bool isInInit(const GlobalVariable &G);
  private:
   StringMap<Regex*> Entries;