Use forward declarations (BitVector already had one) and an headers to source file that were implicitly using them.
#ifndef LLVM_SUPPORT_GLOB_PATTERN_H
#define LLVM_SUPPORT_GLOB_PATTERN_H
-#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/Optional.h"
-#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include <vector>
// This class represents a glob pattern. Supported metacharacters
// are "*", "?", "\", "[<chars>]", "[^<chars>]", and "[!<chars>]".
namespace llvm {
+
class BitVector;
+class StringRef;
template <typename T> class ArrayRef;
class GlobPattern {
#include "llvm/Support/GlobPattern.h"
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Errc.h"
//===----------------------------------------------------------------------===//
#include "CopyConfig.h"
-
+#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
//===----------------------------------------------------------------------===//
#include "llvm/Support/GlobPattern.h"
+#include "llvm/ADT/BitVector.h"
#include "gtest/gtest.h"
using namespace llvm;