Modifications to dyn_cast/cast to make them work for objects too, instead of only pointers.
The use case is if you have a wrapper class: class Base { void *Ptr; public: Base() : Ptr(0) { } operator bool() const { return Ptr; } ..... } and sub-wrappers that have exactly the same size: class Sub : public Base { public: .... static bool classof(const Base*); } and in the code you would do: void f(Base b) { Sub sub = dyn_cast<Sub>(b); if (sub) { .... } } llvm-svn: 78424
Loading
Please register or sign in to comment