#pragma clang system_header #include "system-header-simulator-cxx.h" namespace llvm { template const X *cast(Y Value); template const X *dyn_cast(Y *Value); template const X &dyn_cast(Y &Value); template const X *cast_or_null(Y Value); template const X *dyn_cast_or_null(Y *Value); template const X *dyn_cast_or_null(Y &Value); template inline bool isa(const Y &Val); template inline bool isa(const Y &Val) { return isa(Val) || isa(Val); } template inline bool isa_and_nonnull(const Y &Val) { if (!Val) return false; return isa(Val); } template std::unique_ptr cast(std::unique_ptr &&Value); } // namespace llvm