namespace {
struct ConstRules {
ConstRules() {}
+ virtual ~ConstRules() {}
// Binary Operators...
virtual Constant *add(const Constant *V1, const Constant *V2) const = 0;
template<class ArgType, class SubClassName>
class TemplateRules : public ConstRules {
+
//===--------------------------------------------------------------------===//
// Redirecting functions that cast to the appropriate types
//===--------------------------------------------------------------------===//
static Constant *CastToDouble(const Constant *V) { return 0; }
static Constant *CastToPointer(const Constant *,
const PointerType *) {return 0;}
+
+public:
+ virtual ~TemplateRules() {}
};