#ifndef LLVM_ABSTRACT_TYPE_USER_H
#define LLVM_ABSTRACT_TYPE_USER_H
-#include <assert.h>
+// This is the "master" include for <cassert> Whether this file needs it or not,
+// it must always include <cassert> for the files which include
+// llvm/AbstractTypeUser.h
+//
+// In this way, most every LLVM source file will have access to the assert()
+// macro without having to #include <cassert> directly.
+//
+#include <cassert>
+
class Type;
class DerivedType;
// These functions are defined at the bottom of Type.h. See the comment there
// for justification.
- inline void addUser();
- inline void removeUser();
+ void addUser();
+ void removeUser();
public:
// ctor - Add use to type if abstract. Note that Ty must not be null
inline PATypeHandle(const Type *ty, AbstractTypeUser *user)
// this, we MUST remove ourself from the AbstractTypeUser list, even though
// the type is apparently concrete.
//
- inline void removeUserFromConcrete();
+ void removeUserFromConcrete();
};