Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
We had disabled RTTI throughout the OSL code base to avoid linkage problems against LLVM, which builds with RTTI disabled by default. But it's actually ok to mix code modules with differing RTTI status -- that's fine. It's just that you can't mix RTTI status within a class inheritance hierarchy. We observe that * The only classes we inherit from RTTI-free LLVM are solely defined and used within llvm_util.cpp. * The only classes exposed in llvm_util.h have no virtual functions and aren't designed to be subclassed. So in fact, it appears that we can get by with only using no-rtti when compiling that one module, and don't need to mess with rtti anywhere else (including downstream users). This is an important step to supporting python bindings, since pybind11 requires RTTI. Signed-off-by: Larry Gritz <lg@larrygritz.com>
- Loading branch information