summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <morbo@google.com>2024-01-07 03:37:39 -0800
committerBill Wendling <morbo@google.com>2024-01-07 03:39:18 -0800
commit0903d992cc961281a0bffc8704796f27f8c2e696 (patch)
tree1e1815dc2fb7f9273cc97db4dc34d22a47d727d9
parent3eb9fd8ac8bb7524b45912115dc212b7e80be588 (diff)
[NFC][ObjectSizeOffset] Add template stuff for Visual Studio
Visual Studio needs the class template stuff. C:\llvm\include\llvm/Analysis/MemoryBuiltins.h(217): error C2990: 'llvm::SizeOffsetType': non-class template has already been declared as a class template C:\llvm\include\llvm/Analysis/MemoryBuiltins.h(193): note: see declaration of 'llvm::SizeOffsetType'
-rw-r--r--llvm/include/llvm/Analysis/MemoryBuiltins.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/include/llvm/Analysis/MemoryBuiltins.h b/llvm/include/llvm/Analysis/MemoryBuiltins.h
index d080a5956a4d..7df0b0419268 100644
--- a/llvm/include/llvm/Analysis/MemoryBuiltins.h
+++ b/llvm/include/llvm/Analysis/MemoryBuiltins.h
@@ -214,7 +214,7 @@ public:
/// SizeOffsetAPInt - Used by \p ObjectSizeOffsetVisitor, which works with
/// \p APInts.
class SizeOffsetAPInt : public SizeOffsetType<APInt, SizeOffsetAPInt> {
- friend class SizeOffsetType;
+ template <typename T, class C> friend class SizeOffsetType;
static bool known(APInt V) { return V.getBitWidth() > 1; }
public:
@@ -276,7 +276,7 @@ private:
/// \p Values.
class SizeOffsetWeakTrackingVH;
class SizeOffsetValue : public SizeOffsetType<Value *, SizeOffsetValue> {
- friend class SizeOffsetType;
+ template <typename T, class C> friend class SizeOffsetType;
static bool known(Value *V) { return V != nullptr; }
public:
@@ -289,7 +289,7 @@ public:
/// \p DenseMap.
class SizeOffsetWeakTrackingVH
: public SizeOffsetType<WeakTrackingVH, SizeOffsetWeakTrackingVH> {
- friend class SizeOffsetType;
+ template <typename T, class C> friend class SizeOffsetType;
static bool known(WeakTrackingVH V) { return V.pointsToAliveValue(); }
public: