LLVMUtils.h 896 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "BeefySysLib/Common.h"
  3. #pragma warning(push)
  4. #pragma warning(disable:4141)
  5. #pragma warning(disable:4624)
  6. #pragma warning(disable:4996)
  7. #pragma warning(disable:4267)
  8. #pragma warning(disable:4291)
  9. #pragma warning(disable:4267)
  10. #pragma warning(disable:4141)
  11. #pragma warning(disable:4146)
  12. #include "llvm/Support/raw_ostream.h"
  13. #include "llvm/ADT/SmallVector.h"
  14. #pragma warning(pop)
  15. NS_BF_BEGIN
  16. /// raw_null_ostream - A raw_ostream that discards all output.
  17. class debug_ostream : public llvm::raw_ostream
  18. {
  19. /// write_impl - See raw_ostream::write_impl.
  20. void write_impl(const char *Ptr, size_t size) override
  21. {
  22. StringT<1024> str;
  23. str.Append(Ptr, size);
  24. OutputDebugStr(str);
  25. }
  26. /// current_pos - Return the current position within the stream, not
  27. /// counting the bytes currently in the buffer.
  28. uint64_t current_pos() const override
  29. {
  30. return 0;
  31. }
  32. };
  33. NS_BF_END