diff --git a/include/phasar/Pointer/PointsToInfo.h b/include/phasar/Pointer/PointsToInfo.h index 94bae1f3d8..2eaf0f4387 100644 --- a/include/phasar/Pointer/PointsToInfo.h +++ b/include/phasar/Pointer/PointsToInfo.h @@ -14,10 +14,10 @@ #include "phasar/Utils/ByRef.h" #include -#include #include #include #include +#include namespace psr { @@ -39,8 +39,10 @@ struct PointsToTraits> : PTATraits {}; template class PointsToInfoRef>> - : PointsToInfoBase> { + : public PointsToInfoBase> { friend class PointsToInfo; + friend PointsToInfoBase>; + using base_t = PointsToInfoBase>; public: diff --git a/lib/Pointer/PointsToInfo.cpp b/lib/Pointer/PointsToInfo.cpp index b690be3c0f..df3079fcea 100644 --- a/lib/Pointer/PointsToInfo.cpp +++ b/lib/Pointer/PointsToInfo.cpp @@ -18,6 +18,7 @@ #include "llvm/ADT/STLExtras.h" #include +#include #include namespace llvm { @@ -151,6 +152,9 @@ class DummyFieldSensitivePointsToAnalysis PointsToInfo> TEPTA4( std::in_place_type); + + // Make sure, the template gets instantiated: + std::ignore = TEPTA1.getInterestingPointersAt(nullptr); } template class PointsToInfoBase;